ÿØÿàJFIFÿáExifMM*ÿÛC  Dre4m Was Here
Dre4m Shell
Server IP : 199.250.214.225  /  Your IP : 3.137.222.176
Web Server : Apache
System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : nicngo5 ( 1001)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /home/nicngo5/funds.upgrade.nicn.gov.ng/funds-upgraded/node_modules/tailwindcss/peers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /home/nicngo5/funds.upgrade.nicn.gov.ng/funds-upgraded/node_modules/tailwindcss/peers/index.js
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ 45211:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.codeFrameColumns = codeFrameColumns;
exports.default = _default;

var _highlight = _interopRequireWildcard(__nccwpck_require__(36860));

function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

let deprecationWarningShown = false;

function getDefs(chalk) {
  return {
    gutter: chalk.grey,
    marker: chalk.red.bold,
    message: chalk.red.bold
  };
}

const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;

function getMarkerLines(loc, source, opts) {
  const startLoc = Object.assign({
    column: 0,
    line: -1
  }, loc.start);
  const endLoc = Object.assign({}, startLoc, loc.end);
  const {
    linesAbove = 2,
    linesBelow = 3
  } = opts || {};
  const startLine = startLoc.line;
  const startColumn = startLoc.column;
  const endLine = endLoc.line;
  const endColumn = endLoc.column;
  let start = Math.max(startLine - (linesAbove + 1), 0);
  let end = Math.min(source.length, endLine + linesBelow);

  if (startLine === -1) {
    start = 0;
  }

  if (endLine === -1) {
    end = source.length;
  }

  const lineDiff = endLine - startLine;
  const markerLines = {};

  if (lineDiff) {
    for (let i = 0; i <= lineDiff; i++) {
      const lineNumber = i + startLine;

      if (!startColumn) {
        markerLines[lineNumber] = true;
      } else if (i === 0) {
        const sourceLength = source[lineNumber - 1].length;
        markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
      } else if (i === lineDiff) {
        markerLines[lineNumber] = [0, endColumn];
      } else {
        const sourceLength = source[lineNumber - i].length;
        markerLines[lineNumber] = [0, sourceLength];
      }
    }
  } else {
    if (startColumn === endColumn) {
      if (startColumn) {
        markerLines[startLine] = [startColumn, 0];
      } else {
        markerLines[startLine] = true;
      }
    } else {
      markerLines[startLine] = [startColumn, endColumn - startColumn];
    }
  }

  return {
    start,
    end,
    markerLines
  };
}

function codeFrameColumns(rawLines, loc, opts = {}) {
  const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);
  const chalk = (0, _highlight.getChalk)(opts);
  const defs = getDefs(chalk);

  const maybeHighlight = (chalkFn, string) => {
    return highlighted ? chalkFn(string) : string;
  };

  const lines = rawLines.split(NEWLINE);
  const {
    start,
    end,
    markerLines
  } = getMarkerLines(loc, lines, opts);
  const hasColumns = loc.start && typeof loc.start.column === "number";
  const numberMaxWidth = String(end).length;
  const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines;
  let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => {
    const number = start + 1 + index;
    const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
    const gutter = ` ${paddedNumber} |`;
    const hasMarker = markerLines[number];
    const lastMarkerLine = !markerLines[number + 1];

    if (hasMarker) {
      let markerLine = "";

      if (Array.isArray(hasMarker)) {
        const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
        const numberOfMarkers = hasMarker[1] || 1;
        markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");

        if (lastMarkerLine && opts.message) {
          markerLine += " " + maybeHighlight(defs.message, opts.message);
        }
      }

      return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
    } else {
      return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`;
    }
  }).join("\n");

  if (opts.message && !hasColumns) {
    frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
  }

  if (highlighted) {
    return chalk.reset(frame);
  } else {
    return frame;
  }
}

function _default(rawLines, lineNumber, colNumber, opts = {}) {
  if (!deprecationWarningShown) {
    deprecationWarningShown = true;
    const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";

    if (process.emitWarning) {
      process.emitWarning(message, "DeprecationWarning");
    } else {
      const deprecationError = new Error(message);
      deprecationError.name = "DeprecationWarning";
      console.warn(new Error(message));
    }
  }

  colNumber = Math.max(colNumber, 0);
  const location = {
    start: {
      column: colNumber,
      line: lineNumber
    }
  };
  return codeFrameColumns(rawLines, location, opts);
}

/***/ }),

/***/ 66396:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.isIdentifierStart = isIdentifierStart;
exports.isIdentifierChar = isIdentifierChar;
exports.isIdentifierName = isIdentifierName;
let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];

function isInAstralSet(code, set) {
  let pos = 0x10000;

  for (let i = 0, length = set.length; i < length; i += 2) {
    pos += set[i];
    if (pos > code) return false;
    pos += set[i + 1];
    if (pos >= code) return true;
  }

  return false;
}

function isIdentifierStart(code) {
  if (code < 65) return code === 36;
  if (code <= 90) return true;
  if (code < 97) return code === 95;
  if (code <= 122) return true;

  if (code <= 0xffff) {
    return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
  }

  return isInAstralSet(code, astralIdentifierStartCodes);
}

function isIdentifierChar(code) {
  if (code < 48) return code === 36;
  if (code < 58) return true;
  if (code < 65) return false;
  if (code <= 90) return true;
  if (code < 97) return code === 95;
  if (code <= 122) return true;

  if (code <= 0xffff) {
    return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
  }

  return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
}

function isIdentifierName(name) {
  let isFirst = true;

  for (let i = 0; i < name.length; i++) {
    let cp = name.charCodeAt(i);

    if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
      const trail = name.charCodeAt(++i);

      if ((trail & 0xfc00) === 0xdc00) {
        cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
      }
    }

    if (isFirst) {
      isFirst = false;

      if (!isIdentifierStart(cp)) {
        return false;
      }
    } else if (!isIdentifierChar(cp)) {
      return false;
    }
  }

  return !isFirst;
}

/***/ }),

/***/ 86607:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
Object.defineProperty(exports, "isIdentifierName", ({
  enumerable: true,
  get: function () {
    return _identifier.isIdentifierName;
  }
}));
Object.defineProperty(exports, "isIdentifierChar", ({
  enumerable: true,
  get: function () {
    return _identifier.isIdentifierChar;
  }
}));
Object.defineProperty(exports, "isIdentifierStart", ({
  enumerable: true,
  get: function () {
    return _identifier.isIdentifierStart;
  }
}));
Object.defineProperty(exports, "isReservedWord", ({
  enumerable: true,
  get: function () {
    return _keyword.isReservedWord;
  }
}));
Object.defineProperty(exports, "isStrictBindOnlyReservedWord", ({
  enumerable: true,
  get: function () {
    return _keyword.isStrictBindOnlyReservedWord;
  }
}));
Object.defineProperty(exports, "isStrictBindReservedWord", ({
  enumerable: true,
  get: function () {
    return _keyword.isStrictBindReservedWord;
  }
}));
Object.defineProperty(exports, "isStrictReservedWord", ({
  enumerable: true,
  get: function () {
    return _keyword.isStrictReservedWord;
  }
}));
Object.defineProperty(exports, "isKeyword", ({
  enumerable: true,
  get: function () {
    return _keyword.isKeyword;
  }
}));

var _identifier = __nccwpck_require__(66396);

var _keyword = __nccwpck_require__(47249);

/***/ }),

/***/ 47249:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.isReservedWord = isReservedWord;
exports.isStrictReservedWord = isStrictReservedWord;
exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
exports.isStrictBindReservedWord = isStrictBindReservedWord;
exports.isKeyword = isKeyword;
const reservedWords = {
  keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
  strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
  strictBind: ["eval", "arguments"]
};
const keywords = new Set(reservedWords.keyword);
const reservedWordsStrictSet = new Set(reservedWords.strict);
const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);

function isReservedWord(word, inModule) {
  return inModule && word === "await" || word === "enum";
}

function isStrictReservedWord(word, inModule) {
  return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
}

function isStrictBindOnlyReservedWord(word) {
  return reservedWordsStrictBindSet.has(word);
}

function isStrictBindReservedWord(word, inModule) {
  return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
}

function isKeyword(word) {
  return keywords.has(word);
}

/***/ }),

/***/ 36860:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.shouldHighlight = shouldHighlight;
exports.getChalk = getChalk;
exports.default = highlight;

var _helperValidatorIdentifier = __nccwpck_require__(86607);

const jsTokens = __nccwpck_require__(51531);

const Chalk = __nccwpck_require__(77658);

const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);

function getDefs(chalk) {
  return {
    keyword: chalk.cyan,
    capitalized: chalk.yellow,
    jsxIdentifier: chalk.yellow,
    punctuator: chalk.yellow,
    number: chalk.magenta,
    string: chalk.green,
    regex: chalk.magenta,
    comment: chalk.grey,
    invalid: chalk.white.bgRed.bold
  };
}

const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
const BRACKET = /^[()[\]{}]$/;
let tokenize;
{
  const JSX_TAG = /^[a-z][\w-]*$/i;

  const getTokenType = function (token, offset, text) {
    if (token.type === "name") {
      if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) {
        return "keyword";
      }

      if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == "</")) {
        return "jsxIdentifier";
      }

      if (token.value[0] !== token.value[0].toLowerCase()) {
        return "capitalized";
      }
    }

    if (token.type === "punctuator" && BRACKET.test(token.value)) {
      return "bracket";
    }

    if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
      return "punctuator";
    }

    return token.type;
  };

  tokenize = function* (text) {
    let match;

    while (match = jsTokens.default.exec(text)) {
      const token = jsTokens.matchToToken(match);
      yield {
        type: getTokenType(token, match.index, text),
        value: token.value
      };
    }
  };
}

function highlightTokens(defs, text) {
  let highlighted = "";

  for (const {
    type,
    value
  } of tokenize(text)) {
    const colorize = defs[type];

    if (colorize) {
      highlighted += value.split(NEWLINE).map(str => colorize(str)).join("\n");
    } else {
      highlighted += value;
    }
  }

  return highlighted;
}

function shouldHighlight(options) {
  return !!Chalk.supportsColor || options.forceColor;
}

function getChalk(options) {
  return options.forceColor ? new Chalk.constructor({
    enabled: true,
    level: 1
  }) : Chalk;
}

function highlight(code, options = {}) {
  if (shouldHighlight(options)) {
    const chalk = getChalk(options);
    const defs = getDefs(chalk);
    return highlightTokens(defs, code);
  } else {
    return code;
  }
}

/***/ }),

/***/ 96538:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";
/* module decorator */ module = __nccwpck_require__.nmd(module);

const colorConvert = __nccwpck_require__(5458);

const wrapAnsi16 = (fn, offset) => function () {
	const code = fn.apply(colorConvert, arguments);
	return `\u001B[${code + offset}m`;
};

const wrapAnsi256 = (fn, offset) => function () {
	const code = fn.apply(colorConvert, arguments);
	return `\u001B[${38 + offset};5;${code}m`;
};

const wrapAnsi16m = (fn, offset) => function () {
	const rgb = fn.apply(colorConvert, arguments);
	return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
};

function assembleStyles() {
	const codes = new Map();
	const styles = {
		modifier: {
			reset: [0, 0],
			// 21 isn't widely supported and 22 does the same thing
			bold: [1, 22],
			dim: [2, 22],
			italic: [3, 23],
			underline: [4, 24],
			inverse: [7, 27],
			hidden: [8, 28],
			strikethrough: [9, 29]
		},
		color: {
			black: [30, 39],
			red: [31, 39],
			green: [32, 39],
			yellow: [33, 39],
			blue: [34, 39],
			magenta: [35, 39],
			cyan: [36, 39],
			white: [37, 39],
			gray: [90, 39],

			// Bright color
			redBright: [91, 39],
			greenBright: [92, 39],
			yellowBright: [93, 39],
			blueBright: [94, 39],
			magentaBright: [95, 39],
			cyanBright: [96, 39],
			whiteBright: [97, 39]
		},
		bgColor: {
			bgBlack: [40, 49],
			bgRed: [41, 49],
			bgGreen: [42, 49],
			bgYellow: [43, 49],
			bgBlue: [44, 49],
			bgMagenta: [45, 49],
			bgCyan: [46, 49],
			bgWhite: [47, 49],

			// Bright color
			bgBlackBright: [100, 49],
			bgRedBright: [101, 49],
			bgGreenBright: [102, 49],
			bgYellowBright: [103, 49],
			bgBlueBright: [104, 49],
			bgMagentaBright: [105, 49],
			bgCyanBright: [106, 49],
			bgWhiteBright: [107, 49]
		}
	};

	// Fix humans
	styles.color.grey = styles.color.gray;

	for (const groupName of Object.keys(styles)) {
		const group = styles[groupName];

		for (const styleName of Object.keys(group)) {
			const style = group[styleName];

			styles[styleName] = {
				open: `\u001B[${style[0]}m`,
				close: `\u001B[${style[1]}m`
			};

			group[styleName] = styles[styleName];

			codes.set(style[0], style[1]);
		}

		Object.defineProperty(styles, groupName, {
			value: group,
			enumerable: false
		});

		Object.defineProperty(styles, 'codes', {
			value: codes,
			enumerable: false
		});
	}

	const ansi2ansi = n => n;
	const rgb2rgb = (r, g, b) => [r, g, b];

	styles.color.close = '\u001B[39m';
	styles.bgColor.close = '\u001B[49m';

	styles.color.ansi = {
		ansi: wrapAnsi16(ansi2ansi, 0)
	};
	styles.color.ansi256 = {
		ansi256: wrapAnsi256(ansi2ansi, 0)
	};
	styles.color.ansi16m = {
		rgb: wrapAnsi16m(rgb2rgb, 0)
	};

	styles.bgColor.ansi = {
		ansi: wrapAnsi16(ansi2ansi, 10)
	};
	styles.bgColor.ansi256 = {
		ansi256: wrapAnsi256(ansi2ansi, 10)
	};
	styles.bgColor.ansi16m = {
		rgb: wrapAnsi16m(rgb2rgb, 10)
	};

	for (let key of Object.keys(colorConvert)) {
		if (typeof colorConvert[key] !== 'object') {
			continue;
		}

		const suite = colorConvert[key];

		if (key === 'ansi16') {
			key = 'ansi';
		}

		if ('ansi16' in suite) {
			styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);
			styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);
		}

		if ('ansi256' in suite) {
			styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);
			styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);
		}

		if ('rgb' in suite) {
			styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);
			styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);
		}
	}

	return styles;
}

// Make the export immutable
Object.defineProperty(module, 'exports', {
	enumerable: true,
	get: assembleStyles
});


/***/ }),

/***/ 77658:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

const escapeStringRegexp = __nccwpck_require__(25898);
const ansiStyles = __nccwpck_require__(96538);
const stdoutColor = __nccwpck_require__(95317).stdout;

const template = __nccwpck_require__(72558);

const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');

// `supportsColor.level` → `ansiStyles.color[name]` mapping
const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];

// `color-convert` models to exclude from the Chalk API due to conflicts and such
const skipModels = new Set(['gray']);

const styles = Object.create(null);

function applyOptions(obj, options) {
	options = options || {};

	// Detect level if not set manually
	const scLevel = stdoutColor ? stdoutColor.level : 0;
	obj.level = options.level === undefined ? scLevel : options.level;
	obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;
}

function Chalk(options) {
	// We check for this.template here since calling `chalk.constructor()`
	// by itself will have a `this` of a previously constructed chalk object
	if (!this || !(this instanceof Chalk) || this.template) {
		const chalk = {};
		applyOptions(chalk, options);

		chalk.template = function () {
			const args = [].slice.call(arguments);
			return chalkTag.apply(null, [chalk.template].concat(args));
		};

		Object.setPrototypeOf(chalk, Chalk.prototype);
		Object.setPrototypeOf(chalk.template, chalk);

		chalk.template.constructor = Chalk;

		return chalk.template;
	}

	applyOptions(this, options);
}

// Use bright blue on Windows as the normal blue color is illegible
if (isSimpleWindowsTerm) {
	ansiStyles.blue.open = '\u001B[94m';
}

for (const key of Object.keys(ansiStyles)) {
	ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');

	styles[key] = {
		get() {
			const codes = ansiStyles[key];
			return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
		}
	};
}

styles.visible = {
	get() {
		return build.call(this, this._styles || [], true, 'visible');
	}
};

ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');
for (const model of Object.keys(ansiStyles.color.ansi)) {
	if (skipModels.has(model)) {
		continue;
	}

	styles[model] = {
		get() {
			const level = this.level;
			return function () {
				const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
				const codes = {
					open,
					close: ansiStyles.color.close,
					closeRe: ansiStyles.color.closeRe
				};
				return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
			};
		}
	};
}

ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');
for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
	if (skipModels.has(model)) {
		continue;
	}

	const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
	styles[bgModel] = {
		get() {
			const level = this.level;
			return function () {
				const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
				const codes = {
					open,
					close: ansiStyles.bgColor.close,
					closeRe: ansiStyles.bgColor.closeRe
				};
				return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
			};
		}
	};
}

const proto = Object.defineProperties(() => {}, styles);

function build(_styles, _empty, key) {
	const builder = function () {
		return applyStyle.apply(builder, arguments);
	};

	builder._styles = _styles;
	builder._empty = _empty;

	const self = this;

	Object.defineProperty(builder, 'level', {
		enumerable: true,
		get() {
			return self.level;
		},
		set(level) {
			self.level = level;
		}
	});

	Object.defineProperty(builder, 'enabled', {
		enumerable: true,
		get() {
			return self.enabled;
		},
		set(enabled) {
			self.enabled = enabled;
		}
	});

	// See below for fix regarding invisible grey/dim combination on Windows
	builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';

	// `__proto__` is used because we must return a function, but there is
	// no way to create a function with a different prototype
	builder.__proto__ = proto; // eslint-disable-line no-proto

	return builder;
}

function applyStyle() {
	// Support varags, but simply cast to string in case there's only one arg
	const args = arguments;
	const argsLen = args.length;
	let str = String(arguments[0]);

	if (argsLen === 0) {
		return '';
	}

	if (argsLen > 1) {
		// Don't slice `arguments`, it prevents V8 optimizations
		for (let a = 1; a < argsLen; a++) {
			str += ' ' + args[a];
		}
	}

	if (!this.enabled || this.level <= 0 || !str) {
		return this._empty ? '' : str;
	}

	// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,
	// see https://github.com/chalk/chalk/issues/58
	// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
	const originalDim = ansiStyles.dim.open;
	if (isSimpleWindowsTerm && this.hasGrey) {
		ansiStyles.dim.open = '';
	}

	for (const code of this._styles.slice().reverse()) {
		// Replace any instances already present with a re-opening code
		// otherwise only the part of the string until said closing code
		// will be colored, and the rest will simply be 'plain'.
		str = code.open + str.replace(code.closeRe, code.open) + code.close;

		// Close the styling before a linebreak and reopen
		// after next line to fix a bleed issue on macOS
		// https://github.com/chalk/chalk/pull/92
		str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`);
	}

	// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue
	ansiStyles.dim.open = originalDim;

	return str;
}

function chalkTag(chalk, strings) {
	if (!Array.isArray(strings)) {
		// If chalk() was called by itself or with a string,
		// return the string itself as a string.
		return [].slice.call(arguments, 1).join(' ');
	}

	const args = [].slice.call(arguments, 2);
	const parts = [strings.raw[0]];

	for (let i = 1; i < strings.length; i++) {
		parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&'));
		parts.push(String(strings.raw[i]));
	}

	return template(chalk, parts.join(''));
}

Object.defineProperties(Chalk.prototype, styles);

module.exports = Chalk(); // eslint-disable-line new-cap
module.exports.supportsColor = stdoutColor;
module.exports.default = module.exports; // For TypeScript


/***/ }),

/***/ 72558:
/***/ ((module) => {

"use strict";

const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;

const ESCAPES = new Map([
	['n', '\n'],
	['r', '\r'],
	['t', '\t'],
	['b', '\b'],
	['f', '\f'],
	['v', '\v'],
	['0', '\0'],
	['\\', '\\'],
	['e', '\u001B'],
	['a', '\u0007']
]);

function unescape(c) {
	if ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {
		return String.fromCharCode(parseInt(c.slice(1), 16));
	}

	return ESCAPES.get(c) || c;
}

function parseArguments(name, args) {
	const results = [];
	const chunks = args.trim().split(/\s*,\s*/g);
	let matches;

	for (const chunk of chunks) {
		if (!isNaN(chunk)) {
			results.push(Number(chunk));
		} else if ((matches = chunk.match(STRING_REGEX))) {
			results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));
		} else {
			throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
		}
	}

	return results;
}

function parseStyle(style) {
	STYLE_REGEX.lastIndex = 0;

	const results = [];
	let matches;

	while ((matches = STYLE_REGEX.exec(style)) !== null) {
		const name = matches[1];

		if (matches[2]) {
			const args = parseArguments(name, matches[2]);
			results.push([name].concat(args));
		} else {
			results.push([name]);
		}
	}

	return results;
}

function buildStyle(chalk, styles) {
	const enabled = {};

	for (const layer of styles) {
		for (const style of layer.styles) {
			enabled[style[0]] = layer.inverse ? null : style.slice(1);
		}
	}

	let current = chalk;
	for (const styleName of Object.keys(enabled)) {
		if (Array.isArray(enabled[styleName])) {
			if (!(styleName in current)) {
				throw new Error(`Unknown Chalk style: ${styleName}`);
			}

			if (enabled[styleName].length > 0) {
				current = current[styleName].apply(current, enabled[styleName]);
			} else {
				current = current[styleName];
			}
		}
	}

	return current;
}

module.exports = (chalk, tmp) => {
	const styles = [];
	const chunks = [];
	let chunk = [];

	// eslint-disable-next-line max-params
	tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {
		if (escapeChar) {
			chunk.push(unescape(escapeChar));
		} else if (style) {
			const str = chunk.join('');
			chunk = [];
			chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));
			styles.push({inverse, styles: parseStyle(style)});
		} else if (close) {
			if (styles.length === 0) {
				throw new Error('Found extraneous } in Chalk template literal');
			}

			chunks.push(buildStyle(chalk, styles)(chunk.join('')));
			chunk = [];
			styles.pop();
		} else {
			chunk.push(chr);
		}
	});

	chunks.push(chunk.join(''));

	if (styles.length > 0) {
		const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`;
		throw new Error(errMsg);
	}

	return chunks.join('');
};


/***/ }),

/***/ 70591:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

/* MIT license */
var cssKeywords = __nccwpck_require__(92780);

// NOTE: conversions should only return primitive values (i.e. arrays, or
//       values that give correct `typeof` results).
//       do not use box values types (i.e. Number(), String(), etc.)

var reverseKeywords = {};
for (var key in cssKeywords) {
	if (cssKeywords.hasOwnProperty(key)) {
		reverseKeywords[cssKeywords[key]] = key;
	}
}

var convert = module.exports = {
	rgb: {channels: 3, labels: 'rgb'},
	hsl: {channels: 3, labels: 'hsl'},
	hsv: {channels: 3, labels: 'hsv'},
	hwb: {channels: 3, labels: 'hwb'},
	cmyk: {channels: 4, labels: 'cmyk'},
	xyz: {channels: 3, labels: 'xyz'},
	lab: {channels: 3, labels: 'lab'},
	lch: {channels: 3, labels: 'lch'},
	hex: {channels: 1, labels: ['hex']},
	keyword: {channels: 1, labels: ['keyword']},
	ansi16: {channels: 1, labels: ['ansi16']},
	ansi256: {channels: 1, labels: ['ansi256']},
	hcg: {channels: 3, labels: ['h', 'c', 'g']},
	apple: {channels: 3, labels: ['r16', 'g16', 'b16']},
	gray: {channels: 1, labels: ['gray']}
};

// hide .channels and .labels properties
for (var model in convert) {
	if (convert.hasOwnProperty(model)) {
		if (!('channels' in convert[model])) {
			throw new Error('missing channels property: ' + model);
		}

		if (!('labels' in convert[model])) {
			throw new Error('missing channel labels property: ' + model);
		}

		if (convert[model].labels.length !== convert[model].channels) {
			throw new Error('channel and label counts mismatch: ' + model);
		}

		var channels = convert[model].channels;
		var labels = convert[model].labels;
		delete convert[model].channels;
		delete convert[model].labels;
		Object.defineProperty(convert[model], 'channels', {value: channels});
		Object.defineProperty(convert[model], 'labels', {value: labels});
	}
}

convert.rgb.hsl = function (rgb) {
	var r = rgb[0] / 255;
	var g = rgb[1] / 255;
	var b = rgb[2] / 255;
	var min = Math.min(r, g, b);
	var max = Math.max(r, g, b);
	var delta = max - min;
	var h;
	var s;
	var l;

	if (max === min) {
		h = 0;
	} else if (r === max) {
		h = (g - b) / delta;
	} else if (g === max) {
		h = 2 + (b - r) / delta;
	} else if (b === max) {
		h = 4 + (r - g) / delta;
	}

	h = Math.min(h * 60, 360);

	if (h < 0) {
		h += 360;
	}

	l = (min + max) / 2;

	if (max === min) {
		s = 0;
	} else if (l <= 0.5) {
		s = delta / (max + min);
	} else {
		s = delta / (2 - max - min);
	}

	return [h, s * 100, l * 100];
};

convert.rgb.hsv = function (rgb) {
	var rdif;
	var gdif;
	var bdif;
	var h;
	var s;

	var r = rgb[0] / 255;
	var g = rgb[1] / 255;
	var b = rgb[2] / 255;
	var v = Math.max(r, g, b);
	var diff = v - Math.min(r, g, b);
	var diffc = function (c) {
		return (v - c) / 6 / diff + 1 / 2;
	};

	if (diff === 0) {
		h = s = 0;
	} else {
		s = diff / v;
		rdif = diffc(r);
		gdif = diffc(g);
		bdif = diffc(b);

		if (r === v) {
			h = bdif - gdif;
		} else if (g === v) {
			h = (1 / 3) + rdif - bdif;
		} else if (b === v) {
			h = (2 / 3) + gdif - rdif;
		}
		if (h < 0) {
			h += 1;
		} else if (h > 1) {
			h -= 1;
		}
	}

	return [
		h * 360,
		s * 100,
		v * 100
	];
};

convert.rgb.hwb = function (rgb) {
	var r = rgb[0];
	var g = rgb[1];
	var b = rgb[2];
	var h = convert.rgb.hsl(rgb)[0];
	var w = 1 / 255 * Math.min(r, Math.min(g, b));

	b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));

	return [h, w * 100, b * 100];
};

convert.rgb.cmyk = function (rgb) {
	var r = rgb[0] / 255;
	var g = rgb[1] / 255;
	var b = rgb[2] / 255;
	var c;
	var m;
	var y;
	var k;

	k = Math.min(1 - r, 1 - g, 1 - b);
	c = (1 - r - k) / (1 - k) || 0;
	m = (1 - g - k) / (1 - k) || 0;
	y = (1 - b - k) / (1 - k) || 0;

	return [c * 100, m * 100, y * 100, k * 100];
};

/**
 * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
 * */
function comparativeDistance(x, y) {
	return (
		Math.pow(x[0] - y[0], 2) +
		Math.pow(x[1] - y[1], 2) +
		Math.pow(x[2] - y[2], 2)
	);
}

convert.rgb.keyword = function (rgb) {
	var reversed = reverseKeywords[rgb];
	if (reversed) {
		return reversed;
	}

	var currentClosestDistance = Infinity;
	var currentClosestKeyword;

	for (var keyword in cssKeywords) {
		if (cssKeywords.hasOwnProperty(keyword)) {
			var value = cssKeywords[keyword];

			// Compute comparative distance
			var distance = comparativeDistance(rgb, value);

			// Check if its less, if so set as closest
			if (distance < currentClosestDistance) {
				currentClosestDistance = distance;
				currentClosestKeyword = keyword;
			}
		}
	}

	return currentClosestKeyword;
};

convert.keyword.rgb = function (keyword) {
	return cssKeywords[keyword];
};

convert.rgb.xyz = function (rgb) {
	var r = rgb[0] / 255;
	var g = rgb[1] / 255;
	var b = rgb[2] / 255;

	// assume sRGB
	r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);
	g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);
	b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);

	var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
	var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
	var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);

	return [x * 100, y * 100, z * 100];
};

convert.rgb.lab = function (rgb) {
	var xyz = convert.rgb.xyz(rgb);
	var x = xyz[0];
	var y = xyz[1];
	var z = xyz[2];
	var l;
	var a;
	var b;

	x /= 95.047;
	y /= 100;
	z /= 108.883;

	x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
	y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
	z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);

	l = (116 * y) - 16;
	a = 500 * (x - y);
	b = 200 * (y - z);

	return [l, a, b];
};

convert.hsl.rgb = function (hsl) {
	var h = hsl[0] / 360;
	var s = hsl[1] / 100;
	var l = hsl[2] / 100;
	var t1;
	var t2;
	var t3;
	var rgb;
	var val;

	if (s === 0) {
		val = l * 255;
		return [val, val, val];
	}

	if (l < 0.5) {
		t2 = l * (1 + s);
	} else {
		t2 = l + s - l * s;
	}

	t1 = 2 * l - t2;

	rgb = [0, 0, 0];
	for (var i = 0; i < 3; i++) {
		t3 = h + 1 / 3 * -(i - 1);
		if (t3 < 0) {
			t3++;
		}
		if (t3 > 1) {
			t3--;
		}

		if (6 * t3 < 1) {
			val = t1 + (t2 - t1) * 6 * t3;
		} else if (2 * t3 < 1) {
			val = t2;
		} else if (3 * t3 < 2) {
			val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
		} else {
			val = t1;
		}

		rgb[i] = val * 255;
	}

	return rgb;
};

convert.hsl.hsv = function (hsl) {
	var h = hsl[0];
	var s = hsl[1] / 100;
	var l = hsl[2] / 100;
	var smin = s;
	var lmin = Math.max(l, 0.01);
	var sv;
	var v;

	l *= 2;
	s *= (l <= 1) ? l : 2 - l;
	smin *= lmin <= 1 ? lmin : 2 - lmin;
	v = (l + s) / 2;
	sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);

	return [h, sv * 100, v * 100];
};

convert.hsv.rgb = function (hsv) {
	var h = hsv[0] / 60;
	var s = hsv[1] / 100;
	var v = hsv[2] / 100;
	var hi = Math.floor(h) % 6;

	var f = h - Math.floor(h);
	var p = 255 * v * (1 - s);
	var q = 255 * v * (1 - (s * f));
	var t = 255 * v * (1 - (s * (1 - f)));
	v *= 255;

	switch (hi) {
		case 0:
			return [v, t, p];
		case 1:
			return [q, v, p];
		case 2:
			return [p, v, t];
		case 3:
			return [p, q, v];
		case 4:
			return [t, p, v];
		case 5:
			return [v, p, q];
	}
};

convert.hsv.hsl = function (hsv) {
	var h = hsv[0];
	var s = hsv[1] / 100;
	var v = hsv[2] / 100;
	var vmin = Math.max(v, 0.01);
	var lmin;
	var sl;
	var l;

	l = (2 - s) * v;
	lmin = (2 - s) * vmin;
	sl = s * vmin;
	sl /= (lmin <= 1) ? lmin : 2 - lmin;
	sl = sl || 0;
	l /= 2;

	return [h, sl * 100, l * 100];
};

// http://dev.w3.org/csswg/css-color/#hwb-to-rgb
convert.hwb.rgb = function (hwb) {
	var h = hwb[0] / 360;
	var wh = hwb[1] / 100;
	var bl = hwb[2] / 100;
	var ratio = wh + bl;
	var i;
	var v;
	var f;
	var n;

	// wh + bl cant be > 1
	if (ratio > 1) {
		wh /= ratio;
		bl /= ratio;
	}

	i = Math.floor(6 * h);
	v = 1 - bl;
	f = 6 * h - i;

	if ((i & 0x01) !== 0) {
		f = 1 - f;
	}

	n = wh + f * (v - wh); // linear interpolation

	var r;
	var g;
	var b;
	switch (i) {
		default:
		case 6:
		case 0: r = v; g = n; b = wh; break;
		case 1: r = n; g = v; b = wh; break;
		case 2: r = wh; g = v; b = n; break;
		case 3: r = wh; g = n; b = v; break;
		case 4: r = n; g = wh; b = v; break;
		case 5: r = v; g = wh; b = n; break;
	}

	return [r * 255, g * 255, b * 255];
};

convert.cmyk.rgb = function (cmyk) {
	var c = cmyk[0] / 100;
	var m = cmyk[1] / 100;
	var y = cmyk[2] / 100;
	var k = cmyk[3] / 100;
	var r;
	var g;
	var b;

	r = 1 - Math.min(1, c * (1 - k) + k);
	g = 1 - Math.min(1, m * (1 - k) + k);
	b = 1 - Math.min(1, y * (1 - k) + k);

	return [r * 255, g * 255, b * 255];
};

convert.xyz.rgb = function (xyz) {
	var x = xyz[0] / 100;
	var y = xyz[1] / 100;
	var z = xyz[2] / 100;
	var r;
	var g;
	var b;

	r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);
	g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);
	b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);

	// assume sRGB
	r = r > 0.0031308
		? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)
		: r * 12.92;

	g = g > 0.0031308
		? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)
		: g * 12.92;

	b = b > 0.0031308
		? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)
		: b * 12.92;

	r = Math.min(Math.max(0, r), 1);
	g = Math.min(Math.max(0, g), 1);
	b = Math.min(Math.max(0, b), 1);

	return [r * 255, g * 255, b * 255];
};

convert.xyz.lab = function (xyz) {
	var x = xyz[0];
	var y = xyz[1];
	var z = xyz[2];
	var l;
	var a;
	var b;

	x /= 95.047;
	y /= 100;
	z /= 108.883;

	x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
	y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
	z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);

	l = (116 * y) - 16;
	a = 500 * (x - y);
	b = 200 * (y - z);

	return [l, a, b];
};

convert.lab.xyz = function (lab) {
	var l = lab[0];
	var a = lab[1];
	var b = lab[2];
	var x;
	var y;
	var z;

	y = (l + 16) / 116;
	x = a / 500 + y;
	z = y - b / 200;

	var y2 = Math.pow(y, 3);
	var x2 = Math.pow(x, 3);
	var z2 = Math.pow(z, 3);
	y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
	x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
	z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;

	x *= 95.047;
	y *= 100;
	z *= 108.883;

	return [x, y, z];
};

convert.lab.lch = function (lab) {
	var l = lab[0];
	var a = lab[1];
	var b = lab[2];
	var hr;
	var h;
	var c;

	hr = Math.atan2(b, a);
	h = hr * 360 / 2 / Math.PI;

	if (h < 0) {
		h += 360;
	}

	c = Math.sqrt(a * a + b * b);

	return [l, c, h];
};

convert.lch.lab = function (lch) {
	var l = lch[0];
	var c = lch[1];
	var h = lch[2];
	var a;
	var b;
	var hr;

	hr = h / 360 * 2 * Math.PI;
	a = c * Math.cos(hr);
	b = c * Math.sin(hr);

	return [l, a, b];
};

convert.rgb.ansi16 = function (args) {
	var r = args[0];
	var g = args[1];
	var b = args[2];
	var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization

	value = Math.round(value / 50);

	if (value === 0) {
		return 30;
	}

	var ansi = 30
		+ ((Math.round(b / 255) << 2)
		| (Math.round(g / 255) << 1)
		| Math.round(r / 255));

	if (value === 2) {
		ansi += 60;
	}

	return ansi;
};

convert.hsv.ansi16 = function (args) {
	// optimization here; we already know the value and don't need to get
	// it converted for us.
	return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
};

convert.rgb.ansi256 = function (args) {
	var r = args[0];
	var g = args[1];
	var b = args[2];

	// we use the extended greyscale palette here, with the exception of
	// black and white. normal palette only has 4 greyscale shades.
	if (r === g && g === b) {
		if (r < 8) {
			return 16;
		}

		if (r > 248) {
			return 231;
		}

		return Math.round(((r - 8) / 247) * 24) + 232;
	}

	var ansi = 16
		+ (36 * Math.round(r / 255 * 5))
		+ (6 * Math.round(g / 255 * 5))
		+ Math.round(b / 255 * 5);

	return ansi;
};

convert.ansi16.rgb = function (args) {
	var color = args % 10;

	// handle greyscale
	if (color === 0 || color === 7) {
		if (args > 50) {
			color += 3.5;
		}

		color = color / 10.5 * 255;

		return [color, color, color];
	}

	var mult = (~~(args > 50) + 1) * 0.5;
	var r = ((color & 1) * mult) * 255;
	var g = (((color >> 1) & 1) * mult) * 255;
	var b = (((color >> 2) & 1) * mult) * 255;

	return [r, g, b];
};

convert.ansi256.rgb = function (args) {
	// handle greyscale
	if (args >= 232) {
		var c = (args - 232) * 10 + 8;
		return [c, c, c];
	}

	args -= 16;

	var rem;
	var r = Math.floor(args / 36) / 5 * 255;
	var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
	var b = (rem % 6) / 5 * 255;

	return [r, g, b];
};

convert.rgb.hex = function (args) {
	var integer = ((Math.round(args[0]) & 0xFF) << 16)
		+ ((Math.round(args[1]) & 0xFF) << 8)
		+ (Math.round(args[2]) & 0xFF);

	var string = integer.toString(16).toUpperCase();
	return '000000'.substring(string.length) + string;
};

convert.hex.rgb = function (args) {
	var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
	if (!match) {
		return [0, 0, 0];
	}

	var colorString = match[0];

	if (match[0].length === 3) {
		colorString = colorString.split('').map(function (char) {
			return char + char;
		}).join('');
	}

	var integer = parseInt(colorString, 16);
	var r = (integer >> 16) & 0xFF;
	var g = (integer >> 8) & 0xFF;
	var b = integer & 0xFF;

	return [r, g, b];
};

convert.rgb.hcg = function (rgb) {
	var r = rgb[0] / 255;
	var g = rgb[1] / 255;
	var b = rgb[2] / 255;
	var max = Math.max(Math.max(r, g), b);
	var min = Math.min(Math.min(r, g), b);
	var chroma = (max - min);
	var grayscale;
	var hue;

	if (chroma < 1) {
		grayscale = min / (1 - chroma);
	} else {
		grayscale = 0;
	}

	if (chroma <= 0) {
		hue = 0;
	} else
	if (max === r) {
		hue = ((g - b) / chroma) % 6;
	} else
	if (max === g) {
		hue = 2 + (b - r) / chroma;
	} else {
		hue = 4 + (r - g) / chroma + 4;
	}

	hue /= 6;
	hue %= 1;

	return [hue * 360, chroma * 100, grayscale * 100];
};

convert.hsl.hcg = function (hsl) {
	var s = hsl[1] / 100;
	var l = hsl[2] / 100;
	var c = 1;
	var f = 0;

	if (l < 0.5) {
		c = 2.0 * s * l;
	} else {
		c = 2.0 * s * (1.0 - l);
	}

	if (c < 1.0) {
		f = (l - 0.5 * c) / (1.0 - c);
	}

	return [hsl[0], c * 100, f * 100];
};

convert.hsv.hcg = function (hsv) {
	var s = hsv[1] / 100;
	var v = hsv[2] / 100;

	var c = s * v;
	var f = 0;

	if (c < 1.0) {
		f = (v - c) / (1 - c);
	}

	return [hsv[0], c * 100, f * 100];
};

convert.hcg.rgb = function (hcg) {
	var h = hcg[0] / 360;
	var c = hcg[1] / 100;
	var g = hcg[2] / 100;

	if (c === 0.0) {
		return [g * 255, g * 255, g * 255];
	}

	var pure = [0, 0, 0];
	var hi = (h % 1) * 6;
	var v = hi % 1;
	var w = 1 - v;
	var mg = 0;

	switch (Math.floor(hi)) {
		case 0:
			pure[0] = 1; pure[1] = v; pure[2] = 0; break;
		case 1:
			pure[0] = w; pure[1] = 1; pure[2] = 0; break;
		case 2:
			pure[0] = 0; pure[1] = 1; pure[2] = v; break;
		case 3:
			pure[0] = 0; pure[1] = w; pure[2] = 1; break;
		case 4:
			pure[0] = v; pure[1] = 0; pure[2] = 1; break;
		default:
			pure[0] = 1; pure[1] = 0; pure[2] = w;
	}

	mg = (1.0 - c) * g;

	return [
		(c * pure[0] + mg) * 255,
		(c * pure[1] + mg) * 255,
		(c * pure[2] + mg) * 255
	];
};

convert.hcg.hsv = function (hcg) {
	var c = hcg[1] / 100;
	var g = hcg[2] / 100;

	var v = c + g * (1.0 - c);
	var f = 0;

	if (v > 0.0) {
		f = c / v;
	}

	return [hcg[0], f * 100, v * 100];
};

convert.hcg.hsl = function (hcg) {
	var c = hcg[1] / 100;
	var g = hcg[2] / 100;

	var l = g * (1.0 - c) + 0.5 * c;
	var s = 0;

	if (l > 0.0 && l < 0.5) {
		s = c / (2 * l);
	} else
	if (l >= 0.5 && l < 1.0) {
		s = c / (2 * (1 - l));
	}

	return [hcg[0], s * 100, l * 100];
};

convert.hcg.hwb = function (hcg) {
	var c = hcg[1] / 100;
	var g = hcg[2] / 100;
	var v = c + g * (1.0 - c);
	return [hcg[0], (v - c) * 100, (1 - v) * 100];
};

convert.hwb.hcg = function (hwb) {
	var w = hwb[1] / 100;
	var b = hwb[2] / 100;
	var v = 1 - b;
	var c = v - w;
	var g = 0;

	if (c < 1) {
		g = (v - c) / (1 - c);
	}

	return [hwb[0], c * 100, g * 100];
};

convert.apple.rgb = function (apple) {
	return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];
};

convert.rgb.apple = function (rgb) {
	return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];
};

convert.gray.rgb = function (args) {
	return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
};

convert.gray.hsl = convert.gray.hsv = function (args) {
	return [0, 0, args[0]];
};

convert.gray.hwb = function (gray) {
	return [0, 100, gray[0]];
};

convert.gray.cmyk = function (gray) {
	return [0, 0, 0, gray[0]];
};

convert.gray.lab = function (gray) {
	return [gray[0], 0, 0];
};

convert.gray.hex = function (gray) {
	var val = Math.round(gray[0] / 100 * 255) & 0xFF;
	var integer = (val << 16) + (val << 8) + val;

	var string = integer.toString(16).toUpperCase();
	return '000000'.substring(string.length) + string;
};

convert.rgb.gray = function (rgb) {
	var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
	return [val / 255 * 100];
};


/***/ }),

/***/ 5458:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var conversions = __nccwpck_require__(70591);
var route = __nccwpck_require__(69769);

var convert = {};

var models = Object.keys(conversions);

function wrapRaw(fn) {
	var wrappedFn = function (args) {
		if (args === undefined || args === null) {
			return args;
		}

		if (arguments.length > 1) {
			args = Array.prototype.slice.call(arguments);
		}

		return fn(args);
	};

	// preserve .conversion property if there is one
	if ('conversion' in fn) {
		wrappedFn.conversion = fn.conversion;
	}

	return wrappedFn;
}

function wrapRounded(fn) {
	var wrappedFn = function (args) {
		if (args === undefined || args === null) {
			return args;
		}

		if (arguments.length > 1) {
			args = Array.prototype.slice.call(arguments);
		}

		var result = fn(args);

		// we're assuming the result is an array here.
		// see notice in conversions.js; don't use box types
		// in conversion functions.
		if (typeof result === 'object') {
			for (var len = result.length, i = 0; i < len; i++) {
				result[i] = Math.round(result[i]);
			}
		}

		return result;
	};

	// preserve .conversion property if there is one
	if ('conversion' in fn) {
		wrappedFn.conversion = fn.conversion;
	}

	return wrappedFn;
}

models.forEach(function (fromModel) {
	convert[fromModel] = {};

	Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
	Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});

	var routes = route(fromModel);
	var routeModels = Object.keys(routes);

	routeModels.forEach(function (toModel) {
		var fn = routes[toModel];

		convert[fromModel][toModel] = wrapRounded(fn);
		convert[fromModel][toModel].raw = wrapRaw(fn);
	});
});

module.exports = convert;


/***/ }),

/***/ 69769:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var conversions = __nccwpck_require__(70591);

/*
	this function routes a model to all other models.

	all functions that are routed have a property `.conversion` attached
	to the returned synthetic function. This property is an array
	of strings, each with the steps in between the 'from' and 'to'
	color models (inclusive).

	conversions that are not possible simply are not included.
*/

function buildGraph() {
	var graph = {};
	// https://jsperf.com/object-keys-vs-for-in-with-closure/3
	var models = Object.keys(conversions);

	for (var len = models.length, i = 0; i < len; i++) {
		graph[models[i]] = {
			// http://jsperf.com/1-vs-infinity
			// micro-opt, but this is simple.
			distance: -1,
			parent: null
		};
	}

	return graph;
}

// https://en.wikipedia.org/wiki/Breadth-first_search
function deriveBFS(fromModel) {
	var graph = buildGraph();
	var queue = [fromModel]; // unshift -> queue -> pop

	graph[fromModel].distance = 0;

	while (queue.length) {
		var current = queue.pop();
		var adjacents = Object.keys(conversions[current]);

		for (var len = adjacents.length, i = 0; i < len; i++) {
			var adjacent = adjacents[i];
			var node = graph[adjacent];

			if (node.distance === -1) {
				node.distance = graph[current].distance + 1;
				node.parent = current;
				queue.unshift(adjacent);
			}
		}
	}

	return graph;
}

function link(from, to) {
	return function (args) {
		return to(from(args));
	};
}

function wrapConversion(toModel, graph) {
	var path = [graph[toModel].parent, toModel];
	var fn = conversions[graph[toModel].parent][toModel];

	var cur = graph[toModel].parent;
	while (graph[cur].parent) {
		path.unshift(graph[cur].parent);
		fn = link(conversions[graph[cur].parent][cur], fn);
		cur = graph[cur].parent;
	}

	fn.conversion = path;
	return fn;
}

module.exports = function (fromModel) {
	var graph = deriveBFS(fromModel);
	var conversion = {};

	var models = Object.keys(graph);
	for (var len = models.length, i = 0; i < len; i++) {
		var toModel = models[i];
		var node = graph[toModel];

		if (node.parent === null) {
			// no possible conversion, or this node is the source model.
			continue;
		}

		conversion[toModel] = wrapConversion(toModel, graph);
	}

	return conversion;
};



/***/ }),

/***/ 92780:
/***/ ((module) => {

"use strict";


module.exports = {
	"aliceblue": [240, 248, 255],
	"antiquewhite": [250, 235, 215],
	"aqua": [0, 255, 255],
	"aquamarine": [127, 255, 212],
	"azure": [240, 255, 255],
	"beige": [245, 245, 220],
	"bisque": [255, 228, 196],
	"black": [0, 0, 0],
	"blanchedalmond": [255, 235, 205],
	"blue": [0, 0, 255],
	"blueviolet": [138, 43, 226],
	"brown": [165, 42, 42],
	"burlywood": [222, 184, 135],
	"cadetblue": [95, 158, 160],
	"chartreuse": [127, 255, 0],
	"chocolate": [210, 105, 30],
	"coral": [255, 127, 80],
	"cornflowerblue": [100, 149, 237],
	"cornsilk": [255, 248, 220],
	"crimson": [220, 20, 60],
	"cyan": [0, 255, 255],
	"darkblue": [0, 0, 139],
	"darkcyan": [0, 139, 139],
	"darkgoldenrod": [184, 134, 11],
	"darkgray": [169, 169, 169],
	"darkgreen": [0, 100, 0],
	"darkgrey": [169, 169, 169],
	"darkkhaki": [189, 183, 107],
	"darkmagenta": [139, 0, 139],
	"darkolivegreen": [85, 107, 47],
	"darkorange": [255, 140, 0],
	"darkorchid": [153, 50, 204],
	"darkred": [139, 0, 0],
	"darksalmon": [233, 150, 122],
	"darkseagreen": [143, 188, 143],
	"darkslateblue": [72, 61, 139],
	"darkslategray": [47, 79, 79],
	"darkslategrey": [47, 79, 79],
	"darkturquoise": [0, 206, 209],
	"darkviolet": [148, 0, 211],
	"deeppink": [255, 20, 147],
	"deepskyblue": [0, 191, 255],
	"dimgray": [105, 105, 105],
	"dimgrey": [105, 105, 105],
	"dodgerblue": [30, 144, 255],
	"firebrick": [178, 34, 34],
	"floralwhite": [255, 250, 240],
	"forestgreen": [34, 139, 34],
	"fuchsia": [255, 0, 255],
	"gainsboro": [220, 220, 220],
	"ghostwhite": [248, 248, 255],
	"gold": [255, 215, 0],
	"goldenrod": [218, 165, 32],
	"gray": [128, 128, 128],
	"green": [0, 128, 0],
	"greenyellow": [173, 255, 47],
	"grey": [128, 128, 128],
	"honeydew": [240, 255, 240],
	"hotpink": [255, 105, 180],
	"indianred": [205, 92, 92],
	"indigo": [75, 0, 130],
	"ivory": [255, 255, 240],
	"khaki": [240, 230, 140],
	"lavender": [230, 230, 250],
	"lavenderblush": [255, 240, 245],
	"lawngreen": [124, 252, 0],
	"lemonchiffon": [255, 250, 205],
	"lightblue": [173, 216, 230],
	"lightcoral": [240, 128, 128],
	"lightcyan": [224, 255, 255],
	"lightgoldenrodyellow": [250, 250, 210],
	"lightgray": [211, 211, 211],
	"lightgreen": [144, 238, 144],
	"lightgrey": [211, 211, 211],
	"lightpink": [255, 182, 193],
	"lightsalmon": [255, 160, 122],
	"lightseagreen": [32, 178, 170],
	"lightskyblue": [135, 206, 250],
	"lightslategray": [119, 136, 153],
	"lightslategrey": [119, 136, 153],
	"lightsteelblue": [176, 196, 222],
	"lightyellow": [255, 255, 224],
	"lime": [0, 255, 0],
	"limegreen": [50, 205, 50],
	"linen": [250, 240, 230],
	"magenta": [255, 0, 255],
	"maroon": [128, 0, 0],
	"mediumaquamarine": [102, 205, 170],
	"mediumblue": [0, 0, 205],
	"mediumorchid": [186, 85, 211],
	"mediumpurple": [147, 112, 219],
	"mediumseagreen": [60, 179, 113],
	"mediumslateblue": [123, 104, 238],
	"mediumspringgreen": [0, 250, 154],
	"mediumturquoise": [72, 209, 204],
	"mediumvioletred": [199, 21, 133],
	"midnightblue": [25, 25, 112],
	"mintcream": [245, 255, 250],
	"mistyrose": [255, 228, 225],
	"moccasin": [255, 228, 181],
	"navajowhite": [255, 222, 173],
	"navy": [0, 0, 128],
	"oldlace": [253, 245, 230],
	"olive": [128, 128, 0],
	"olivedrab": [107, 142, 35],
	"orange": [255, 165, 0],
	"orangered": [255, 69, 0],
	"orchid": [218, 112, 214],
	"palegoldenrod": [238, 232, 170],
	"palegreen": [152, 251, 152],
	"paleturquoise": [175, 238, 238],
	"palevioletred": [219, 112, 147],
	"papayawhip": [255, 239, 213],
	"peachpuff": [255, 218, 185],
	"peru": [205, 133, 63],
	"pink": [255, 192, 203],
	"plum": [221, 160, 221],
	"powderblue": [176, 224, 230],
	"purple": [128, 0, 128],
	"rebeccapurple": [102, 51, 153],
	"red": [255, 0, 0],
	"rosybrown": [188, 143, 143],
	"royalblue": [65, 105, 225],
	"saddlebrown": [139, 69, 19],
	"salmon": [250, 128, 114],
	"sandybrown": [244, 164, 96],
	"seagreen": [46, 139, 87],
	"seashell": [255, 245, 238],
	"sienna": [160, 82, 45],
	"silver": [192, 192, 192],
	"skyblue": [135, 206, 235],
	"slateblue": [106, 90, 205],
	"slategray": [112, 128, 144],
	"slategrey": [112, 128, 144],
	"snow": [255, 250, 250],
	"springgreen": [0, 255, 127],
	"steelblue": [70, 130, 180],
	"tan": [210, 180, 140],
	"teal": [0, 128, 128],
	"thistle": [216, 191, 216],
	"tomato": [255, 99, 71],
	"turquoise": [64, 224, 208],
	"violet": [238, 130, 238],
	"wheat": [245, 222, 179],
	"white": [255, 255, 255],
	"whitesmoke": [245, 245, 245],
	"yellow": [255, 255, 0],
	"yellowgreen": [154, 205, 50]
};


/***/ }),

/***/ 25898:
/***/ ((module) => {

"use strict";


var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;

module.exports = function (str) {
	if (typeof str !== 'string') {
		throw new TypeError('Expected a string');
	}

	return str.replace(matchOperatorsRe, '\\$&');
};


/***/ }),

/***/ 33226:
/***/ ((module) => {

"use strict";

module.exports = (flag, argv) => {
	argv = argv || process.argv;
	const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
	const pos = argv.indexOf(prefix + flag);
	const terminatorPos = argv.indexOf('--');
	return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
};


/***/ }),

/***/ 95317:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

const os = __nccwpck_require__(12087);
const hasFlag = __nccwpck_require__(33226);

const env = process.env;

let forceColor;
if (hasFlag('no-color') ||
	hasFlag('no-colors') ||
	hasFlag('color=false')) {
	forceColor = false;
} else if (hasFlag('color') ||
	hasFlag('colors') ||
	hasFlag('color=true') ||
	hasFlag('color=always')) {
	forceColor = true;
}
if ('FORCE_COLOR' in env) {
	forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
}

function translateLevel(level) {
	if (level === 0) {
		return false;
	}

	return {
		level,
		hasBasic: true,
		has256: level >= 2,
		has16m: level >= 3
	};
}

function supportsColor(stream) {
	if (forceColor === false) {
		return 0;
	}

	if (hasFlag('color=16m') ||
		hasFlag('color=full') ||
		hasFlag('color=truecolor')) {
		return 3;
	}

	if (hasFlag('color=256')) {
		return 2;
	}

	if (stream && !stream.isTTY && forceColor !== true) {
		return 0;
	}

	const min = forceColor ? 1 : 0;

	if (process.platform === 'win32') {
		// Node.js 7.5.0 is the first version of Node.js to include a patch to
		// libuv that enables 256 color output on Windows. Anything earlier and it
		// won't work. However, here we target Node.js 8 at minimum as it is an LTS
		// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
		// release that supports 256 colors. Windows 10 build 14931 is the first release
		// that supports 16m/TrueColor.
		const osRelease = os.release().split('.');
		if (
			Number(process.versions.node.split('.')[0]) >= 8 &&
			Number(osRelease[0]) >= 10 &&
			Number(osRelease[2]) >= 10586
		) {
			return Number(osRelease[2]) >= 14931 ? 3 : 2;
		}

		return 1;
	}

	if ('CI' in env) {
		if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
			return 1;
		}

		return min;
	}

	if ('TEAMCITY_VERSION' in env) {
		return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
	}

	if (env.COLORTERM === 'truecolor') {
		return 3;
	}

	if ('TERM_PROGRAM' in env) {
		const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);

		switch (env.TERM_PROGRAM) {
			case 'iTerm.app':
				return version >= 3 ? 3 : 2;
			case 'Apple_Terminal':
				return 2;
			// No default
		}
	}

	if (/-256(color)?$/i.test(env.TERM)) {
		return 2;
	}

	if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
		return 1;
	}

	if ('COLORTERM' in env) {
		return 1;
	}

	if (env.TERM === 'dumb') {
		return min;
	}

	return min;
}

function getSupportLevel(stream) {
	const level = supportsColor(stream);
	return translateLevel(level);
}

module.exports = {
	supportsColor: getSupportLevel,
	stdout: getSupportLevel(process.stdout),
	stderr: getSupportLevel(process.stderr)
};


/***/ }),

/***/ 69414:
/***/ ((__unused_webpack_module, exports) => {

;(function (sax) { // wrapper for non-node envs
  sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }
  sax.SAXParser = SAXParser

  // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.
  // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),
  // since that's the earliest that a buffer overrun could occur.  This way, checks are
  // as rare as required, but as often as necessary to ensure never crossing this bound.
  // Furthermore, buffers are only tested at most once per write(), so passing a very
  // large string into write() might have undesirable effects, but this is manageable by
  // the caller, so it is assumed to be safe.  Thus, a call to write() may, in the extreme
  // edge case, result in creating at most one complete copy of the string passed in.
  // Set to Infinity to have unlimited buffers.
  sax.MAX_BUFFER_LENGTH = 64 * 1024

  var buffers = [
    'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',
    'procInstName', 'procInstBody', 'entity', 'attribName',
    'attribValue', 'cdata', 'script'
  ]

  sax.EVENTS = [
    'text',
    'processinginstruction',
    'sgmldeclaration',
    'doctype',
    'comment',
    'opentagstart',
    'attribute',
    'opentag',
    'closetag',
    'opencdata',
    'cdata',
    'closecdata',
    'error',
    'end',
    'ready',
    'script',
    'opennamespace',
    'closenamespace'
  ]

  function SAXParser (strict, opt) {
    if (!(this instanceof SAXParser)) {
      return new SAXParser(strict, opt)
    }

    var parser = this
    clearBuffers(parser)
    parser.q = parser.c = ''
    parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH
    parser.opt = opt || {}
    parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags
    parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'
    parser.tags = []
    parser.closed = parser.closedRoot = parser.sawRoot = false
    parser.tag = parser.error = null
    parser.strict = !!strict
    parser.noscript = !!(strict || parser.opt.noscript)
    parser.state = S.BEGIN
    parser.strictEntities = parser.opt.strictEntities
    parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)
    parser.attribList = []

    // namespaces form a prototype chain.
    // it always points at the current tag,
    // which protos to its parent tag.
    if (parser.opt.xmlns) {
      parser.ns = Object.create(rootNS)
    }

    // mostly just for error reporting
    parser.trackPosition = parser.opt.position !== false
    if (parser.trackPosition) {
      parser.position = parser.line = parser.column = 0
    }
    emit(parser, 'onready')
  }

  if (!Object.create) {
    Object.create = function (o) {
      function F () {}
      F.prototype = o
      var newf = new F()
      return newf
    }
  }

  if (!Object.keys) {
    Object.keys = function (o) {
      var a = []
      for (var i in o) if (o.hasOwnProperty(i)) a.push(i)
      return a
    }
  }

  function checkBufferLength (parser) {
    var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)
    var maxActual = 0
    for (var i = 0, l = buffers.length; i < l; i++) {
      var len = parser[buffers[i]].length
      if (len > maxAllowed) {
        // Text/cdata nodes can get big, and since they're buffered,
        // we can get here under normal conditions.
        // Avoid issues by emitting the text node now,
        // so at least it won't get any bigger.
        switch (buffers[i]) {
          case 'textNode':
            closeText(parser)
            break

          case 'cdata':
            emitNode(parser, 'oncdata', parser.cdata)
            parser.cdata = ''
            break

          case 'script':
            emitNode(parser, 'onscript', parser.script)
            parser.script = ''
            break

          default:
            error(parser, 'Max buffer length exceeded: ' + buffers[i])
        }
      }
      maxActual = Math.max(maxActual, len)
    }
    // schedule the next check for the earliest possible buffer overrun.
    var m = sax.MAX_BUFFER_LENGTH - maxActual
    parser.bufferCheckPosition = m + parser.position
  }

  function clearBuffers (parser) {
    for (var i = 0, l = buffers.length; i < l; i++) {
      parser[buffers[i]] = ''
    }
  }

  function flushBuffers (parser) {
    closeText(parser)
    if (parser.cdata !== '') {
      emitNode(parser, 'oncdata', parser.cdata)
      parser.cdata = ''
    }
    if (parser.script !== '') {
      emitNode(parser, 'onscript', parser.script)
      parser.script = ''
    }
  }

  SAXParser.prototype = {
    end: function () { end(this) },
    write: write,
    resume: function () { this.error = null; return this },
    close: function () { return this.write(null) },
    flush: function () { flushBuffers(this) }
  }

  // this really needs to be replaced with character classes.
  // XML allows all manner of ridiculous numbers and digits.
  var CDATA = '[CDATA['
  var DOCTYPE = 'DOCTYPE'
  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'
  var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'
  var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }

  // http://www.w3.org/TR/REC-xml/#NT-NameStartChar
  // This implementation works on strings, a single character at a time
  // as such, it cannot ever support astral-plane characters (10000-EFFFF)
  // without a significant breaking change to either this  parser, or the
  // JavaScript language.  Implementation of an emoji-capable xml parser
  // is left as an exercise for the reader.
  var nameStart = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/

  var nameBody = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/

  var entityStart = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/
  var entityBody = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/

  function isWhitespace (c) {
    return c === ' ' || c === '\n' || c === '\r' || c === '\t'
  }

  function isQuote (c) {
    return c === '"' || c === '\''
  }

  function isAttribEnd (c) {
    return c === '>' || isWhitespace(c)
  }

  function isMatch (regex, c) {
    return regex.test(c)
  }

  function notMatch (regex, c) {
    return !isMatch(regex, c)
  }

  var S = 0
  sax.STATE = {
    BEGIN: S++, // leading byte order mark or whitespace
    BEGIN_WHITESPACE: S++, // leading whitespace
    TEXT: S++, // general stuff
    TEXT_ENTITY: S++, // &amp and such.
    OPEN_WAKA: S++, // <
    SGML_DECL: S++, // <!BLARG
    SGML_DECL_QUOTED: S++, // <!BLARG foo "bar
    DOCTYPE: S++, // <!DOCTYPE
    DOCTYPE_QUOTED: S++, // <!DOCTYPE "//blah
    DOCTYPE_DTD: S++, // <!DOCTYPE "//blah" [ ...
    DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE "//blah" [ "foo
    COMMENT_STARTING: S++, // <!-
    COMMENT: S++, // <!--
    COMMENT_ENDING: S++, // <!-- blah -
    COMMENT_ENDED: S++, // <!-- blah --
    CDATA: S++, // <![CDATA[ something
    CDATA_ENDING: S++, // ]
    CDATA_ENDING_2: S++, // ]]
    PROC_INST: S++, // <?hi
    PROC_INST_BODY: S++, // <?hi there
    PROC_INST_ENDING: S++, // <?hi "there" ?
    OPEN_TAG: S++, // <strong
    OPEN_TAG_SLASH: S++, // <strong /
    ATTRIB: S++, // <a
    ATTRIB_NAME: S++, // <a foo
    ATTRIB_NAME_SAW_WHITE: S++, // <a foo _
    ATTRIB_VALUE: S++, // <a foo=
    ATTRIB_VALUE_QUOTED: S++, // <a foo="bar
    ATTRIB_VALUE_CLOSED: S++, // <a foo="bar"
    ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar
    ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar="&quot;"
    ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot
    CLOSE_TAG: S++, // </a
    CLOSE_TAG_SAW_WHITE: S++, // </a   >
    SCRIPT: S++, // <script> ...
    SCRIPT_ENDING: S++ // <script> ... <
  }

  sax.XML_ENTITIES = {
    'amp': '&',
    'gt': '>',
    'lt': '<',
    'quot': '"',
    'apos': "'"
  }

  sax.ENTITIES = {
    'amp': '&',
    'gt': '>',
    'lt': '<',
    'quot': '"',
    'apos': "'",
    'AElig': 198,
    'Aacute': 193,
    'Acirc': 194,
    'Agrave': 192,
    'Aring': 197,
    'Atilde': 195,
    'Auml': 196,
    'Ccedil': 199,
    'ETH': 208,
    'Eacute': 201,
    'Ecirc': 202,
    'Egrave': 200,
    'Euml': 203,
    'Iacute': 205,
    'Icirc': 206,
    'Igrave': 204,
    'Iuml': 207,
    'Ntilde': 209,
    'Oacute': 211,
    'Ocirc': 212,
    'Ograve': 210,
    'Oslash': 216,
    'Otilde': 213,
    'Ouml': 214,
    'THORN': 222,
    'Uacute': 218,
    'Ucirc': 219,
    'Ugrave': 217,
    'Uuml': 220,
    'Yacute': 221,
    'aacute': 225,
    'acirc': 226,
    'aelig': 230,
    'agrave': 224,
    'aring': 229,
    'atilde': 227,
    'auml': 228,
    'ccedil': 231,
    'eacute': 233,
    'ecirc': 234,
    'egrave': 232,
    'eth': 240,
    'euml': 235,
    'iacute': 237,
    'icirc': 238,
    'igrave': 236,
    'iuml': 239,
    'ntilde': 241,
    'oacute': 243,
    'ocirc': 244,
    'ograve': 242,
    'oslash': 248,
    'otilde': 245,
    'ouml': 246,
    'szlig': 223,
    'thorn': 254,
    'uacute': 250,
    'ucirc': 251,
    'ugrave': 249,
    'uuml': 252,
    'yacute': 253,
    'yuml': 255,
    'copy': 169,
    'reg': 174,
    'nbsp': 160,
    'iexcl': 161,
    'cent': 162,
    'pound': 163,
    'curren': 164,
    'yen': 165,
    'brvbar': 166,
    'sect': 167,
    'uml': 168,
    'ordf': 170,
    'laquo': 171,
    'not': 172,
    'shy': 173,
    'macr': 175,
    'deg': 176,
    'plusmn': 177,
    'sup1': 185,
    'sup2': 178,
    'sup3': 179,
    'acute': 180,
    'micro': 181,
    'para': 182,
    'middot': 183,
    'cedil': 184,
    'ordm': 186,
    'raquo': 187,
    'frac14': 188,
    'frac12': 189,
    'frac34': 190,
    'iquest': 191,
    'times': 215,
    'divide': 247,
    'OElig': 338,
    'oelig': 339,
    'Scaron': 352,
    'scaron': 353,
    'Yuml': 376,
    'fnof': 402,
    'circ': 710,
    'tilde': 732,
    'Alpha': 913,
    'Beta': 914,
    'Gamma': 915,
    'Delta': 916,
    'Epsilon': 917,
    'Zeta': 918,
    'Eta': 919,
    'Theta': 920,
    'Iota': 921,
    'Kappa': 922,
    'Lambda': 923,
    'Mu': 924,
    'Nu': 925,
    'Xi': 926,
    'Omicron': 927,
    'Pi': 928,
    'Rho': 929,
    'Sigma': 931,
    'Tau': 932,
    'Upsilon': 933,
    'Phi': 934,
    'Chi': 935,
    'Psi': 936,
    'Omega': 937,
    'alpha': 945,
    'beta': 946,
    'gamma': 947,
    'delta': 948,
    'epsilon': 949,
    'zeta': 950,
    'eta': 951,
    'theta': 952,
    'iota': 953,
    'kappa': 954,
    'lambda': 955,
    'mu': 956,
    'nu': 957,
    'xi': 958,
    'omicron': 959,
    'pi': 960,
    'rho': 961,
    'sigmaf': 962,
    'sigma': 963,
    'tau': 964,
    'upsilon': 965,
    'phi': 966,
    'chi': 967,
    'psi': 968,
    'omega': 969,
    'thetasym': 977,
    'upsih': 978,
    'piv': 982,
    'ensp': 8194,
    'emsp': 8195,
    'thinsp': 8201,
    'zwnj': 8204,
    'zwj': 8205,
    'lrm': 8206,
    'rlm': 8207,
    'ndash': 8211,
    'mdash': 8212,
    'lsquo': 8216,
    'rsquo': 8217,
    'sbquo': 8218,
    'ldquo': 8220,
    'rdquo': 8221,
    'bdquo': 8222,
    'dagger': 8224,
    'Dagger': 8225,
    'bull': 8226,
    'hellip': 8230,
    'permil': 8240,
    'prime': 8242,
    'Prime': 8243,
    'lsaquo': 8249,
    'rsaquo': 8250,
    'oline': 8254,
    'frasl': 8260,
    'euro': 8364,
    'image': 8465,
    'weierp': 8472,
    'real': 8476,
    'trade': 8482,
    'alefsym': 8501,
    'larr': 8592,
    'uarr': 8593,
    'rarr': 8594,
    'darr': 8595,
    'harr': 8596,
    'crarr': 8629,
    'lArr': 8656,
    'uArr': 8657,
    'rArr': 8658,
    'dArr': 8659,
    'hArr': 8660,
    'forall': 8704,
    'part': 8706,
    'exist': 8707,
    'empty': 8709,
    'nabla': 8711,
    'isin': 8712,
    'notin': 8713,
    'ni': 8715,
    'prod': 8719,
    'sum': 8721,
    'minus': 8722,
    'lowast': 8727,
    'radic': 8730,
    'prop': 8733,
    'infin': 8734,
    'ang': 8736,
    'and': 8743,
    'or': 8744,
    'cap': 8745,
    'cup': 8746,
    'int': 8747,
    'there4': 8756,
    'sim': 8764,
    'cong': 8773,
    'asymp': 8776,
    'ne': 8800,
    'equiv': 8801,
    'le': 8804,
    'ge': 8805,
    'sub': 8834,
    'sup': 8835,
    'nsub': 8836,
    'sube': 8838,
    'supe': 8839,
    'oplus': 8853,
    'otimes': 8855,
    'perp': 8869,
    'sdot': 8901,
    'lceil': 8968,
    'rceil': 8969,
    'lfloor': 8970,
    'rfloor': 8971,
    'lang': 9001,
    'rang': 9002,
    'loz': 9674,
    'spades': 9824,
    'clubs': 9827,
    'hearts': 9829,
    'diams': 9830
  }

  Object.keys(sax.ENTITIES).forEach(function (key) {
    var e = sax.ENTITIES[key]
    var s = typeof e === 'number' ? String.fromCharCode(e) : e
    sax.ENTITIES[key] = s
  })

  for (var s in sax.STATE) {
    sax.STATE[sax.STATE[s]] = s
  }

  // shorthand
  S = sax.STATE

  function emit (parser, event, data) {
    parser[event] && parser[event](data)
  }

  function emitNode (parser, nodeType, data) {
    if (parser.textNode) closeText(parser)
    emit(parser, nodeType, data)
  }

  function closeText (parser) {
    parser.textNode = textopts(parser.opt, parser.textNode)
    if (parser.textNode) emit(parser, 'ontext', parser.textNode)
    parser.textNode = ''
  }

  function textopts (opt, text) {
    if (opt.trim) text = text.trim()
    if (opt.normalize) text = text.replace(/\s+/g, ' ')
    return text
  }

  function error (parser, er) {
    closeText(parser)
    if (parser.trackPosition) {
      er += '\nLine: ' + parser.line +
        '\nColumn: ' + parser.column +
        '\nChar: ' + parser.c
    }
    er = new Error(er)
    parser.error = er
    emit(parser, 'onerror', er)
    return parser
  }

  function end (parser) {
    if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')
    if ((parser.state !== S.BEGIN) &&
      (parser.state !== S.BEGIN_WHITESPACE) &&
      (parser.state !== S.TEXT)) {
      error(parser, 'Unexpected end')
    }
    closeText(parser)
    parser.c = ''
    parser.closed = true
    emit(parser, 'onend')
    SAXParser.call(parser, parser.strict, parser.opt)
    return parser
  }

  function strictFail (parser, message) {
    if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {
      throw new Error('bad call to strictFail')
    }
    if (parser.strict) {
      error(parser, message)
    }
  }

  function newTag (parser) {
    if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()
    var parent = parser.tags[parser.tags.length - 1] || parser
    var tag = parser.tag = { name: parser.tagName, attributes: {} }

    // will be overridden if tag contails an xmlns="foo" or xmlns:foo="bar"
    if (parser.opt.xmlns) {
      tag.ns = parent.ns
    }
    parser.attribList.length = 0
    emitNode(parser, 'onopentagstart', tag)
  }

  function qname (name, attribute) {
    var i = name.indexOf(':')
    var qualName = i < 0 ? [ '', name ] : name.split(':')
    var prefix = qualName[0]
    var local = qualName[1]

    // <x "xmlns"="http://foo">
    if (attribute && name === 'xmlns') {
      prefix = 'xmlns'
      local = ''
    }

    return { prefix: prefix, local: local }
  }

  function attrib (parser) {
    if (!parser.strict) {
      parser.attribName = parser.attribName[parser.looseCase]()
    }

    if (parser.attribList.indexOf(parser.attribName) !== -1 ||
      parser.tag.attributes.hasOwnProperty(parser.attribName)) {
      parser.attribName = parser.attribValue = ''
      return
    }

    if (parser.opt.xmlns) {
      var qn = qname(parser.attribName, true)
      var prefix = qn.prefix
      var local = qn.local

      if (prefix === 'xmlns') {
        // namespace binding attribute. push the binding into scope
        if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {
          strictFail(parser,
            'xml: prefix must be bound to ' + XML_NAMESPACE + '\n' +
            'Actual: ' + parser.attribValue)
        } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {
          strictFail(parser,
            'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\n' +
            'Actual: ' + parser.attribValue)
        } else {
          var tag = parser.tag
          var parent = parser.tags[parser.tags.length - 1] || parser
          if (tag.ns === parent.ns) {
            tag.ns = Object.create(parent.ns)
          }
          tag.ns[local] = parser.attribValue
        }
      }

      // defer onattribute events until all attributes have been seen
      // so any new bindings can take effect. preserve attribute order
      // so deferred events can be emitted in document order
      parser.attribList.push([parser.attribName, parser.attribValue])
    } else {
      // in non-xmlns mode, we can emit the event right away
      parser.tag.attributes[parser.attribName] = parser.attribValue
      emitNode(parser, 'onattribute', {
        name: parser.attribName,
        value: parser.attribValue
      })
    }

    parser.attribName = parser.attribValue = ''
  }

  function openTag (parser, selfClosing) {
    if (parser.opt.xmlns) {
      // emit namespace binding events
      var tag = parser.tag

      // add namespace info to tag
      var qn = qname(parser.tagName)
      tag.prefix = qn.prefix
      tag.local = qn.local
      tag.uri = tag.ns[qn.prefix] || ''

      if (tag.prefix && !tag.uri) {
        strictFail(parser, 'Unbound namespace prefix: ' +
          JSON.stringify(parser.tagName))
        tag.uri = qn.prefix
      }

      var parent = parser.tags[parser.tags.length - 1] || parser
      if (tag.ns && parent.ns !== tag.ns) {
        Object.keys(tag.ns).forEach(function (p) {
          emitNode(parser, 'onopennamespace', {
            prefix: p,
            uri: tag.ns[p]
          })
        })
      }

      // handle deferred onattribute events
      // Note: do not apply default ns to attributes:
      //   http://www.w3.org/TR/REC-xml-names/#defaulting
      for (var i = 0, l = parser.attribList.length; i < l; i++) {
        var nv = parser.attribList[i]
        var name = nv[0]
        var value = nv[1]
        var qualName = qname(name, true)
        var prefix = qualName.prefix
        var local = qualName.local
        var uri = prefix === '' ? '' : (tag.ns[prefix] || '')
        var a = {
          name: name,
          value: value,
          prefix: prefix,
          local: local,
          uri: uri
        }

        // if there's any attributes with an undefined namespace,
        // then fail on them now.
        if (prefix && prefix !== 'xmlns' && !uri) {
          strictFail(parser, 'Unbound namespace prefix: ' +
            JSON.stringify(prefix))
          a.uri = prefix
        }
        parser.tag.attributes[name] = a
        emitNode(parser, 'onattribute', a)
      }
      parser.attribList.length = 0
    }

    parser.tag.isSelfClosing = !!selfClosing

    // process the tag
    parser.sawRoot = true
    parser.tags.push(parser.tag)
    emitNode(parser, 'onopentag', parser.tag)
    if (!selfClosing) {
      // special case for <script> in non-strict mode.
      if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {
        parser.state = S.SCRIPT
      } else {
        parser.state = S.TEXT
      }
      parser.tag = null
      parser.tagName = ''
    }
    parser.attribName = parser.attribValue = ''
    parser.attribList.length = 0
  }

  function closeTag (parser) {
    if (!parser.tagName) {
      strictFail(parser, 'Weird empty close tag.')
      parser.textNode += '</>'
      parser.state = S.TEXT
      return
    }

    if (parser.script) {
      if (parser.tagName !== 'script') {
        parser.script += '</' + parser.tagName + '>'
        parser.tagName = ''
        parser.state = S.SCRIPT
        return
      }
      emitNode(parser, 'onscript', parser.script)
      parser.script = ''
    }

    // first make sure that the closing tag actually exists.
    // <a><b></c></b></a> will close everything, otherwise.
    var t = parser.tags.length
    var tagName = parser.tagName
    if (!parser.strict) {
      tagName = tagName[parser.looseCase]()
    }
    var closeTo = tagName
    while (t--) {
      var close = parser.tags[t]
      if (close.name !== closeTo) {
        // fail the first time in strict mode
        strictFail(parser, 'Unexpected close tag')
      } else {
        break
      }
    }

    // didn't find it.  we already failed for strict, so just abort.
    if (t < 0) {
      strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)
      parser.textNode += '</' + parser.tagName + '>'
      parser.state = S.TEXT
      return
    }
    parser.tagName = tagName
    var s = parser.tags.length
    while (s-- > t) {
      var tag = parser.tag = parser.tags.pop()
      parser.tagName = parser.tag.name
      emitNode(parser, 'onclosetag', parser.tagName)

      var x = {}
      for (var i in tag.ns) {
        x[i] = tag.ns[i]
      }

      var parent = parser.tags[parser.tags.length - 1] || parser
      if (parser.opt.xmlns && tag.ns !== parent.ns) {
        // remove namespace bindings introduced by tag
        Object.keys(tag.ns).forEach(function (p) {
          var n = tag.ns[p]
          emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })
        })
      }
    }
    if (t === 0) parser.closedRoot = true
    parser.tagName = parser.attribValue = parser.attribName = ''
    parser.attribList.length = 0
    parser.state = S.TEXT
  }

  function parseEntity (parser) {
    var entity = parser.entity
    var entityLC = entity.toLowerCase()
    var num
    var numStr = ''

    if (parser.ENTITIES[entity]) {
      return parser.ENTITIES[entity]
    }
    if (parser.ENTITIES[entityLC]) {
      return parser.ENTITIES[entityLC]
    }
    entity = entityLC
    if (entity.charAt(0) === '#') {
      if (entity.charAt(1) === 'x') {
        entity = entity.slice(2)
        num = parseInt(entity, 16)
        numStr = num.toString(16)
      } else {
        entity = entity.slice(1)
        num = parseInt(entity, 10)
        numStr = num.toString(10)
      }
    }
    entity = entity.replace(/^0+/, '')
    if (isNaN(num) || numStr.toLowerCase() !== entity) {
      strictFail(parser, 'Invalid character entity')
      return '&' + parser.entity + ';'
    }

    return String.fromCodePoint(num)
  }

  function beginWhiteSpace (parser, c) {
    if (c === '<') {
      parser.state = S.OPEN_WAKA
      parser.startTagPosition = parser.position
    } else if (!isWhitespace(c)) {
      // have to process this as a text node.
      // weird, but happens.
      strictFail(parser, 'Non-whitespace before first tag.')
      parser.textNode = c
      parser.state = S.TEXT
    }
  }

  function charAt (chunk, i) {
    var result = ''
    if (i < chunk.length) {
      result = chunk.charAt(i)
    }
    return result
  }

  function write (chunk) {
    var parser = this
    if (this.error) {
      throw this.error
    }
    if (parser.closed) {
      return error(parser,
        'Cannot write after close. Assign an onready handler.')
    }
    if (chunk === null) {
      return end(parser)
    }
    if (typeof chunk === 'object') {
      chunk = chunk.toString()
    }
    var i = 0
    var c = ''
    while (true) {
      c = charAt(chunk, i++)
      parser.c = c

      if (!c) {
        break
      }

      if (parser.trackPosition) {
        parser.position++
        if (c === '\n') {
          parser.line++
          parser.column = 0
        } else {
          parser.column++
        }
      }

      switch (parser.state) {
        case S.BEGIN:
          parser.state = S.BEGIN_WHITESPACE
          if (c === '\uFEFF') {
            continue
          }
          beginWhiteSpace(parser, c)
          continue

        case S.BEGIN_WHITESPACE:
          beginWhiteSpace(parser, c)
          continue

        case S.TEXT:
          if (parser.sawRoot && !parser.closedRoot) {
            var starti = i - 1
            while (c && c !== '<' && c !== '&') {
              c = charAt(chunk, i++)
              if (c && parser.trackPosition) {
                parser.position++
                if (c === '\n') {
                  parser.line++
                  parser.column = 0
                } else {
                  parser.column++
                }
              }
            }
            parser.textNode += chunk.substring(starti, i - 1)
          }
          if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {
            parser.state = S.OPEN_WAKA
            parser.startTagPosition = parser.position
          } else {
            if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {
              strictFail(parser, 'Text data outside of root node.')
            }
            if (c === '&') {
              parser.state = S.TEXT_ENTITY
            } else {
              parser.textNode += c
            }
          }
          continue

        case S.SCRIPT:
          // only non-strict
          if (c === '<') {
            parser.state = S.SCRIPT_ENDING
          } else {
            parser.script += c
          }
          continue

        case S.SCRIPT_ENDING:
          if (c === '/') {
            parser.state = S.CLOSE_TAG
          } else {
            parser.script += '<' + c
            parser.state = S.SCRIPT
          }
          continue

        case S.OPEN_WAKA:
          // either a /, ?, !, or text is coming next.
          if (c === '!') {
            parser.state = S.SGML_DECL
            parser.sgmlDecl = ''
          } else if (isWhitespace(c)) {
            // wait for it...
          } else if (isMatch(nameStart, c)) {
            parser.state = S.OPEN_TAG
            parser.tagName = c
          } else if (c === '/') {
            parser.state = S.CLOSE_TAG
            parser.tagName = ''
          } else if (c === '?') {
            parser.state = S.PROC_INST
            parser.procInstName = parser.procInstBody = ''
          } else {
            strictFail(parser, 'Unencoded <')
            // if there was some whitespace, then add that in.
            if (parser.startTagPosition + 1 < parser.position) {
              var pad = parser.position - parser.startTagPosition
              c = new Array(pad).join(' ') + c
            }
            parser.textNode += '<' + c
            parser.state = S.TEXT
          }
          continue

        case S.SGML_DECL:
          if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {
            emitNode(parser, 'onopencdata')
            parser.state = S.CDATA
            parser.sgmlDecl = ''
            parser.cdata = ''
          } else if (parser.sgmlDecl + c === '--') {
            parser.state = S.COMMENT
            parser.comment = ''
            parser.sgmlDecl = ''
          } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {
            parser.state = S.DOCTYPE
            if (parser.doctype || parser.sawRoot) {
              strictFail(parser,
                'Inappropriately located doctype declaration')
            }
            parser.doctype = ''
            parser.sgmlDecl = ''
          } else if (c === '>') {
            emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)
            parser.sgmlDecl = ''
            parser.state = S.TEXT
          } else if (isQuote(c)) {
            parser.state = S.SGML_DECL_QUOTED
            parser.sgmlDecl += c
          } else {
            parser.sgmlDecl += c
          }
          continue

        case S.SGML_DECL_QUOTED:
          if (c === parser.q) {
            parser.state = S.SGML_DECL
            parser.q = ''
          }
          parser.sgmlDecl += c
          continue

        case S.DOCTYPE:
          if (c === '>') {
            parser.state = S.TEXT
            emitNode(parser, 'ondoctype', parser.doctype)
            parser.doctype = true // just remember that we saw it.
          } else {
            parser.doctype += c
            if (c === '[') {
              parser.state = S.DOCTYPE_DTD
            } else if (isQuote(c)) {
              parser.state = S.DOCTYPE_QUOTED
              parser.q = c
            }
          }
          continue

        case S.DOCTYPE_QUOTED:
          parser.doctype += c
          if (c === parser.q) {
            parser.q = ''
            parser.state = S.DOCTYPE
          }
          continue

        case S.DOCTYPE_DTD:
          parser.doctype += c
          if (c === ']') {
            parser.state = S.DOCTYPE
          } else if (isQuote(c)) {
            parser.state = S.DOCTYPE_DTD_QUOTED
            parser.q = c
          }
          continue

        case S.DOCTYPE_DTD_QUOTED:
          parser.doctype += c
          if (c === parser.q) {
            parser.state = S.DOCTYPE_DTD
            parser.q = ''
          }
          continue

        case S.COMMENT:
          if (c === '-') {
            parser.state = S.COMMENT_ENDING
          } else {
            parser.comment += c
          }
          continue

        case S.COMMENT_ENDING:
          if (c === '-') {
            parser.state = S.COMMENT_ENDED
            parser.comment = textopts(parser.opt, parser.comment)
            if (parser.comment) {
              emitNode(parser, 'oncomment', parser.comment)
            }
            parser.comment = ''
          } else {
            parser.comment += '-' + c
            parser.state = S.COMMENT
          }
          continue

        case S.COMMENT_ENDED:
          if (c !== '>') {
            strictFail(parser, 'Malformed comment')
            // allow <!-- blah -- bloo --> in non-strict mode,
            // which is a comment of " blah -- bloo "
            parser.comment += '--' + c
            parser.state = S.COMMENT
          } else {
            parser.state = S.TEXT
          }
          continue

        case S.CDATA:
          if (c === ']') {
            parser.state = S.CDATA_ENDING
          } else {
            parser.cdata += c
          }
          continue

        case S.CDATA_ENDING:
          if (c === ']') {
            parser.state = S.CDATA_ENDING_2
          } else {
            parser.cdata += ']' + c
            parser.state = S.CDATA
          }
          continue

        case S.CDATA_ENDING_2:
          if (c === '>') {
            if (parser.cdata) {
              emitNode(parser, 'oncdata', parser.cdata)
            }
            emitNode(parser, 'onclosecdata')
            parser.cdata = ''
            parser.state = S.TEXT
          } else if (c === ']') {
            parser.cdata += ']'
          } else {
            parser.cdata += ']]' + c
            parser.state = S.CDATA
          }
          continue

        case S.PROC_INST:
          if (c === '?') {
            parser.state = S.PROC_INST_ENDING
          } else if (isWhitespace(c)) {
            parser.state = S.PROC_INST_BODY
          } else {
            parser.procInstName += c
          }
          continue

        case S.PROC_INST_BODY:
          if (!parser.procInstBody && isWhitespace(c)) {
            continue
          } else if (c === '?') {
            parser.state = S.PROC_INST_ENDING
          } else {
            parser.procInstBody += c
          }
          continue

        case S.PROC_INST_ENDING:
          if (c === '>') {
            emitNode(parser, 'onprocessinginstruction', {
              name: parser.procInstName,
              body: parser.procInstBody
            })
            parser.procInstName = parser.procInstBody = ''
            parser.state = S.TEXT
          } else {
            parser.procInstBody += '?' + c
            parser.state = S.PROC_INST_BODY
          }
          continue

        case S.OPEN_TAG:
          if (isMatch(nameBody, c)) {
            parser.tagName += c
          } else {
            newTag(parser)
            if (c === '>') {
              openTag(parser)
            } else if (c === '/') {
              parser.state = S.OPEN_TAG_SLASH
            } else {
              if (!isWhitespace(c)) {
                strictFail(parser, 'Invalid character in tag name')
              }
              parser.state = S.ATTRIB
            }
          }
          continue

        case S.OPEN_TAG_SLASH:
          if (c === '>') {
            openTag(parser, true)
            closeTag(parser)
          } else {
            strictFail(parser, 'Forward-slash in opening tag not followed by >')
            parser.state = S.ATTRIB
          }
          continue

        case S.ATTRIB:
          // haven't read the attribute name yet.
          if (isWhitespace(c)) {
            continue
          } else if (c === '>') {
            openTag(parser)
          } else if (c === '/') {
            parser.state = S.OPEN_TAG_SLASH
          } else if (isMatch(nameStart, c)) {
            parser.attribName = c
            parser.attribValue = ''
            parser.state = S.ATTRIB_NAME
          } else {
            strictFail(parser, 'Invalid attribute name')
          }
          continue

        case S.ATTRIB_NAME:
          if (c === '=') {
            parser.state = S.ATTRIB_VALUE
          } else if (c === '>') {
            strictFail(parser, 'Attribute without value')
            parser.attribValue = parser.attribName
            attrib(parser)
            openTag(parser)
          } else if (isWhitespace(c)) {
            parser.state = S.ATTRIB_NAME_SAW_WHITE
          } else if (isMatch(nameBody, c)) {
            parser.attribName += c
          } else {
            strictFail(parser, 'Invalid attribute name')
          }
          continue

        case S.ATTRIB_NAME_SAW_WHITE:
          if (c === '=') {
            parser.state = S.ATTRIB_VALUE
          } else if (isWhitespace(c)) {
            continue
          } else {
            strictFail(parser, 'Attribute without value')
            parser.tag.attributes[parser.attribName] = ''
            parser.attribValue = ''
            emitNode(parser, 'onattribute', {
              name: parser.attribName,
              value: ''
            })
            parser.attribName = ''
            if (c === '>') {
              openTag(parser)
            } else if (isMatch(nameStart, c)) {
              parser.attribName = c
              parser.state = S.ATTRIB_NAME
            } else {
              strictFail(parser, 'Invalid attribute name')
              parser.state = S.ATTRIB
            }
          }
          continue

        case S.ATTRIB_VALUE:
          if (isWhitespace(c)) {
            continue
          } else if (isQuote(c)) {
            parser.q = c
            parser.state = S.ATTRIB_VALUE_QUOTED
          } else {
            strictFail(parser, 'Unquoted attribute value')
            parser.state = S.ATTRIB_VALUE_UNQUOTED
            parser.attribValue = c
          }
          continue

        case S.ATTRIB_VALUE_QUOTED:
          if (c !== parser.q) {
            if (c === '&') {
              parser.state = S.ATTRIB_VALUE_ENTITY_Q
            } else {
              parser.attribValue += c
            }
            continue
          }
          attrib(parser)
          parser.q = ''
          parser.state = S.ATTRIB_VALUE_CLOSED
          continue

        case S.ATTRIB_VALUE_CLOSED:
          if (isWhitespace(c)) {
            parser.state = S.ATTRIB
          } else if (c === '>') {
            openTag(parser)
          } else if (c === '/') {
            parser.state = S.OPEN_TAG_SLASH
          } else if (isMatch(nameStart, c)) {
            strictFail(parser, 'No whitespace between attributes')
            parser.attribName = c
            parser.attribValue = ''
            parser.state = S.ATTRIB_NAME
          } else {
            strictFail(parser, 'Invalid attribute name')
          }
          continue

        case S.ATTRIB_VALUE_UNQUOTED:
          if (!isAttribEnd(c)) {
            if (c === '&') {
              parser.state = S.ATTRIB_VALUE_ENTITY_U
            } else {
              parser.attribValue += c
            }
            continue
          }
          attrib(parser)
          if (c === '>') {
            openTag(parser)
          } else {
            parser.state = S.ATTRIB
          }
          continue

        case S.CLOSE_TAG:
          if (!parser.tagName) {
            if (isWhitespace(c)) {
              continue
            } else if (notMatch(nameStart, c)) {
              if (parser.script) {
                parser.script += '</' + c
                parser.state = S.SCRIPT
              } else {
                strictFail(parser, 'Invalid tagname in closing tag.')
              }
            } else {
              parser.tagName = c
            }
          } else if (c === '>') {
            closeTag(parser)
          } else if (isMatch(nameBody, c)) {
            parser.tagName += c
          } else if (parser.script) {
            parser.script += '</' + parser.tagName
            parser.tagName = ''
            parser.state = S.SCRIPT
          } else {
            if (!isWhitespace(c)) {
              strictFail(parser, 'Invalid tagname in closing tag')
            }
            parser.state = S.CLOSE_TAG_SAW_WHITE
          }
          continue

        case S.CLOSE_TAG_SAW_WHITE:
          if (isWhitespace(c)) {
            continue
          }
          if (c === '>') {
            closeTag(parser)
          } else {
            strictFail(parser, 'Invalid characters in closing tag')
          }
          continue

        case S.TEXT_ENTITY:
        case S.ATTRIB_VALUE_ENTITY_Q:
        case S.ATTRIB_VALUE_ENTITY_U:
          var returnState
          var buffer
          switch (parser.state) {
            case S.TEXT_ENTITY:
              returnState = S.TEXT
              buffer = 'textNode'
              break

            case S.ATTRIB_VALUE_ENTITY_Q:
              returnState = S.ATTRIB_VALUE_QUOTED
              buffer = 'attribValue'
              break

            case S.ATTRIB_VALUE_ENTITY_U:
              returnState = S.ATTRIB_VALUE_UNQUOTED
              buffer = 'attribValue'
              break
          }

          if (c === ';') {
            var parsedEntity = parseEntity(parser)

            // Custom entities can contain tags, so we potentially need to parse the result
            if (parser.state === S.TEXT_ENTITY && !sax.ENTITIES[parser.entity] && parsedEntity !== '&' + parser.entity + ';') {
              chunk = chunk.slice(0, i) + parsedEntity + chunk.slice(i)
            } else {
              parser[buffer] += parsedEntity
            }

            parser.entity = ''
            parser.state = returnState
          } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {
            parser.entity += c
          } else {
            strictFail(parser, 'Invalid character in entity name')
            parser[buffer] += '&' + parser.entity + c
            parser.entity = ''
            parser.state = returnState
          }

          continue

        default:
          throw new Error(parser, 'Unknown state: ' + parser.state)
      }
    } // while

    if (parser.position >= parser.bufferCheckPosition) {
      checkBufferLength(parser)
    }
    return parser
  }
})( false ? 0 : exports)


/***/ }),

/***/ 94135:
/***/ ((module) => {

var zero = '0'.charCodeAt(0);
var plus = '+'.charCodeAt(0);
var minus = '-'.charCodeAt(0);

function isWhitespace(code) {
	return code <= 32;
}

function isDigit(code) {
	return 48 <= code && code <= 57;
}

function isSign(code) {
	return code === minus || code === plus;
}

module.exports = function (opts, a, b) {
	var checkSign = opts.sign;
	var ia = 0;
	var ib = 0;
	var ma = a.length;
	var mb = b.length;
	var ca, cb; // character code
	var za, zb; // leading zero count
	var na, nb; // number length
	var sa, sb; // number sign
	var ta, tb; // temporary
	var bias;

	while (ia < ma && ib < mb) {
		ca = a.charCodeAt(ia);
		cb = b.charCodeAt(ib);
		za = zb = 0;
		na = nb = 0;
		sa = sb = true;
		bias = 0;

		// skip over leading spaces
		while (isWhitespace(ca)) {
			ia += 1;
			ca = a.charCodeAt(ia);
		}
		while (isWhitespace(cb)) {
			ib += 1;
			cb = b.charCodeAt(ib);
		}

		// skip and save sign
		if (checkSign) {
			ta = a.charCodeAt(ia + 1);
			if (isSign(ca) && isDigit(ta)) {
				if (ca === minus) {
					sa = false;
				}
				ia += 1;
				ca = ta;
			}
			tb = b.charCodeAt(ib + 1);
			if (isSign(cb) && isDigit(tb)) {
				if (cb === minus) {
					sb = false;
				}
				ib += 1;
				cb = tb;
			}
		}

		// compare digits with other symbols
		if (isDigit(ca) && !isDigit(cb)) {
			return -1;
		}
		if (!isDigit(ca) && isDigit(cb)) {
			return 1;
		}

		// compare negative and positive
		if (!sa && sb) {
			return -1;
		}
		if (sa && !sb) {
			return 1;
		}

		// count leading zeros
		while (ca === zero) {
			za += 1;
			ia += 1;
			ca = a.charCodeAt(ia);
		}
		while (cb === zero) {
			zb += 1;
			ib += 1;
			cb = b.charCodeAt(ib);
		}

		// count numbers
		while (isDigit(ca) || isDigit(cb)) {
			if (isDigit(ca) && isDigit(cb) && bias === 0) {
				if (sa) {
					if (ca < cb) {
						bias = -1;
					} else if (ca > cb) {
						bias = 1;
					}
				} else {
					if (ca > cb) {
						bias = -1;
					} else if (ca < cb) {
						bias = 1;
					}
				}
			}
			if (isDigit(ca)) {
				ia += 1;
				na += 1;
				ca = a.charCodeAt(ia);
			}
			if (isDigit(cb)) {
				ib += 1;
				nb += 1;
				cb = b.charCodeAt(ib);
			}
		}

		// compare number length
		if (sa) {
			if (na < nb) {
				return -1;
			}
			if (na > nb) {
				return 1;
			}
		} else {
			if (na > nb) {
				return -1;
			}
			if (na < nb) {
				return 1;
			}
		}

		// compare numbers
		if (bias) {
			return bias;
		}

		// compare leading zeros
		if (sa) {
			if (za > zb) {
				return -1;
			}
			if (za < zb) {
				return 1;
			}
		} else {
			if (za < zb) {
				return -1;
			}
			if (za > zb) {
				return 1;
			}
		}

		// compare ascii codes
		if (ca < cb) {
			return -1;
		}
		if (ca > cb) {
			return 1;
		}

		ia += 1;
		ib += 1;
	}

	// compare length
	if (ma < mb) {
		return -1;
	}
	if (ma > mb) {
		return 1;
	}
};


/***/ }),

/***/ 37910:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var compare = __nccwpck_require__(94135);

function mediator(a, b) {
	return compare(this, a.converted, b.converted);
}

module.exports = function (array, opts) {
	if (!Array.isArray(array) || array.length < 2) {
		return array;
	}
	if (typeof opts !== 'object') {
		opts = {};
	}
	opts.sign = !!opts.sign;
	var insensitive = !!opts.insensitive;
	var result = Array(array.length);
	var i, max, value;

	for (i = 0, max = array.length; i < max; i += 1) {
		value = String(array[i]);
		result[i] = {
			value: array[i],
			converted: insensitive ? value.toLowerCase() : value
		};
	}

	result.sort(mediator.bind(opts));

	for (i = result.length - 1; ~i; i -= 1) {
		result[i] = result[i].value;
	}

	return result;
};


/***/ }),

/***/ 79659:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let unpack = __nccwpck_require__(64006).feature

function browsersSort(a, b) {
  a = a.split(' ')
  b = b.split(' ')
  if (a[0] > b[0]) {
    return 1
  } else if (a[0] < b[0]) {
    return -1
  } else {
    return Math.sign(parseFloat(a[1]) - parseFloat(b[1]))
  }
}

// Convert Can I Use data
function f(data, opts, callback) {
  data = unpack(data)

  if (!callback) {
    ;[callback, opts] = [opts, {}]
  }

  let match = opts.match || /\sx($|\s)/
  let need = []

  for (let browser in data.stats) {
    let versions = data.stats[browser]
    for (let version in versions) {
      let support = versions[version]
      if (support.match(match)) {
        need.push(browser + ' ' + version)
      }
    }
  }

  callback(need.sort(browsersSort))
}

// Add data for all properties
let result = {}

function prefix(names, data) {
  for (let name of names) {
    result[name] = Object.assign({}, data)
  }
}

function add(names, data) {
  for (let name of names) {
    result[name].browsers = result[name].browsers
      .concat(data.browsers)
      .sort(browsersSort)
  }
}

module.exports = result

// Border Radius
let prefixBorderRadius = __nccwpck_require__(72853)

f(prefixBorderRadius, browsers =>
  prefix(
    [
      'border-radius',
      'border-top-left-radius',
      'border-top-right-radius',
      'border-bottom-right-radius',
      'border-bottom-left-radius'
    ],
    {
      mistakes: ['-khtml-', '-ms-', '-o-'],
      feature: 'border-radius',
      browsers
    }
  )
)

// Box Shadow
let prefixBoxshadow = __nccwpck_require__(22004)

f(prefixBoxshadow, browsers =>
  prefix(['box-shadow'], {
    mistakes: ['-khtml-'],
    feature: 'css-boxshadow',
    browsers
  })
)

// Animation
let prefixAnimation = __nccwpck_require__(40083)

f(prefixAnimation, browsers =>
  prefix(
    [
      'animation',
      'animation-name',
      'animation-duration',
      'animation-delay',
      'animation-direction',
      'animation-fill-mode',
      'animation-iteration-count',
      'animation-play-state',
      'animation-timing-function',
      '@keyframes'
    ],
    {
      mistakes: ['-khtml-', '-ms-'],
      feature: 'css-animation',
      browsers
    }
  )
)

// Transition
let prefixTransition = __nccwpck_require__(61964)

f(prefixTransition, browsers =>
  prefix(
    [
      'transition',
      'transition-property',
      'transition-duration',
      'transition-delay',
      'transition-timing-function'
    ],
    {
      mistakes: ['-khtml-', '-ms-'],
      browsers,
      feature: 'css-transitions'
    }
  )
)

// Transform 2D
let prefixTransform2d = __nccwpck_require__(98415)

f(prefixTransform2d, browsers =>
  prefix(['transform', 'transform-origin'], {
    feature: 'transforms2d',
    browsers
  })
)

// Transform 3D
let prefixTransforms3d = __nccwpck_require__(48912)

f(prefixTransforms3d, browsers => {
  prefix(['perspective', 'perspective-origin'], {
    feature: 'transforms3d',
    browsers
  })
  return prefix(['transform-style'], {
    mistakes: ['-ms-', '-o-'],
    browsers,
    feature: 'transforms3d'
  })
})

f(prefixTransforms3d, { match: /y\sx|y\s#2/ }, browsers =>
  prefix(['backface-visibility'], {
    mistakes: ['-ms-', '-o-'],
    feature: 'transforms3d',
    browsers
  })
)

// Gradients
let prefixGradients = __nccwpck_require__(13657)

f(prefixGradients, { match: /y\sx/ }, browsers =>
  prefix(
    [
      'linear-gradient',
      'repeating-linear-gradient',
      'radial-gradient',
      'repeating-radial-gradient'
    ],
    {
      props: [
        'background',
        'background-image',
        'border-image',
        'mask',
        'list-style',
        'list-style-image',
        'content',
        'mask-image'
      ],
      mistakes: ['-ms-'],
      feature: 'css-gradients',
      browsers
    }
  )
)

f(prefixGradients, { match: /a\sx/ }, browsers => {
  browsers = browsers.map(i => {
    if (/firefox|op/.test(i)) {
      return i
    } else {
      return `${i} old`
    }
  })
  return add(
    [
      'linear-gradient',
      'repeating-linear-gradient',
      'radial-gradient',
      'repeating-radial-gradient'
    ],
    {
      feature: 'css-gradients',
      browsers
    }
  )
})

// Box sizing
let prefixBoxsizing = __nccwpck_require__(47610)

f(prefixBoxsizing, browsers =>
  prefix(['box-sizing'], {
    feature: 'css3-boxsizing',
    browsers
  })
)

// Filter Effects
let prefixFilters = __nccwpck_require__(35123)

f(prefixFilters, browsers =>
  prefix(['filter'], {
    feature: 'css-filters',
    browsers
  })
)

// filter() function
let prefixFilterFunction = __nccwpck_require__(19533)

f(prefixFilterFunction, browsers =>
  prefix(['filter-function'], {
    props: [
      'background',
      'background-image',
      'border-image',
      'mask',
      'list-style',
      'list-style-image',
      'content',
      'mask-image'
    ],
    feature: 'css-filter-function',
    browsers
  })
)

// Backdrop-filter
let prefixBackdrop = __nccwpck_require__(74043)

f(prefixBackdrop, { match: /y\sx|y\s#2/ }, browsers =>
  prefix(['backdrop-filter'], {
    feature: 'css-backdrop-filter',
    browsers
  })
)

// element() function
let prefixElementFunction = __nccwpck_require__(21694)

f(prefixElementFunction, browsers =>
  prefix(['element'], {
    props: [
      'background',
      'background-image',
      'border-image',
      'mask',
      'list-style',
      'list-style-image',
      'content',
      'mask-image'
    ],
    feature: 'css-element-function',
    browsers
  })
)

// Multicolumns
let prefixMulticolumns = __nccwpck_require__(24233)

f(prefixMulticolumns, browsers => {
  prefix(
    [
      'columns',
      'column-width',
      'column-gap',
      'column-rule',
      'column-rule-color',
      'column-rule-width',
      'column-count',
      'column-rule-style',
      'column-span',
      'column-fill'
    ],
    {
      feature: 'multicolumn',
      browsers
    }
  )

  let noff = browsers.filter(i => !/firefox/.test(i))
  prefix(['break-before', 'break-after', 'break-inside'], {
    feature: 'multicolumn',
    browsers: noff
  })
})

// User select
let prefixUserSelect = __nccwpck_require__(85671)

f(prefixUserSelect, browsers =>
  prefix(['user-select'], {
    mistakes: ['-khtml-'],
    feature: 'user-select-none',
    browsers
  })
)

// Flexible Box Layout
let prefixFlexbox = __nccwpck_require__(48976)

f(prefixFlexbox, { match: /a\sx/ }, browsers => {
  browsers = browsers.map(i => {
    if (/ie|firefox/.test(i)) {
      return i
    } else {
      return `${i} 2009`
    }
  })
  prefix(['display-flex', 'inline-flex'], {
    props: ['display'],
    feature: 'flexbox',
    browsers
  })
  prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {
    feature: 'flexbox',
    browsers
  })
  prefix(
    [
      'flex-direction',
      'flex-wrap',
      'flex-flow',
      'justify-content',
      'order',
      'align-items',
      'align-self',
      'align-content'
    ],
    {
      feature: 'flexbox',
      browsers
    }
  )
})

f(prefixFlexbox, { match: /y\sx/ }, browsers => {
  add(['display-flex', 'inline-flex'], {
    feature: 'flexbox',
    browsers
  })
  add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {
    feature: 'flexbox',
    browsers
  })
  add(
    [
      'flex-direction',
      'flex-wrap',
      'flex-flow',
      'justify-content',
      'order',
      'align-items',
      'align-self',
      'align-content'
    ],
    {
      feature: 'flexbox',
      browsers
    }
  )
})

// calc() unit
let prefixCalc = __nccwpck_require__(287)

f(prefixCalc, browsers =>
  prefix(['calc'], {
    props: ['*'],
    feature: 'calc',
    browsers
  })
)

// Background options
let prefixBackgroundOptions = __nccwpck_require__(22115)

f(prefixBackgroundOptions, browsers =>
  prefix(['background-origin', 'background-size'], {
    feature: 'background-img-opts',
    browsers
  })
)

// background-clip: text
let prefixBackgroundClipText = __nccwpck_require__(13197)

f(prefixBackgroundClipText, browsers =>
  prefix(['background-clip'], {
    feature: 'background-clip-text',
    browsers
  })
)

// Font feature settings
let prefixFontFeature = __nccwpck_require__(26538)

f(prefixFontFeature, browsers =>
  prefix(
    [
      'font-feature-settings',
      'font-variant-ligatures',
      'font-language-override'
    ],
    {
      feature: 'font-feature',
      browsers
    }
  )
)

// CSS font-kerning property
let prefixFontKerning = __nccwpck_require__(88367)

f(prefixFontKerning, browsers =>
  prefix(['font-kerning'], {
    feature: 'font-kerning',
    browsers
  })
)

// Border image
let prefixBorderImage = __nccwpck_require__(14915)

f(prefixBorderImage, browsers =>
  prefix(['border-image'], {
    feature: 'border-image',
    browsers
  })
)

// Selection selector
let prefixSelection = __nccwpck_require__(16302)

f(prefixSelection, browsers =>
  prefix(['::selection'], {
    selector: true,
    feature: 'css-selection',
    browsers
  })
)

// Placeholder selector
let prefixPlaceholder = __nccwpck_require__(83448)

f(prefixPlaceholder, browsers => {
  prefix(['::placeholder'], {
    selector: true,
    feature: 'css-placeholder',
    browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old'])
  })
})

// Placeholder-shown selector
let prefixPlaceholderShown = __nccwpck_require__(70361)

f(prefixPlaceholderShown, browsers => {
  prefix([':placeholder-shown'], {
    selector: true,
    feature: 'css-placeholder-shown',
    browsers
  })
})

// Hyphenation
let prefixHyphens = __nccwpck_require__(89317)

f(prefixHyphens, browsers =>
  prefix(['hyphens'], {
    feature: 'css-hyphens',
    browsers
  })
)

// Fullscreen selector
let prefixFullscreen = __nccwpck_require__(99086)

f(prefixFullscreen, browsers =>
  prefix([':fullscreen'], {
    selector: true,
    feature: 'fullscreen',
    browsers
  })
)

f(prefixFullscreen, { match: /x(\s#2|$)/ }, browsers =>
  prefix(['::backdrop'], {
    selector: true,
    feature: 'fullscreen',
    browsers
  })
)

// Tab size
let prefixTabsize = __nccwpck_require__(87604)

f(prefixTabsize, browsers =>
  prefix(['tab-size'], {
    feature: 'css3-tabsize',
    browsers
  })
)

// Intrinsic & extrinsic sizing
let prefixIntrinsic = __nccwpck_require__(56835)

let sizeProps = [
  'width',
  'min-width',
  'max-width',
  'height',
  'min-height',
  'max-height',
  'inline-size',
  'min-inline-size',
  'max-inline-size',
  'block-size',
  'min-block-size',
  'max-block-size',
  'grid',
  'grid-template',
  'grid-template-rows',
  'grid-template-columns',
  'grid-auto-columns',
  'grid-auto-rows'
]

f(prefixIntrinsic, browsers =>
  prefix(['max-content', 'min-content'], {
    props: sizeProps,
    feature: 'intrinsic-width',
    browsers
  })
)

f(prefixIntrinsic, { match: /x|\s#4/ }, browsers =>
  prefix(['fill', 'fill-available', 'stretch'], {
    props: sizeProps,
    feature: 'intrinsic-width',
    browsers
  })
)

f(prefixIntrinsic, { match: /x|\s#5/ }, browsers =>
  prefix(['fit-content'], {
    props: sizeProps,
    feature: 'intrinsic-width',
    browsers
  })
)

// Zoom cursors
let prefixCursorsNewer = __nccwpck_require__(70800)

f(prefixCursorsNewer, browsers =>
  prefix(['zoom-in', 'zoom-out'], {
    props: ['cursor'],
    feature: 'css3-cursors-newer',
    browsers
  })
)

// Grab cursors
let prefixCursorsGrab = __nccwpck_require__(63355)

f(prefixCursorsGrab, browsers =>
  prefix(['grab', 'grabbing'], {
    props: ['cursor'],
    feature: 'css3-cursors-grab',
    browsers
  })
)

// Sticky position
let prefixSticky = __nccwpck_require__(67425)

f(prefixSticky, browsers =>
  prefix(['sticky'], {
    props: ['position'],
    feature: 'css-sticky',
    browsers
  })
)

// Pointer Events
let prefixPointer = __nccwpck_require__(27252)

f(prefixPointer, browsers =>
  prefix(['touch-action'], {
    feature: 'pointer',
    browsers
  })
)

// Text decoration
let prefixDecoration = __nccwpck_require__(6866)

f(prefixDecoration, browsers =>
  prefix(
    [
      'text-decoration-style',
      'text-decoration-color',
      'text-decoration-line',
      'text-decoration'
    ],
    {
      feature: 'text-decoration',
      browsers
    }
  )
)

f(prefixDecoration, { match: /x.*#[235]/ }, browsers =>
  prefix(['text-decoration-skip', 'text-decoration-skip-ink'], {
    feature: 'text-decoration',
    browsers
  })
)

// Text Size Adjust
let prefixTextSizeAdjust = __nccwpck_require__(2368)

f(prefixTextSizeAdjust, browsers =>
  prefix(['text-size-adjust'], {
    feature: 'text-size-adjust',
    browsers
  })
)

// CSS Masks
let prefixCssMasks = __nccwpck_require__(15592)

f(prefixCssMasks, browsers => {
  prefix(
    [
      'mask-clip',
      'mask-composite',
      'mask-image',
      'mask-origin',
      'mask-repeat',
      'mask-border-repeat',
      'mask-border-source'
    ],
    {
      feature: 'css-masks',
      browsers
    }
  )
  prefix(
    [
      'mask',
      'mask-position',
      'mask-size',
      'mask-border',
      'mask-border-outset',
      'mask-border-width',
      'mask-border-slice'
    ],
    {
      feature: 'css-masks',
      browsers
    }
  )
})

// CSS clip-path property
let prefixClipPath = __nccwpck_require__(37028)

f(prefixClipPath, browsers =>
  prefix(['clip-path'], {
    feature: 'css-clip-path',
    browsers
  })
)

// Fragmented Borders and Backgrounds
let prefixBoxdecoration = __nccwpck_require__(81371)

f(prefixBoxdecoration, browsers =>
  prefix(['box-decoration-break'], {
    feature: 'css-boxdecorationbreak',
    browsers
  })
)

// CSS3 object-fit/object-position
let prefixObjectFit = __nccwpck_require__(6228)

f(prefixObjectFit, browsers =>
  prefix(['object-fit', 'object-position'], {
    feature: 'object-fit',
    browsers
  })
)

// CSS Shapes
let prefixShapes = __nccwpck_require__(56938)

f(prefixShapes, browsers =>
  prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {
    feature: 'css-shapes',
    browsers
  })
)

// CSS3 text-overflow
let prefixTextOverflow = __nccwpck_require__(73033)

f(prefixTextOverflow, browsers =>
  prefix(['text-overflow'], {
    feature: 'text-overflow',
    browsers
  })
)

// Viewport at-rule
let prefixDeviceadaptation = __nccwpck_require__(83318)

f(prefixDeviceadaptation, browsers =>
  prefix(['@viewport'], {
    feature: 'css-deviceadaptation',
    browsers
  })
)

// Resolution Media Queries
let prefixResolut = __nccwpck_require__(79494)

f(prefixResolut, { match: /( x($| )|a #2)/ }, browsers =>
  prefix(['@resolution'], {
    feature: 'css-media-resolution',
    browsers
  })
)

// CSS text-align-last
let prefixTextAlignLast = __nccwpck_require__(68887)

f(prefixTextAlignLast, browsers =>
  prefix(['text-align-last'], {
    feature: 'css-text-align-last',
    browsers
  })
)

// Crisp Edges Image Rendering Algorithm
let prefixCrispedges = __nccwpck_require__(36717)

f(prefixCrispedges, { match: /y x|a x #1/ }, browsers =>
  prefix(['pixelated'], {
    props: ['image-rendering'],
    feature: 'css-crisp-edges',
    browsers
  })
)

f(prefixCrispedges, { match: /a x #2/ }, browsers =>
  prefix(['image-rendering'], {
    feature: 'css-crisp-edges',
    browsers
  })
)

// Logical Properties
let prefixLogicalProps = __nccwpck_require__(23871)

f(prefixLogicalProps, browsers =>
  prefix(
    [
      'border-inline-start',
      'border-inline-end',
      'margin-inline-start',
      'margin-inline-end',
      'padding-inline-start',
      'padding-inline-end'
    ],
    {
      feature: 'css-logical-props',
      browsers
    }
  )
)

f(prefixLogicalProps, { match: /x\s#2/ }, browsers =>
  prefix(
    [
      'border-block-start',
      'border-block-end',
      'margin-block-start',
      'margin-block-end',
      'padding-block-start',
      'padding-block-end'
    ],
    {
      feature: 'css-logical-props',
      browsers
    }
  )
)

// CSS appearance
let prefixAppearance = __nccwpck_require__(3599)

f(prefixAppearance, { match: /#2|x/ }, browsers =>
  prefix(['appearance'], {
    feature: 'css-appearance',
    browsers
  })
)

// CSS Scroll snap points
let prefixSnappoints = __nccwpck_require__(82776)

f(prefixSnappoints, browsers =>
  prefix(
    [
      'scroll-snap-type',
      'scroll-snap-coordinate',
      'scroll-snap-destination',
      'scroll-snap-points-x',
      'scroll-snap-points-y'
    ],
    {
      feature: 'css-snappoints',
      browsers
    }
  )
)

// CSS Regions
let prefixRegions = __nccwpck_require__(32598)

f(prefixRegions, browsers =>
  prefix(['flow-into', 'flow-from', 'region-fragment'], {
    feature: 'css-regions',
    browsers
  })
)

// CSS image-set
let prefixImageSet = __nccwpck_require__(2762)

f(prefixImageSet, browsers =>
  prefix(['image-set'], {
    props: [
      'background',
      'background-image',
      'border-image',
      'cursor',
      'mask',
      'mask-image',
      'list-style',
      'list-style-image',
      'content'
    ],
    feature: 'css-image-set',
    browsers
  })
)

// Writing Mode
let prefixWritingMode = __nccwpck_require__(47816)

f(prefixWritingMode, { match: /a|x/ }, browsers =>
  prefix(['writing-mode'], {
    feature: 'css-writing-mode',
    browsers
  })
)

// Cross-Fade Function
let prefixCrossFade = __nccwpck_require__(90831)

f(prefixCrossFade, browsers =>
  prefix(['cross-fade'], {
    props: [
      'background',
      'background-image',
      'border-image',
      'mask',
      'list-style',
      'list-style-image',
      'content',
      'mask-image'
    ],
    feature: 'css-cross-fade',
    browsers
  })
)

// Read Only selector
let prefixReadOnly = __nccwpck_require__(17667)

f(prefixReadOnly, browsers =>
  prefix([':read-only', ':read-write'], {
    selector: true,
    feature: 'css-read-only-write',
    browsers
  })
)

// Text Emphasize
let prefixTextEmphasis = __nccwpck_require__(76001)

f(prefixTextEmphasis, browsers =>
  prefix(
    [
      'text-emphasis',
      'text-emphasis-position',
      'text-emphasis-style',
      'text-emphasis-color'
    ],
    {
      feature: 'text-emphasis',
      browsers
    }
  )
)

// CSS Grid Layout
let prefixGrid = __nccwpck_require__(19330)

f(prefixGrid, browsers => {
  prefix(['display-grid', 'inline-grid'], {
    props: ['display'],
    feature: 'css-grid',
    browsers
  })
  prefix(
    [
      'grid-template-columns',
      'grid-template-rows',
      'grid-row-start',
      'grid-column-start',
      'grid-row-end',
      'grid-column-end',
      'grid-row',
      'grid-column',
      'grid-area',
      'grid-template',
      'grid-template-areas',
      'place-self'
    ],
    {
      feature: 'css-grid',
      browsers
    }
  )
})

f(prefixGrid, { match: /a x/ }, browsers =>
  prefix(['grid-column-align', 'grid-row-align'], {
    feature: 'css-grid',
    browsers
  })
)

// CSS text-spacing
let prefixTextSpacing = __nccwpck_require__(75688)

f(prefixTextSpacing, browsers =>
  prefix(['text-spacing'], {
    feature: 'css-text-spacing',
    browsers
  })
)

// :any-link selector
let prefixAnyLink = __nccwpck_require__(2031)

f(prefixAnyLink, browsers =>
  prefix([':any-link'], {
    selector: true,
    feature: 'css-any-link',
    browsers
  })
)

// unicode-bidi
let prefixBidi = __nccwpck_require__(45257)

f(prefixBidi, browsers =>
  prefix(['isolate'], {
    props: ['unicode-bidi'],
    feature: 'css-unicode-bidi',
    browsers
  })
)

f(prefixBidi, { match: /y x|a x #2/ }, browsers =>
  prefix(['plaintext'], {
    props: ['unicode-bidi'],
    feature: 'css-unicode-bidi',
    browsers
  })
)

f(prefixBidi, { match: /y x/ }, browsers =>
  prefix(['isolate-override'], {
    props: ['unicode-bidi'],
    feature: 'css-unicode-bidi',
    browsers
  })
)

// overscroll-behavior selector
let prefixOverscroll = __nccwpck_require__(50237)

f(prefixOverscroll, { match: /a #1/ }, browsers =>
  prefix(['overscroll-behavior'], {
    feature: 'css-overscroll-behavior',
    browsers
  })
)

// color-adjust
let prefixColorAdjust = __nccwpck_require__(75747)

f(prefixColorAdjust, browsers =>
  prefix(['color-adjust'], {
    feature: 'css-color-adjust',
    browsers
  })
)

// text-orientation
let prefixTextOrientation = __nccwpck_require__(80045)

f(prefixTextOrientation, browsers =>
  prefix(['text-orientation'], {
    feature: 'css-text-orientation',
    browsers
  })
)


/***/ }),

/***/ 87170:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Prefixer = __nccwpck_require__(26579)

class AtRule extends Prefixer {
  /**
   * Clone and add prefixes for at-rule
   */
  add(rule, prefix) {
    let prefixed = prefix + rule.name

    let already = rule.parent.some(
      i => i.name === prefixed && i.params === rule.params
    )
    if (already) {
      return undefined
    }

    let cloned = this.clone(rule, { name: prefixed })
    return rule.parent.insertBefore(rule, cloned)
  }

  /**
   * Clone node with prefixes
   */
  process(node) {
    let parent = this.parentPrefix(node)

    for (let prefix of this.prefixes) {
      if (!parent || parent === prefix) {
        this.add(node, prefix)
      }
    }
  }
}

module.exports = AtRule


/***/ }),

/***/ 1376:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let browserslist = __nccwpck_require__(55478)
let { agents } = __nccwpck_require__(64006)
let colorette = __nccwpck_require__(95666)

let Browsers = __nccwpck_require__(50931)
let Prefixes = __nccwpck_require__(25396)
let dataPrefixes = __nccwpck_require__(79659)
let getInfo = __nccwpck_require__(83028)

let autoprefixerData = { browsers: agents, prefixes: dataPrefixes }

const WARNING =
  '\n' +
  '  Replace Autoprefixer `browsers` option to Browserslist config.\n' +
  '  Use `browserslist` key in `package.json` or `.browserslistrc` file.\n' +
  '\n' +
  '  Using `browsers` option can cause errors. Browserslist config can\n' +
  '  be used for Babel, Autoprefixer, postcss-normalize and other tools.\n' +
  '\n' +
  '  If you really need to use option, rename it to `overrideBrowserslist`.\n' +
  '\n' +
  '  Learn more at:\n' +
  '  https://github.com/browserslist/browserslist#readme\n' +
  '  https://twitter.com/browserslist\n' +
  '\n'

function isPlainObject(obj) {
  return Object.prototype.toString.apply(obj) === '[object Object]'
}

let cache = new Map()

function timeCapsule(result, prefixes) {
  if (prefixes.browsers.selected.length === 0) {
    return
  }
  if (prefixes.add.selectors.length > 0) {
    return
  }
  if (Object.keys(prefixes.add).length > 2) {
    return
  }

  /* istanbul ignore next */
  result.warn(
    'Autoprefixer target browsers do not need any prefixes.' +
      'You do not need Autoprefixer anymore.\n' +
      'Check your Browserslist config to be sure that your targets ' +
      'are set up correctly.\n' +
      '\n' +
      '  Learn more at:\n' +
      '  https://github.com/postcss/autoprefixer#readme\n' +
      '  https://github.com/browserslist/browserslist#readme\n' +
      '\n'
  )
}

module.exports = plugin

function plugin(...reqs) {
  let options
  if (reqs.length === 1 && isPlainObject(reqs[0])) {
    options = reqs[0]
    reqs = undefined
  } else if (reqs.length === 0 || (reqs.length === 1 && !reqs[0])) {
    reqs = undefined
  } else if (reqs.length <= 2 && (Array.isArray(reqs[0]) || !reqs[0])) {
    options = reqs[1]
    reqs = reqs[0]
  } else if (typeof reqs[reqs.length - 1] === 'object') {
    options = reqs.pop()
  }

  if (!options) {
    options = {}
  }

  if (options.browser) {
    throw new Error(
      'Change `browser` option to `overrideBrowserslist` in Autoprefixer'
    )
  } else if (options.browserslist) {
    throw new Error(
      'Change `browserslist` option to `overrideBrowserslist` in Autoprefixer'
    )
  }

  if (options.overrideBrowserslist) {
    reqs = options.overrideBrowserslist
  } else if (options.browsers) {
    if (typeof console !== 'undefined' && console.warn) {
      if (colorette.red) {
        console.warn(
          colorette.red(
            WARNING.replace(/`[^`]+`/g, i => colorette.yellow(i.slice(1, -1)))
          )
        )
      } else {
        console.warn(WARNING)
      }
    }
    reqs = options.browsers
  }

  let brwlstOpts = {
    ignoreUnknownVersions: options.ignoreUnknownVersions,
    stats: options.stats,
    env: options.env
  }

  function loadPrefixes(opts) {
    let d = autoprefixerData
    let browsers = new Browsers(d.browsers, reqs, opts, brwlstOpts)
    let key = browsers.selected.join(', ') + JSON.stringify(options)

    if (!cache.has(key)) {
      cache.set(key, new Prefixes(d.prefixes, browsers, options))
    }

    return cache.get(key)
  }

  return {
    postcssPlugin: 'autoprefixer',

    prepare(result) {
      let prefixes = loadPrefixes({
        from: result.opts.from,
        env: options.env
      })

      return {
        OnceExit(root) {
          timeCapsule(result, prefixes)
          if (options.remove !== false) {
            prefixes.processor.remove(root, result)
          }
          if (options.add !== false) {
            prefixes.processor.add(root, result)
          }
        }
      }
    },

    info(opts) {
      opts = opts || {}
      opts.from = opts.from || process.cwd()
      return getInfo(loadPrefixes(opts))
    },

    options,
    browsers: reqs
  }
}

plugin.postcss = true

/**
 * Autoprefixer data
 */
plugin.data = autoprefixerData

/**
 * Autoprefixer default browsers
 */
plugin.defaults = browserslist.defaults

/**
 * Inspect with default Autoprefixer
 */
plugin.info = () => plugin().info()


/***/ }),

/***/ 59137:
/***/ ((module) => {

function last(array) {
  return array[array.length - 1]
}

let brackets = {
  /**
   * Parse string to nodes tree
   */
  parse(str) {
    let current = ['']
    let stack = [current]

    for (let sym of str) {
      if (sym === '(') {
        current = ['']
        last(stack).push(current)
        stack.push(current)
        continue
      }

      if (sym === ')') {
        stack.pop()
        current = last(stack)
        current.push('')
        continue
      }

      current[current.length - 1] += sym
    }

    return stack[0]
  },

  /**
   * Generate output string by nodes tree
   */
  stringify(ast) {
    let result = ''
    for (let i of ast) {
      if (typeof i === 'object') {
        result += `(${brackets.stringify(i)})`
        continue
      }

      result += i
    }
    return result
  }
}

module.exports = brackets


/***/ }),

/***/ 50931:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let browserslist = __nccwpck_require__(55478)
let agents = __nccwpck_require__(64006).agents

let utils = __nccwpck_require__(96584)

class Browsers {
  /**
   * Return all prefixes for default browser data
   */
  static prefixes() {
    if (this.prefixesCache) {
      return this.prefixesCache
    }

    this.prefixesCache = []
    for (let name in agents) {
      this.prefixesCache.push(`-${agents[name].prefix}-`)
    }

    this.prefixesCache = utils
      .uniq(this.prefixesCache)
      .sort((a, b) => b.length - a.length)

    return this.prefixesCache
  }

  /**
   * Check is value contain any possible prefix
   */
  static withPrefix(value) {
    if (!this.prefixesRegexp) {
      this.prefixesRegexp = new RegExp(this.prefixes().join('|'))
    }

    return this.prefixesRegexp.test(value)
  }

  constructor(data, requirements, options, browserslistOpts) {
    this.data = data
    this.options = options || {}
    this.browserslistOpts = browserslistOpts || {}
    this.selected = this.parse(requirements)
  }

  /**
   * Return browsers selected by requirements
   */
  parse(requirements) {
    let opts = {}
    for (let i in this.browserslistOpts) {
      opts[i] = this.browserslistOpts[i]
    }
    opts.path = this.options.from
    return browserslist(requirements, opts)
  }

  /**
   * Return prefix for selected browser
   */
  prefix(browser) {
    let [name, version] = browser.split(' ')
    let data = this.data[name]

    let prefix = data.prefix_exceptions && data.prefix_exceptions[version]
    if (!prefix) {
      prefix = data.prefix
    }
    return `-${prefix}-`
  }

  /**
   * Is browser is selected by requirements
   */
  isSelected(browser) {
    return this.selected.includes(browser)
  }
}

module.exports = Browsers


/***/ }),

/***/ 69011:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Prefixer = __nccwpck_require__(26579)
let Browsers = __nccwpck_require__(50931)
let utils = __nccwpck_require__(96584)

class Declaration extends Prefixer {
  /**
   * Always true, because we already get prefixer by property name
   */
  check(/* decl */) {
    return true
  }

  /**
   * Return prefixed version of property
   */
  prefixed(prop, prefix) {
    return prefix + prop
  }

  /**
   * Return unprefixed version of property
   */
  normalize(prop) {
    return prop
  }

  /**
   * Check `value`, that it contain other prefixes, rather than `prefix`
   */
  otherPrefixes(value, prefix) {
    for (let other of Browsers.prefixes()) {
      if (other === prefix) {
        continue
      }
      if (value.includes(other)) {
        return true
      }
    }
    return false
  }

  /**
   * Set prefix to declaration
   */
  set(decl, prefix) {
    decl.prop = this.prefixed(decl.prop, prefix)
    return decl
  }

  /**
   * Should we use visual cascade for prefixes
   */
  needCascade(decl) {
    if (!decl._autoprefixerCascade) {
      decl._autoprefixerCascade =
        this.all.options.cascade !== false && decl.raw('before').includes('\n')
    }
    return decl._autoprefixerCascade
  }

  /**
   * Return maximum length of possible prefixed property
   */
  maxPrefixed(prefixes, decl) {
    if (decl._autoprefixerMax) {
      return decl._autoprefixerMax
    }

    let max = 0
    for (let prefix of prefixes) {
      prefix = utils.removeNote(prefix)
      if (prefix.length > max) {
        max = prefix.length
      }
    }
    decl._autoprefixerMax = max

    return decl._autoprefixerMax
  }

  /**
   * Calculate indentation to create visual cascade
   */
  calcBefore(prefixes, decl, prefix = '') {
    let max = this.maxPrefixed(prefixes, decl)
    let diff = max - utils.removeNote(prefix).length

    let before = decl.raw('before')
    if (diff > 0) {
      before += Array(diff).fill(' ').join('')
    }

    return before
  }

  /**
   * Remove visual cascade
   */
  restoreBefore(decl) {
    let lines = decl.raw('before').split('\n')
    let min = lines[lines.length - 1]

    this.all.group(decl).up(prefixed => {
      let array = prefixed.raw('before').split('\n')
      let last = array[array.length - 1]
      if (last.length < min.length) {
        min = last
      }
    })

    lines[lines.length - 1] = min
    decl.raws.before = lines.join('\n')
  }

  /**
   * Clone and insert new declaration
   */
  insert(decl, prefix, prefixes) {
    let cloned = this.set(this.clone(decl), prefix)
    if (!cloned) return undefined

    let already = decl.parent.some(
      i => i.prop === cloned.prop && i.value === cloned.value
    )
    if (already) {
      return undefined
    }

    if (this.needCascade(decl)) {
      cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
    }
    return decl.parent.insertBefore(decl, cloned)
  }

  /**
   * Did this declaration has this prefix above
   */
  isAlready(decl, prefixed) {
    let already = this.all.group(decl).up(i => i.prop === prefixed)
    if (!already) {
      already = this.all.group(decl).down(i => i.prop === prefixed)
    }
    return already
  }

  /**
   * Clone and add prefixes for declaration
   */
  add(decl, prefix, prefixes, result) {
    let prefixed = this.prefixed(decl.prop, prefix)
    if (
      this.isAlready(decl, prefixed) ||
      this.otherPrefixes(decl.value, prefix)
    ) {
      return undefined
    }
    return this.insert(decl, prefix, prefixes, result)
  }

  /**
   * Add spaces for visual cascade
   */
  process(decl, result) {
    if (!this.needCascade(decl)) {
      super.process(decl, result)
      return
    }

    let prefixes = super.process(decl, result)

    if (!prefixes || !prefixes.length) {
      return
    }

    this.restoreBefore(decl)
    decl.raws.before = this.calcBefore(prefixes, decl)
  }

  /**
   * Return list of prefixed properties to clean old prefixes
   */
  old(prop, prefix) {
    return [this.prefixed(prop, prefix)]
  }
}

module.exports = Declaration


/***/ }),

/***/ 46788:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class AlignContent extends Declaration {
  /**
   * Change property name for 2012 spec
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2012) {
      return prefix + 'flex-line-pack'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return property name by final spec
   */
  normalize() {
    return 'align-content'
  }

  /**
   * Change value for 2012 spec and ignore prefix for 2009
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec === 2012) {
      decl.value = AlignContent.oldValues[decl.value] || decl.value
      return super.set(decl, prefix)
    }
    if (spec === 'final') {
      return super.set(decl, prefix)
    }
    return undefined
  }
}

AlignContent.names = ['align-content', 'flex-line-pack']

AlignContent.oldValues = {
  'flex-end': 'end',
  'flex-start': 'start',
  'space-between': 'justify',
  'space-around': 'distribute'
}

module.exports = AlignContent


/***/ }),

/***/ 92478:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class AlignItems extends Declaration {
  /**
   * Change property name for 2009 and 2012 specs
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2009) {
      return prefix + 'box-align'
    }
    if (spec === 2012) {
      return prefix + 'flex-align'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return property name by final spec
   */
  normalize() {
    return 'align-items'
  }

  /**
   * Change value for 2009 and 2012 specs
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec === 2009 || spec === 2012) {
      decl.value = AlignItems.oldValues[decl.value] || decl.value
    }
    return super.set(decl, prefix)
  }
}

AlignItems.names = ['align-items', 'flex-align', 'box-align']

AlignItems.oldValues = {
  'flex-end': 'end',
  'flex-start': 'start'
}

module.exports = AlignItems


/***/ }),

/***/ 70119:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class AlignSelf extends Declaration {
  check(decl) {
    return (
      decl.parent &&
      !decl.parent.some(i => {
        return i.prop && i.prop.startsWith('grid-')
      })
    )
  }

  /**
   * Change property name for 2012 specs
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2012) {
      return prefix + 'flex-item-align'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return property name by final spec
   */
  normalize() {
    return 'align-self'
  }

  /**
   * Change value for 2012 spec and ignore prefix for 2009
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec === 2012) {
      decl.value = AlignSelf.oldValues[decl.value] || decl.value
      return super.set(decl, prefix)
    }
    if (spec === 'final') {
      return super.set(decl, prefix)
    }
    return undefined
  }
}

AlignSelf.names = ['align-self', 'flex-item-align']

AlignSelf.oldValues = {
  'flex-end': 'end',
  'flex-start': 'start'
}

module.exports = AlignSelf


/***/ }),

/***/ 57508:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class Animation extends Declaration {
  /**
   * Don’t add prefixes for modern values.
   */
  check(decl) {
    return !decl.value.split(/\s+/).some(i => {
      let lower = i.toLowerCase()
      return lower === 'reverse' || lower === 'alternate-reverse'
    })
  }
}

Animation.names = ['animation', 'animation-direction']

module.exports = Animation


/***/ }),

/***/ 53397:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let utils = __nccwpck_require__(96584)

class Appearance extends Declaration {
  constructor(name, prefixes, all) {
    super(name, prefixes, all)

    if (this.prefixes) {
      this.prefixes = utils.uniq(
        this.prefixes.map(i => {
          if (i === '-ms-') {
            return '-webkit-'
          }
          return i
        })
      )
    }
  }
}

Appearance.names = ['appearance']

module.exports = Appearance


/***/ }),

/***/ 46667:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let utils = __nccwpck_require__(96584)

class BackdropFilter extends Declaration {
  constructor(name, prefixes, all) {
    super(name, prefixes, all)

    if (this.prefixes) {
      this.prefixes = utils.uniq(
        this.prefixes.map(i => {
          return i === '-ms-' ? '-webkit-' : i
        })
      )
    }
  }
}

BackdropFilter.names = ['backdrop-filter']

module.exports = BackdropFilter


/***/ }),

/***/ 32781:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let utils = __nccwpck_require__(96584)

class BackgroundClip extends Declaration {
  constructor(name, prefixes, all) {
    super(name, prefixes, all)

    if (this.prefixes) {
      this.prefixes = utils.uniq(
        this.prefixes.map(i => {
          return i === '-ms-' ? '-webkit-' : i
        })
      )
    }
  }

  check(decl) {
    return decl.value.toLowerCase() === 'text'
  }
}

BackgroundClip.names = ['background-clip']

module.exports = BackgroundClip


/***/ }),

/***/ 17397:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class BackgroundSize extends Declaration {
  /**
   * Duplication parameter for -webkit- browsers
   */
  set(decl, prefix) {
    let value = decl.value.toLowerCase()
    if (
      prefix === '-webkit-' &&
      !value.includes(' ') &&
      value !== 'contain' &&
      value !== 'cover'
    ) {
      decl.value = decl.value + ' ' + decl.value
    }
    return super.set(decl, prefix)
  }
}

BackgroundSize.names = ['background-size']

module.exports = BackgroundSize


/***/ }),

/***/ 51447:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class BlockLogical extends Declaration {
  /**
   * Use old syntax for -moz- and -webkit-
   */
  prefixed(prop, prefix) {
    if (prop.includes('-start')) {
      return prefix + prop.replace('-block-start', '-before')
    }
    return prefix + prop.replace('-block-end', '-after')
  }

  /**
   * Return property name by spec
   */
  normalize(prop) {
    if (prop.includes('-before')) {
      return prop.replace('-before', '-block-start')
    }
    return prop.replace('-after', '-block-end')
  }
}

BlockLogical.names = [
  'border-block-start',
  'border-block-end',
  'margin-block-start',
  'margin-block-end',
  'padding-block-start',
  'padding-block-end',
  'border-before',
  'border-after',
  'margin-before',
  'margin-after',
  'padding-before',
  'padding-after'
]

module.exports = BlockLogical


/***/ }),

/***/ 92212:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class BorderImage extends Declaration {
  /**
   * Remove fill parameter for prefixed declarations
   */
  set(decl, prefix) {
    decl.value = decl.value.replace(/\s+fill(\s)/, '$1')
    return super.set(decl, prefix)
  }
}

BorderImage.names = ['border-image']

module.exports = BorderImage


/***/ }),

/***/ 80189:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class BorderRadius extends Declaration {
  /**
   * Change syntax, when add Mozilla prefix
   */
  prefixed(prop, prefix) {
    if (prefix === '-moz-') {
      return prefix + (BorderRadius.toMozilla[prop] || prop)
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return unprefixed version of property
   */
  normalize(prop) {
    return BorderRadius.toNormal[prop] || prop
  }
}

BorderRadius.names = ['border-radius']

BorderRadius.toMozilla = {}
BorderRadius.toNormal = {}

for (let ver of ['top', 'bottom']) {
  for (let hor of ['left', 'right']) {
    let normal = `border-${ver}-${hor}-radius`
    let mozilla = `border-radius-${ver}${hor}`

    BorderRadius.names.push(normal)
    BorderRadius.names.push(mozilla)

    BorderRadius.toMozilla[normal] = mozilla
    BorderRadius.toNormal[mozilla] = normal
  }
}

module.exports = BorderRadius


/***/ }),

/***/ 26946:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class BreakProps extends Declaration {
  /**
   * Change name for -webkit- and -moz- prefix
   */
  prefixed(prop, prefix) {
    return `${prefix}column-${prop}`
  }

  /**
   * Return property name by final spec
   */
  normalize(prop) {
    if (prop.includes('inside')) {
      return 'break-inside'
    }
    if (prop.includes('before')) {
      return 'break-before'
    }
    return 'break-after'
  }

  /**
   * Change prefixed value for avoid-column and avoid-page
   */
  set(decl, prefix) {
    if (
      (decl.prop === 'break-inside' && decl.value === 'avoid-column') ||
      decl.value === 'avoid-page'
    ) {
      decl.value = 'avoid'
    }
    return super.set(decl, prefix)
  }

  /**
   * Don’t prefix some values
   */
  insert(decl, prefix, prefixes) {
    if (decl.prop !== 'break-inside') {
      return super.insert(decl, prefix, prefixes)
    }
    if (/region/i.test(decl.value) || /page/i.test(decl.value)) {
      return undefined
    }
    return super.insert(decl, prefix, prefixes)
  }
}

BreakProps.names = [
  'break-inside',
  'page-break-inside',
  'column-break-inside',
  'break-before',
  'page-break-before',
  'column-break-before',
  'break-after',
  'page-break-after',
  'column-break-after'
]

module.exports = BreakProps


/***/ }),

/***/ 8527:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class ColorAdjust extends Declaration {
  /**
   * Change property name for WebKit-based browsers
   */
  prefixed(prop, prefix) {
    return prefix + 'print-color-adjust'
  }

  /**
   * Return property name by spec
   */
  normalize() {
    return 'color-adjust'
  }
}

ColorAdjust.names = ['color-adjust', 'print-color-adjust']

module.exports = ColorAdjust


/***/ }),

/***/ 52315:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let list = __nccwpck_require__(77001).list

let Value = __nccwpck_require__(52530)

class CrossFade extends Value {
  replace(string, prefix) {
    return list
      .space(string)
      .map(value => {
        if (value.slice(0, +this.name.length + 1) !== this.name + '(') {
          return value
        }

        let close = value.lastIndexOf(')')
        let after = value.slice(close + 1)
        let args = value.slice(this.name.length + 1, close)

        if (prefix === '-webkit-') {
          let match = args.match(/\d*.?\d+%?/)
          if (match) {
            args = args.slice(match[0].length).trim()
            args += `, ${match[0]}`
          } else {
            args += ', 0.5'
          }
        }
        return prefix + this.name + '(' + args + ')' + after
      })
      .join(' ')
  }
}

CrossFade.names = ['cross-fade']

module.exports = CrossFade


/***/ }),

/***/ 69470:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let OldValue = __nccwpck_require__(86029)
let Value = __nccwpck_require__(52530)

class DisplayFlex extends Value {
  constructor(name, prefixes) {
    super(name, prefixes)
    if (name === 'display-flex') {
      this.name = 'flex'
    }
  }

  /**
   * Faster check for flex value
   */
  check(decl) {
    return decl.prop === 'display' && decl.value === this.name
  }

  /**
   * Return value by spec
   */
  prefixed(prefix) {
    let spec, value
    ;[spec, prefix] = flexSpec(prefix)

    if (spec === 2009) {
      if (this.name === 'flex') {
        value = 'box'
      } else {
        value = 'inline-box'
      }
    } else if (spec === 2012) {
      if (this.name === 'flex') {
        value = 'flexbox'
      } else {
        value = 'inline-flexbox'
      }
    } else if (spec === 'final') {
      value = this.name
    }

    return prefix + value
  }

  /**
   * Add prefix to value depend on flebox spec version
   */
  replace(string, prefix) {
    return this.prefixed(prefix)
  }

  /**
   * Change value for old specs
   */
  old(prefix) {
    let prefixed = this.prefixed(prefix)
    if (!prefixed) return undefined
    return new OldValue(this.name, prefixed)
  }
}

DisplayFlex.names = ['display-flex', 'inline-flex']

module.exports = DisplayFlex


/***/ }),

/***/ 35643:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Value = __nccwpck_require__(52530)

class DisplayGrid extends Value {
  constructor(name, prefixes) {
    super(name, prefixes)
    if (name === 'display-grid') {
      this.name = 'grid'
    }
  }

  /**
   * Faster check for flex value
   */
  check(decl) {
    return decl.prop === 'display' && decl.value === this.name
  }
}

DisplayGrid.names = ['display-grid', 'inline-grid']

module.exports = DisplayGrid


/***/ }),

/***/ 56122:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Value = __nccwpck_require__(52530)

class FilterValue extends Value {
  constructor(name, prefixes) {
    super(name, prefixes)
    if (name === 'filter-function') {
      this.name = 'filter'
    }
  }
}

FilterValue.names = ['filter', 'filter-function']

module.exports = FilterValue


/***/ }),

/***/ 46437:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class Filter extends Declaration {
  /**
   * Check is it Internet Explorer filter
   */
  check(decl) {
    let v = decl.value
    return (
      !v.toLowerCase().includes('alpha(') &&
      !v.includes('DXImageTransform.Microsoft') &&
      !v.includes('data:image/svg+xml')
    )
  }
}

Filter.names = ['filter']

module.exports = Filter


/***/ }),

/***/ 33962:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class FlexBasis extends Declaration {
  /**
   * Return property name by final spec
   */
  normalize() {
    return 'flex-basis'
  }

  /**
   * Return flex property for 2012 spec
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2012) {
      return prefix + 'flex-preferred-size'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Ignore 2009 spec and use flex property for 2012
   */
  set(decl, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2012 || spec === 'final') {
      return super.set(decl, prefix)
    }
    return undefined
  }
}

FlexBasis.names = ['flex-basis', 'flex-preferred-size']

module.exports = FlexBasis


/***/ }),

/***/ 58440:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class FlexDirection extends Declaration {
  /**
   * Return property name by final spec
   */
  normalize() {
    return 'flex-direction'
  }

  /**
   * Use two properties for 2009 spec
   */
  insert(decl, prefix, prefixes) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec !== 2009) {
      return super.insert(decl, prefix, prefixes)
    }
    let already = decl.parent.some(
      i =>
        i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'
    )
    if (already) {
      return undefined
    }

    let v = decl.value
    let orient, dir
    if (v === 'inherit' || v === 'initial' || v === 'unset') {
      orient = v
      dir = v
    } else {
      orient = v.includes('row') ? 'horizontal' : 'vertical'
      dir = v.includes('reverse') ? 'reverse' : 'normal'
    }

    let cloned = this.clone(decl)
    cloned.prop = prefix + 'box-orient'
    cloned.value = orient
    if (this.needCascade(decl)) {
      cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
    }
    decl.parent.insertBefore(decl, cloned)

    cloned = this.clone(decl)
    cloned.prop = prefix + 'box-direction'
    cloned.value = dir
    if (this.needCascade(decl)) {
      cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
    }
    return decl.parent.insertBefore(decl, cloned)
  }

  /**
   * Clean two properties for 2009 spec
   */
  old(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2009) {
      return [prefix + 'box-orient', prefix + 'box-direction']
    } else {
      return super.old(prop, prefix)
    }
  }
}

FlexDirection.names = ['flex-direction', 'box-direction', 'box-orient']

module.exports = FlexDirection


/***/ }),

/***/ 99225:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class FlexFlow extends Declaration {
  /**
   * Use two properties for 2009 spec
   */
  insert(decl, prefix, prefixes) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec !== 2009) {
      return super.insert(decl, prefix, prefixes)
    }
    let values = decl.value
      .split(/\s+/)
      .filter(i => i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse')
    if (values.length === 0) {
      return undefined
    }

    let already = decl.parent.some(
      i =>
        i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'
    )
    if (already) {
      return undefined
    }

    let value = values[0]
    let orient = value.includes('row') ? 'horizontal' : 'vertical'
    let dir = value.includes('reverse') ? 'reverse' : 'normal'

    let cloned = this.clone(decl)
    cloned.prop = prefix + 'box-orient'
    cloned.value = orient
    if (this.needCascade(decl)) {
      cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
    }
    decl.parent.insertBefore(decl, cloned)

    cloned = this.clone(decl)
    cloned.prop = prefix + 'box-direction'
    cloned.value = dir
    if (this.needCascade(decl)) {
      cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
    }
    return decl.parent.insertBefore(decl, cloned)
  }
}

FlexFlow.names = ['flex-flow', 'box-direction', 'box-orient']

module.exports = FlexFlow


/***/ }),

/***/ 11708:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class Flex extends Declaration {
  /**
   * Return property name by final spec
   */
  normalize() {
    return 'flex'
  }

  /**
   * Return flex property for 2009 and 2012 specs
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2009) {
      return prefix + 'box-flex'
    }
    if (spec === 2012) {
      return prefix + 'flex-positive'
    }
    return super.prefixed(prop, prefix)
  }
}

Flex.names = ['flex-grow', 'flex-positive']

module.exports = Flex


/***/ }),

/***/ 61945:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class FlexShrink extends Declaration {
  /**
   * Return property name by final spec
   */
  normalize() {
    return 'flex-shrink'
  }

  /**
   * Return flex property for 2012 spec
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2012) {
      return prefix + 'flex-negative'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Ignore 2009 spec and use flex property for 2012
   */
  set(decl, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2012 || spec === 'final') {
      return super.set(decl, prefix)
    }
    return undefined
  }
}

FlexShrink.names = ['flex-shrink', 'flex-negative']

module.exports = FlexShrink


/***/ }),

/***/ 43713:
/***/ ((module) => {

/**
 * Return flexbox spec versions by prefix
 */
module.exports = function (prefix) {
  let spec
  if (prefix === '-webkit- 2009' || prefix === '-moz-') {
    spec = 2009
  } else if (prefix === '-ms-') {
    spec = 2012
  } else if (prefix === '-webkit-') {
    spec = 'final'
  }

  if (prefix === '-webkit- 2009') {
    prefix = '-webkit-'
  }

  return [spec, prefix]
}


/***/ }),

/***/ 44910:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class FlexWrap extends Declaration {
  /**
   * Don't add prefix for 2009 spec
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec !== 2009) {
      return super.set(decl, prefix)
    }
    return undefined
  }
}

FlexWrap.names = ['flex-wrap']

module.exports = FlexWrap


/***/ }),

/***/ 84190:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let list = __nccwpck_require__(77001).list

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class Flex extends Declaration {
  /**
   * Change property name for 2009 spec
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2009) {
      return prefix + 'box-flex'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return property name by final spec
   */
  normalize() {
    return 'flex'
  }

  /**
   * Spec 2009 supports only first argument
   * Spec 2012 disallows unitless basis
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec === 2009) {
      decl.value = list.space(decl.value)[0]
      decl.value = Flex.oldValues[decl.value] || decl.value
      return super.set(decl, prefix)
    }
    if (spec === 2012) {
      let components = list.space(decl.value)
      if (components.length === 3 && components[2] === '0') {
        decl.value = components.slice(0, 2).concat('0px').join(' ')
      }
    }
    return super.set(decl, prefix)
  }
}

Flex.names = ['flex', 'box-flex']

Flex.oldValues = {
  auto: '1',
  none: '0'
}

module.exports = Flex


/***/ }),

/***/ 55233:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Selector = __nccwpck_require__(52098)

class Fullscreen extends Selector {
  /**
   * Return different selectors depend on prefix
   */
  prefixed(prefix) {
    if (prefix === '-webkit-') {
      return ':-webkit-full-screen'
    }
    if (prefix === '-moz-') {
      return ':-moz-full-screen'
    }
    return `:${prefix}fullscreen`
  }
}

Fullscreen.names = [':fullscreen']

module.exports = Fullscreen


/***/ }),

/***/ 29864:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let parser = __nccwpck_require__(19285)
let range = __nccwpck_require__(24251)

let OldValue = __nccwpck_require__(86029)
let Value = __nccwpck_require__(52530)
let utils = __nccwpck_require__(96584)

let IS_DIRECTION = /top|left|right|bottom/gi

class Gradient extends Value {
  /**
   * Change degrees for webkit prefix
   */
  replace(string, prefix) {
    let ast = parser(string)
    for (let node of ast.nodes) {
      if (node.type === 'function' && node.value === this.name) {
        node.nodes = this.newDirection(node.nodes)
        node.nodes = this.normalize(node.nodes)
        if (prefix === '-webkit- old') {
          let changes = this.oldWebkit(node)
          if (!changes) {
            return false
          }
        } else {
          node.nodes = this.convertDirection(node.nodes)
          node.value = prefix + node.value
        }
      }
    }
    return ast.toString()
  }

  /**
   * Replace first token
   */
  replaceFirst(params, ...words) {
    let prefix = words.map(i => {
      if (i === ' ') {
        return { type: 'space', value: i }
      }
      return { type: 'word', value: i }
    })
    return prefix.concat(params.slice(1))
  }

  /**
   * Convert angle unit to deg
   */
  normalizeUnit(str, full) {
    let num = parseFloat(str)
    let deg = (num / full) * 360
    return `${deg}deg`
  }

  /**
   * Normalize angle
   */
  normalize(nodes) {
    if (!nodes[0]) return nodes

    if (/-?\d+(.\d+)?grad/.test(nodes[0].value)) {
      nodes[0].value = this.normalizeUnit(nodes[0].value, 400)
    } else if (/-?\d+(.\d+)?rad/.test(nodes[0].value)) {
      nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI)
    } else if (/-?\d+(.\d+)?turn/.test(nodes[0].value)) {
      nodes[0].value = this.normalizeUnit(nodes[0].value, 1)
    } else if (nodes[0].value.includes('deg')) {
      let num = parseFloat(nodes[0].value)
      num = range.wrap(0, 360, num)
      nodes[0].value = `${num}deg`
    }

    if (nodes[0].value === '0deg') {
      nodes = this.replaceFirst(nodes, 'to', ' ', 'top')
    } else if (nodes[0].value === '90deg') {
      nodes = this.replaceFirst(nodes, 'to', ' ', 'right')
    } else if (nodes[0].value === '180deg') {
      nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom')
    } else if (nodes[0].value === '270deg') {
      nodes = this.replaceFirst(nodes, 'to', ' ', 'left')
    }

    return nodes
  }

  /**
   * Replace old direction to new
   */
  newDirection(params) {
    if (params[0].value === 'to') {
      return params
    }
    IS_DIRECTION.lastIndex = 0 // reset search index of global regexp
    if (!IS_DIRECTION.test(params[0].value)) {
      return params
    }

    params.unshift(
      {
        type: 'word',
        value: 'to'
      },
      {
        type: 'space',
        value: ' '
      }
    )

    for (let i = 2; i < params.length; i++) {
      if (params[i].type === 'div') {
        break
      }
      if (params[i].type === 'word') {
        params[i].value = this.revertDirection(params[i].value)
      }
    }

    return params
  }

  /**
   * Look for at word
   */
  isRadial(params) {
    let state = 'before'
    for (let param of params) {
      if (state === 'before' && param.type === 'space') {
        state = 'at'
      } else if (state === 'at' && param.value === 'at') {
        state = 'after'
      } else if (state === 'after' && param.type === 'space') {
        return true
      } else if (param.type === 'div') {
        break
      } else {
        state = 'before'
      }
    }
    return false
  }

  /**
   * Change new direction to old
   */
  convertDirection(params) {
    if (params.length > 0) {
      if (params[0].value === 'to') {
        this.fixDirection(params)
      } else if (params[0].value.includes('deg')) {
        this.fixAngle(params)
      } else if (this.isRadial(params)) {
        this.fixRadial(params)
      }
    }
    return params
  }

  /**
   * Replace `to top left` to `bottom right`
   */
  fixDirection(params) {
    params.splice(0, 2)

    for (let param of params) {
      if (param.type === 'div') {
        break
      }
      if (param.type === 'word') {
        param.value = this.revertDirection(param.value)
      }
    }
  }

  /**
   * Add 90 degrees
   */
  fixAngle(params) {
    let first = params[0].value
    first = parseFloat(first)
    first = Math.abs(450 - first) % 360
    first = this.roundFloat(first, 3)
    params[0].value = `${first}deg`
  }

  /**
   * Fix radial direction syntax
   */
  fixRadial(params) {
    let first = []
    let second = []
    let a, b, c, i, next

    for (i = 0; i < params.length - 2; i++) {
      a = params[i]
      b = params[i + 1]
      c = params[i + 2]
      if (a.type === 'space' && b.value === 'at' && c.type === 'space') {
        next = i + 3
        break
      } else {
        first.push(a)
      }
    }

    let div
    for (i = next; i < params.length; i++) {
      if (params[i].type === 'div') {
        div = params[i]
        break
      } else {
        second.push(params[i])
      }
    }

    params.splice(0, i, ...second, div, ...first)
  }

  revertDirection(word) {
    return Gradient.directions[word.toLowerCase()] || word
  }

  /**
   * Round float and save digits under dot
   */
  roundFloat(float, digits) {
    return parseFloat(float.toFixed(digits))
  }

  /**
   * Convert to old webkit syntax
   */
  oldWebkit(node) {
    let { nodes } = node
    let string = parser.stringify(node.nodes)

    if (this.name !== 'linear-gradient') {
      return false
    }
    if (nodes[0] && nodes[0].value.includes('deg')) {
      return false
    }
    if (
      string.includes('px') ||
      string.includes('-corner') ||
      string.includes('-side')
    ) {
      return false
    }

    let params = [[]]
    for (let i of nodes) {
      params[params.length - 1].push(i)
      if (i.type === 'div' && i.value === ',') {
        params.push([])
      }
    }

    this.oldDirection(params)
    this.colorStops(params)

    node.nodes = []
    for (let param of params) {
      node.nodes = node.nodes.concat(param)
    }

    node.nodes.unshift(
      { type: 'word', value: 'linear' },
      this.cloneDiv(node.nodes)
    )
    node.value = '-webkit-gradient'

    return true
  }

  /**
   * Change direction syntax to old webkit
   */
  oldDirection(params) {
    let div = this.cloneDiv(params[0])

    if (params[0][0].value !== 'to') {
      return params.unshift([
        { type: 'word', value: Gradient.oldDirections.bottom },
        div
      ])
    } else {
      let words = []
      for (let node of params[0].slice(2)) {
        if (node.type === 'word') {
          words.push(node.value.toLowerCase())
        }
      }

      words = words.join(' ')
      let old = Gradient.oldDirections[words] || words

      params[0] = [{ type: 'word', value: old }, div]
      return params[0]
    }
  }

  /**
   * Get div token from exists parameters
   */
  cloneDiv(params) {
    for (let i of params) {
      if (i.type === 'div' && i.value === ',') {
        return i
      }
    }
    return { type: 'div', value: ',', after: ' ' }
  }

  /**
   * Change colors syntax to old webkit
   */
  colorStops(params) {
    let result = []
    for (let i = 0; i < params.length; i++) {
      let pos
      let param = params[i]
      let item
      if (i === 0) {
        continue
      }

      let color = parser.stringify(param[0])
      if (param[1] && param[1].type === 'word') {
        pos = param[1].value
      } else if (param[2] && param[2].type === 'word') {
        pos = param[2].value
      }

      let stop
      if (i === 1 && (!pos || pos === '0%')) {
        stop = `from(${color})`
      } else if (i === params.length - 1 && (!pos || pos === '100%')) {
        stop = `to(${color})`
      } else if (pos) {
        stop = `color-stop(${pos}, ${color})`
      } else {
        stop = `color-stop(${color})`
      }

      let div = param[param.length - 1]
      params[i] = [{ type: 'word', value: stop }]
      if (div.type === 'div' && div.value === ',') {
        item = params[i].push(div)
      }
      result.push(item)
    }
    return result
  }

  /**
   * Remove old WebKit gradient too
   */
  old(prefix) {
    if (prefix === '-webkit-') {
      let type = this.name === 'linear-gradient' ? 'linear' : 'radial'
      let string = '-gradient'
      let regexp = utils.regexp(
        `-webkit-(${type}-gradient|gradient\\(\\s*${type})`,
        false
      )

      return new OldValue(this.name, prefix + this.name, string, regexp)
    } else {
      return super.old(prefix)
    }
  }

  /**
   * Do not add non-webkit prefixes for list-style and object
   */
  add(decl, prefix) {
    let p = decl.prop
    if (p.includes('mask')) {
      if (prefix === '-webkit-' || prefix === '-webkit- old') {
        return super.add(decl, prefix)
      }
    } else if (
      p === 'list-style' ||
      p === 'list-style-image' ||
      p === 'content'
    ) {
      if (prefix === '-webkit-' || prefix === '-webkit- old') {
        return super.add(decl, prefix)
      }
    } else {
      return super.add(decl, prefix)
    }
    return undefined
  }
}

Gradient.names = [
  'linear-gradient',
  'repeating-linear-gradient',
  'radial-gradient',
  'repeating-radial-gradient'
]

Gradient.directions = {
  top: 'bottom',
  left: 'right',
  bottom: 'top',
  right: 'left'
}

// Direction to replace
Gradient.oldDirections = {
  'top': 'left bottom, left top',
  'left': 'right top, left top',
  'bottom': 'left top, left bottom',
  'right': 'left top, right top',

  'top right': 'left bottom, right top',
  'top left': 'right bottom, left top',
  'right top': 'left bottom, right top',
  'right bottom': 'left top, right bottom',
  'bottom right': 'left top, right bottom',
  'bottom left': 'right top, left bottom',
  'left top': 'right bottom, left top',
  'left bottom': 'right top, left bottom'
}

module.exports = Gradient


/***/ }),

/***/ 85159:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let utils = __nccwpck_require__(73398)

class GridArea extends Declaration {
  /**
   * Translate grid-area to separate -ms- prefixed properties
   */
  insert(decl, prefix, prefixes, result) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    let values = utils.parse(decl)

    let [rowStart, rowSpan] = utils.translate(values, 0, 2)
    let [columnStart, columnSpan] = utils.translate(values, 1, 3)

    ;[
      ['grid-row', rowStart],
      ['grid-row-span', rowSpan],
      ['grid-column', columnStart],
      ['grid-column-span', columnSpan]
    ].forEach(([prop, value]) => {
      utils.insertDecl(decl, prop, value)
    })

    utils.warnTemplateSelectorNotFound(decl, result)
    utils.warnIfGridRowColumnExists(decl, result)

    return undefined
  }
}

GridArea.names = ['grid-area']

module.exports = GridArea


/***/ }),

/***/ 4621:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class GridColumnAlign extends Declaration {
  /**
   * Do not prefix flexbox values
   */
  check(decl) {
    return !decl.value.includes('flex-') && decl.value !== 'baseline'
  }

  /**
   * Change property name for IE
   */
  prefixed(prop, prefix) {
    return prefix + 'grid-column-align'
  }

  /**
   * Change IE property back
   */
  normalize() {
    return 'justify-self'
  }
}

GridColumnAlign.names = ['grid-column-align']

module.exports = GridColumnAlign


/***/ }),

/***/ 6307:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class GridEnd extends Declaration {
  /**
   * Change repeating syntax for IE
   */
  insert(decl, prefix, prefixes, result) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    let clonedDecl = this.clone(decl)

    let startProp = decl.prop.replace(/end$/, 'start')
    let spanProp = prefix + decl.prop.replace(/end$/, 'span')

    if (decl.parent.some(i => i.prop === spanProp)) {
      return undefined
    }

    clonedDecl.prop = spanProp

    if (decl.value.includes('span')) {
      clonedDecl.value = decl.value.replace(/span\s/i, '')
    } else {
      let startDecl
      decl.parent.walkDecls(startProp, d => {
        startDecl = d
      })
      if (startDecl) {
        let value = Number(decl.value) - Number(startDecl.value) + ''
        clonedDecl.value = value
      } else {
        decl.warn(
          result,
          `Can not prefix ${decl.prop} (${startProp} is not found)`
        )
      }
    }

    decl.cloneBefore(clonedDecl)

    return undefined
  }
}

GridEnd.names = ['grid-row-end', 'grid-column-end']

module.exports = GridEnd


/***/ }),

/***/ 85565:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class GridRowAlign extends Declaration {
  /**
   * Do not prefix flexbox values
   */
  check(decl) {
    return !decl.value.includes('flex-') && decl.value !== 'baseline'
  }

  /**
   * Change property name for IE
   */
  prefixed(prop, prefix) {
    return prefix + 'grid-row-align'
  }

  /**
   * Change IE property back
   */
  normalize() {
    return 'align-self'
  }
}

GridRowAlign.names = ['grid-row-align']

module.exports = GridRowAlign


/***/ }),

/***/ 98041:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let utils = __nccwpck_require__(73398)

class GridRowColumn extends Declaration {
  /**
   * Translate grid-row / grid-column to separate -ms- prefixed properties
   */
  insert(decl, prefix, prefixes) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    let values = utils.parse(decl)
    let [start, span] = utils.translate(values, 0, 1)

    let hasStartValueSpan = values[0] && values[0].includes('span')

    if (hasStartValueSpan) {
      span = values[0].join('').replace(/\D/g, '')
    }

    ;[
      [decl.prop, start],
      [`${decl.prop}-span`, span]
    ].forEach(([prop, value]) => {
      utils.insertDecl(decl, prop, value)
    })

    return undefined
  }
}

GridRowColumn.names = ['grid-row', 'grid-column']

module.exports = GridRowColumn


/***/ }),

/***/ 39572:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let {
  prefixTrackProp,
  prefixTrackValue,
  autoplaceGridItems,
  getGridGap,
  inheritGridGap
} = __nccwpck_require__(73398)
let Processor = __nccwpck_require__(54108)

class GridRowsColumns extends Declaration {
  /**
   * Change property name for IE
   */
  prefixed(prop, prefix) {
    if (prefix === '-ms-') {
      return prefixTrackProp({ prop, prefix })
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Change IE property back
   */
  normalize(prop) {
    return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1')
  }

  insert(decl, prefix, prefixes, result) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    let { parent, prop, value } = decl
    let isRowProp = prop.includes('rows')
    let isColumnProp = prop.includes('columns')

    let hasGridTemplate = parent.some(
      i => i.prop === 'grid-template' || i.prop === 'grid-template-areas'
    )

    /**
     * Not to prefix rows declaration if grid-template(-areas) is present
     */
    if (hasGridTemplate && isRowProp) {
      return false
    }

    let processor = new Processor({ options: {} })
    let status = processor.gridStatus(parent, result)
    let gap = getGridGap(decl)
    gap = inheritGridGap(decl, gap) || gap

    let gapValue = isRowProp ? gap.row : gap.column

    if ((status === 'no-autoplace' || status === true) && !hasGridTemplate) {
      gapValue = null
    }

    let prefixValue = prefixTrackValue({
      value,
      gap: gapValue
    })

    /**
     * Insert prefixes
     */
    decl.cloneBefore({
      prop: prefixTrackProp({ prop, prefix }),
      value: prefixValue
    })

    let autoflow = parent.nodes.find(i => i.prop === 'grid-auto-flow')
    let autoflowValue = 'row'

    if (autoflow && !processor.disabled(autoflow, result)) {
      autoflowValue = autoflow.value.trim()
    }
    if (status === 'autoplace') {
      /**
       * Show warning if grid-template-rows decl is not found
       */
      let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows')

      if (!rowDecl && hasGridTemplate) {
        return undefined
      } else if (!rowDecl && !hasGridTemplate) {
        decl.warn(
          result,
          'Autoplacement does not work without grid-template-rows property'
        )
        return undefined
      }

      /**
       * Show warning if grid-template-columns decl is not found
       */
      let columnDecl = parent.nodes.find(i => {
        return i.prop === 'grid-template-columns'
      })
      if (!columnDecl && !hasGridTemplate) {
        decl.warn(
          result,
          'Autoplacement does not work without grid-template-columns property'
        )
      }

      /**
       * Autoplace grid items
       */
      if (isColumnProp && !hasGridTemplate) {
        autoplaceGridItems(decl, result, gap, autoflowValue)
      }
    }

    return undefined
  }
}

GridRowsColumns.names = [
  'grid-template-rows',
  'grid-template-columns',
  'grid-rows',
  'grid-columns'
]

module.exports = GridRowsColumns


/***/ }),

/***/ 57526:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class GridStart extends Declaration {
  /**
   * Do not add prefix for unsupported value in IE
   */
  check(decl) {
    let value = decl.value
    return !value.includes('/') || value.includes('span')
  }

  /**
   * Return a final spec property
   */
  normalize(prop) {
    return prop.replace('-start', '')
  }

  /**
   * Change property name for IE
   */
  prefixed(prop, prefix) {
    let result = super.prefixed(prop, prefix)
    if (prefix === '-ms-') {
      result = result.replace('-start', '')
    }
    return result
  }
}

GridStart.names = ['grid-row-start', 'grid-column-start']

module.exports = GridStart


/***/ }),

/***/ 10577:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let {
  parseGridAreas,
  warnMissedAreas,
  prefixTrackProp,
  prefixTrackValue,
  getGridGap,
  warnGridGap,
  inheritGridGap
} = __nccwpck_require__(73398)

function getGridRows(tpl) {
  return tpl
    .trim()
    .slice(1, -1)
    .split(/["']\s*["']?/g)
}

class GridTemplateAreas extends Declaration {
  /**
   * Translate grid-template-areas to separate -ms- prefixed properties
   */
  insert(decl, prefix, prefixes, result) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    let hasColumns = false
    let hasRows = false
    let parent = decl.parent
    let gap = getGridGap(decl)
    gap = inheritGridGap(decl, gap) || gap

    // remove already prefixed rows
    // to prevent doubling prefixes
    parent.walkDecls(/-ms-grid-rows/, i => i.remove())

    // add empty tracks to rows
    parent.walkDecls(/grid-template-(rows|columns)/, trackDecl => {
      if (trackDecl.prop === 'grid-template-rows') {
        hasRows = true
        let { prop, value } = trackDecl
        trackDecl.cloneBefore({
          prop: prefixTrackProp({ prop, prefix }),
          value: prefixTrackValue({ value, gap: gap.row })
        })
      } else {
        hasColumns = true
      }
    })

    let gridRows = getGridRows(decl.value)

    if (hasColumns && !hasRows && gap.row && gridRows.length > 1) {
      decl.cloneBefore({
        prop: '-ms-grid-rows',
        value: prefixTrackValue({
          value: `repeat(${gridRows.length}, auto)`,
          gap: gap.row
        }),
        raws: {}
      })
    }

    // warnings
    warnGridGap({
      gap,
      hasColumns,
      decl,
      result
    })

    let areas = parseGridAreas({
      rows: gridRows,
      gap
    })

    warnMissedAreas(areas, decl, result)

    return decl
  }
}

GridTemplateAreas.names = ['grid-template-areas']

module.exports = GridTemplateAreas


/***/ }),

/***/ 10304:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let {
  parseTemplate,
  warnMissedAreas,
  getGridGap,
  warnGridGap,
  inheritGridGap
} = __nccwpck_require__(73398)

class GridTemplate extends Declaration {
  /**
   * Translate grid-template to separate -ms- prefixed properties
   */
  insert(decl, prefix, prefixes, result) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    if (decl.parent.some(i => i.prop === '-ms-grid-rows')) {
      return undefined
    }

    let gap = getGridGap(decl)

    /**
     * we must insert inherited gap values in some cases:
     * if we are inside media query && if we have no grid-gap value
     */
    let inheritedGap = inheritGridGap(decl, gap)

    let { rows, columns, areas } = parseTemplate({
      decl,
      gap: inheritedGap || gap
    })

    let hasAreas = Object.keys(areas).length > 0
    let hasRows = Boolean(rows)
    let hasColumns = Boolean(columns)

    warnGridGap({
      gap,
      hasColumns,
      decl,
      result
    })

    warnMissedAreas(areas, decl, result)

    if ((hasRows && hasColumns) || hasAreas) {
      decl.cloneBefore({
        prop: '-ms-grid-rows',
        value: rows,
        raws: {}
      })
    }

    if (hasColumns) {
      decl.cloneBefore({
        prop: '-ms-grid-columns',
        value: columns,
        raws: {}
      })
    }

    return decl
  }
}

GridTemplate.names = ['grid-template']

module.exports = GridTemplate


/***/ }),

/***/ 73398:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

let parser = __nccwpck_require__(19285)
let list = __nccwpck_require__(77001).list

let uniq = __nccwpck_require__(96584).uniq
let escapeRegexp = __nccwpck_require__(96584).escapeRegexp
let splitSelector = __nccwpck_require__(96584).splitSelector

function convert(value) {
  if (
    value &&
    value.length === 2 &&
    value[0] === 'span' &&
    parseInt(value[1], 10) > 0
  ) {
    return [false, parseInt(value[1], 10)]
  }

  if (value && value.length === 1 && parseInt(value[0], 10) > 0) {
    return [parseInt(value[0], 10), false]
  }

  return [false, false]
}

exports.translate = translate

function translate(values, startIndex, endIndex) {
  let startValue = values[startIndex]
  let endValue = values[endIndex]

  if (!startValue) {
    return [false, false]
  }

  let [start, spanStart] = convert(startValue)
  let [end, spanEnd] = convert(endValue)

  if (start && !endValue) {
    return [start, false]
  }

  if (spanStart && end) {
    return [end - spanStart, spanStart]
  }

  if (start && spanEnd) {
    return [start, spanEnd]
  }

  if (start && end) {
    return [start, end - start]
  }

  return [false, false]
}

exports.parse = parse

function parse(decl) {
  let node = parser(decl.value)

  let values = []
  let current = 0
  values[current] = []

  for (let i of node.nodes) {
    if (i.type === 'div') {
      current += 1
      values[current] = []
    } else if (i.type === 'word') {
      values[current].push(i.value)
    }
  }

  return values
}

exports.insertDecl = insertDecl

function insertDecl(decl, prop, value) {
  if (value && !decl.parent.some(i => i.prop === `-ms-${prop}`)) {
    decl.cloneBefore({
      prop: `-ms-${prop}`,
      value: value.toString()
    })
  }
}

// Track transforms

exports.prefixTrackProp = prefixTrackProp

function prefixTrackProp({ prop, prefix }) {
  return prefix + prop.replace('template-', '')
}

function transformRepeat({ nodes }, { gap }) {
  let { count, size } = nodes.reduce(
    (result, node) => {
      if (node.type === 'div' && node.value === ',') {
        result.key = 'size'
      } else {
        result[result.key].push(parser.stringify(node))
      }
      return result
    },
    {
      key: 'count',
      size: [],
      count: []
    }
  )

  // insert gap values
  if (gap) {
    size = size.filter(i => i.trim())
    let val = []
    for (let i = 1; i <= count; i++) {
      size.forEach((item, index) => {
        if (index > 0 || i > 1) {
          val.push(gap)
        }
        val.push(item)
      })
    }

    return val.join(' ')
  }

  return `(${size.join('')})[${count.join('')}]`
}

exports.prefixTrackValue = prefixTrackValue

function prefixTrackValue({ value, gap }) {
  let result = parser(value).nodes.reduce((nodes, node) => {
    if (node.type === 'function' && node.value === 'repeat') {
      return nodes.concat({
        type: 'word',
        value: transformRepeat(node, { gap })
      })
    }
    if (gap && node.type === 'space') {
      return nodes.concat(
        {
          type: 'space',
          value: ' '
        },
        {
          type: 'word',
          value: gap
        },
        node
      )
    }
    return nodes.concat(node)
  }, [])

  return parser.stringify(result)
}

// Parse grid-template-areas

let DOTS = /^\.+$/

function track(start, end) {
  return { start, end, span: end - start }
}

function getColumns(line) {
  return line.trim().split(/\s+/g)
}

exports.parseGridAreas = parseGridAreas

function parseGridAreas({ rows, gap }) {
  return rows.reduce((areas, line, rowIndex) => {
    if (gap.row) rowIndex *= 2

    if (line.trim() === '') return areas

    getColumns(line).forEach((area, columnIndex) => {
      if (DOTS.test(area)) return

      if (gap.column) columnIndex *= 2

      if (typeof areas[area] === 'undefined') {
        areas[area] = {
          column: track(columnIndex + 1, columnIndex + 2),
          row: track(rowIndex + 1, rowIndex + 2)
        }
      } else {
        let { column, row } = areas[area]

        column.start = Math.min(column.start, columnIndex + 1)
        column.end = Math.max(column.end, columnIndex + 2)
        column.span = column.end - column.start

        row.start = Math.min(row.start, rowIndex + 1)
        row.end = Math.max(row.end, rowIndex + 2)
        row.span = row.end - row.start
      }
    })

    return areas
  }, {})
}

// Parse grid-template

function testTrack(node) {
  return node.type === 'word' && /^\[.+]$/.test(node.value)
}

function verifyRowSize(result) {
  if (result.areas.length > result.rows.length) {
    result.rows.push('auto')
  }
  return result
}

exports.parseTemplate = parseTemplate

function parseTemplate({ decl, gap }) {
  let gridTemplate = parser(decl.value).nodes.reduce(
    (result, node) => {
      let { type, value } = node

      if (testTrack(node) || type === 'space') return result

      // area
      if (type === 'string') {
        result = verifyRowSize(result)
        result.areas.push(value)
      }

      // values and function
      if (type === 'word' || type === 'function') {
        result[result.key].push(parser.stringify(node))
      }

      // divider(/)
      if (type === 'div' && value === '/') {
        result.key = 'columns'
        result = verifyRowSize(result)
      }

      return result
    },
    {
      key: 'rows',
      columns: [],
      rows: [],
      areas: []
    }
  )

  return {
    areas: parseGridAreas({
      rows: gridTemplate.areas,
      gap
    }),
    columns: prefixTrackValue({
      value: gridTemplate.columns.join(' '),
      gap: gap.column
    }),
    rows: prefixTrackValue({
      value: gridTemplate.rows.join(' '),
      gap: gap.row
    })
  }
}

// Insert parsed grid areas

/**
 * Get an array of -ms- prefixed props and values
 * @param  {Object} [area] area object with column and row data
 * @param  {Boolean} [addRowSpan] should we add grid-column-row value?
 * @param  {Boolean} [addColumnSpan] should we add grid-column-span value?
 * @return {Array<Object>}
 */
function getMSDecls(area, addRowSpan = false, addColumnSpan = false) {
  let result = [
    {
      prop: '-ms-grid-row',
      value: String(area.row.start)
    }
  ]
  if (area.row.span > 1 || addRowSpan) {
    result.push({
      prop: '-ms-grid-row-span',
      value: String(area.row.span)
    })
  }
  result.push({
    prop: '-ms-grid-column',
    value: String(area.column.start)
  })
  if (area.column.span > 1 || addColumnSpan) {
    result.push({
      prop: '-ms-grid-column-span',
      value: String(area.column.span)
    })
  }
  return result
}

function getParentMedia(parent) {
  if (parent.type === 'atrule' && parent.name === 'media') {
    return parent
  }
  if (!parent.parent) {
    return false
  }
  return getParentMedia(parent.parent)
}

/**
 * change selectors for rules with duplicate grid-areas.
 * @param  {Array<Rule>} rules
 * @param  {Array<String>} templateSelectors
 * @return {Array<Rule>} rules with changed selectors
 */
function changeDuplicateAreaSelectors(ruleSelectors, templateSelectors) {
  ruleSelectors = ruleSelectors.map(selector => {
    let selectorBySpace = list.space(selector)
    let selectorByComma = list.comma(selector)

    if (selectorBySpace.length > selectorByComma.length) {
      selector = selectorBySpace.slice(-1).join('')
    }
    return selector
  })

  return ruleSelectors.map(ruleSelector => {
    let newSelector = templateSelectors.map((tplSelector, index) => {
      let space = index === 0 ? '' : ' '
      return `${space}${tplSelector} > ${ruleSelector}`
    })

    return newSelector
  })
}

/**
 * check if selector of rules are equal
 * @param  {Rule} ruleA
 * @param  {Rule} ruleB
 * @return {Boolean}
 */
function selectorsEqual(ruleA, ruleB) {
  return ruleA.selectors.some(sel => {
    return ruleB.selectors.includes(sel)
  })
}

/**
 * Parse data from all grid-template(-areas) declarations
 * @param  {Root} css css root
 * @return {Object} parsed data
 */
function parseGridTemplatesData(css) {
  let parsed = []

  // we walk through every grid-template(-areas) declaration and store
  // data with the same area names inside the item
  css.walkDecls(/grid-template(-areas)?$/, d => {
    let rule = d.parent
    let media = getParentMedia(rule)
    let gap = getGridGap(d)
    let inheritedGap = inheritGridGap(d, gap)
    let { areas } = parseTemplate({ decl: d, gap: inheritedGap || gap })
    let areaNames = Object.keys(areas)

    // skip node if it doesn't have areas
    if (areaNames.length === 0) {
      return true
    }

    // check parsed array for item that include the same area names
    // return index of that item
    let index = parsed.reduce((acc, { allAreas }, idx) => {
      let hasAreas = allAreas && areaNames.some(area => allAreas.includes(area))
      return hasAreas ? idx : acc
    }, null)

    if (index !== null) {
      // index is found, add the grid-template data to that item
      let { allAreas, rules } = parsed[index]

      // check if rule has no duplicate area names
      let hasNoDuplicates = rules.some(r => {
        return r.hasDuplicates === false && selectorsEqual(r, rule)
      })

      let duplicatesFound = false

      // check need to gather all duplicate area names
      let duplicateAreaNames = rules.reduce((acc, r) => {
        if (!r.params && selectorsEqual(r, rule)) {
          duplicatesFound = true
          return r.duplicateAreaNames
        }
        if (!duplicatesFound) {
          areaNames.forEach(name => {
            if (r.areas[name]) {
              acc.push(name)
            }
          })
        }
        return uniq(acc)
      }, [])

      // update grid-row/column-span values for areas with duplicate
      // area names. @see #1084 and #1146
      rules.forEach(r => {
        areaNames.forEach(name => {
          let area = r.areas[name]
          if (area && area.row.span !== areas[name].row.span) {
            areas[name].row.updateSpan = true
          }

          if (area && area.column.span !== areas[name].column.span) {
            areas[name].column.updateSpan = true
          }
        })
      })

      parsed[index].allAreas = uniq([...allAreas, ...areaNames])
      parsed[index].rules.push({
        hasDuplicates: !hasNoDuplicates,
        params: media.params,
        selectors: rule.selectors,
        node: rule,
        duplicateAreaNames,
        areas
      })
    } else {
      // index is NOT found, push the new item to the parsed array
      parsed.push({
        allAreas: areaNames,
        areasCount: 0,
        rules: [
          {
            hasDuplicates: false,
            duplicateRules: [],
            params: media.params,
            selectors: rule.selectors,
            node: rule,
            duplicateAreaNames: [],
            areas
          }
        ]
      })
    }

    return undefined
  })

  return parsed
}

/**
 * insert prefixed grid-area declarations
 * @param  {Root}  css css root
 * @param  {Function} isDisabled check if the rule is disabled
 * @return {void}
 */
exports.insertAreas = insertAreas

function insertAreas(css, isDisabled) {
  // parse grid-template declarations
  let gridTemplatesData = parseGridTemplatesData(css)

  // return undefined if no declarations found
  if (gridTemplatesData.length === 0) {
    return undefined
  }

  // we need to store the rules that we will insert later
  let rulesToInsert = {}

  css.walkDecls('grid-area', gridArea => {
    let gridAreaRule = gridArea.parent
    let hasPrefixedRow = gridAreaRule.first.prop === '-ms-grid-row'
    let gridAreaMedia = getParentMedia(gridAreaRule)

    if (isDisabled(gridArea)) {
      return undefined
    }

    let gridAreaRuleIndex = css.index(gridAreaMedia || gridAreaRule)

    let value = gridArea.value
    // found the data that matches grid-area identifier
    let data = gridTemplatesData.filter(d => d.allAreas.includes(value))[0]

    if (!data) {
      return true
    }

    let lastArea = data.allAreas[data.allAreas.length - 1]
    let selectorBySpace = list.space(gridAreaRule.selector)
    let selectorByComma = list.comma(gridAreaRule.selector)
    let selectorIsComplex =
      selectorBySpace.length > 1 &&
      selectorBySpace.length > selectorByComma.length

    // prevent doubling of prefixes
    if (hasPrefixedRow) {
      return false
    }

    // create the empty object with the key as the last area name
    // e.g if we have templates with "a b c" values, "c" will be the last area
    if (!rulesToInsert[lastArea]) {
      rulesToInsert[lastArea] = {}
    }

    let lastRuleIsSet = false

    // walk through every grid-template rule data
    for (let rule of data.rules) {
      let area = rule.areas[value]
      let hasDuplicateName = rule.duplicateAreaNames.includes(value)

      // if we can't find the area name, update lastRule and continue
      if (!area) {
        let lastRule = rulesToInsert[lastArea].lastRule
        let lastRuleIndex
        if (lastRule) {
          lastRuleIndex = css.index(lastRule)
        } else {
          /* istanbul ignore next */
          lastRuleIndex = -1
        }

        if (gridAreaRuleIndex > lastRuleIndex) {
          rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule
        }
        continue
      }

      // for grid-templates inside media rule we need to create empty
      // array to push prefixed grid-area rules later
      if (rule.params && !rulesToInsert[lastArea][rule.params]) {
        rulesToInsert[lastArea][rule.params] = []
      }

      if ((!rule.hasDuplicates || !hasDuplicateName) && !rule.params) {
        // grid-template has no duplicates and not inside media rule

        getMSDecls(area, false, false)
          .reverse()
          .forEach(i =>
            gridAreaRule.prepend(
              Object.assign(i, {
                raws: {
                  between: gridArea.raws.between
                }
              })
            )
          )

        rulesToInsert[lastArea].lastRule = gridAreaRule
        lastRuleIsSet = true
      } else if (rule.hasDuplicates && !rule.params && !selectorIsComplex) {
        // grid-template has duplicates and not inside media rule
        let cloned = gridAreaRule.clone()
        cloned.removeAll()

        getMSDecls(area, area.row.updateSpan, area.column.updateSpan)
          .reverse()
          .forEach(i =>
            cloned.prepend(
              Object.assign(i, {
                raws: {
                  between: gridArea.raws.between
                }
              })
            )
          )

        cloned.selectors = changeDuplicateAreaSelectors(
          cloned.selectors,
          rule.selectors
        )

        if (rulesToInsert[lastArea].lastRule) {
          rulesToInsert[lastArea].lastRule.after(cloned)
        }
        rulesToInsert[lastArea].lastRule = cloned
        lastRuleIsSet = true
      } else if (
        rule.hasDuplicates &&
        !rule.params &&
        selectorIsComplex &&
        gridAreaRule.selector.includes(rule.selectors[0])
      ) {
        // grid-template has duplicates and not inside media rule
        // and the selector is complex
        gridAreaRule.walkDecls(/-ms-grid-(row|column)/, d => d.remove())
        getMSDecls(area, area.row.updateSpan, area.column.updateSpan)
          .reverse()
          .forEach(i =>
            gridAreaRule.prepend(
              Object.assign(i, {
                raws: {
                  between: gridArea.raws.between
                }
              })
            )
          )
      } else if (rule.params) {
        // grid-template is inside media rule
        // if we're inside media rule, we need to store prefixed rules
        // inside rulesToInsert object to be able to preserve the order of media
        // rules and merge them easily
        let cloned = gridAreaRule.clone()
        cloned.removeAll()

        getMSDecls(area, area.row.updateSpan, area.column.updateSpan)
          .reverse()
          .forEach(i =>
            cloned.prepend(
              Object.assign(i, {
                raws: {
                  between: gridArea.raws.between
                }
              })
            )
          )

        if (rule.hasDuplicates && hasDuplicateName) {
          cloned.selectors = changeDuplicateAreaSelectors(
            cloned.selectors,
            rule.selectors
          )
        }

        cloned.raws = rule.node.raws

        if (css.index(rule.node.parent) > gridAreaRuleIndex) {
          // append the prefixed rules right inside media rule
          // with grid-template
          rule.node.parent.append(cloned)
        } else {
          // store the rule to insert later
          rulesToInsert[lastArea][rule.params].push(cloned)
        }

        // set new rule as last rule ONLY if we didn't set lastRule for
        // this grid-area before
        if (!lastRuleIsSet) {
          rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule
        }
      }
    }

    return undefined
  })

  // append stored rules inside the media rules
  Object.keys(rulesToInsert).forEach(area => {
    let data = rulesToInsert[area]
    let lastRule = data.lastRule
    Object.keys(data)
      .reverse()
      .filter(p => p !== 'lastRule')
      .forEach(params => {
        if (data[params].length > 0 && lastRule) {
          lastRule.after({ name: 'media', params })
          lastRule.next().append(data[params])
        }
      })
  })

  return undefined
}

/**
 * Warn user if grid area identifiers are not found
 * @param  {Object} areas
 * @param  {Declaration} decl
 * @param  {Result} result
 * @return {void}
 */
exports.warnMissedAreas = warnMissedAreas

function warnMissedAreas(areas, decl, result) {
  let missed = Object.keys(areas)

  decl.root().walkDecls('grid-area', gridArea => {
    missed = missed.filter(e => e !== gridArea.value)
  })

  if (missed.length > 0) {
    decl.warn(result, 'Can not find grid areas: ' + missed.join(', '))
  }

  return undefined
}

/**
 * compare selectors with grid-area rule and grid-template rule
 * show warning if grid-template selector is not found
 * (this function used for grid-area rule)
 * @param  {Declaration} decl
 * @param  {Result} result
 * @return {void}
 */
exports.warnTemplateSelectorNotFound = warnTemplateSelectorNotFound

function warnTemplateSelectorNotFound(decl, result) {
  let rule = decl.parent
  let root = decl.root()
  let duplicatesFound = false

  // slice selector array. Remove the last part (for comparison)
  let slicedSelectorArr = list
    .space(rule.selector)
    .filter(str => str !== '>')
    .slice(0, -1)

  // we need to compare only if selector is complex.
  // e.g '.grid-cell' is simple, but '.parent > .grid-cell' is complex
  if (slicedSelectorArr.length > 0) {
    let gridTemplateFound = false
    let foundAreaSelector = null

    root.walkDecls(/grid-template(-areas)?$/, d => {
      let parent = d.parent
      let templateSelectors = parent.selectors

      let { areas } = parseTemplate({ decl: d, gap: getGridGap(d) })
      let hasArea = areas[decl.value]

      // find the the matching selectors
      for (let tplSelector of templateSelectors) {
        if (gridTemplateFound) {
          break
        }
        let tplSelectorArr = list.space(tplSelector).filter(str => str !== '>')

        gridTemplateFound = tplSelectorArr.every(
          (item, idx) => item === slicedSelectorArr[idx]
        )
      }

      if (gridTemplateFound || !hasArea) {
        return true
      }

      if (!foundAreaSelector) {
        foundAreaSelector = parent.selector
      }

      // if we found the duplicate area with different selector
      if (foundAreaSelector && foundAreaSelector !== parent.selector) {
        duplicatesFound = true
      }

      return undefined
    })

    // warn user if we didn't find template
    if (!gridTemplateFound && duplicatesFound) {
      decl.warn(
        result,
        'Autoprefixer cannot find a grid-template ' +
          `containing the duplicate grid-area "${decl.value}" ` +
          `with full selector matching: ${slicedSelectorArr.join(' ')}`
      )
    }
  }
}

/**
 * warn user if both grid-area and grid-(row|column)
 * declarations are present in the same rule
 * @param  {Declaration} decl
 * @param  {Result} result
 * @return {void}
 */
exports.warnIfGridRowColumnExists = warnIfGridRowColumnExists

function warnIfGridRowColumnExists(decl, result) {
  let rule = decl.parent
  let decls = []
  rule.walkDecls(/^grid-(row|column)/, d => {
    if (
      !d.prop.endsWith('-end') &&
      !d.value.startsWith('span') &&
      !d.prop.endsWith('-gap')
    ) {
      decls.push(d)
    }
  })
  if (decls.length > 0) {
    decls.forEach(d => {
      d.warn(
        result,
        'You already have a grid-area declaration present in the rule. ' +
          `You should use either grid-area or ${d.prop}, not both`
      )
    })
  }

  return undefined
}

// Gap utils

exports.getGridGap = getGridGap

function getGridGap(decl) {
  let gap = {}

  // try to find gap
  let testGap = /^(grid-)?((row|column)-)?gap$/
  decl.parent.walkDecls(testGap, ({ prop, value }) => {
    if (/^(grid-)?gap$/.test(prop)) {
      let [row, , column] = parser(value).nodes

      gap.row = row && parser.stringify(row)
      gap.column = column ? parser.stringify(column) : gap.row
    }
    if (/^(grid-)?row-gap$/.test(prop)) gap.row = value
    if (/^(grid-)?column-gap$/.test(prop)) gap.column = value
  })

  return gap
}

/**
 * parse media parameters (for example 'min-width: 500px')
 * @param  {String} params parameter to parse
 * @return {}
 */
function parseMediaParams(params) {
  if (!params) {
    return []
  }
  let parsed = parser(params)
  let prop
  let value

  parsed.walk(node => {
    if (node.type === 'word' && /min|max/g.test(node.value)) {
      prop = node.value
    } else if (node.value.includes('px')) {
      value = parseInt(node.value.replace(/\D/g, ''))
    }
  })

  return [prop, value]
}

/**
 * Compare the selectors and decide if we
 * need to inherit gap from compared selector or not.
 * @type {String} selA
 * @type {String} selB
 * @return {Boolean}
 */
function shouldInheritGap(selA, selB) {
  let result

  // get arrays of selector split in 3-deep array
  let splitSelectorArrA = splitSelector(selA)
  let splitSelectorArrB = splitSelector(selB)

  if (splitSelectorArrA[0].length < splitSelectorArrB[0].length) {
    // abort if selectorA has lower descendant specificity then selectorB
    // (e.g '.grid' and '.hello .world .grid')
    return false
  } else if (splitSelectorArrA[0].length > splitSelectorArrB[0].length) {
    // if selectorA has higher descendant specificity then selectorB
    // (e.g '.foo .bar .grid' and '.grid')

    let idx = splitSelectorArrA[0].reduce((res, [item], index) => {
      let firstSelectorPart = splitSelectorArrB[0][0][0]
      if (item === firstSelectorPart) {
        return index
      }
      return false
    }, false)

    if (idx) {
      result = splitSelectorArrB[0].every((arr, index) => {
        return arr.every(
          (part, innerIndex) =>
            // because selectorA has more space elements, we need to slice
            // selectorA array by 'idx' number to compare them
            splitSelectorArrA[0].slice(idx)[index][innerIndex] === part
        )
      })
    }
  } else {
    // if selectorA has the same descendant specificity as selectorB
    // this condition covers cases such as: '.grid.foo.bar' and '.grid'
    result = splitSelectorArrB.some(byCommaArr => {
      return byCommaArr.every((bySpaceArr, index) => {
        return bySpaceArr.every(
          (part, innerIndex) => splitSelectorArrA[0][index][innerIndex] === part
        )
      })
    })
  }

  return result
}
/**
 * inherit grid gap values from the closest rule above
 * with the same selector
 * @param  {Declaration} decl
 * @param  {Object} gap gap values
 * @return {Object | Boolean} return gap values or false (if not found)
 */
exports.inheritGridGap = inheritGridGap

function inheritGridGap(decl, gap) {
  let rule = decl.parent
  let mediaRule = getParentMedia(rule)
  let root = rule.root()

  // get an array of selector split in 3-deep array
  let splitSelectorArr = splitSelector(rule.selector)

  // abort if the rule already has gaps
  if (Object.keys(gap).length > 0) {
    return false
  }

  // e.g ['min-width']
  let [prop] = parseMediaParams(mediaRule.params)

  let lastBySpace = splitSelectorArr[0]

  // get escaped value from the selector
  // if we have '.grid-2.foo.bar' selector, will be '\.grid\-2'
  let escaped = escapeRegexp(lastBySpace[lastBySpace.length - 1][0])

  let regexp = new RegExp(`(${escaped}$)|(${escaped}[,.])`)

  // find the closest rule with the same selector
  let closestRuleGap
  root.walkRules(regexp, r => {
    let gridGap

    // abort if are checking the same rule
    if (rule.toString() === r.toString()) {
      return false
    }

    // find grid-gap values
    r.walkDecls('grid-gap', d => (gridGap = getGridGap(d)))

    // skip rule without gaps
    if (!gridGap || Object.keys(gridGap).length === 0) {
      return true
    }

    // skip rules that should not be inherited from
    if (!shouldInheritGap(rule.selector, r.selector)) {
      return true
    }

    let media = getParentMedia(r)
    if (media) {
      // if we are inside media, we need to check that media props match
      // e.g ('min-width' === 'min-width')
      let propToCompare = parseMediaParams(media.params)[0]
      if (propToCompare === prop) {
        closestRuleGap = gridGap
        return true
      }
    } else {
      closestRuleGap = gridGap
      return true
    }

    return undefined
  })

  // if we find the closest gap object
  if (closestRuleGap && Object.keys(closestRuleGap).length > 0) {
    return closestRuleGap
  }
  return false
}

exports.warnGridGap = warnGridGap

function warnGridGap({ gap, hasColumns, decl, result }) {
  let hasBothGaps = gap.row && gap.column
  if (!hasColumns && (hasBothGaps || (gap.column && !gap.row))) {
    delete gap.column
    decl.warn(
      result,
      'Can not implement grid-gap without grid-template-columns'
    )
  }
}

/**
 * normalize the grid-template-rows/columns values
 * @param  {String} str grid-template-rows/columns value
 * @return {Array} normalized array with values
 * @example
 * let normalized = normalizeRowColumn('1fr repeat(2, 20px 50px) 1fr')
 * normalized // <= ['1fr', '20px', '50px', '20px', '50px', '1fr']
 */
function normalizeRowColumn(str) {
  let normalized = parser(str).nodes.reduce((result, node) => {
    if (node.type === 'function' && node.value === 'repeat') {
      let key = 'count'

      let [count, value] = node.nodes.reduce(
        (acc, n) => {
          if (n.type === 'word' && key === 'count') {
            acc[0] = Math.abs(parseInt(n.value))
            return acc
          }
          if (n.type === 'div' && n.value === ',') {
            key = 'value'
            return acc
          }
          if (key === 'value') {
            acc[1] += parser.stringify(n)
          }
          return acc
        },
        [0, '']
      )

      if (count) {
        for (let i = 0; i < count; i++) {
          result.push(value)
        }
      }

      return result
    }
    if (node.type === 'space') {
      return result
    }
    return result.concat(parser.stringify(node))
  }, [])

  return normalized
}

exports.autoplaceGridItems = autoplaceGridItems

/**
 * Autoplace grid items
 * @param {Declaration} decl
 * @param {Result} result
 * @param {Object} gap gap values
 * @param {String} autoflowValue grid-auto-flow value
 * @return {void}
 * @see https://github.com/postcss/autoprefixer/issues/1148
 */
function autoplaceGridItems(decl, result, gap, autoflowValue = 'row') {
  let { parent } = decl

  let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows')
  let rows = normalizeRowColumn(rowDecl.value)
  let columns = normalizeRowColumn(decl.value)

  // Build array of area names with dummy values. If we have 3 columns and
  // 2 rows, filledRows will be equal to ['1 2 3', '4 5 6']
  let filledRows = rows.map((_, rowIndex) => {
    return Array.from(
      { length: columns.length },
      (v, k) => k + rowIndex * columns.length + 1
    ).join(' ')
  })

  let areas = parseGridAreas({ rows: filledRows, gap })
  let keys = Object.keys(areas)
  let items = keys.map(i => areas[i])

  // Change the order of cells if grid-auto-flow value is 'column'
  if (autoflowValue.includes('column')) {
    items = items.sort((a, b) => a.column.start - b.column.start)
  }

  // Insert new rules
  items.reverse().forEach((item, index) => {
    let { column, row } = item
    let nodeSelector = parent.selectors
      .map(sel => sel + ` > *:nth-child(${keys.length - index})`)
      .join(', ')

    // create new rule
    let node = parent.clone().removeAll()

    // change rule selector
    node.selector = nodeSelector

    // insert prefixed row/column values
    node.append({ prop: '-ms-grid-row', value: row.start })
    node.append({ prop: '-ms-grid-column', value: column.start })

    // insert rule
    parent.after(node)
  })

  return undefined
}


/***/ }),

/***/ 27453:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class ImageRendering extends Declaration {
  /**
   * Add hack only for crisp-edges
   */
  check(decl) {
    return decl.value === 'pixelated'
  }

  /**
   * Change property name for IE
   */
  prefixed(prop, prefix) {
    if (prefix === '-ms-') {
      return '-ms-interpolation-mode'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Change property and value for IE
   */
  set(decl, prefix) {
    if (prefix !== '-ms-') return super.set(decl, prefix)
    decl.prop = '-ms-interpolation-mode'
    decl.value = 'nearest-neighbor'
    return decl
  }

  /**
   * Return property name by spec
   */
  normalize() {
    return 'image-rendering'
  }

  /**
   * Warn on old value
   */
  process(node, result) {
    return super.process(node, result)
  }
}

ImageRendering.names = ['image-rendering', 'interpolation-mode']

module.exports = ImageRendering


/***/ }),

/***/ 93812:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Value = __nccwpck_require__(52530)

class ImageSet extends Value {
  /**
   * Use non-standard name for WebKit and Firefox
   */
  replace(string, prefix) {
    let fixed = super.replace(string, prefix)
    if (prefix === '-webkit-') {
      fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2')
    }
    return fixed
  }
}

ImageSet.names = ['image-set']

module.exports = ImageSet


/***/ }),

/***/ 10330:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class InlineLogical extends Declaration {
  /**
   * Use old syntax for -moz- and -webkit-
   */
  prefixed(prop, prefix) {
    return prefix + prop.replace('-inline', '')
  }

  /**
   * Return property name by spec
   */
  normalize(prop) {
    return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2')
  }
}

InlineLogical.names = [
  'border-inline-start',
  'border-inline-end',
  'margin-inline-start',
  'margin-inline-end',
  'padding-inline-start',
  'padding-inline-end',
  'border-start',
  'border-end',
  'margin-start',
  'margin-end',
  'padding-start',
  'padding-end'
]

module.exports = InlineLogical


/***/ }),

/***/ 10325:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let OldValue = __nccwpck_require__(86029)
let Value = __nccwpck_require__(52530)

function regexp(name) {
  return new RegExp(`(^|[\\s,(])(${name}($|[\\s),]))`, 'gi')
}

class Intrinsic extends Value {
  regexp() {
    if (!this.regexpCache) this.regexpCache = regexp(this.name)
    return this.regexpCache
  }

  isStretch() {
    return (
      this.name === 'stretch' ||
      this.name === 'fill' ||
      this.name === 'fill-available'
    )
  }

  replace(string, prefix) {
    if (prefix === '-moz-' && this.isStretch()) {
      return string.replace(this.regexp(), '$1-moz-available$3')
    }
    if (prefix === '-webkit-' && this.isStretch()) {
      return string.replace(this.regexp(), '$1-webkit-fill-available$3')
    }
    return super.replace(string, prefix)
  }

  old(prefix) {
    let prefixed = prefix + this.name
    if (this.isStretch()) {
      if (prefix === '-moz-') {
        prefixed = '-moz-available'
      } else if (prefix === '-webkit-') {
        prefixed = '-webkit-fill-available'
      }
    }
    return new OldValue(this.name, prefixed, prefixed, regexp(prefixed))
  }

  add(decl, prefix) {
    if (decl.prop.includes('grid') && prefix !== '-webkit-') {
      return undefined
    }
    return super.add(decl, prefix)
  }
}

Intrinsic.names = [
  'max-content',
  'min-content',
  'fit-content',
  'fill',
  'fill-available',
  'stretch'
]

module.exports = Intrinsic


/***/ }),

/***/ 82845:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class JustifyContent extends Declaration {
  /**
   * Change property name for 2009 and 2012 specs
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2009) {
      return prefix + 'box-pack'
    }
    if (spec === 2012) {
      return prefix + 'flex-pack'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return property name by final spec
   */
  normalize() {
    return 'justify-content'
  }

  /**
   * Change value for 2009 and 2012 specs
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec === 2009 || spec === 2012) {
      let value = JustifyContent.oldValues[decl.value] || decl.value
      decl.value = value
      if (spec !== 2009 || value !== 'distribute') {
        return super.set(decl, prefix)
      }
    } else if (spec === 'final') {
      return super.set(decl, prefix)
    }
    return undefined
  }
}

JustifyContent.names = ['justify-content', 'flex-pack', 'box-pack']

JustifyContent.oldValues = {
  'flex-end': 'end',
  'flex-start': 'start',
  'space-between': 'justify',
  'space-around': 'distribute'
}

module.exports = JustifyContent


/***/ }),

/***/ 28244:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class MaskBorder extends Declaration {
  /**
   * Return property name by final spec
   */
  normalize() {
    return this.name.replace('box-image', 'border')
  }

  /**
   * Return flex property for 2012 spec
   */
  prefixed(prop, prefix) {
    let result = super.prefixed(prop, prefix)
    if (prefix === '-webkit-') {
      result = result.replace('border', 'box-image')
    }
    return result
  }
}

MaskBorder.names = [
  'mask-border',
  'mask-border-source',
  'mask-border-slice',
  'mask-border-width',
  'mask-border-outset',
  'mask-border-repeat',
  'mask-box-image',
  'mask-box-image-source',
  'mask-box-image-slice',
  'mask-box-image-width',
  'mask-box-image-outset',
  'mask-box-image-repeat'
]

module.exports = MaskBorder


/***/ }),

/***/ 67491:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class MaskComposite extends Declaration {
  /**
   * Prefix mask-composite for webkit
   */
  insert(decl, prefix, prefixes) {
    let isCompositeProp = decl.prop === 'mask-composite'

    let compositeValues

    if (isCompositeProp) {
      compositeValues = decl.value.split(',')
    } else {
      compositeValues = decl.value.match(MaskComposite.regexp) || []
    }

    compositeValues = compositeValues.map(el => el.trim()).filter(el => el)
    let hasCompositeValues = compositeValues.length

    let compositeDecl

    if (hasCompositeValues) {
      compositeDecl = this.clone(decl)
      compositeDecl.value = compositeValues
        .map(value => MaskComposite.oldValues[value] || value)
        .join(', ')

      if (compositeValues.includes('intersect')) {
        compositeDecl.value += ', xor'
      }

      compositeDecl.prop = prefix + 'mask-composite'
    }

    if (isCompositeProp) {
      if (!hasCompositeValues) {
        return undefined
      }

      if (this.needCascade(decl)) {
        compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix)
      }

      return decl.parent.insertBefore(decl, compositeDecl)
    }

    let cloned = this.clone(decl)
    cloned.prop = prefix + cloned.prop

    if (hasCompositeValues) {
      cloned.value = cloned.value.replace(MaskComposite.regexp, '')
    }

    if (this.needCascade(decl)) {
      cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
    }

    decl.parent.insertBefore(decl, cloned)

    if (!hasCompositeValues) {
      return decl
    }

    if (this.needCascade(decl)) {
      compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix)
    }
    return decl.parent.insertBefore(decl, compositeDecl)
  }
}

MaskComposite.names = ['mask', 'mask-composite']

MaskComposite.oldValues = {
  add: 'source-over',
  subtract: 'source-out',
  intersect: 'source-in',
  exclude: 'xor'
}

MaskComposite.regexp = new RegExp(
  `\\s+(${Object.keys(MaskComposite.oldValues).join(
    '|'
  )})\\b(?!\\))\\s*(?=[,])`,
  'ig'
)

module.exports = MaskComposite


/***/ }),

/***/ 72844:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let flexSpec = __nccwpck_require__(43713)
let Declaration = __nccwpck_require__(69011)

class Order extends Declaration {
  /**
   * Change property name for 2009 and 2012 specs
   */
  prefixed(prop, prefix) {
    let spec
    ;[spec, prefix] = flexSpec(prefix)
    if (spec === 2009) {
      return prefix + 'box-ordinal-group'
    }
    if (spec === 2012) {
      return prefix + 'flex-order'
    }
    return super.prefixed(prop, prefix)
  }

  /**
   * Return property name by final spec
   */
  normalize() {
    return 'order'
  }

  /**
   * Fix value for 2009 spec
   */
  set(decl, prefix) {
    let spec = flexSpec(prefix)[0]
    if (spec === 2009 && /\d/.test(decl.value)) {
      decl.value = (parseInt(decl.value) + 1).toString()
      return super.set(decl, prefix)
    }
    return super.set(decl, prefix)
  }
}

Order.names = ['order', 'flex-order', 'box-ordinal-group']

module.exports = Order


/***/ }),

/***/ 27879:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class OverscrollBehavior extends Declaration {
  /**
   * Change property name for IE
   */
  prefixed(prop, prefix) {
    return prefix + 'scroll-chaining'
  }

  /**
   * Return property name by spec
   */
  normalize() {
    return 'overscroll-behavior'
  }

  /**
   * Change value for IE
   */
  set(decl, prefix) {
    if (decl.value === 'auto') {
      decl.value = 'chained'
    } else if (decl.value === 'none' || decl.value === 'contain') {
      decl.value = 'none'
    }
    return super.set(decl, prefix)
  }
}

OverscrollBehavior.names = ['overscroll-behavior', 'scroll-chaining']

module.exports = OverscrollBehavior


/***/ }),

/***/ 99683:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let OldValue = __nccwpck_require__(86029)
let Value = __nccwpck_require__(52530)

class Pixelated extends Value {
  /**
   * Use non-standard name for WebKit and Firefox
   */
  replace(string, prefix) {
    if (prefix === '-webkit-') {
      return string.replace(this.regexp(), '$1-webkit-optimize-contrast')
    }
    if (prefix === '-moz-') {
      return string.replace(this.regexp(), '$1-moz-crisp-edges')
    }
    return super.replace(string, prefix)
  }

  /**
   * Different name for WebKit and Firefox
   */
  old(prefix) {
    if (prefix === '-webkit-') {
      return new OldValue(this.name, '-webkit-optimize-contrast')
    }
    if (prefix === '-moz-') {
      return new OldValue(this.name, '-moz-crisp-edges')
    }
    return super.old(prefix)
  }
}

Pixelated.names = ['pixelated']

module.exports = Pixelated


/***/ }),

/***/ 99178:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)
let utils = __nccwpck_require__(73398)

class PlaceSelf extends Declaration {
  /**
   * Translate place-self to separate -ms- prefixed properties
   */
  insert(decl, prefix, prefixes) {
    if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)

    // prevent doubling of prefixes
    if (decl.parent.some(i => i.prop === '-ms-grid-row-align')) {
      return undefined
    }

    let [[first, second]] = utils.parse(decl)

    if (second) {
      utils.insertDecl(decl, 'grid-row-align', first)
      utils.insertDecl(decl, 'grid-column-align', second)
    } else {
      utils.insertDecl(decl, 'grid-row-align', first)
      utils.insertDecl(decl, 'grid-column-align', first)
    }

    return undefined
  }
}

PlaceSelf.names = ['place-self']

module.exports = PlaceSelf


/***/ }),

/***/ 69392:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Selector = __nccwpck_require__(52098)

class PlaceholderShown extends Selector {
  /**
   * Return different selectors depend on prefix
   */
  prefixed(prefix) {
    if (prefix === '-ms-') {
      return ':-ms-input-placeholder'
    }
    return `:${prefix}placeholder-shown`
  }
}

PlaceholderShown.names = [':placeholder-shown']

module.exports = PlaceholderShown


/***/ }),

/***/ 66470:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Selector = __nccwpck_require__(52098)

class Placeholder extends Selector {
  /**
   * Add old mozilla to possible prefixes
   */
  possible() {
    return super.possible().concat(['-moz- old', '-ms- old'])
  }

  /**
   * Return different selectors depend on prefix
   */
  prefixed(prefix) {
    if (prefix === '-webkit-') {
      return '::-webkit-input-placeholder'
    }
    if (prefix === '-ms-') {
      return '::-ms-input-placeholder'
    }
    if (prefix === '-ms- old') {
      return ':-ms-input-placeholder'
    }
    if (prefix === '-moz- old') {
      return ':-moz-placeholder'
    }
    return `::${prefix}placeholder`
  }
}

Placeholder.names = ['::placeholder']

module.exports = Placeholder


/***/ }),

/***/ 12550:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class TextDecorationSkipInk extends Declaration {
  /**
   * Change prefix for ink value
   */
  set(decl, prefix) {
    if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') {
      decl.prop = prefix + 'text-decoration-skip'
      decl.value = 'ink'
      return decl
    } else {
      return super.set(decl, prefix)
    }
  }
}

TextDecorationSkipInk.names = [
  'text-decoration-skip-ink',
  'text-decoration-skip'
]

module.exports = TextDecorationSkipInk


/***/ }),

/***/ 43351:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

const BASIC = [
  'none',
  'underline',
  'overline',
  'line-through',
  'blink',
  'inherit',
  'initial',
  'unset'
]

class TextDecoration extends Declaration {
  /**
   * Do not add prefixes for basic values.
   */
  check(decl) {
    return decl.value.split(/\s+/).some(i => !BASIC.includes(i))
  }
}

TextDecoration.names = ['text-decoration']

module.exports = TextDecoration


/***/ }),

/***/ 60639:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class TextEmphasisPosition extends Declaration {
  set(decl, prefix) {
    if (prefix === '-webkit-') {
      decl.value = decl.value.replace(/\s*(right|left)\s*/i, '')
    }
    return super.set(decl, prefix)
  }
}

TextEmphasisPosition.names = ['text-emphasis-position']

module.exports = TextEmphasisPosition


/***/ }),

/***/ 2589:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class TransformDecl extends Declaration {
  /**
   * Recursively check all parents for @keyframes
   */
  keyframeParents(decl) {
    let { parent } = decl
    while (parent) {
      if (parent.type === 'atrule' && parent.name === 'keyframes') {
        return true
      }
      ;({ parent } = parent)
    }
    return false
  }

  /**
   * Is transform contain 3D commands
   */
  contain3d(decl) {
    if (decl.prop === 'transform-origin') {
      return false
    }

    for (let func of TransformDecl.functions3d) {
      if (decl.value.includes(`${func}(`)) {
        return true
      }
    }

    return false
  }

  /**
   * Replace rotateZ to rotate for IE 9
   */
  set(decl, prefix) {
    decl = super.set(decl, prefix)
    if (prefix === '-ms-') {
      decl.value = decl.value.replace(/rotatez/gi, 'rotate')
    }
    return decl
  }

  /**
   * Don't add prefix for IE in keyframes
   */
  insert(decl, prefix, prefixes) {
    if (prefix === '-ms-') {
      if (!this.contain3d(decl) && !this.keyframeParents(decl)) {
        return super.insert(decl, prefix, prefixes)
      }
    } else if (prefix === '-o-') {
      if (!this.contain3d(decl)) {
        return super.insert(decl, prefix, prefixes)
      }
    } else {
      return super.insert(decl, prefix, prefixes)
    }
    return undefined
  }
}

TransformDecl.names = ['transform', 'transform-origin']

TransformDecl.functions3d = [
  'matrix3d',
  'translate3d',
  'translateZ',
  'scale3d',
  'scaleZ',
  'rotate3d',
  'rotateX',
  'rotateY',
  'perspective'
]

module.exports = TransformDecl


/***/ }),

/***/ 60797:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class UserSelect extends Declaration {
  /**
   * Change prefixed value for IE
   */
  set(decl, prefix) {
    if (prefix === '-ms-' && decl.value === 'contain') {
      decl.value = 'element'
    }
    return super.set(decl, prefix)
  }

  /**
   * Avoid prefixing all in IE
   */
  insert(decl, prefix, prefixes) {
    if (decl.value === 'all' && prefix === '-ms-') {
      return undefined
    } else {
      return super.insert(decl, prefix, prefixes)
    }
  }
}

UserSelect.names = ['user-select']

module.exports = UserSelect


/***/ }),

/***/ 99051:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Declaration = __nccwpck_require__(69011)

class WritingMode extends Declaration {
  insert(decl, prefix, prefixes) {
    if (prefix === '-ms-') {
      let cloned = this.set(this.clone(decl), prefix)

      if (this.needCascade(decl)) {
        cloned.raws.before = this.calcBefore(prefixes, decl, prefix)
      }
      let direction = 'ltr'

      decl.parent.nodes.forEach(i => {
        if (i.prop === 'direction') {
          if (i.value === 'rtl' || i.value === 'ltr') direction = i.value
        }
      })

      cloned.value = WritingMode.msValues[direction][decl.value] || decl.value
      return decl.parent.insertBefore(decl, cloned)
    }

    return super.insert(decl, prefix, prefixes)
  }
}

WritingMode.names = ['writing-mode']

WritingMode.msValues = {
  ltr: {
    'horizontal-tb': 'lr-tb',
    'vertical-rl': 'tb-rl',
    'vertical-lr': 'tb-lr'
  },
  rtl: {
    'horizontal-tb': 'rl-tb',
    'vertical-rl': 'bt-rl',
    'vertical-lr': 'bt-lr'
  }
}

module.exports = WritingMode


/***/ }),

/***/ 83028:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let browserslist = __nccwpck_require__(55478)

function capitalize(str) {
  return str.slice(0, 1).toUpperCase() + str.slice(1)
}

const NAMES = {
  ie: 'IE',
  ie_mob: 'IE Mobile',
  ios_saf: 'iOS Safari',
  op_mini: 'Opera Mini',
  op_mob: 'Opera Mobile',
  and_chr: 'Chrome for Android',
  and_ff: 'Firefox for Android',
  and_uc: 'UC for Android',
  and_qq: 'QQ Browser',
  kaios: 'KaiOS Browser',
  baidu: 'Baidu Browser',
  samsung: 'Samsung Internet'
}

function prefix(name, prefixes, note) {
  let out = `  ${name}`
  if (note) out += ' *'
  out += ': '
  out += prefixes.map(i => i.replace(/^-(.*)-$/g, '$1')).join(', ')
  out += '\n'
  return out
}

module.exports = function (prefixes) {
  if (prefixes.browsers.selected.length === 0) {
    return 'No browsers selected'
  }

  let versions = {}
  for (let browser of prefixes.browsers.selected) {
    let parts = browser.split(' ')
    let name = parts[0]
    let version = parts[1]

    name = NAMES[name] || capitalize(name)
    if (versions[name]) {
      versions[name].push(version)
    } else {
      versions[name] = [version]
    }
  }

  let out = 'Browsers:\n'
  for (let browser in versions) {
    let list = versions[browser]
    list = list.sort((a, b) => parseFloat(b) - parseFloat(a))
    out += `  ${browser}: ${list.join(', ')}\n`
  }

  let coverage = browserslist.coverage(prefixes.browsers.selected)
  let round = Math.round(coverage * 100) / 100.0
  out += `\nThese browsers account for ${round}% of all users globally\n`

  let atrules = []
  for (let name in prefixes.add) {
    let data = prefixes.add[name]
    if (name[0] === '@' && data.prefixes) {
      atrules.push(prefix(name, data.prefixes))
    }
  }
  if (atrules.length > 0) {
    out += `\nAt-Rules:\n${atrules.sort().join('')}`
  }

  let selectors = []
  for (let selector of prefixes.add.selectors) {
    if (selector.prefixes) {
      selectors.push(prefix(selector.name, selector.prefixes))
    }
  }
  if (selectors.length > 0) {
    out += `\nSelectors:\n${selectors.sort().join('')}`
  }

  let values = []
  let props = []
  let hadGrid = false
  for (let name in prefixes.add) {
    let data = prefixes.add[name]
    if (name[0] !== '@' && data.prefixes) {
      let grid = name.indexOf('grid-') === 0
      if (grid) hadGrid = true
      props.push(prefix(name, data.prefixes, grid))
    }

    if (!Array.isArray(data.values)) {
      continue
    }
    for (let value of data.values) {
      let grid = value.name.includes('grid')
      if (grid) hadGrid = true
      let string = prefix(value.name, value.prefixes, grid)
      if (!values.includes(string)) {
        values.push(string)
      }
    }
  }

  if (props.length > 0) {
    out += `\nProperties:\n${props.sort().join('')}`
  }
  if (values.length > 0) {
    out += `\nValues:\n${values.sort().join('')}`
  }
  if (hadGrid) {
    out += '\n* - Prefixes will be added only on grid: true option.\n'
  }

  if (!atrules.length && !selectors.length && !props.length && !values.length) {
    out +=
      "\nAwesome! Your browsers don't require any vendor prefixes." +
      '\nNow you can remove Autoprefixer from build steps.'
  }

  return out
}


/***/ }),

/***/ 87964:
/***/ ((module) => {

class OldSelector {
  constructor(selector, prefix) {
    this.prefix = prefix
    this.prefixed = selector.prefixed(this.prefix)
    this.regexp = selector.regexp(this.prefix)

    this.prefixeds = selector
      .possible()
      .map(x => [selector.prefixed(x), selector.regexp(x)])

    this.unprefixed = selector.name
    this.nameRegexp = selector.regexp()
  }

  /**
   * Is rule a hack without unprefixed version bottom
   */
  isHack(rule) {
    let index = rule.parent.index(rule) + 1
    let rules = rule.parent.nodes

    while (index < rules.length) {
      let before = rules[index].selector
      if (!before) {
        return true
      }

      if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) {
        return false
      }

      let some = false
      for (let [string, regexp] of this.prefixeds) {
        if (before.includes(string) && before.match(regexp)) {
          some = true
          break
        }
      }

      if (!some) {
        return true
      }

      index += 1
    }

    return true
  }

  /**
   * Does rule contain an unnecessary prefixed selector
   */
  check(rule) {
    if (!rule.selector.includes(this.prefixed)) {
      return false
    }
    if (!rule.selector.match(this.regexp)) {
      return false
    }
    if (this.isHack(rule)) {
      return false
    }
    return true
  }
}

module.exports = OldSelector


/***/ }),

/***/ 86029:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let utils = __nccwpck_require__(96584)

class OldValue {
  constructor(unprefixed, prefixed, string, regexp) {
    this.unprefixed = unprefixed
    this.prefixed = prefixed
    this.string = string || prefixed
    this.regexp = regexp || utils.regexp(prefixed)
  }

  /**
   * Check, that value contain old value
   */
  check(value) {
    if (value.includes(this.string)) {
      return !!value.match(this.regexp)
    }
    return false
  }
}

module.exports = OldValue


/***/ }),

/***/ 26579:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Browsers = __nccwpck_require__(50931)
let vendor = __nccwpck_require__(62667)
let utils = __nccwpck_require__(96584)

/**
 * Recursively clone objects
 */
function clone(obj, parent) {
  let cloned = new obj.constructor()

  for (let i of Object.keys(obj || {})) {
    let value = obj[i]
    if (i === 'parent' && typeof value === 'object') {
      if (parent) {
        cloned[i] = parent
      }
    } else if (i === 'source' || i === null) {
      cloned[i] = value
    } else if (Array.isArray(value)) {
      cloned[i] = value.map(x => clone(x, cloned))
    } else if (
      i !== '_autoprefixerPrefix' &&
      i !== '_autoprefixerValues' &&
      i !== 'proxyCache'
    ) {
      if (typeof value === 'object' && value !== null) {
        value = clone(value, cloned)
      }
      cloned[i] = value
    }
  }

  return cloned
}

class Prefixer {
  /**
   * Add hack to selected names
   */
  static hack(klass) {
    if (!this.hacks) {
      this.hacks = {}
    }
    return klass.names.map(name => {
      this.hacks[name] = klass
      return this.hacks[name]
    })
  }

  /**
   * Load hacks for some names
   */
  static load(name, prefixes, all) {
    let Klass = this.hacks && this.hacks[name]
    if (Klass) {
      return new Klass(name, prefixes, all)
    } else {
      return new this(name, prefixes, all)
    }
  }

  /**
   * Clone node and clean autprefixer custom caches
   */
  static clone(node, overrides) {
    let cloned = clone(node)
    for (let name in overrides) {
      cloned[name] = overrides[name]
    }
    return cloned
  }

  constructor(name, prefixes, all) {
    this.prefixes = prefixes
    this.name = name
    this.all = all
  }

  /**
   * Find prefix in node parents
   */
  parentPrefix(node) {
    let prefix

    if (typeof node._autoprefixerPrefix !== 'undefined') {
      prefix = node._autoprefixerPrefix
    } else if (node.type === 'decl' && node.prop[0] === '-') {
      prefix = vendor.prefix(node.prop)
    } else if (node.type === 'root') {
      prefix = false
    } else if (
      node.type === 'rule' &&
      node.selector.includes(':-') &&
      /:(-\w+-)/.test(node.selector)
    ) {
      prefix = node.selector.match(/:(-\w+-)/)[1]
    } else if (node.type === 'atrule' && node.name[0] === '-') {
      prefix = vendor.prefix(node.name)
    } else {
      prefix = this.parentPrefix(node.parent)
    }

    if (!Browsers.prefixes().includes(prefix)) {
      prefix = false
    }

    node._autoprefixerPrefix = prefix

    return node._autoprefixerPrefix
  }

  /**
   * Clone node with prefixes
   */
  process(node, result) {
    if (!this.check(node)) {
      return undefined
    }

    let parent = this.parentPrefix(node)

    let prefixes = this.prefixes.filter(
      prefix => !parent || parent === utils.removeNote(prefix)
    )

    let added = []
    for (let prefix of prefixes) {
      if (this.add(node, prefix, added.concat([prefix]), result)) {
        added.push(prefix)
      }
    }

    return added
  }

  /**
   * Shortcut for Prefixer.clone
   */
  clone(node, overrides) {
    return Prefixer.clone(node, overrides)
  }
}

module.exports = Prefixer


/***/ }),

/***/ 25396:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let vendor = __nccwpck_require__(62667)
let Declaration = __nccwpck_require__(69011)
let Resolution = __nccwpck_require__(21675)
let Transition = __nccwpck_require__(20960)
let Processor = __nccwpck_require__(54108)
let Supports = __nccwpck_require__(56689)
let Browsers = __nccwpck_require__(50931)
let Selector = __nccwpck_require__(52098)
let AtRule = __nccwpck_require__(87170)
let Value = __nccwpck_require__(52530)
let utils = __nccwpck_require__(96584)
let hackFullscreen = __nccwpck_require__(55233)
let hackPlaceholder = __nccwpck_require__(66470)
let hackPlaceholderShown = __nccwpck_require__(69392)
let hackFlex = __nccwpck_require__(84190)
let hackOrder = __nccwpck_require__(72844)
let hackFilter = __nccwpck_require__(46437)
let hackGridEnd = __nccwpck_require__(6307)
let hackAnimation = __nccwpck_require__(57508)
let hackFlexFlow = __nccwpck_require__(99225)
let hackFlexGrow = __nccwpck_require__(11708)
let hackFlexWrap = __nccwpck_require__(44910)
let hackGridArea = __nccwpck_require__(85159)
let hackPlaceSelf = __nccwpck_require__(99178)
let hackGridStart = __nccwpck_require__(57526)
let hackAlignSelf = __nccwpck_require__(70119)
let hackAppearance = __nccwpck_require__(53397)
let hackFlexBasis = __nccwpck_require__(33962)
let hackMaskBorder = __nccwpck_require__(28244)
let hackMaskComposite = __nccwpck_require__(67491)
let hackAlignItems = __nccwpck_require__(92478)
let hackUserSelect = __nccwpck_require__(60797)
let hackFlexShrink = __nccwpck_require__(61945)
let hackBreakProps = __nccwpck_require__(26946)
let hackColorAdjust = __nccwpck_require__(8527)
let hackWritingMode = __nccwpck_require__(99051)
let hackBorderImage = __nccwpck_require__(92212)
let hackAlignContent = __nccwpck_require__(46788)
let hackBorderRadius = __nccwpck_require__(80189)
let hackBlockLogical = __nccwpck_require__(51447)
let hackGridTemplate = __nccwpck_require__(10304)
let hackInlineLogical = __nccwpck_require__(10330)
let hackGridRowAlign = __nccwpck_require__(85565)
let hackTransformDecl = __nccwpck_require__(2589)
let hackFlexDirection = __nccwpck_require__(58440)
let hackImageRendering = __nccwpck_require__(27453)
let hackBackdropFilter = __nccwpck_require__(46667)
let hackBackgroundClip = __nccwpck_require__(32781)
let hackTextDecoration = __nccwpck_require__(43351)
let hackJustifyContent = __nccwpck_require__(82845)
let hackBackgroundSize = __nccwpck_require__(17397)
let hackGridRowColumn = __nccwpck_require__(98041)
let hackGridRowsColumns = __nccwpck_require__(39572)
let hackGridColumnAlign = __nccwpck_require__(4621)
let hackOverscrollBehavior = __nccwpck_require__(27879)
let hackGridTemplateAreas = __nccwpck_require__(10577)
let hackTextEmphasisPosition = __nccwpck_require__(60639)
let hackTextDecorationSkipInk = __nccwpck_require__(12550)
let hackGradient = __nccwpck_require__(29864)
let hackIntrinsic = __nccwpck_require__(10325)
let hackPixelated = __nccwpck_require__(99683)
let hackImageSet = __nccwpck_require__(93812)
let hackCrossFade = __nccwpck_require__(52315)
let hackDisplayFlex = __nccwpck_require__(69470)
let hackDisplayGrid = __nccwpck_require__(35643)
let hackFilterValue = __nccwpck_require__(56122)

Selector.hack(hackFullscreen)
Selector.hack(hackPlaceholder)
Selector.hack(hackPlaceholderShown)
Declaration.hack(hackFlex)
Declaration.hack(hackOrder)
Declaration.hack(hackFilter)
Declaration.hack(hackGridEnd)
Declaration.hack(hackAnimation)
Declaration.hack(hackFlexFlow)
Declaration.hack(hackFlexGrow)
Declaration.hack(hackFlexWrap)
Declaration.hack(hackGridArea)
Declaration.hack(hackPlaceSelf)
Declaration.hack(hackGridStart)
Declaration.hack(hackAlignSelf)
Declaration.hack(hackAppearance)
Declaration.hack(hackFlexBasis)
Declaration.hack(hackMaskBorder)
Declaration.hack(hackMaskComposite)
Declaration.hack(hackAlignItems)
Declaration.hack(hackUserSelect)
Declaration.hack(hackFlexShrink)
Declaration.hack(hackBreakProps)
Declaration.hack(hackColorAdjust)
Declaration.hack(hackWritingMode)
Declaration.hack(hackBorderImage)
Declaration.hack(hackAlignContent)
Declaration.hack(hackBorderRadius)
Declaration.hack(hackBlockLogical)
Declaration.hack(hackGridTemplate)
Declaration.hack(hackInlineLogical)
Declaration.hack(hackGridRowAlign)
Declaration.hack(hackTransformDecl)
Declaration.hack(hackFlexDirection)
Declaration.hack(hackImageRendering)
Declaration.hack(hackBackdropFilter)
Declaration.hack(hackBackgroundClip)
Declaration.hack(hackTextDecoration)
Declaration.hack(hackJustifyContent)
Declaration.hack(hackBackgroundSize)
Declaration.hack(hackGridRowColumn)
Declaration.hack(hackGridRowsColumns)
Declaration.hack(hackGridColumnAlign)
Declaration.hack(hackOverscrollBehavior)
Declaration.hack(hackGridTemplateAreas)
Declaration.hack(hackTextEmphasisPosition)
Declaration.hack(hackTextDecorationSkipInk)
Value.hack(hackGradient)
Value.hack(hackIntrinsic)
Value.hack(hackPixelated)
Value.hack(hackImageSet)
Value.hack(hackCrossFade)
Value.hack(hackDisplayFlex)
Value.hack(hackDisplayGrid)
Value.hack(hackFilterValue)

let declsCache = new Map()

class Prefixes {
  constructor(data, browsers, options = {}) {
    this.data = data
    this.browsers = browsers
    this.options = options
    ;[this.add, this.remove] = this.preprocess(this.select(this.data))
    this.transition = new Transition(this)
    this.processor = new Processor(this)
  }

  /**
   * Return clone instance to remove all prefixes
   */
  cleaner() {
    if (this.cleanerCache) {
      return this.cleanerCache
    }

    if (this.browsers.selected.length) {
      let empty = new Browsers(this.browsers.data, [])
      this.cleanerCache = new Prefixes(this.data, empty, this.options)
    } else {
      return this
    }

    return this.cleanerCache
  }

  /**
   * Select prefixes from data, which is necessary for selected browsers
   */
  select(list) {
    let selected = { add: {}, remove: {} }

    for (let name in list) {
      let data = list[name]
      let add = data.browsers.map(i => {
        let params = i.split(' ')
        return {
          browser: `${params[0]} ${params[1]}`,
          note: params[2]
        }
      })

      let notes = add
        .filter(i => i.note)
        .map(i => `${this.browsers.prefix(i.browser)} ${i.note}`)
      notes = utils.uniq(notes)

      add = add
        .filter(i => this.browsers.isSelected(i.browser))
        .map(i => {
          let prefix = this.browsers.prefix(i.browser)
          if (i.note) {
            return `${prefix} ${i.note}`
          } else {
            return prefix
          }
        })
      add = this.sort(utils.uniq(add))

      if (this.options.flexbox === 'no-2009') {
        add = add.filter(i => !i.includes('2009'))
      }

      let all = data.browsers.map(i => this.browsers.prefix(i))
      if (data.mistakes) {
        all = all.concat(data.mistakes)
      }
      all = all.concat(notes)
      all = utils.uniq(all)

      if (add.length) {
        selected.add[name] = add
        if (add.length < all.length) {
          selected.remove[name] = all.filter(i => !add.includes(i))
        }
      } else {
        selected.remove[name] = all
      }
    }

    return selected
  }

  /**
   * Sort vendor prefixes
   */
  sort(prefixes) {
    return prefixes.sort((a, b) => {
      let aLength = utils.removeNote(a).length
      let bLength = utils.removeNote(b).length

      if (aLength === bLength) {
        return b.length - a.length
      } else {
        return bLength - aLength
      }
    })
  }

  /**
   * Cache prefixes data to fast CSS processing
   */
  preprocess(selected) {
    let add = {
      'selectors': [],
      '@supports': new Supports(Prefixes, this)
    }
    for (let name in selected.add) {
      let prefixes = selected.add[name]
      if (name === '@keyframes' || name === '@viewport') {
        add[name] = new AtRule(name, prefixes, this)
      } else if (name === '@resolution') {
        add[name] = new Resolution(name, prefixes, this)
      } else if (this.data[name].selector) {
        add.selectors.push(Selector.load(name, prefixes, this))
      } else {
        let props = this.data[name].props

        if (props) {
          let value = Value.load(name, prefixes, this)
          for (let prop of props) {
            if (!add[prop]) {
              add[prop] = { values: [] }
            }
            add[prop].values.push(value)
          }
        } else {
          let values = (add[name] && add[name].values) || []
          add[name] = Declaration.load(name, prefixes, this)
          add[name].values = values
        }
      }
    }

    let remove = { selectors: [] }
    for (let name in selected.remove) {
      let prefixes = selected.remove[name]
      if (this.data[name].selector) {
        let selector = Selector.load(name, prefixes)
        for (let prefix of prefixes) {
          remove.selectors.push(selector.old(prefix))
        }
      } else if (name === '@keyframes' || name === '@viewport') {
        for (let prefix of prefixes) {
          let prefixed = `@${prefix}${name.slice(1)}`
          remove[prefixed] = { remove: true }
        }
      } else if (name === '@resolution') {
        remove[name] = new Resolution(name, prefixes, this)
      } else {
        let props = this.data[name].props
        if (props) {
          let value = Value.load(name, [], this)
          for (let prefix of prefixes) {
            let old = value.old(prefix)
            if (old) {
              for (let prop of props) {
                if (!remove[prop]) {
                  remove[prop] = {}
                }
                if (!remove[prop].values) {
                  remove[prop].values = []
                }
                remove[prop].values.push(old)
              }
            }
          }
        } else {
          for (let p of prefixes) {
            let olds = this.decl(name).old(name, p)
            if (name === 'align-self') {
              let a = add[name] && add[name].prefixes
              if (a) {
                if (p === '-webkit- 2009' && a.includes('-webkit-')) {
                  continue
                } else if (p === '-webkit-' && a.includes('-webkit- 2009')) {
                  continue
                }
              }
            }
            for (let prefixed of olds) {
              if (!remove[prefixed]) {
                remove[prefixed] = {}
              }
              remove[prefixed].remove = true
            }
          }
        }
      }
    }

    return [add, remove]
  }

  /**
   * Declaration loader with caching
   */
  decl(prop) {
    if (!declsCache.has(prop)) {
      declsCache.set(prop, Declaration.load(prop))
    }

    return declsCache.get(prop)
  }

  /**
   * Return unprefixed version of property
   */
  unprefixed(prop) {
    let value = this.normalize(vendor.unprefixed(prop))
    if (value === 'flex-direction') {
      value = 'flex-flow'
    }
    return value
  }

  /**
   * Normalize prefix for remover
   */
  normalize(prop) {
    return this.decl(prop).normalize(prop)
  }

  /**
   * Return prefixed version of property
   */
  prefixed(prop, prefix) {
    prop = vendor.unprefixed(prop)
    return this.decl(prop).prefixed(prop, prefix)
  }

  /**
   * Return values, which must be prefixed in selected property
   */
  values(type, prop) {
    let data = this[type]

    let global = data['*'] && data['*'].values
    let values = data[prop] && data[prop].values

    if (global && values) {
      return utils.uniq(global.concat(values))
    } else {
      return global || values || []
    }
  }

  /**
   * Group declaration by unprefixed property to check them
   */
  group(decl) {
    let rule = decl.parent
    let index = rule.index(decl)
    let { length } = rule.nodes
    let unprefixed = this.unprefixed(decl.prop)

    let checker = (step, callback) => {
      index += step
      while (index >= 0 && index < length) {
        let other = rule.nodes[index]
        if (other.type === 'decl') {
          if (step === -1 && other.prop === unprefixed) {
            if (!Browsers.withPrefix(other.value)) {
              break
            }
          }

          if (this.unprefixed(other.prop) !== unprefixed) {
            break
          } else if (callback(other) === true) {
            return true
          }

          if (step === +1 && other.prop === unprefixed) {
            if (!Browsers.withPrefix(other.value)) {
              break
            }
          }
        }

        index += step
      }
      return false
    }

    return {
      up(callback) {
        return checker(-1, callback)
      },
      down(callback) {
        return checker(+1, callback)
      }
    }
  }
}

module.exports = Prefixes


/***/ }),

/***/ 54108:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let parser = __nccwpck_require__(19285)

let Value = __nccwpck_require__(52530)
let insertAreas = __nccwpck_require__(73398).insertAreas

const OLD_LINEAR = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i
const OLD_RADIAL = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i
const IGNORE_NEXT = /(!\s*)?autoprefixer:\s*ignore\s+next/i
const GRID_REGEX = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i

const SIZES = [
  'width',
  'height',
  'min-width',
  'max-width',
  'min-height',
  'max-height',
  'inline-size',
  'min-inline-size',
  'max-inline-size',
  'block-size',
  'min-block-size',
  'max-block-size'
]

function hasGridTemplate(decl) {
  return decl.parent.some(
    i => i.prop === 'grid-template' || i.prop === 'grid-template-areas'
  )
}

function hasRowsAndColumns(decl) {
  let hasRows = decl.parent.some(i => i.prop === 'grid-template-rows')
  let hasColumns = decl.parent.some(i => i.prop === 'grid-template-columns')
  return hasRows && hasColumns
}

class Processor {
  constructor(prefixes) {
    this.prefixes = prefixes
  }

  /**
   * Add necessary prefixes
   */
  add(css, result) {
    // At-rules
    let resolution = this.prefixes.add['@resolution']
    let keyframes = this.prefixes.add['@keyframes']
    let viewport = this.prefixes.add['@viewport']
    let supports = this.prefixes.add['@supports']

    css.walkAtRules(rule => {
      if (rule.name === 'keyframes') {
        if (!this.disabled(rule, result)) {
          return keyframes && keyframes.process(rule)
        }
      } else if (rule.name === 'viewport') {
        if (!this.disabled(rule, result)) {
          return viewport && viewport.process(rule)
        }
      } else if (rule.name === 'supports') {
        if (
          this.prefixes.options.supports !== false &&
          !this.disabled(rule, result)
        ) {
          return supports.process(rule)
        }
      } else if (rule.name === 'media' && rule.params.includes('-resolution')) {
        if (!this.disabled(rule, result)) {
          return resolution && resolution.process(rule)
        }
      }

      return undefined
    })

    // Selectors
    css.walkRules(rule => {
      if (this.disabled(rule, result)) return undefined

      return this.prefixes.add.selectors.map(selector => {
        return selector.process(rule, result)
      })
    })

    function insideGrid(decl) {
      return decl.parent.nodes.some(node => {
        if (node.type !== 'decl') return false
        let displayGrid =
          node.prop === 'display' && /(inline-)?grid/.test(node.value)
        let gridTemplate = node.prop.startsWith('grid-template')
        let gridGap = /^grid-([A-z]+-)?gap/.test(node.prop)
        return displayGrid || gridTemplate || gridGap
      })
    }
    function insideFlex(decl) {
      return decl.parent.some(node => {
        return node.prop === 'display' && /(inline-)?flex/.test(node.value)
      })
    }

    let gridPrefixes =
      this.gridStatus(css, result) &&
      this.prefixes.add['grid-area'] &&
      this.prefixes.add['grid-area'].prefixes

    css.walkDecls(decl => {
      if (this.disabledDecl(decl, result)) return undefined

      let parent = decl.parent
      let prop = decl.prop
      let value = decl.value

      if (prop === 'grid-row-span') {
        result.warn(
          'grid-row-span is not part of final Grid Layout. Use grid-row.',
          { node: decl }
        )
        return undefined
      } else if (prop === 'grid-column-span') {
        result.warn(
          'grid-column-span is not part of final Grid Layout. Use grid-column.',
          { node: decl }
        )
        return undefined
      } else if (prop === 'display' && value === 'box') {
        result.warn(
          'You should write display: flex by final spec ' +
            'instead of display: box',
          { node: decl }
        )
        return undefined
      } else if (prop === 'text-emphasis-position') {
        if (value === 'under' || value === 'over') {
          result.warn(
            'You should use 2 values for text-emphasis-position ' +
              'For example, `under left` instead of just `under`.',
            { node: decl }
          )
        }
      } else if (
        /^(align|justify|place)-(items|content)$/.test(prop) &&
        insideFlex(decl)
      ) {
        if (value === 'start' || value === 'end') {
          result.warn(
            `${value} value has mixed support, consider using ` +
              `flex-${value} instead`,
            { node: decl }
          )
        }
      } else if (prop === 'text-decoration-skip' && value === 'ink') {
        result.warn(
          'Replace text-decoration-skip: ink to ' +
            'text-decoration-skip-ink: auto, because spec had been changed',
          { node: decl }
        )
      } else {
        if (gridPrefixes && this.gridStatus(decl, result)) {
          if (decl.value === 'subgrid') {
            result.warn('IE does not support subgrid', { node: decl })
          }
          if (/^(align|justify|place)-items$/.test(prop) && insideGrid(decl)) {
            let fixed = prop.replace('-items', '-self')
            result.warn(
              `IE does not support ${prop} on grid containers. ` +
                `Try using ${fixed} on child elements instead: ` +
                `${decl.parent.selector} > * { ${fixed}: ${decl.value} }`,
              { node: decl }
            )
          } else if (
            /^(align|justify|place)-content$/.test(prop) &&
            insideGrid(decl)
          ) {
            result.warn(`IE does not support ${decl.prop} on grid containers`, {
              node: decl
            })
          } else if (prop === 'display' && decl.value === 'contents') {
            result.warn(
              'Please do not use display: contents; ' +
                'if you have grid setting enabled',
              { node: decl }
            )
            return undefined
          } else if (decl.prop === 'grid-gap') {
            let status = this.gridStatus(decl, result)
            if (
              status === 'autoplace' &&
              !hasRowsAndColumns(decl) &&
              !hasGridTemplate(decl)
            ) {
              result.warn(
                'grid-gap only works if grid-template(-areas) is being ' +
                  'used or both rows and columns have been declared ' +
                  'and cells have not been manually ' +
                  'placed inside the explicit grid',
                { node: decl }
              )
            } else if (
              (status === true || status === 'no-autoplace') &&
              !hasGridTemplate(decl)
            ) {
              result.warn(
                'grid-gap only works if grid-template(-areas) is being used',
                { node: decl }
              )
            }
          } else if (prop === 'grid-auto-columns') {
            result.warn('grid-auto-columns is not supported by IE', {
              node: decl
            })
            return undefined
          } else if (prop === 'grid-auto-rows') {
            result.warn('grid-auto-rows is not supported by IE', { node: decl })
            return undefined
          } else if (prop === 'grid-auto-flow') {
            let hasRows = parent.some(i => i.prop === 'grid-template-rows')
            let hasCols = parent.some(i => i.prop === 'grid-template-columns')

            if (hasGridTemplate(decl)) {
              result.warn('grid-auto-flow is not supported by IE', {
                node: decl
              })
            } else if (value.includes('dense')) {
              result.warn('grid-auto-flow: dense is not supported by IE', {
                node: decl
              })
            } else if (!hasRows && !hasCols) {
              result.warn(
                'grid-auto-flow works only if grid-template-rows and ' +
                  'grid-template-columns are present in the same rule',
                { node: decl }
              )
            }
            return undefined
          } else if (value.includes('auto-fit')) {
            result.warn('auto-fit value is not supported by IE', {
              node: decl,
              word: 'auto-fit'
            })
            return undefined
          } else if (value.includes('auto-fill')) {
            result.warn('auto-fill value is not supported by IE', {
              node: decl,
              word: 'auto-fill'
            })
            return undefined
          } else if (prop.startsWith('grid-template') && value.includes('[')) {
            result.warn(
              'Autoprefixer currently does not support line names. ' +
                'Try using grid-template-areas instead.',
              { node: decl, word: '[' }
            )
          }
        }
        if (value.includes('radial-gradient')) {
          if (OLD_RADIAL.test(decl.value)) {
            result.warn(
              'Gradient has outdated direction syntax. ' +
                'New syntax is like `closest-side at 0 0` ' +
                'instead of `0 0, closest-side`.',
              { node: decl }
            )
          } else {
            let ast = parser(value)

            for (let i of ast.nodes) {
              if (i.type === 'function' && i.value === 'radial-gradient') {
                for (let word of i.nodes) {
                  if (word.type === 'word') {
                    if (word.value === 'cover') {
                      result.warn(
                        'Gradient has outdated direction syntax. ' +
                          'Replace `cover` to `farthest-corner`.',
                        { node: decl }
                      )
                    } else if (word.value === 'contain') {
                      result.warn(
                        'Gradient has outdated direction syntax. ' +
                          'Replace `contain` to `closest-side`.',
                        { node: decl }
                      )
                    }
                  }
                }
              }
            }
          }
        }
        if (value.includes('linear-gradient')) {
          if (OLD_LINEAR.test(value)) {
            result.warn(
              'Gradient has outdated direction syntax. ' +
                'New syntax is like `to left` instead of `right`.',
              { node: decl }
            )
          }
        }
      }

      if (SIZES.includes(decl.prop)) {
        if (!decl.value.includes('-fill-available')) {
          if (decl.value.includes('fill-available')) {
            result.warn(
              'Replace fill-available to stretch, ' +
                'because spec had been changed',
              { node: decl }
            )
          } else if (decl.value.includes('fill')) {
            let ast = parser(value)
            if (ast.nodes.some(i => i.type === 'word' && i.value === 'fill')) {
              result.warn(
                'Replace fill to stretch, because spec had been changed',
                { node: decl }
              )
            }
          }
        }
      }

      let prefixer

      if (decl.prop === 'transition' || decl.prop === 'transition-property') {
        // Transition
        return this.prefixes.transition.add(decl, result)
      } else if (decl.prop === 'align-self') {
        // align-self flexbox or grid
        let display = this.displayType(decl)
        if (display !== 'grid' && this.prefixes.options.flexbox !== false) {
          prefixer = this.prefixes.add['align-self']
          if (prefixer && prefixer.prefixes) {
            prefixer.process(decl)
          }
        }
        if (this.gridStatus(decl, result) !== false) {
          prefixer = this.prefixes.add['grid-row-align']
          if (prefixer && prefixer.prefixes) {
            return prefixer.process(decl, result)
          }
        }
      } else if (decl.prop === 'justify-self') {
        // justify-self flexbox or grid
        if (this.gridStatus(decl, result) !== false) {
          prefixer = this.prefixes.add['grid-column-align']
          if (prefixer && prefixer.prefixes) {
            return prefixer.process(decl, result)
          }
        }
      } else if (decl.prop === 'place-self') {
        prefixer = this.prefixes.add['place-self']
        if (
          prefixer &&
          prefixer.prefixes &&
          this.gridStatus(decl, result) !== false
        ) {
          return prefixer.process(decl, result)
        }
      } else {
        // Properties
        prefixer = this.prefixes.add[decl.prop]
        if (prefixer && prefixer.prefixes) {
          return prefixer.process(decl, result)
        }
      }

      return undefined
    })

    // Insert grid-area prefixes. We need to be able to store the different
    // rules as a data and hack API is not enough for this
    if (this.gridStatus(css, result)) {
      insertAreas(css, this.disabled)
    }

    // Values
    return css.walkDecls(decl => {
      if (this.disabledValue(decl, result)) return

      let unprefixed = this.prefixes.unprefixed(decl.prop)
      let list = this.prefixes.values('add', unprefixed)
      if (Array.isArray(list)) {
        for (let value of list) {
          if (value.process) value.process(decl, result)
        }
      }
      Value.save(this.prefixes, decl)
    })
  }

  /**
   * Remove unnecessary pefixes
   */
  remove(css, result) {
    // At-rules
    let resolution = this.prefixes.remove['@resolution']

    css.walkAtRules((rule, i) => {
      if (this.prefixes.remove[`@${rule.name}`]) {
        if (!this.disabled(rule, result)) {
          rule.parent.removeChild(i)
        }
      } else if (
        rule.name === 'media' &&
        rule.params.includes('-resolution') &&
        resolution
      ) {
        resolution.clean(rule)
      }
    })

    // Selectors
    for (let checker of this.prefixes.remove.selectors) {
      css.walkRules((rule, i) => {
        if (checker.check(rule)) {
          if (!this.disabled(rule, result)) {
            rule.parent.removeChild(i)
          }
        }
      })
    }

    return css.walkDecls((decl, i) => {
      if (this.disabled(decl, result)) return

      let rule = decl.parent
      let unprefixed = this.prefixes.unprefixed(decl.prop)

      // Transition
      if (decl.prop === 'transition' || decl.prop === 'transition-property') {
        this.prefixes.transition.remove(decl)
      }

      // Properties
      if (
        this.prefixes.remove[decl.prop] &&
        this.prefixes.remove[decl.prop].remove
      ) {
        let notHack = this.prefixes.group(decl).down(other => {
          return this.prefixes.normalize(other.prop) === unprefixed
        })

        if (unprefixed === 'flex-flow') {
          notHack = true
        }

        if (decl.prop === '-webkit-box-orient') {
          let hacks = { 'flex-direction': true, 'flex-flow': true }
          if (!decl.parent.some(j => hacks[j.prop])) return
        }

        if (notHack && !this.withHackValue(decl)) {
          if (decl.raw('before').includes('\n')) {
            this.reduceSpaces(decl)
          }
          rule.removeChild(i)
          return
        }
      }

      // Values
      for (let checker of this.prefixes.values('remove', unprefixed)) {
        if (!checker.check) continue
        if (!checker.check(decl.value)) continue

        unprefixed = checker.unprefixed
        let notHack = this.prefixes.group(decl).down(other => {
          return other.value.includes(unprefixed)
        })

        if (notHack) {
          rule.removeChild(i)
          return
        }
      }
    })
  }

  /**
   * Some rare old values, which is not in standard
   */
  withHackValue(decl) {
    return decl.prop === '-webkit-background-clip' && decl.value === 'text'
  }

  /**
   * Check for grid/flexbox options.
   */
  disabledValue(node, result) {
    if (this.gridStatus(node, result) === false && node.type === 'decl') {
      if (node.prop === 'display' && node.value.includes('grid')) {
        return true
      }
    }
    if (this.prefixes.options.flexbox === false && node.type === 'decl') {
      if (node.prop === 'display' && node.value.includes('flex')) {
        return true
      }
    }

    return this.disabled(node, result)
  }

  /**
   * Check for grid/flexbox options.
   */
  disabledDecl(node, result) {
    if (this.gridStatus(node, result) === false && node.type === 'decl') {
      if (node.prop.includes('grid') || node.prop === 'justify-items') {
        return true
      }
    }
    if (this.prefixes.options.flexbox === false && node.type === 'decl') {
      let other = ['order', 'justify-content', 'align-items', 'align-content']
      if (node.prop.includes('flex') || other.includes(node.prop)) {
        return true
      }
    }

    return this.disabled(node, result)
  }

  /**
   * Check for control comment and global options
   */
  disabled(node, result) {
    if (!node) return false

    if (node._autoprefixerDisabled !== undefined) {
      return node._autoprefixerDisabled
    }

    if (node.parent) {
      let p = node.prev()
      if (p && p.type === 'comment' && IGNORE_NEXT.test(p.text)) {
        node._autoprefixerDisabled = true
        node._autoprefixerSelfDisabled = true
        return true
      }
    }

    let value = null
    if (node.nodes) {
      let status
      node.each(i => {
        if (i.type !== 'comment') return
        if (/(!\s*)?autoprefixer:\s*(off|on)/i.test(i.text)) {
          if (typeof status !== 'undefined') {
            result.warn(
              'Second Autoprefixer control comment ' +
                'was ignored. Autoprefixer applies control ' +
                'comment to whole block, not to next rules.',
              { node: i }
            )
          } else {
            status = /on/i.test(i.text)
          }
        }
      })

      if (status !== undefined) {
        value = !status
      }
    }
    if (!node.nodes || value === null) {
      if (node.parent) {
        let isParentDisabled = this.disabled(node.parent, result)
        if (node.parent._autoprefixerSelfDisabled === true) {
          value = false
        } else {
          value = isParentDisabled
        }
      } else {
        value = false
      }
    }
    node._autoprefixerDisabled = value
    return value
  }

  /**
   * Normalize spaces in cascade declaration group
   */
  reduceSpaces(decl) {
    let stop = false
    this.prefixes.group(decl).up(() => {
      stop = true
      return true
    })
    if (stop) {
      return
    }

    let parts = decl.raw('before').split('\n')
    let prevMin = parts[parts.length - 1].length
    let diff = false

    this.prefixes.group(decl).down(other => {
      parts = other.raw('before').split('\n')
      let last = parts.length - 1

      if (parts[last].length > prevMin) {
        if (diff === false) {
          diff = parts[last].length - prevMin
        }

        parts[last] = parts[last].slice(0, -diff)
        other.raws.before = parts.join('\n')
      }
    })
  }

  /**
   * Is it flebox or grid rule
   */
  displayType(decl) {
    for (let i of decl.parent.nodes) {
      if (i.prop !== 'display') {
        continue
      }

      if (i.value.includes('flex')) {
        return 'flex'
      }

      if (i.value.includes('grid')) {
        return 'grid'
      }
    }

    return false
  }

  /**
   * Set grid option via control comment
   */
  gridStatus(node, result) {
    if (!node) return false

    if (node._autoprefixerGridStatus !== undefined) {
      return node._autoprefixerGridStatus
    }

    let value = null
    if (node.nodes) {
      let status
      node.each(i => {
        if (i.type !== 'comment') return
        if (GRID_REGEX.test(i.text)) {
          let hasAutoplace = /:\s*autoplace/i.test(i.text)
          let noAutoplace = /no-autoplace/i.test(i.text)
          if (typeof status !== 'undefined') {
            result.warn(
              'Second Autoprefixer grid control comment was ' +
                'ignored. Autoprefixer applies control comments to the whole ' +
                'block, not to the next rules.',
              { node: i }
            )
          } else if (hasAutoplace) {
            status = 'autoplace'
          } else if (noAutoplace) {
            status = true
          } else {
            status = /on/i.test(i.text)
          }
        }
      })

      if (status !== undefined) {
        value = status
      }
    }

    if (node.type === 'atrule' && node.name === 'supports') {
      let params = node.params
      if (params.includes('grid') && params.includes('auto')) {
        value = false
      }
    }

    if (!node.nodes || value === null) {
      if (node.parent) {
        let isParentGrid = this.gridStatus(node.parent, result)
        if (node.parent._autoprefixerSelfDisabled === true) {
          value = false
        } else {
          value = isParentGrid
        }
      } else if (typeof this.prefixes.options.grid !== 'undefined') {
        value = this.prefixes.options.grid
      } else if (typeof process.env.AUTOPREFIXER_GRID !== 'undefined') {
        if (process.env.AUTOPREFIXER_GRID === 'autoplace') {
          value = 'autoplace'
        } else {
          value = true
        }
      } else {
        value = false
      }
    }

    node._autoprefixerGridStatus = value
    return value
  }
}

module.exports = Processor


/***/ }),

/***/ 21675:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let FractionJs = __nccwpck_require__(85729)

let Prefixer = __nccwpck_require__(26579)
let utils = __nccwpck_require__(96584)

const REGEXP = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi
const SPLIT = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i

class Resolution extends Prefixer {
  /**
   * Return prefixed query name
   */
  prefixName(prefix, name) {
    if (prefix === '-moz-') {
      return name + '--moz-device-pixel-ratio'
    } else {
      return prefix + name + '-device-pixel-ratio'
    }
  }

  /**
   * Return prefixed query
   */
  prefixQuery(prefix, name, colon, value, units) {
    value = new FractionJs(value)

    // 1dpcm = 2.54dpi
    // 1dppx = 96dpi
    if (units === 'dpi') {
      value = value.div(96)
    } else if (units === 'dpcm') {
      value = value.mul(2.54).div(96)
    }
    value = value.simplify()

    if (prefix === '-o-') {
      value = value.n + '/' + value.d
    }
    return this.prefixName(prefix, name) + colon + value
  }

  /**
   * Remove prefixed queries
   */
  clean(rule) {
    if (!this.bad) {
      this.bad = []
      for (let prefix of this.prefixes) {
        this.bad.push(this.prefixName(prefix, 'min'))
        this.bad.push(this.prefixName(prefix, 'max'))
      }
    }

    rule.params = utils.editList(rule.params, queries => {
      return queries.filter(query => this.bad.every(i => !query.includes(i)))
    })
  }

  /**
   * Add prefixed queries
   */
  process(rule) {
    let parent = this.parentPrefix(rule)
    let prefixes = parent ? [parent] : this.prefixes

    rule.params = utils.editList(rule.params, (origin, prefixed) => {
      for (let query of origin) {
        if (
          !query.includes('min-resolution') &&
          !query.includes('max-resolution')
        ) {
          prefixed.push(query)
          continue
        }

        for (let prefix of prefixes) {
          let processed = query.replace(REGEXP, str => {
            let parts = str.match(SPLIT)
            return this.prefixQuery(
              prefix,
              parts[1],
              parts[2],
              parts[3],
              parts[4]
            )
          })
          prefixed.push(processed)
        }
        prefixed.push(query)
      }

      return utils.uniq(prefixed)
    })
  }
}

module.exports = Resolution


/***/ }),

/***/ 52098:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let { list } = __nccwpck_require__(77001)

let OldSelector = __nccwpck_require__(87964)
let Prefixer = __nccwpck_require__(26579)
let Browsers = __nccwpck_require__(50931)
let utils = __nccwpck_require__(96584)

class Selector extends Prefixer {
  constructor(name, prefixes, all) {
    super(name, prefixes, all)
    this.regexpCache = new Map()
  }

  /**
   * Is rule selectors need to be prefixed
   */
  check(rule) {
    if (rule.selector.includes(this.name)) {
      return !!rule.selector.match(this.regexp())
    }

    return false
  }

  /**
   * Return prefixed version of selector
   */
  prefixed(prefix) {
    return this.name.replace(/^(\W*)/, `$1${prefix}`)
  }

  /**
   * Lazy loadRegExp for name
   */
  regexp(prefix) {
    if (!this.regexpCache.has(prefix)) {
      let name = prefix ? this.prefixed(prefix) : this.name
      this.regexpCache.set(
        prefix,
        new RegExp(`(^|[^:"'=])${utils.escapeRegexp(name)}`, 'gi')
      )
    }

    return this.regexpCache.get(prefix)
  }

  /**
   * All possible prefixes
   */
  possible() {
    return Browsers.prefixes()
  }

  /**
   * Return all possible selector prefixes
   */
  prefixeds(rule) {
    if (rule._autoprefixerPrefixeds) {
      if (rule._autoprefixerPrefixeds[this.name]) {
        return rule._autoprefixerPrefixeds
      }
    } else {
      rule._autoprefixerPrefixeds = {}
    }

    let prefixeds = {}
    if (rule.selector.includes(',')) {
      let ruleParts = list.comma(rule.selector)
      let toProcess = ruleParts.filter(el => el.includes(this.name))

      for (let prefix of this.possible()) {
        prefixeds[prefix] = toProcess
          .map(el => this.replace(el, prefix))
          .join(', ')
      }
    } else {
      for (let prefix of this.possible()) {
        prefixeds[prefix] = this.replace(rule.selector, prefix)
      }
    }

    rule._autoprefixerPrefixeds[this.name] = prefixeds
    return rule._autoprefixerPrefixeds
  }

  /**
   * Is rule already prefixed before
   */
  already(rule, prefixeds, prefix) {
    let index = rule.parent.index(rule) - 1

    while (index >= 0) {
      let before = rule.parent.nodes[index]

      if (before.type !== 'rule') {
        return false
      }

      let some = false
      for (let key in prefixeds[this.name]) {
        let prefixed = prefixeds[this.name][key]
        if (before.selector === prefixed) {
          if (prefix === key) {
            return true
          } else {
            some = true
            break
          }
        }
      }
      if (!some) {
        return false
      }

      index -= 1
    }

    return false
  }

  /**
   * Replace selectors by prefixed one
   */
  replace(selector, prefix) {
    return selector.replace(this.regexp(), `$1${this.prefixed(prefix)}`)
  }

  /**
   * Clone and add prefixes for at-rule
   */
  add(rule, prefix) {
    let prefixeds = this.prefixeds(rule)

    if (this.already(rule, prefixeds, prefix)) {
      return
    }

    let cloned = this.clone(rule, { selector: prefixeds[this.name][prefix] })
    rule.parent.insertBefore(rule, cloned)
  }

  /**
   * Return function to fast find prefixed selector
   */
  old(prefix) {
    return new OldSelector(this, prefix)
  }
}

module.exports = Selector


/***/ }),

/***/ 56689:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let featureQueries = __nccwpck_require__(53231)
let { feature } = __nccwpck_require__(64006)
let { parse } = __nccwpck_require__(77001)

let Browsers = __nccwpck_require__(50931)
let brackets = __nccwpck_require__(59137)
let Value = __nccwpck_require__(52530)
let utils = __nccwpck_require__(96584)

let data = feature(featureQueries)

let supported = []
for (let browser in data.stats) {
  let versions = data.stats[browser]
  for (let version in versions) {
    let support = versions[version]
    if (/y/.test(support)) {
      supported.push(browser + ' ' + version)
    }
  }
}

class Supports {
  constructor(Prefixes, all) {
    this.Prefixes = Prefixes
    this.all = all
  }

  /**
   * Return prefixer only with @supports supported browsers
   */
  prefixer() {
    if (this.prefixerCache) {
      return this.prefixerCache
    }

    let filtered = this.all.browsers.selected.filter(i => {
      return supported.includes(i)
    })

    let browsers = new Browsers(
      this.all.browsers.data,
      filtered,
      this.all.options
    )
    this.prefixerCache = new this.Prefixes(
      this.all.data,
      browsers,
      this.all.options
    )
    return this.prefixerCache
  }

  /**
   * Parse string into declaration property and value
   */
  parse(str) {
    let parts = str.split(':')
    let prop = parts[0]
    let value = parts[1]
    if (!value) value = ''
    return [prop.trim(), value.trim()]
  }

  /**
   * Create virtual rule to process it by prefixer
   */
  virtual(str) {
    let [prop, value] = this.parse(str)
    let rule = parse('a{}').first
    rule.append({ prop, value, raws: { before: '' } })
    return rule
  }

  /**
   * Return array of Declaration with all necessary prefixes
   */
  prefixed(str) {
    let rule = this.virtual(str)
    if (this.disabled(rule.first)) {
      return rule.nodes
    }

    let result = { warn: () => null }

    let prefixer = this.prefixer().add[rule.first.prop]
    prefixer && prefixer.process && prefixer.process(rule.first, result)

    for (let decl of rule.nodes) {
      for (let value of this.prefixer().values('add', rule.first.prop)) {
        value.process(decl)
      }
      Value.save(this.all, decl)
    }

    return rule.nodes
  }

  /**
   * Return true if brackets node is "not" word
   */
  isNot(node) {
    return typeof node === 'string' && /not\s*/i.test(node)
  }

  /**
   * Return true if brackets node is "or" word
   */
  isOr(node) {
    return typeof node === 'string' && /\s*or\s*/i.test(node)
  }

  /**
   * Return true if brackets node is (prop: value)
   */
  isProp(node) {
    return (
      typeof node === 'object' &&
      node.length === 1 &&
      typeof node[0] === 'string'
    )
  }

  /**
   * Return true if prefixed property has no unprefixed
   */
  isHack(all, unprefixed) {
    let check = new RegExp(`(\\(|\\s)${utils.escapeRegexp(unprefixed)}:`)
    return !check.test(all)
  }

  /**
   * Return true if we need to remove node
   */
  toRemove(str, all) {
    let [prop, value] = this.parse(str)
    let unprefixed = this.all.unprefixed(prop)

    let cleaner = this.all.cleaner()

    if (
      cleaner.remove[prop] &&
      cleaner.remove[prop].remove &&
      !this.isHack(all, unprefixed)
    ) {
      return true
    }

    for (let checker of cleaner.values('remove', unprefixed)) {
      if (checker.check(value)) {
        return true
      }
    }

    return false
  }

  /**
   * Remove all unnecessary prefixes
   */
  remove(nodes, all) {
    let i = 0
    while (i < nodes.length) {
      if (
        !this.isNot(nodes[i - 1]) &&
        this.isProp(nodes[i]) &&
        this.isOr(nodes[i + 1])
      ) {
        if (this.toRemove(nodes[i][0], all)) {
          nodes.splice(i, 2)
          continue
        }

        i += 2
        continue
      }

      if (typeof nodes[i] === 'object') {
        nodes[i] = this.remove(nodes[i], all)
      }

      i += 1
    }
    return nodes
  }

  /**
   * Clean brackets with one child
   */
  cleanBrackets(nodes) {
    return nodes.map(i => {
      if (typeof i !== 'object') {
        return i
      }

      if (i.length === 1 && typeof i[0] === 'object') {
        return this.cleanBrackets(i[0])
      }

      return this.cleanBrackets(i)
    })
  }

  /**
   * Add " or " between properties and convert it to brackets format
   */
  convert(progress) {
    let result = ['']
    for (let i of progress) {
      result.push([`${i.prop}: ${i.value}`])
      result.push(' or ')
    }
    result[result.length - 1] = ''
    return result
  }

  /**
   * Compress value functions into a string nodes
   */
  normalize(nodes) {
    if (typeof nodes !== 'object') {
      return nodes
    }

    nodes = nodes.filter(i => i !== '')

    if (typeof nodes[0] === 'string') {
      let firstNode = nodes[0].trim()

      if (
        firstNode.includes(':') ||
        firstNode === 'selector' ||
        firstNode === 'not selector'
      ) {
        return [brackets.stringify(nodes)]
      }
    }
    return nodes.map(i => this.normalize(i))
  }

  /**
   * Add prefixes
   */
  add(nodes, all) {
    return nodes.map(i => {
      if (this.isProp(i)) {
        let prefixed = this.prefixed(i[0])
        if (prefixed.length > 1) {
          return this.convert(prefixed)
        }

        return i
      }

      if (typeof i === 'object') {
        return this.add(i, all)
      }

      return i
    })
  }

  /**
   * Add prefixed declaration
   */
  process(rule) {
    let ast = brackets.parse(rule.params)
    ast = this.normalize(ast)
    ast = this.remove(ast, rule.params)
    ast = this.add(ast, rule.params)
    ast = this.cleanBrackets(ast)
    rule.params = brackets.stringify(ast)
  }

  /**
   * Check global options
   */
  disabled(node) {
    if (!this.all.options.grid) {
      if (node.prop === 'display' && node.value.includes('grid')) {
        return true
      }
      if (node.prop.includes('grid') || node.prop === 'justify-items') {
        return true
      }
    }

    if (this.all.options.flexbox === false) {
      if (node.prop === 'display' && node.value.includes('flex')) {
        return true
      }
      let other = ['order', 'justify-content', 'align-items', 'align-content']
      if (node.prop.includes('flex') || other.includes(node.prop)) {
        return true
      }
    }

    return false
  }
}

module.exports = Supports


/***/ }),

/***/ 20960:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let { list } = __nccwpck_require__(77001)
let parser = __nccwpck_require__(19285)

let Browsers = __nccwpck_require__(50931)
let vendor = __nccwpck_require__(62667)

class Transition {
  constructor(prefixes) {
    this.props = ['transition', 'transition-property']
    this.prefixes = prefixes
  }

  /**
   * Process transition and add prefixes for all necessary properties
   */
  add(decl, result) {
    let prefix, prop
    let add = this.prefixes.add[decl.prop]
    let vendorPrefixes = this.ruleVendorPrefixes(decl)
    let declPrefixes = vendorPrefixes || (add && add.prefixes) || []

    let params = this.parse(decl.value)
    let names = params.map(i => this.findProp(i))
    let added = []

    if (names.some(i => i[0] === '-')) {
      return
    }

    for (let param of params) {
      prop = this.findProp(param)
      if (prop[0] === '-') continue

      let prefixer = this.prefixes.add[prop]
      if (!prefixer || !prefixer.prefixes) continue

      for (prefix of prefixer.prefixes) {
        if (vendorPrefixes && !vendorPrefixes.some(p => prefix.includes(p))) {
          continue
        }

        let prefixed = this.prefixes.prefixed(prop, prefix)
        if (prefixed !== '-ms-transform' && !names.includes(prefixed)) {
          if (!this.disabled(prop, prefix)) {
            added.push(this.clone(prop, prefixed, param))
          }
        }
      }
    }

    params = params.concat(added)
    let value = this.stringify(params)

    let webkitClean = this.stringify(
      this.cleanFromUnprefixed(params, '-webkit-')
    )
    if (declPrefixes.includes('-webkit-')) {
      this.cloneBefore(decl, `-webkit-${decl.prop}`, webkitClean)
    }
    this.cloneBefore(decl, decl.prop, webkitClean)
    if (declPrefixes.includes('-o-')) {
      let operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-'))
      this.cloneBefore(decl, `-o-${decl.prop}`, operaClean)
    }

    for (prefix of declPrefixes) {
      if (prefix !== '-webkit-' && prefix !== '-o-') {
        let prefixValue = this.stringify(
          this.cleanOtherPrefixes(params, prefix)
        )
        this.cloneBefore(decl, prefix + decl.prop, prefixValue)
      }
    }

    if (value !== decl.value && !this.already(decl, decl.prop, value)) {
      this.checkForWarning(result, decl)
      decl.cloneBefore()
      decl.value = value
    }
  }

  /**
   * Find property name
   */
  findProp(param) {
    let prop = param[0].value
    if (/^\d/.test(prop)) {
      for (let [i, token] of param.entries()) {
        if (i !== 0 && token.type === 'word') {
          return token.value
        }
      }
    }
    return prop
  }

  /**
   * Does we already have this declaration
   */
  already(decl, prop, value) {
    return decl.parent.some(i => i.prop === prop && i.value === value)
  }

  /**
   * Add declaration if it is not exist
   */
  cloneBefore(decl, prop, value) {
    if (!this.already(decl, prop, value)) {
      decl.cloneBefore({ prop, value })
    }
  }

  /**
   * Show transition-property warning
   */
  checkForWarning(result, decl) {
    if (decl.prop !== 'transition-property') {
      return
    }

    let isPrefixed = false
    let hasAssociatedProp = false

    decl.parent.each(i => {
      if (i.type !== 'decl') {
        return undefined
      }
      if (i.prop.indexOf('transition-') !== 0) {
        return undefined
      }
      let values = list.comma(i.value)
      // check if current Rule's transition-property comma separated value list needs prefixes
      if (i.prop === 'transition-property') {
        values.forEach(value => {
          let lookup = this.prefixes.add[value]
          if (lookup && lookup.prefixes && lookup.prefixes.length > 0) {
            isPrefixed = true
          }
        })
        return undefined
      }
      // check if another transition-* prop in current Rule has comma separated value list
      hasAssociatedProp = hasAssociatedProp || values.length > 1
      return false
    })

    if (isPrefixed && hasAssociatedProp) {
      decl.warn(
        result,
        'Replace transition-property to transition, ' +
          'because Autoprefixer could not support ' +
          'any cases of transition-property ' +
          'and other transition-*'
      )
    }
  }

  /**
   * Process transition and remove all unnecessary properties
   */
  remove(decl) {
    let params = this.parse(decl.value)
    params = params.filter(i => {
      let prop = this.prefixes.remove[this.findProp(i)]
      return !prop || !prop.remove
    })
    let value = this.stringify(params)

    if (decl.value === value) {
      return
    }

    if (params.length === 0) {
      decl.remove()
      return
    }

    let double = decl.parent.some(i => {
      return i.prop === decl.prop && i.value === value
    })
    let smaller = decl.parent.some(i => {
      return i !== decl && i.prop === decl.prop && i.value.length > value.length
    })

    if (double || smaller) {
      decl.remove()
      return
    }

    decl.value = value
  }

  /**
   * Parse properties list to array
   */
  parse(value) {
    let ast = parser(value)
    let result = []
    let param = []
    for (let node of ast.nodes) {
      param.push(node)
      if (node.type === 'div' && node.value === ',') {
        result.push(param)
        param = []
      }
    }
    result.push(param)
    return result.filter(i => i.length > 0)
  }

  /**
   * Return properties string from array
   */
  stringify(params) {
    if (params.length === 0) {
      return ''
    }
    let nodes = []
    for (let param of params) {
      if (param[param.length - 1].type !== 'div') {
        param.push(this.div(params))
      }
      nodes = nodes.concat(param)
    }
    if (nodes[0].type === 'div') {
      nodes = nodes.slice(1)
    }
    if (nodes[nodes.length - 1].type === 'div') {
      nodes = nodes.slice(0, +-2 + 1 || 0)
    }
    return parser.stringify({ nodes })
  }

  /**
   * Return new param array with different name
   */
  clone(origin, name, param) {
    let result = []
    let changed = false
    for (let i of param) {
      if (!changed && i.type === 'word' && i.value === origin) {
        result.push({ type: 'word', value: name })
        changed = true
      } else {
        result.push(i)
      }
    }
    return result
  }

  /**
   * Find or create separator
   */
  div(params) {
    for (let param of params) {
      for (let node of param) {
        if (node.type === 'div' && node.value === ',') {
          return node
        }
      }
    }
    return { type: 'div', value: ',', after: ' ' }
  }

  cleanOtherPrefixes(params, prefix) {
    return params.filter(param => {
      let current = vendor.prefix(this.findProp(param))
      return current === '' || current === prefix
    })
  }

  /**
   * Remove all non-webkit prefixes and unprefixed params if we have prefixed
   */
  cleanFromUnprefixed(params, prefix) {
    let remove = params
      .map(i => this.findProp(i))
      .filter(i => i.slice(0, prefix.length) === prefix)
      .map(i => this.prefixes.unprefixed(i))

    let result = []
    for (let param of params) {
      let prop = this.findProp(param)
      let p = vendor.prefix(prop)
      if (!remove.includes(prop) && (p === prefix || p === '')) {
        result.push(param)
      }
    }
    return result
  }

  /**
   * Check property for disabled by option
   */
  disabled(prop, prefix) {
    let other = ['order', 'justify-content', 'align-self', 'align-content']
    if (prop.includes('flex') || other.includes(prop)) {
      if (this.prefixes.options.flexbox === false) {
        return true
      }

      if (this.prefixes.options.flexbox === 'no-2009') {
        return prefix.includes('2009')
      }
    }
    return undefined
  }

  /**
   * Check if transition prop is inside vendor specific rule
   */
  ruleVendorPrefixes(decl) {
    let { parent } = decl

    if (parent.type !== 'rule') {
      return false
    } else if (!parent.selector.includes(':-')) {
      return false
    }

    let selectors = Browsers.prefixes().filter(s =>
      parent.selector.includes(':' + s)
    )

    return selectors.length > 0 ? selectors : false
  }
}

module.exports = Transition


/***/ }),

/***/ 96584:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let { list } = __nccwpck_require__(77001)

/**
 * Throw special error, to tell beniary,
 * that this error is from Autoprefixer.
 */
module.exports.error = function (text) {
  let err = new Error(text)
  err.autoprefixer = true
  throw err
}

/**
 * Return array, that doesn’t contain duplicates.
 */
module.exports.uniq = function (array) {
  return [...new Set(array)]
}

/**
 * Return "-webkit-" on "-webkit- old"
 */
module.exports.removeNote = function (string) {
  if (!string.includes(' ')) {
    return string
  }

  return string.split(' ')[0]
}

/**
 * Escape RegExp symbols
 */
module.exports.escapeRegexp = function (string) {
  return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&')
}

/**
 * Return regexp to check, that CSS string contain word
 */
module.exports.regexp = function (word, escape = true) {
  if (escape) {
    word = this.escapeRegexp(word)
  }
  return new RegExp(`(^|[\\s,(])(${word}($|[\\s(,]))`, 'gi')
}

/**
 * Change comma list
 */
module.exports.editList = function (value, callback) {
  let origin = list.comma(value)
  let changed = callback(origin, [])

  if (origin === changed) {
    return value
  }

  let join = value.match(/,\s*/)
  join = join ? join[0] : ', '
  return changed.join(join)
}

/**
 * Split the selector into parts.
 * It returns 3 level deep array because selectors can be comma
 * separated (1), space separated (2), and combined (3)
 * @param {String} selector selector string
 * @return {Array<Array<Array>>} 3 level deep array of split selector
 * @see utils.test.js for examples
 */
module.exports.splitSelector = function (selector) {
  return list.comma(selector).map(i => {
    return list.space(i).map(k => {
      return k.split(/(?=\.|#)/g)
    })
  })
}


/***/ }),

/***/ 52530:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

let Prefixer = __nccwpck_require__(26579)
let OldValue = __nccwpck_require__(86029)
let vendor = __nccwpck_require__(62667)
let utils = __nccwpck_require__(96584)

class Value extends Prefixer {
  /**
   * Clone decl for each prefixed values
   */
  static save(prefixes, decl) {
    let prop = decl.prop
    let result = []

    for (let prefix in decl._autoprefixerValues) {
      let value = decl._autoprefixerValues[prefix]

      if (value === decl.value) {
        continue
      }

      let item
      let propPrefix = vendor.prefix(prop)

      if (propPrefix === '-pie-') {
        continue
      }

      if (propPrefix === prefix) {
        item = decl.value = value
        result.push(item)
        continue
      }

      let prefixed = prefixes.prefixed(prop, prefix)
      let rule = decl.parent

      if (!rule.every(i => i.prop !== prefixed)) {
        result.push(item)
        continue
      }

      let trimmed = value.replace(/\s+/, ' ')
      let already = rule.some(
        i => i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed
      )

      if (already) {
        result.push(item)
        continue
      }

      let cloned = this.clone(decl, { value })
      item = decl.parent.insertBefore(decl, cloned)

      result.push(item)
    }

    return result
  }

  /**
   * Is declaration need to be prefixed
   */
  check(decl) {
    let value = decl.value
    if (!value.includes(this.name)) {
      return false
    }

    return !!value.match(this.regexp())
  }

  /**
   * Lazy regexp loading
   */
  regexp() {
    return this.regexpCache || (this.regexpCache = utils.regexp(this.name))
  }

  /**
   * Add prefix to values in string
   */
  replace(string, prefix) {
    return string.replace(this.regexp(), `$1${prefix}$2`)
  }

  /**
   * Get value with comments if it was not changed
   */
  value(decl) {
    if (decl.raws.value && decl.raws.value.value === decl.value) {
      return decl.raws.value.raw
    } else {
      return decl.value
    }
  }

  /**
   * Save values with next prefixed token
   */
  add(decl, prefix) {
    if (!decl._autoprefixerValues) {
      decl._autoprefixerValues = {}
    }
    let value = decl._autoprefixerValues[prefix] || this.value(decl)

    let before
    do {
      before = value
      value = this.replace(value, prefix)
      if (value === false) return
    } while (value !== before)

    decl._autoprefixerValues[prefix] = value
  }

  /**
   * Return function to fast find prefixed value
   */
  old(prefix) {
    return new OldValue(this.name, prefix + this.name)
  }
}

module.exports = Value


/***/ }),

/***/ 62667:
/***/ ((module) => {

module.exports = {
  prefix(prop) {
    let match = prop.match(/^(-\w+-)/)
    if (match) {
      return match[0]
    }

    return ''
  },

  unprefixed(prop) {
    return prop.replace(/^-\w+-/, '')
  }
}


/***/ }),

/***/ 44159:
/***/ ((module) => {

module.exports = {
	trueFunc: function trueFunc(){
		return true;
	},
	falseFunc: function falseFunc(){
		return false;
	}
};

/***/ }),

/***/ 92498:
/***/ ((module) => {

function BrowserslistError (message) {
  this.name = 'BrowserslistError'
  this.message = message
  this.browserslist = true
  if (Error.captureStackTrace) {
    Error.captureStackTrace(this, BrowserslistError)
  }
}

BrowserslistError.prototype = Error.prototype

module.exports = BrowserslistError


/***/ }),

/***/ 55478:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var jsReleases = __nccwpck_require__(83835)
var agents = __nccwpck_require__(87462).agents
var jsEOL = __nccwpck_require__(85659)
var path = __nccwpck_require__(85622)
var e2c = __nccwpck_require__(46719)

var BrowserslistError = __nccwpck_require__(92498)
var env = __nccwpck_require__(20486) // Will load browser.js in webpack

var YEAR = 365.259641 * 24 * 60 * 60 * 1000
var ANDROID_EVERGREEN_FIRST = 37

var QUERY_OR = 1
var QUERY_AND = 2

function isVersionsMatch (versionA, versionB) {
  return (versionA + '.').indexOf(versionB + '.') === 0
}

function isEolReleased (name) {
  var version = name.slice(1)
  return jsReleases.some(function (i) {
    return isVersionsMatch(i.version, version)
  })
}

function normalize (versions) {
  return versions.filter(function (version) {
    return typeof version === 'string'
  })
}

function normalizeElectron (version) {
  var versionToUse = version
  if (version.split('.').length === 3) {
    versionToUse = version
      .split('.')
      .slice(0, -1)
      .join('.')
  }
  return versionToUse
}

function nameMapper (name) {
  return function mapName (version) {
    return name + ' ' + version
  }
}

function getMajor (version) {
  return parseInt(version.split('.')[0])
}

function getMajorVersions (released, number) {
  if (released.length === 0) return []
  var majorVersions = uniq(released.map(getMajor))
  var minimum = majorVersions[majorVersions.length - number]
  if (!minimum) {
    return released
  }
  var selected = []
  for (var i = released.length - 1; i >= 0; i--) {
    if (minimum > getMajor(released[i])) break
    selected.unshift(released[i])
  }
  return selected
}

function uniq (array) {
  var filtered = []
  for (var i = 0; i < array.length; i++) {
    if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])
  }
  return filtered
}

// Helpers

function fillUsage (result, name, data) {
  for (var i in data) {
    result[name + ' ' + i] = data[i]
  }
}

function generateFilter (sign, version) {
  version = parseFloat(version)
  if (sign === '>') {
    return function (v) {
      return parseFloat(v) > version
    }
  } else if (sign === '>=') {
    return function (v) {
      return parseFloat(v) >= version
    }
  } else if (sign === '<') {
    return function (v) {
      return parseFloat(v) < version
    }
  } else {
    return function (v) {
      return parseFloat(v) <= version
    }
  }
}

function generateSemverFilter (sign, version) {
  version = version.split('.').map(parseSimpleInt)
  version[1] = version[1] || 0
  version[2] = version[2] || 0
  if (sign === '>') {
    return function (v) {
      v = v.split('.').map(parseSimpleInt)
      return compareSemver(v, version) > 0
    }
  } else if (sign === '>=') {
    return function (v) {
      v = v.split('.').map(parseSimpleInt)
      return compareSemver(v, version) >= 0
    }
  } else if (sign === '<') {
    return function (v) {
      v = v.split('.').map(parseSimpleInt)
      return compareSemver(version, v) > 0
    }
  } else {
    return function (v) {
      v = v.split('.').map(parseSimpleInt)
      return compareSemver(version, v) >= 0
    }
  }
}

function parseSimpleInt (x) {
  return parseInt(x)
}

function compare (a, b) {
  if (a < b) return -1
  if (a > b) return +1
  return 0
}

function compareSemver (a, b) {
  return (
    compare(parseInt(a[0]), parseInt(b[0])) ||
    compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||
    compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))
  )
}

// this follows the npm-like semver behavior
function semverFilterLoose (operator, range) {
  range = range.split('.').map(parseSimpleInt)
  if (typeof range[1] === 'undefined') {
    range[1] = 'x'
  }
  // ignore any patch version because we only return minor versions
  // range[2] = 'x'
  switch (operator) {
    case '<=':
      return function (version) {
        version = version.split('.').map(parseSimpleInt)
        return compareSemverLoose(version, range) <= 0
      }
    default:
    case '>=':
      return function (version) {
        version = version.split('.').map(parseSimpleInt)
        return compareSemverLoose(version, range) >= 0
      }
  }
}

// this follows the npm-like semver behavior
function compareSemverLoose (version, range) {
  if (version[0] !== range[0]) {
    return version[0] < range[0] ? -1 : +1
  }
  if (range[1] === 'x') {
    return 0
  }
  if (version[1] !== range[1]) {
    return version[1] < range[1] ? -1 : +1
  }
  return 0
}

function resolveVersion (data, version) {
  if (data.versions.indexOf(version) !== -1) {
    return version
  } else if (browserslist.versionAliases[data.name][version]) {
    return browserslist.versionAliases[data.name][version]
  } else {
    return false
  }
}

function normalizeVersion (data, version) {
  var resolved = resolveVersion(data, version)
  if (resolved) {
    return resolved
  } else if (data.versions.length === 1) {
    return data.versions[0]
  } else {
    return false
  }
}

function filterByYear (since, context) {
  since = since / 1000
  return Object.keys(agents).reduce(function (selected, name) {
    var data = byName(name, context)
    if (!data) return selected
    var versions = Object.keys(data.releaseDate).filter(function (v) {
      return data.releaseDate[v] >= since
    })
    return selected.concat(versions.map(nameMapper(data.name)))
  }, [])
}

function cloneData (data) {
  return {
    name: data.name,
    versions: data.versions,
    released: data.released,
    releaseDate: data.releaseDate
  }
}

function mapVersions (data, map) {
  data.versions = data.versions.map(function (i) {
    return map[i] || i
  })
  data.released = data.versions.map(function (i) {
    return map[i] || i
  })
  var fixedDate = { }
  for (var i in data.releaseDate) {
    fixedDate[map[i] || i] = data.releaseDate[i]
  }
  data.releaseDate = fixedDate
  return data
}

function byName (name, context) {
  name = name.toLowerCase()
  name = browserslist.aliases[name] || name
  if (context.mobileToDesktop && browserslist.desktopNames[name]) {
    var desktop = browserslist.data[browserslist.desktopNames[name]]
    if (name === 'android') {
      return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)
    } else {
      var cloned = cloneData(desktop)
      cloned.name = name
      if (name === 'op_mob') {
        cloned = mapVersions(cloned, { '10.0-10.1': '10' })
      }
      return cloned
    }
  }
  return browserslist.data[name]
}

function normalizeAndroidVersions (androidVersions, chromeVersions) {
  var firstEvergreen = ANDROID_EVERGREEN_FIRST
  var last = chromeVersions[chromeVersions.length - 1]
  return androidVersions
    .filter(function (version) { return /^(?:[2-4]\.|[34]$)/.test(version) })
    .concat(chromeVersions.slice(firstEvergreen - last - 1))
}

function normalizeAndroidData (android, chrome) {
  android.released = normalizeAndroidVersions(android.released, chrome.released)
  android.versions = normalizeAndroidVersions(android.versions, chrome.versions)
  return android
}

function checkName (name, context) {
  var data = byName(name, context)
  if (!data) throw new BrowserslistError('Unknown browser ' + name)
  return data
}

function unknownQuery (query) {
  return new BrowserslistError(
    'Unknown browser query `' + query + '`. ' +
    'Maybe you are using old Browserslist or made typo in query.'
  )
}

function filterAndroid (list, versions, context) {
  if (context.mobileToDesktop) return list
  var released = browserslist.data.android.released
  var last = released[released.length - 1]
  var diff = last - ANDROID_EVERGREEN_FIRST - versions
  if (diff > 0) {
    return list.slice(-1)
  } else {
    return list.slice(diff - 1)
  }
}

/**
 * Resolves queries into a browser list.
 * @param {string|string[]} queries Queries to combine.
 * Either an array of queries or a long string of queries.
 * @param {object} [context] Optional arguments to
 * the select function in `queries`.
 * @returns {string[]} A list of browsers
 */
function resolve (queries, context) {
  if (Array.isArray(queries)) {
    queries = flatten(queries.map(parse))
  } else {
    queries = parse(queries)
  }

  return queries.reduce(function (result, query, index) {
    var selection = query.queryString

    var isExclude = selection.indexOf('not ') === 0
    if (isExclude) {
      if (index === 0) {
        throw new BrowserslistError(
          'Write any browsers query (for instance, `defaults`) ' +
          'before `' + selection + '`')
      }
      selection = selection.slice(4)
    }

    for (var i = 0; i < QUERIES.length; i++) {
      var type = QUERIES[i]
      var match = selection.match(type.regexp)
      if (match) {
        var args = [context].concat(match.slice(1))
        var array = type.select.apply(browserslist, args).map(function (j) {
          var parts = j.split(' ')
          if (parts[1] === '0') {
            return parts[0] + ' ' + byName(parts[0], context).versions[0]
          } else {
            return j
          }
        })

        switch (query.type) {
          case QUERY_AND:
            if (isExclude) {
              return result.filter(function (j) {
                return array.indexOf(j) === -1
              })
            } else {
              return result.filter(function (j) {
                return array.indexOf(j) !== -1
              })
            }
          case QUERY_OR:
          default:
            if (isExclude) {
              var filter = { }
              array.forEach(function (j) {
                filter[j] = true
              })
              return result.filter(function (j) {
                return !filter[j]
              })
            }
            return result.concat(array)
        }
      }
    }

    throw unknownQuery(selection)
  }, [])
}

var cache = { }

/**
 * Return array of browsers by selection queries.
 *
 * @param {(string|string[])} [queries=browserslist.defaults] Browser queries.
 * @param {object} [opts] Options.
 * @param {string} [opts.path="."] Path to processed file.
 *                                 It will be used to find config files.
 * @param {string} [opts.env="production"] Processing environment.
 *                                         It will be used to take right
 *                                         queries from config file.
 * @param {string} [opts.config] Path to config file with queries.
 * @param {object} [opts.stats] Custom browser usage statistics
 *                              for "> 1% in my stats" query.
 * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown
 *                                                     version in direct query.
 * @param {boolean} [opts.dangerousExtend] Disable security checks
 *                                         for extend query.
 * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop
 *                                         version when Can I Use doesn't have
 *                                         data about the specified version.
 * @returns {string[]} Array with browser names in Can I Use.
 *
 * @example
 * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8']
 */
function browserslist (queries, opts) {
  if (typeof opts === 'undefined') opts = { }

  if (typeof opts.path === 'undefined') {
    opts.path = path.resolve ? path.resolve('.') : '.'
  }

  if (typeof queries === 'undefined' || queries === null) {
    var config = browserslist.loadConfig(opts)
    if (config) {
      queries = config
    } else {
      queries = browserslist.defaults
    }
  }

  if (!(typeof queries === 'string' || Array.isArray(queries))) {
    throw new BrowserslistError(
      'Browser queries must be an array or string. Got ' + typeof queries + '.')
  }

  var context = {
    ignoreUnknownVersions: opts.ignoreUnknownVersions,
    dangerousExtend: opts.dangerousExtend,
    mobileToDesktop: opts.mobileToDesktop,
    path: opts.path,
    env: opts.env
  }

  env.oldDataWarning(browserslist.data)
  var stats = env.getStat(opts, browserslist.data)
  if (stats) {
    context.customUsage = { }
    for (var browser in stats) {
      fillUsage(context.customUsage, browser, stats[browser])
    }
  }

  var cacheKey = JSON.stringify([queries, context])
  if (cache[cacheKey]) return cache[cacheKey]

  var result = uniq(resolve(queries, context)).sort(function (name1, name2) {
    name1 = name1.split(' ')
    name2 = name2.split(' ')
    if (name1[0] === name2[0]) {
      // assumptions on caniuse data
      // 1) version ranges never overlaps
      // 2) if version is not a range, it never contains `-`
      var version1 = name1[1].split('-')[0]
      var version2 = name2[1].split('-')[0]
      return compareSemver(version2.split('.'), version1.split('.'))
    } else {
      return compare(name1[0], name2[0])
    }
  })
  if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
    cache[cacheKey] = result
  }
  return result
}

function parse (queries) {
  var qs = []
  do {
    queries = doMatch(queries, qs)
  } while (queries)
  return qs
}

function doMatch (string, qs) {
  var or = /^(?:,\s*|\s+or\s+)(.*)/i
  var and = /^\s+and\s+(.*)/i

  return find(string, function (parsed, n, max) {
    if (and.test(parsed)) {
      qs.unshift({ type: QUERY_AND, queryString: parsed.match(and)[1] })
      return true
    } else if (or.test(parsed)) {
      qs.unshift({ type: QUERY_OR, queryString: parsed.match(or)[1] })
      return true
    } else if (n === max) {
      qs.unshift({ type: QUERY_OR, queryString: parsed.trim() })
      return true
    }
    return false
  })
}

function find (string, predicate) {
  for (var n = 1, max = string.length; n <= max; n++) {
    var parsed = string.substr(-n, n)
    if (predicate(parsed, n, max)) {
      return string.slice(0, -n)
    }
  }
  return ''
}

function flatten (array) {
  if (!Array.isArray(array)) return [array]
  return array.reduce(function (a, b) {
    return a.concat(flatten(b))
  }, [])
}

// Will be filled by Can I Use data below
browserslist.cache = { }
browserslist.data = { }
browserslist.usage = {
  global: { },
  custom: null
}

// Default browsers query
browserslist.defaults = [
  '> 0.5%',
  'last 2 versions',
  'Firefox ESR',
  'not dead'
]

// Browser names aliases
browserslist.aliases = {
  fx: 'firefox',
  ff: 'firefox',
  ios: 'ios_saf',
  explorer: 'ie',
  blackberry: 'bb',
  explorermobile: 'ie_mob',
  operamini: 'op_mini',
  operamobile: 'op_mob',
  chromeandroid: 'and_chr',
  firefoxandroid: 'and_ff',
  ucandroid: 'and_uc',
  qqandroid: 'and_qq'
}

// Can I Use only provides a few versions for some browsers (e.g. and_chr).
// Fallback to a similar browser for unknown versions
browserslist.desktopNames = {
  and_chr: 'chrome',
  and_ff: 'firefox',
  ie_mob: 'ie',
  op_mob: 'opera',
  android: 'chrome' // has extra processing logic
}

// Aliases to work with joined versions like `ios_saf 7.0-7.1`
browserslist.versionAliases = { }

browserslist.clearCaches = env.clearCaches
browserslist.parseConfig = env.parseConfig
browserslist.readConfig = env.readConfig
browserslist.findConfig = env.findConfig
browserslist.loadConfig = env.loadConfig

/**
 * Return browsers market coverage.
 *
 * @param {string[]} browsers Browsers names in Can I Use.
 * @param {string|object} [stats="global"] Which statistics should be used.
 *                                         Country code or custom statistics.
 *                                         Pass `"my stats"` to load statistics
 *                                         from Browserslist files.
 *
 * @return {number} Total market coverage for all selected browsers.
 *
 * @example
 * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1
 */
browserslist.coverage = function (browsers, stats) {
  var data
  if (typeof stats === 'undefined') {
    data = browserslist.usage.global
  } else if (stats === 'my stats') {
    var opts = {}
    opts.path = path.resolve ? path.resolve('.') : '.'
    var customStats = env.getStat(opts)
    if (!customStats) {
      throw new BrowserslistError('Custom usage statistics was not provided')
    }
    data = {}
    for (var browser in customStats) {
      fillUsage(data, browser, customStats[browser])
    }
  } else if (typeof stats === 'string') {
    if (stats.length > 2) {
      stats = stats.toLowerCase()
    } else {
      stats = stats.toUpperCase()
    }
    env.loadCountry(browserslist.usage, stats, browserslist.data)
    data = browserslist.usage[stats]
  } else {
    if ('dataByBrowser' in stats) {
      stats = stats.dataByBrowser
    }
    data = { }
    for (var name in stats) {
      for (var version in stats[name]) {
        data[name + ' ' + version] = stats[name][version]
      }
    }
  }

  return browsers.reduce(function (all, i) {
    var usage = data[i]
    if (usage === undefined) {
      usage = data[i.replace(/ \S+$/, ' 0')]
    }
    return all + (usage || 0)
  }, 0)
}

function nodeQuery (context, version) {
  var nodeReleases = jsReleases.filter(function (i) {
    return i.name === 'nodejs'
  })
  var matched = nodeReleases.filter(function (i) {
    return isVersionsMatch(i.version, version)
  })
  if (matched.length === 0) {
    if (context.ignoreUnknownVersions) {
      return []
    } else {
      throw new BrowserslistError('Unknown version ' + version + ' of Node.js')
    }
  }
  return ['node ' + matched[matched.length - 1].version]
}

function sinceQuery (context, year, month, date) {
  year = parseInt(year)
  month = parseInt(month || '01') - 1
  date = parseInt(date || '01')
  return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context)
}

function coverQuery (context, coverage, statMode) {
  coverage = parseFloat(coverage)
  var usage = browserslist.usage.global
  if (statMode) {
    if (statMode.match(/^my\s+stats$/)) {
      if (!context.customUsage) {
        throw new BrowserslistError(
          'Custom usage statistics was not provided'
        )
      }
      usage = context.customUsage
    } else {
      var place
      if (statMode.length === 2) {
        place = statMode.toUpperCase()
      } else {
        place = statMode.toLowerCase()
      }
      env.loadCountry(browserslist.usage, place, browserslist.data)
      usage = browserslist.usage[place]
    }
  }
  var versions = Object.keys(usage).sort(function (a, b) {
    return usage[b] - usage[a]
  })
  var coveraged = 0
  var result = []
  var version
  for (var i = 0; i <= versions.length; i++) {
    version = versions[i]
    if (usage[version] === 0) break
    coveraged += usage[version]
    result.push(version)
    if (coveraged >= coverage) break
  }
  return result
}

var QUERIES = [
  {
    regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
    select: function (context, versions) {
      return Object.keys(agents).reduce(function (selected, name) {
        var data = byName(name, context)
        if (!data) return selected
        var list = getMajorVersions(data.released, versions)
        list = list.map(nameMapper(data.name))
        if (data.name === 'android') {
          list = filterAndroid(list, versions, context)
        }
        return selected.concat(list)
      }, [])
    }
  },
  {
    regexp: /^last\s+(\d+)\s+versions?$/i,
    select: function (context, versions) {
      return Object.keys(agents).reduce(function (selected, name) {
        var data = byName(name, context)
        if (!data) return selected
        var list = data.released.slice(-versions)
        list = list.map(nameMapper(data.name))
        if (data.name === 'android') {
          list = filterAndroid(list, versions, context)
        }
        return selected.concat(list)
      }, [])
    }
  },
  {
    regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
    select: function (context, versions) {
      var validVersions = getMajorVersions(Object.keys(e2c), versions)
      return validVersions.map(function (i) {
        return 'chrome ' + e2c[i]
      })
    }
  },
  {
    regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
    select: function (context, versions, name) {
      var data = checkName(name, context)
      var validVersions = getMajorVersions(data.released, versions)
      var list = validVersions.map(nameMapper(data.name))
      if (data.name === 'android') {
        list = filterAndroid(list, versions, context)
      }
      return list
    }
  },
  {
    regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
    select: function (context, versions) {
      return Object.keys(e2c)
        .slice(-versions)
        .map(function (i) {
          return 'chrome ' + e2c[i]
        })
    }
  },
  {
    regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
    select: function (context, versions, name) {
      var data = checkName(name, context)
      var list = data.released.slice(-versions).map(nameMapper(data.name))
      if (data.name === 'android') {
        list = filterAndroid(list, versions, context)
      }
      return list
    }
  },
  {
    regexp: /^unreleased\s+versions$/i,
    select: function (context) {
      return Object.keys(agents).reduce(function (selected, name) {
        var data = byName(name, context)
        if (!data) return selected
        var list = data.versions.filter(function (v) {
          return data.released.indexOf(v) === -1
        })
        list = list.map(nameMapper(data.name))
        return selected.concat(list)
      }, [])
    }
  },
  {
    regexp: /^unreleased\s+electron\s+versions?$/i,
    select: function () {
      return []
    }
  },
  {
    regexp: /^unreleased\s+(\w+)\s+versions?$/i,
    select: function (context, name) {
      var data = checkName(name, context)
      return data.versions
        .filter(function (v) {
          return data.released.indexOf(v) === -1
        })
        .map(nameMapper(data.name))
    }
  },
  {
    regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
    select: function (context, years) {
      return filterByYear(Date.now() - YEAR * years, context)
    }
  },
  {
    regexp: /^since (\d+)$/i,
    select: sinceQuery
  },
  {
    regexp: /^since (\d+)-(\d+)$/i,
    select: sinceQuery
  },
  {
    regexp: /^since (\d+)-(\d+)-(\d+)$/i,
    select: sinceQuery
  },
  {
    regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
    select: function (context, sign, popularity) {
      popularity = parseFloat(popularity)
      var usage = browserslist.usage.global
      return Object.keys(usage).reduce(function (result, version) {
        if (sign === '>') {
          if (usage[version] > popularity) {
            result.push(version)
          }
        } else if (sign === '<') {
          if (usage[version] < popularity) {
            result.push(version)
          }
        } else if (sign === '<=') {
          if (usage[version] <= popularity) {
            result.push(version)
          }
        } else if (usage[version] >= popularity) {
          result.push(version)
        }
        return result
      }, [])
    }
  },
  {
    regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,
    select: function (context, sign, popularity) {
      popularity = parseFloat(popularity)
      if (!context.customUsage) {
        throw new BrowserslistError('Custom usage statistics was not provided')
      }
      var usage = context.customUsage
      return Object.keys(usage).reduce(function (result, version) {
        if (sign === '>') {
          if (usage[version] > popularity) {
            result.push(version)
          }
        } else if (sign === '<') {
          if (usage[version] < popularity) {
            result.push(version)
          }
        } else if (sign === '<=') {
          if (usage[version] <= popularity) {
            result.push(version)
          }
        } else if (usage[version] >= popularity) {
          result.push(version)
        }
        return result
      }, [])
    }
  },
  {
    regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
    select: function (context, sign, popularity, name) {
      popularity = parseFloat(popularity)
      var stats = env.loadStat(context, name, browserslist.data)
      if (stats) {
        context.customUsage = {}
        for (var browser in stats) {
          fillUsage(context.customUsage, browser, stats[browser])
        }
      }
      if (!context.customUsage) {
        throw new BrowserslistError('Custom usage statistics was not provided')
      }
      var usage = context.customUsage
      return Object.keys(usage).reduce(function (result, version) {
        if (sign === '>') {
          if (usage[version] > popularity) {
            result.push(version)
          }
        } else if (sign === '<') {
          if (usage[version] < popularity) {
            result.push(version)
          }
        } else if (sign === '<=') {
          if (usage[version] <= popularity) {
            result.push(version)
          }
        } else if (usage[version] >= popularity) {
          result.push(version)
        }
        return result
      }, [])
    }
  },
  {
    regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,
    select: function (context, sign, popularity, place) {
      popularity = parseFloat(popularity)
      if (place.length === 2) {
        place = place.toUpperCase()
      } else {
        place = place.toLowerCase()
      }
      env.loadCountry(browserslist.usage, place, browserslist.data)
      var usage = browserslist.usage[place]
      return Object.keys(usage).reduce(function (result, version) {
        if (sign === '>') {
          if (usage[version] > popularity) {
            result.push(version)
          }
        } else if (sign === '<') {
          if (usage[version] < popularity) {
            result.push(version)
          }
        } else if (sign === '<=') {
          if (usage[version] <= popularity) {
            result.push(version)
          }
        } else if (usage[version] >= popularity) {
          result.push(version)
        }
        return result
      }, [])
    }
  },
  {
    regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/,
    select: coverQuery
  },
  {
    regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/,
    select: coverQuery
  },
  {
    regexp: /^supports\s+([\w-]+)$/,
    select: function (context, feature) {
      env.loadFeature(browserslist.cache, feature)
      var features = browserslist.cache[feature]
      return Object.keys(features).reduce(function (result, version) {
        var flags = features[version]
        if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) {
          result.push(version)
        }
        return result
      }, [])
    }
  },
  {
    regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
    select: function (context, from, to) {
      var fromToUse = normalizeElectron(from)
      var toToUse = normalizeElectron(to)
      if (!e2c[fromToUse]) {
        throw new BrowserslistError('Unknown version ' + from + ' of electron')
      }
      if (!e2c[toToUse]) {
        throw new BrowserslistError('Unknown version ' + to + ' of electron')
      }
      from = parseFloat(from)
      to = parseFloat(to)
      return Object.keys(e2c)
        .filter(function (i) {
          var parsed = parseFloat(i)
          return parsed >= from && parsed <= to
        })
        .map(function (i) {
          return 'chrome ' + e2c[i]
        })
    }
  },
  {
    regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
    select: function (context, from, to) {
      var nodeVersions = jsReleases
        .filter(function (i) {
          return i.name === 'nodejs'
        })
        .map(function (i) {
          return i.version
        })
      return nodeVersions
        .filter(semverFilterLoose('>=', from))
        .filter(semverFilterLoose('<=', to))
        .map(function (v) {
          return 'node ' + v
        })
    }
  },
  {
    regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
    select: function (context, name, from, to) {
      var data = checkName(name, context)
      from = parseFloat(normalizeVersion(data, from) || from)
      to = parseFloat(normalizeVersion(data, to) || to)
      function filter (v) {
        var parsed = parseFloat(v)
        return parsed >= from && parsed <= to
      }
      return data.released.filter(filter).map(nameMapper(data.name))
    }
  },
  {
    regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
    select: function (context, sign, version) {
      var versionToUse = normalizeElectron(version)
      return Object.keys(e2c)
        .filter(generateFilter(sign, versionToUse))
        .map(function (i) {
          return 'chrome ' + e2c[i]
        })
    }
  },
  {
    regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
    select: function (context, sign, version) {
      var nodeVersions = jsReleases
        .filter(function (i) {
          return i.name === 'nodejs'
        })
        .map(function (i) {
          return i.version
        })
      return nodeVersions
        .filter(generateSemverFilter(sign, version))
        .map(function (v) {
          return 'node ' + v
        })
    }
  },
  {
    regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
    select: function (context, name, sign, version) {
      var data = checkName(name, context)
      var alias = browserslist.versionAliases[data.name][version]
      if (alias) {
        version = alias
      }
      return data.released
        .filter(generateFilter(sign, version))
        .map(function (v) {
          return data.name + ' ' + v
        })
    }
  },
  {
    regexp: /^(firefox|ff|fx)\s+esr$/i,
    select: function () {
      return ['firefox 78']
    }
  },
  {
    regexp: /(operamini|op_mini)\s+all/i,
    select: function () {
      return ['op_mini all']
    }
  },
  {
    regexp: /^electron\s+([\d.]+)$/i,
    select: function (context, version) {
      var versionToUse = normalizeElectron(version)
      var chrome = e2c[versionToUse]
      if (!chrome) {
        throw new BrowserslistError(
          'Unknown version ' + version + ' of electron'
        )
      }
      return ['chrome ' + chrome]
    }
  },
  {
    regexp: /^node\s+(\d+)$/i,
    select: nodeQuery
  },
  {
    regexp: /^node\s+(\d+\.\d+)$/i,
    select: nodeQuery
  },
  {
    regexp: /^node\s+(\d+\.\d+\.\d+)$/i,
    select: nodeQuery
  },
  {
    regexp: /^current\s+node$/i,
    select: function (context) {
      return [env.currentNode(resolve, context)]
    }
  },
  {
    regexp: /^maintained\s+node\s+versions$/i,
    select: function (context) {
      var now = Date.now()
      var queries = Object.keys(jsEOL)
        .filter(function (key) {
          return (
            now < Date.parse(jsEOL[key].end) &&
            now > Date.parse(jsEOL[key].start) &&
            isEolReleased(key)
          )
        })
        .map(function (key) {
          return 'node ' + key.slice(1)
        })
      return resolve(queries, context)
    }
  },
  {
    regexp: /^phantomjs\s+1.9$/i,
    select: function () {
      return ['safari 5']
    }
  },
  {
    regexp: /^phantomjs\s+2.1$/i,
    select: function () {
      return ['safari 6']
    }
  },
  {
    regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
    select: function (context, name, version) {
      if (/^tp$/i.test(version)) version = 'TP'
      var data = checkName(name, context)
      var alias = normalizeVersion(data, version)
      if (alias) {
        version = alias
      } else {
        if (version.indexOf('.') === -1) {
          alias = version + '.0'
        } else {
          alias = version.replace(/\.0$/, '')
        }
        alias = normalizeVersion(data, alias)
        if (alias) {
          version = alias
        } else if (context.ignoreUnknownVersions) {
          return []
        } else {
          throw new BrowserslistError(
            'Unknown version ' + version + ' of ' + name
          )
        }
      }
      return [data.name + ' ' + version]
    }
  },
  {
    regexp: /^browserslist config$/i,
    select: function (context) {
      return browserslist(undefined, context)
    }
  },
  {
    regexp: /^extends (.+)$/i,
    select: function (context, name) {
      return resolve(env.loadQueries(context, name), context)
    }
  },
  {
    regexp: /^defaults$/i,
    select: function (context) {
      return resolve(browserslist.defaults, context)
    }
  },
  {
    regexp: /^dead$/i,
    select: function (context) {
      var dead = [
        'ie <= 10',
        'ie_mob <= 11',
        'bb <= 10',
        'op_mob <= 12.1',
        'samsung 4'
      ]
      return resolve(dead, context)
    }
  },
  {
    regexp: /^(\w+)$/i,
    select: function (context, name) {
      if (byName(name, context)) {
        throw new BrowserslistError(
          'Specify versions in Browserslist query for browser ' + name
        )
      } else {
        throw unknownQuery(name)
      }
    }
  }
];

// Get and convert Can I Use data

(function () {
  for (var name in agents) {
    var browser = agents[name]
    browserslist.data[name] = {
      name: name,
      versions: normalize(agents[name].versions),
      released: normalize(agents[name].versions.slice(0, -3)),
      releaseDate: agents[name].release_date
    }
    fillUsage(browserslist.usage.global, name, browser.usage_global)

    browserslist.versionAliases[name] = { }
    for (var i = 0; i < browser.versions.length; i++) {
      var full = browser.versions[i]
      if (!full) continue

      if (full.indexOf('-') !== -1) {
        var interval = full.split('-')
        for (var j = 0; j < interval.length; j++) {
          browserslist.versionAliases[name][interval[j]] = full
        }
      }
    }
  }

  browserslist.versionAliases.op_mob['59'] = '58'
}())

module.exports = browserslist


/***/ }),

/***/ 20486:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var feature = __nccwpck_require__(13206).default
var region = __nccwpck_require__(53506).default
var path = __nccwpck_require__(85622)
var fs = __nccwpck_require__(35747)

var BrowserslistError = __nccwpck_require__(92498)

var IS_SECTION = /^\s*\[(.+)]\s*$/
var CONFIG_PATTERN = /^browserslist-config-/
var SCOPED_CONFIG__PATTERN = /@[^/]+\/browserslist-config(-|$|\/)/
var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000
var FORMAT = 'Browserslist config should be a string or an array ' +
             'of strings with browser queries'

var dataTimeChecked = false
var filenessCache = { }
var configCache = { }
function checkExtend (name) {
  var use = ' Use `dangerousExtend` option to disable.'
  if (!CONFIG_PATTERN.test(name) && !SCOPED_CONFIG__PATTERN.test(name)) {
    throw new BrowserslistError(
      'Browserslist config needs `browserslist-config-` prefix. ' + use)
  }
  if (name.replace(/^@[^/]+\//, '').indexOf('.') !== -1) {
    throw new BrowserslistError(
      '`.` not allowed in Browserslist config name. ' + use)
  }
  if (name.indexOf('node_modules') !== -1) {
    throw new BrowserslistError(
      '`node_modules` not allowed in Browserslist config.' + use)
  }
}

function isFile (file) {
  if (file in filenessCache) {
    return filenessCache[file]
  }
  var result = fs.existsSync(file) && fs.statSync(file).isFile()
  if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
    filenessCache[file] = result
  }
  return result
}

function eachParent (file, callback) {
  var dir = isFile(file) ? path.dirname(file) : file
  var loc = path.resolve(dir)
  do {
    var result = callback(loc)
    if (typeof result !== 'undefined') return result
  } while (loc !== (loc = path.dirname(loc)))
  return undefined
}

function check (section) {
  if (Array.isArray(section)) {
    for (var i = 0; i < section.length; i++) {
      if (typeof section[i] !== 'string') {
        throw new BrowserslistError(FORMAT)
      }
    }
  } else if (typeof section !== 'string') {
    throw new BrowserslistError(FORMAT)
  }
}

function pickEnv (config, opts) {
  if (typeof config !== 'object') return config

  var name
  if (typeof opts.env === 'string') {
    name = opts.env
  } else if (process.env.BROWSERSLIST_ENV) {
    name = process.env.BROWSERSLIST_ENV
  } else if (process.env.NODE_ENV) {
    name = process.env.NODE_ENV
  } else {
    name = 'production'
  }

  return config[name] || config.defaults
}

function parsePackage (file) {
  var config = JSON.parse(fs.readFileSync(file))
  if (config.browserlist && !config.browserslist) {
    throw new BrowserslistError(
      '`browserlist` key instead of `browserslist` in ' + file
    )
  }
  var list = config.browserslist
  if (Array.isArray(list) || typeof list === 'string') {
    list = { defaults: list }
  }
  for (var i in list) {
    check(list[i])
  }

  return list
}

function latestReleaseTime (agents) {
  var latest = 0
  for (var name in agents) {
    var dates = agents[name].releaseDate || { }
    for (var key in dates) {
      if (latest < dates[key]) {
        latest = dates[key]
      }
    }
  }
  return latest * 1000
}

function normalizeStats (data, stats) {
  if (stats && 'dataByBrowser' in stats) {
    stats = stats.dataByBrowser
  }

  if (typeof stats !== 'object') return undefined

  var normalized = { }
  for (var i in stats) {
    var versions = Object.keys(stats[i])
    if (
      versions.length === 1 &&
      data[i] &&
      data[i].versions.length === 1
    ) {
      var normal = data[i].versions[0]
      normalized[i] = { }
      normalized[i][normal] = stats[i][versions[0]]
    } else {
      normalized[i] = stats[i]
    }
  }

  return normalized
}

function normalizeUsageData (usageData, data) {
  for (var browser in usageData) {
    var browserUsage = usageData[browser]
    // eslint-disable-next-line max-len
    // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615
    // caniuse-db returns { 0: "percentage" } for `and_*` regional stats
    if ('0' in browserUsage) {
      var versions = data[browser].versions
      browserUsage[versions[versions.length - 1]] = browserUsage[0]
      delete browserUsage[0]
    }
  }
}

module.exports = {
  loadQueries: function loadQueries (ctx, name) {
    if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) {
      checkExtend(name)
    }
    // eslint-disable-next-line security/detect-non-literal-require
    var queries = require(__nccwpck_require__(28440).resolve(name, { paths: ['.'] }))
    if (queries) {
      if (Array.isArray(queries)) {
        return queries
      } else if (typeof queries === 'object') {
        if (!queries.defaults) queries.defaults = []
        return pickEnv(queries, ctx, name)
      }
    }
    throw new BrowserslistError(
      '`' + name + '` config exports not an array of queries' +
      ' or an object of envs'
    )
  },

  loadStat: function loadStat (ctx, name, data) {
    if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) {
      checkExtend(name)
    }
    // eslint-disable-next-line security/detect-non-literal-require
    var stats = require(
      __nccwpck_require__(28440).resolve(
        path.join(name, 'browserslist-stats.json'),
        { paths: ['.'] }
      )
    )
    return normalizeStats(data, stats)
  },

  getStat: function getStat (opts, data) {
    var stats
    if (opts.stats) {
      stats = opts.stats
    } else if (process.env.BROWSERSLIST_STATS) {
      stats = process.env.BROWSERSLIST_STATS
    } else if (opts.path && path.resolve && fs.existsSync) {
      stats = eachParent(opts.path, function (dir) {
        var file = path.join(dir, 'browserslist-stats.json')
        return isFile(file) ? file : undefined
      })
    }
    if (typeof stats === 'string') {
      try {
        stats = JSON.parse(fs.readFileSync(stats))
      } catch (e) {
        throw new BrowserslistError('Can\'t read ' + stats)
      }
    }
    return normalizeStats(data, stats)
  },

  loadConfig: function loadConfig (opts) {
    if (process.env.BROWSERSLIST) {
      return process.env.BROWSERSLIST
    } else if (opts.config || process.env.BROWSERSLIST_CONFIG) {
      var file = opts.config || process.env.BROWSERSLIST_CONFIG
      if (path.basename(file) === 'package.json') {
        return pickEnv(parsePackage(file), opts)
      } else {
        return pickEnv(module.exports.readConfig(file), opts)
      }
    } else if (opts.path) {
      return pickEnv(module.exports.findConfig(opts.path), opts)
    } else {
      return undefined
    }
  },

  loadCountry: function loadCountry (usage, country, data) {
    var code = country.replace(/[^\w-]/g, '')
    if (!usage[code]) {
      // eslint-disable-next-line security/detect-non-literal-require
      var compressed = require('caniuse-lite/data/regions/' + code + '.js')
      var usageData = region(compressed)
      normalizeUsageData(usageData, data)
      usage[country] = { }
      for (var i in usageData) {
        for (var j in usageData[i]) {
          usage[country][i + ' ' + j] = usageData[i][j]
        }
      }
    }
  },

  loadFeature: function loadFeature (features, name) {
    name = name.replace(/[^\w-]/g, '')
    if (features[name]) return

    // eslint-disable-next-line security/detect-non-literal-require
    var compressed = require('caniuse-lite/data/features/' + name + '.js')
    var stats = feature(compressed).stats
    features[name] = { }
    for (var i in stats) {
      for (var j in stats[i]) {
        features[name][i + ' ' + j] = stats[i][j]
      }
    }
  },

  parseConfig: function parseConfig (string) {
    var result = { defaults: [] }
    var sections = ['defaults']

    string.toString()
      .replace(/#[^\n]*/g, '')
      .split(/\n|,/)
      .map(function (line) {
        return line.trim()
      })
      .filter(function (line) {
        return line !== ''
      })
      .forEach(function (line) {
        if (IS_SECTION.test(line)) {
          sections = line.match(IS_SECTION)[1].trim().split(' ')
          sections.forEach(function (section) {
            if (result[section]) {
              throw new BrowserslistError(
                'Duplicate section ' + section + ' in Browserslist config'
              )
            }
            result[section] = []
          })
        } else {
          sections.forEach(function (section) {
            result[section].push(line)
          })
        }
      })

    return result
  },

  readConfig: function readConfig (file) {
    if (!isFile(file)) {
      throw new BrowserslistError('Can\'t read ' + file + ' config')
    }
    return module.exports.parseConfig(fs.readFileSync(file))
  },

  findConfig: function findConfig (from) {
    from = path.resolve(from)

    var passed = []
    var resolved = eachParent(from, function (dir) {
      if (dir in configCache) {
        return configCache[dir]
      }

      passed.push(dir)

      var config = path.join(dir, 'browserslist')
      var pkg = path.join(dir, 'package.json')
      var rc = path.join(dir, '.browserslistrc')

      var pkgBrowserslist
      if (isFile(pkg)) {
        try {
          pkgBrowserslist = parsePackage(pkg)
        } catch (e) {
          if (e.name === 'BrowserslistError') throw e
          console.warn(
            '[Browserslist] Could not parse ' + pkg + '. Ignoring it.'
          )
        }
      }

      if (isFile(config) && pkgBrowserslist) {
        throw new BrowserslistError(
          dir + ' contains both browserslist and package.json with browsers'
        )
      } else if (isFile(rc) && pkgBrowserslist) {
        throw new BrowserslistError(
          dir + ' contains both .browserslistrc and package.json with browsers'
        )
      } else if (isFile(config) && isFile(rc)) {
        throw new BrowserslistError(
          dir + ' contains both .browserslistrc and browserslist'
        )
      } else if (isFile(config)) {
        return module.exports.readConfig(config)
      } else if (isFile(rc)) {
        return module.exports.readConfig(rc)
      } else {
        return pkgBrowserslist
      }
    })
    if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
      passed.forEach(function (dir) {
        configCache[dir] = resolved
      })
    }
    return resolved
  },

  clearCaches: function clearCaches () {
    dataTimeChecked = false
    filenessCache = { }
    configCache = { }

    this.cache = { }
  },

  oldDataWarning: function oldDataWarning (agentsObj) {
    if (dataTimeChecked) return
    dataTimeChecked = true
    if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return

    var latest = latestReleaseTime(agentsObj)
    var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE

    if (latest !== 0 && latest < halfYearAgo) {
      console.warn(
        'Browserslist: caniuse-lite is outdated. Please run:\n' +
        'npx browserslist@latest --update-db\n' +
        '\n' +
        'Why you should do it regularly:\n' +
        'https://github.com/browserslist/browserslist#browsers-data-updating'
      )
    }
  },

  currentNode: function currentNode () {
    return 'node ' + process.versions.node
  }
}


/***/ }),

/***/ 5018:
/***/ ((module) => {

"use strict";


const callsites = () => {
	const _prepareStackTrace = Error.prepareStackTrace;
	Error.prepareStackTrace = (_, stack) => stack;
	const stack = new Error().stack.slice(1);
	Error.prepareStackTrace = _prepareStackTrace;
	return stack;
};

module.exports = callsites;
// TODO: Remove this for the next major release
module.exports.default = callsites;


/***/ }),

/***/ 78390:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getBrowserScope = exports.setBrowserScope = exports.getLatestStableBrowsers = exports.find = exports.isSupported = exports.getSupport = exports.features = undefined;

var _lodash = __nccwpck_require__(24538);

var _lodash2 = _interopRequireDefault(_lodash);

var _browserslist = __nccwpck_require__(55478);

var _browserslist2 = _interopRequireDefault(_browserslist);

var _caniuseLite = __nccwpck_require__(64006);

var _utils = __nccwpck_require__(53228);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var featuresList = Object.keys(_caniuseLite.features);

var browsers = void 0;
function setBrowserScope(browserList) {
  browsers = (0, _utils.cleanBrowsersList)(browserList);
}

function getBrowserScope() {
  return browsers;
}

var parse = (0, _lodash2.default)(_utils.parseCaniuseData, function (feat, browsers) {
  return feat.title + browsers;
});

function getSupport(query) {
  var feature = void 0;
  try {
    feature = (0, _caniuseLite.feature)(_caniuseLite.features[query]);
  } catch (e) {
    var res = find(query);
    if (res.length === 1) return getSupport(res[0]);
    throw new ReferenceError("Please provide a proper feature name. Cannot find " + query);
  }
  return parse(feature, browsers);
}

function isSupported(feature, browsers) {
  var data = void 0;
  try {
    data = (0, _caniuseLite.feature)(_caniuseLite.features[feature]);
  } catch (e) {
    var res = find(feature);
    if (res.length === 1) {
      data = _caniuseLite.features[res[0]];
    } else {
      throw new ReferenceError("Please provide a proper feature name. Cannot find " + feature);
    }
  }

  return (0, _browserslist2.default)(browsers, { ignoreUnknownVersions: true }).map(function (browser) {
    return browser.split(" ");
  }).every(function (browser) {
    return data.stats[browser[0]] && data.stats[browser[0]][browser[1]] === "y";
  });
}

function find(query) {
  if (typeof query !== "string") {
    throw new TypeError("The `query` parameter should be a string.");
  }

  if (~featuresList.indexOf(query)) {
    // exact match
    return query;
  }

  return featuresList.filter(function (file) {
    return (0, _utils.contains)(file, query);
  });
}

function getLatestStableBrowsers() {
  return (0, _browserslist2.default)("last 1 version");
}

setBrowserScope();

exports.features = featuresList;
exports.getSupport = getSupport;
exports.isSupported = isSupported;
exports.find = find;
exports.getLatestStableBrowsers = getLatestStableBrowsers;
exports.setBrowserScope = setBrowserScope;
exports.getBrowserScope = getBrowserScope;

/***/ }),

/***/ 53228:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.contains = contains;
exports.parseCaniuseData = parseCaniuseData;
exports.cleanBrowsersList = cleanBrowsersList;

var _lodash = __nccwpck_require__(78216);

var _lodash2 = _interopRequireDefault(_lodash);

var _browserslist = __nccwpck_require__(55478);

var _browserslist2 = _interopRequireDefault(_browserslist);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function contains(str, substr) {
  return !!~str.indexOf(substr);
}

function parseCaniuseData(feature, browsers) {
  var support = {};
  var letters;
  var letter;

  browsers.forEach(function (browser) {
    support[browser] = {};
    for (var info in feature.stats[browser]) {
      letters = feature.stats[browser][info].replace(/#\d+/, "").trim().split(" ");
      info = parseFloat(info.split("-")[0]); //if info is a range, take the left
      if (isNaN(info)) continue;
      for (var i = 0; i < letters.length; i++) {
        letter = letters[i];
        if (letter === "d") {
          // skip this letter, we don't support it yet
          continue;
        } else if (letter === "y") {
          // min support asked, need to find the min value
          if (typeof support[browser][letter] === "undefined" || info < support[browser][letter]) {
            support[browser][letter] = info;
          }
        } else {
          // any other support, need to find the max value
          if (typeof support[browser][letter] === "undefined" || info > support[browser][letter]) {
            support[browser][letter] = info;
          }
        }
      }
    }
  });

  return support;
}

function cleanBrowsersList(browserList) {
  return (0, _lodash2.default)((0, _browserslist2.default)(browserList).map(function (browser) {
    return browser.split(" ")[0];
  }));
}

/***/ }),

/***/ 306:
/***/ ((module) => {

module.exports={A:{A:{I:0.0131217,D:0.00621152,E:0.0262435,F:0.111535,A:0.0328044,B:0.905401,gB:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gB","I","D","E","F","A","B","","",""],E:"IE",F:{gB:962323200,I:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.008542,J:0.004267,K:0.004271,L:0.008542,M:0.008542,N:0.029897,O:0.106775,R:0,S:0.004298,T:0.00944,U:0.00415,V:0.008542,W:0.012813,X:0.012813,P:0.017084,Y:0.025626,Z:2.26363,G:1.03358,a:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","J","K","L","M","N","O","R","S","T","U","V","W","X","P","Y","Z","G","a","","",""],E:"Edge",F:{C:1438128000,J:1447286400,K:1470096000,L:1491868800,M:1508198400,N:1525046400,O:1542067200,R:1579046400,S:1581033600,T:1586736000,U:1590019200,V:1594857600,W:1598486400,X:1602201600,P:1605830400,Y:1611360000,Z:1614816000,G:1618358400,a:1622073600},D:{C:"ms",J:"ms",K:"ms",L:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.051252,"1":0.004271,"2":0.004271,"3":0.004525,"4":0.004271,"5":0.008542,"6":0.004538,"7":0.004267,"8":0.008542,"9":0.064065,hB:0.012813,WB:0.004271,H:0.021355,b:0.004879,I:0.020136,D:0.005725,E:0.004525,F:0.00533,A:0.004283,B:0.004271,C:0.004471,J:0.004486,K:0.00453,L:0.008542,M:0.004417,N:0.004425,O:0.008542,c:0.004443,d:0.004283,e:0.008542,f:0.013698,g:0.008542,h:0.008786,i:0.017084,j:0.004317,k:0.004393,l:0.004418,m:0.008834,n:0.008542,o:0.008928,p:0.004471,q:0.009284,r:0.004707,s:0.009076,t:0.004425,u:0.004783,v:0.004271,w:0.004783,x:0.00487,y:0.005029,z:0.0047,AB:0.004335,BB:0.004271,CB:0.004425,DB:0.012813,EB:0.004425,FB:0.008534,XB:0.004271,GB:0.008542,YB:0.00472,Q:0.004425,HB:0.017084,IB:0.00415,JB:0.004267,KB:0.008542,LB:0.004267,MB:0.012813,NB:0.00415,OB:0.004271,PB:0.004425,QB:0.008542,RB:0.00415,SB:0.00415,TB:0.008542,ZB:0.004298,aB:0.008542,bB:0.153756,R:0.012813,S:0.012813,T:0.012813,iB:0.021355,U:0.012813,V:0.029897,W:0.038439,X:0.08542,P:1.76819,Y:0.708986,Z:0.008542,G:0,a:0,jB:0.008786,kB:0.00487},B:"moz",C:["hB","WB","jB","kB","H","b","I","D","E","F","A","B","C","J","K","L","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","XB","GB","YB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","ZB","aB","bB","R","S","T","iB","U","V","W","X","P","Y","Z","G","a",""],E:"Firefox",F:{"0":1450137600,"1":1453852800,"2":1457395200,"3":1461628800,"4":1465257600,"5":1470096000,"6":1474329600,"7":1479168000,"8":1485216000,"9":1488844800,hB:1161648000,WB:1213660800,jB:1246320000,kB:1264032000,H:1300752000,b:1308614400,I:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,J:1335225600,K:1338854400,L:1342483200,M:1346112000,N:1349740800,O:1353628800,c:1357603200,d:1361232000,e:1364860800,f:1368489600,g:1372118400,h:1375747200,i:1379376000,j:1386633600,k:1391472000,l:1395100800,m:1398729600,n:1402358400,o:1405987200,p:1409616000,q:1413244800,r:1417392000,s:1421107200,t:1424736000,u:1428278400,v:1431475200,w:1435881600,x:1439251200,y:1442880000,z:1446508800,AB:1492560000,BB:1497312000,CB:1502150400,DB:1506556800,EB:1510617600,FB:1516665600,XB:1520985600,GB:1525824000,YB:1529971200,Q:1536105600,HB:1540252800,IB:1544486400,JB:1548720000,KB:1552953600,LB:1558396800,MB:1562630400,NB:1567468800,OB:1571788800,PB:1575331200,QB:1578355200,RB:1581379200,SB:1583798400,TB:1586304000,ZB:1588636800,aB:1591056000,bB:1593475200,R:1595894400,S:1598313600,T:1600732800,iB:1603152000,U:1605571200,V:1607990400,W:1611619200,X:1614038400,P:1616457600,Y:1618790400,Z:1622505600,G:null,a:null}},D:{A:{"0":0.008542,"1":0.004465,"2":0.004642,"3":0.004891,"4":0.008542,"5":0.021355,"6":0.200737,"7":0.004271,"8":0.004271,"9":0.004271,H:0.004706,b:0.004879,I:0.004879,D:0.005591,E:0.005591,F:0.005591,A:0.004534,B:0.004464,C:0.010424,J:0.0083,K:0.004706,L:0.015087,M:0.004393,N:0.004393,O:0.008652,c:0.008542,d:0.004393,e:0.004317,f:0.008542,g:0.008786,h:0.025626,i:0.004461,j:0.004298,k:0.004326,l:0.0047,m:0.004538,n:0.008542,o:0.008596,p:0.004566,q:0.012813,r:0.008542,s:0.025626,t:0.004335,u:0.004464,v:0.025626,w:0.004464,x:0.012813,y:0.0236,z:0.004403,AB:0.055523,BB:0.012813,CB:0.017084,DB:0.064065,EB:0.008542,FB:0.012813,XB:0.008542,GB:0.012813,YB:0.089691,Q:0.008542,HB:0.021355,IB:0.012813,JB:0.021355,KB:0.021355,LB:0.04271,MB:0.04271,NB:0.068336,OB:0.051252,PB:0.025626,QB:0.046981,RB:0.021355,SB:0.119588,TB:0.093962,ZB:0.064065,aB:0.034168,bB:0.081149,R:0.175111,S:0.102504,T:0.081149,U:0.166569,V:0.136672,W:0.205008,X:0.230634,P:0.431371,Y:0.743154,Z:16.8235,G:6.40223,a:0.021355,lB:0.012813,mB:0,nB:0},B:"webkit",C:["","","","H","b","I","D","E","F","A","B","C","J","K","L","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","XB","GB","YB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","ZB","aB","bB","R","S","T","U","V","W","X","P","Y","Z","G","a","lB","mB","nB"],E:"Chrome",F:{"0":1432080000,"1":1437523200,"2":1441152000,"3":1444780800,"4":1449014400,"5":1453248000,"6":1456963200,"7":1460592000,"8":1464134400,"9":1469059200,H:1264377600,b:1274745600,I:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,J:1312243200,K:1316131200,L:1316131200,M:1319500800,N:1323734400,O:1328659200,c:1332892800,d:1337040000,e:1340668800,f:1343692800,g:1348531200,h:1352246400,i:1357862400,j:1361404800,k:1364428800,l:1369094400,m:1374105600,n:1376956800,o:1384214400,p:1389657600,q:1392940800,r:1397001600,s:1400544000,t:1405468800,u:1409011200,v:1412640000,w:1416268800,x:1421798400,y:1425513600,z:1429401600,AB:1472601600,BB:1476230400,CB:1480550400,DB:1485302400,EB:1489017600,FB:1492560000,XB:1496707200,GB:1500940800,YB:1504569600,Q:1508198400,HB:1512518400,IB:1516752000,JB:1520294400,KB:1523923200,LB:1527552000,MB:1532390400,NB:1536019200,OB:1539648000,PB:1543968000,QB:1548720000,RB:1552348800,SB:1555977600,TB:1559606400,ZB:1564444800,aB:1568073600,bB:1571702400,R:1575936000,S:1580860800,T:1586304000,U:1589846400,V:1594684800,W:1598313600,X:1601942400,P:1605571200,Y:1611014400,Z:1614556800,G:1618272000,a:1621987200,lB:null,mB:null,nB:null}},E:{A:{H:0,b:0.008542,I:0.004656,D:0.004465,E:0.234905,F:0.004891,A:0.004425,B:0.008542,C:0.012813,J:0.098233,K:2.95126,oB:0,cB:0.008692,pB:0.106775,qB:0.00456,rB:0.004283,sB:0.034168,dB:0.021355,UB:0.064065,VB:0.098233,tB:0.439913,uB:0.055523,vB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","oB","cB","H","b","pB","I","qB","D","rB","E","F","sB","A","dB","B","UB","C","VB","J","tB","K","uB","vB","",""],E:"Safari",F:{oB:1205798400,cB:1226534400,H:1244419200,b:1275868800,pB:1311120000,I:1343174400,qB:1382400000,D:1382400000,rB:1410998400,E:1413417600,F:1443657600,sB:1458518400,A:1474329600,dB:1490572800,B:1505779200,UB:1522281600,C:1537142400,VB:1553472000,J:1568851200,tB:1585008000,K:1600214400,uB:1619395200,vB:null}},F:{A:{"0":0.008542,"1":0.004227,"2":0.004725,"3":0.004271,"4":0.008942,"5":0.004707,"6":0.004827,"7":0.004707,"8":0.004707,"9":0.004326,F:0.0082,B:0.016581,C:0.004317,L:0.00685,M:0.00685,N:0.00685,O:0.005014,c:0.006015,d:0.004879,e:0.006597,f:0.006597,g:0.013434,h:0.006702,i:0.006015,j:0.005595,k:0.004393,l:0.008652,m:0.004879,n:0.004879,o:0.004711,p:0.005152,q:0.005014,r:0.009758,s:0.004879,t:0.008542,u:0.004283,v:0.004367,w:0.004534,x:0.004271,y:0.004227,z:0.004418,AB:0.008922,BB:0.014349,CB:0.004425,DB:0.00472,EB:0.004425,FB:0.004425,GB:0.00472,Q:0.004532,HB:0.004566,IB:0.02283,JB:0.00867,KB:0.004656,LB:0.004642,MB:0.004298,NB:0.00944,OB:0.00415,PB:0.004271,QB:0.004298,RB:0.324596,SB:0.153756,TB:0.516791,wB:0.00685,xB:0.008542,yB:0.008392,zB:0.004706,UB:0.006229,eB:0.004879,"0B":0.008786,VB:0.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","F","wB","xB","yB","zB","B","UB","eB","0B","C","VB","L","M","N","O","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","Q","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","","",""],E:"Opera",F:{"0":1486425600,"1":1490054400,"2":1494374400,"3":1498003200,"4":1502236800,"5":1506470400,"6":1510099200,"7":1515024000,"8":1517961600,"9":1521676800,F:1150761600,wB:1223424000,xB:1251763200,yB:1267488000,zB:1277942400,B:1292457600,UB:1302566400,eB:1309219200,"0B":1323129600,C:1323129600,VB:1352073600,L:1372723200,M:1377561600,N:1381104000,O:1386288000,c:1390867200,d:1393891200,e:1399334400,f:1401753600,g:1405987200,h:1409616000,i:1413331200,j:1417132800,k:1422316800,l:1425945600,m:1430179200,n:1433808000,o:1438646400,p:1442448000,q:1445904000,r:1449100800,s:1454371200,t:1457308800,u:1462320000,v:1465344000,w:1470096000,x:1474329600,y:1477267200,z:1481587200,AB:1525910400,BB:1530144000,CB:1534982400,DB:1537833600,EB:1543363200,FB:1548201600,GB:1554768000,Q:1561593600,HB:1566259200,IB:1570406400,JB:1573689600,KB:1578441600,LB:1583971200,MB:1587513600,NB:1592956800,OB:1595894400,PB:1600128000,QB:1603238400,RB:1613520000,SB:1612224000,TB:1616544000},D:{F:"o",B:"o",C:"o",wB:"o",xB:"o",yB:"o",zB:"o",UB:"o",eB:"o","0B":"o",VB:"o"}},G:{A:{E:0.0014611,cB:0,"1B":0,fB:0.00292219,"2B":0.00876657,"3B":0.159259,"4B":0.0321441,"5B":0.0204553,"6B":0.0262997,"7B":0.153415,"8B":0.0555216,"9B":0.159259,AC:0.0905879,BC:0.077438,CC:0.0847435,DC:0.283452,EC:0.0715937,FC:0.0336052,GC:0.189942,HC:0.647265,IC:11.7531,JC:0.150493},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cB","1B","fB","2B","3B","4B","E","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","IC","JC","","",""],E:"Safari on iOS",F:{cB:1270252800,"1B":1283904000,fB:1299628800,"2B":1331078400,"3B":1359331200,"4B":1394409600,E:1410912000,"5B":1413763200,"6B":1442361600,"7B":1458518400,"8B":1473724800,"9B":1490572800,AC:1505779200,BC:1522281600,CC:1537142400,DC:1553472000,EC:1568851200,FC:1572220800,GC:1580169600,HC:1585008000,IC:1600214400,JC:1619395200}},H:{A:{KC:1.0685},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","KC","","",""],E:"Opera Mini",F:{KC:1426464000}},I:{A:{WB:0,H:0.0137496,G:0,LC:0,MC:0,NC:0,OC:0.0120309,fB:0.051561,PC:0,QC:0.214838},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","MC","NC","WB","H","OC","fB","PC","QC","G","","",""],E:"Android Browser",F:{LC:1256515200,MC:1274313600,NC:1291593600,WB:1298332800,H:1318896000,OC:1341792000,fB:1374624000,PC:1386547200,QC:1401667200,G:1618704000}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,Q:0.0111391,UB:0,eB:0,VB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","UB","eB","C","VB","Q","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,UB:1314835200,eB:1318291200,C:1330300800,VB:1349740800,Q:1613433600},D:{Q:"webkit"}},L:{A:{G:37.9297},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","G","","",""],E:"Chrome for Android",F:{G:1618704000}},M:{A:{P:0.274992},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","P","","",""],E:"Firefox for Android",F:{P:1616457600}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{RC:1.30048},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RC","","",""],E:"UC Browser for Android",F:{RC:1471392000},D:{RC:"webkit"}},P:{A:{H:0.30804,SC:0.0103543,TC:0.010304,UC:0.071876,VC:0.0103584,WC:0.071876,dB:0.041072,XC:0.174556,YC:0.133484,ZC:1.85851,aC:0.800904},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","SC","TC","UC","VC","WC","dB","XC","YC","ZC","aC","","",""],E:"Samsung Internet",F:{H:1461024000,SC:1481846400,TC:1509408000,UC:1528329600,VC:1546128000,WC:1554163200,dB:1567900800,XC:1582588800,YC:1593475200,ZC:1605657600,aC:1618531200}},Q:{A:{bC:0.177599},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bC","","",""],E:"QQ Browser",F:{bC:1589846400}},R:{A:{cC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cC","","",""],E:"Baidu Browser",F:{cC:1491004800}},S:{A:{dC:0.097393},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dC","","",""],E:"KaiOS Browser",F:{dC:1527811200}}};


/***/ }),

/***/ 95582:
/***/ ((module) => {

module.exports={"0":"43","1":"44","2":"45","3":"46","4":"47","5":"48","6":"49","7":"50","8":"51","9":"52",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"90",H:"4",I:"6",J:"13",K:"14",L:"15",M:"16",N:"17",O:"18",P:"87",Q:"62",R:"79",S:"80",T:"81",U:"83",V:"84",W:"85",X:"86",Y:"88",Z:"89",a:"91",b:"5",c:"19",d:"20",e:"21",f:"22",g:"23",h:"24",i:"25",j:"26",k:"27",l:"28",m:"29",n:"30",o:"31",p:"32",q:"33",r:"34",s:"35",t:"36",u:"37",v:"38",w:"39",x:"40",y:"41",z:"42",AB:"53",BB:"54",CB:"55",DB:"56",EB:"57",FB:"58",GB:"60",HB:"63",IB:"64",JB:"65",KB:"66",LB:"67",MB:"68",NB:"69",OB:"70",PB:"71",QB:"72",RB:"73",SB:"74",TB:"75",UB:"11.1",VB:"12.1",WB:"3",XB:"59",YB:"61",ZB:"76",aB:"77",bB:"78",cB:"3.2",dB:"10.1",eB:"11.5",fB:"4.2-4.3",gB:"5.5",hB:"2",iB:"82",jB:"3.5",kB:"3.6",lB:"92",mB:"93",nB:"94",oB:"3.1",pB:"5.1",qB:"6.1",rB:"7.1",sB:"9.1",tB:"13.1",uB:"14.1",vB:"TP",wB:"9.5-9.6",xB:"10.0-10.1",yB:"10.5",zB:"10.6","0B":"11.6","1B":"4.0-4.1","2B":"5.0-5.1","3B":"6.0-6.1","4B":"7.0-7.1","5B":"8.1-8.4","6B":"9.0-9.2","7B":"9.3","8B":"10.0-10.2","9B":"10.3",AC:"11.0-11.2",BC:"11.3-11.4",CC:"12.0-12.1",DC:"12.2-12.4",EC:"13.0-13.1",FC:"13.2",GC:"13.3",HC:"13.4-13.7",IC:"14.0-14.4",JC:"14.5",KC:"all",LC:"2.1",MC:"2.2",NC:"2.3",OC:"4.1",PC:"4.4",QC:"4.4.3-4.4.4",RC:"12.12",SC:"5.0-5.4",TC:"6.2-6.4",UC:"7.2-7.4",VC:"8.2",WC:"9.2",XC:"11.1-11.2",YC:"12.0",ZC:"13.0",aC:"14.0",bC:"10.4",cC:"7.12",dC:"2.5"};


/***/ }),

/***/ 60257:
/***/ ((module) => {

module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"};


/***/ }),

/***/ 28649:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports={"aac":__nccwpck_require__(22041),"abortcontroller":__nccwpck_require__(58633),"ac3-ec3":__nccwpck_require__(16821),"accelerometer":__nccwpck_require__(64181),"addeventlistener":__nccwpck_require__(31621),"alternate-stylesheet":__nccwpck_require__(18627),"ambient-light":__nccwpck_require__(12148),"apng":__nccwpck_require__(2312),"array-find-index":__nccwpck_require__(79271),"array-find":__nccwpck_require__(39299),"array-flat":__nccwpck_require__(38626),"array-includes":__nccwpck_require__(33189),"arrow-functions":__nccwpck_require__(72093),"asmjs":__nccwpck_require__(72303),"async-clipboard":__nccwpck_require__(40152),"async-functions":__nccwpck_require__(49000),"atob-btoa":__nccwpck_require__(37179),"audio-api":__nccwpck_require__(70873),"audio":__nccwpck_require__(6398),"audiotracks":__nccwpck_require__(77417),"autofocus":__nccwpck_require__(91333),"auxclick":__nccwpck_require__(638),"av1":__nccwpck_require__(14604),"avif":__nccwpck_require__(66762),"background-attachment":__nccwpck_require__(41394),"background-clip-text":__nccwpck_require__(13197),"background-img-opts":__nccwpck_require__(22115),"background-position-x-y":__nccwpck_require__(4414),"background-repeat-round-space":__nccwpck_require__(74678),"background-sync":__nccwpck_require__(99995),"battery-status":__nccwpck_require__(96576),"beacon":__nccwpck_require__(33903),"beforeafterprint":__nccwpck_require__(38484),"bigint":__nccwpck_require__(88210),"blobbuilder":__nccwpck_require__(43840),"bloburls":__nccwpck_require__(75394),"border-image":__nccwpck_require__(14915),"border-radius":__nccwpck_require__(72853),"broadcastchannel":__nccwpck_require__(35485),"brotli":__nccwpck_require__(67933),"calc":__nccwpck_require__(287),"canvas-blending":__nccwpck_require__(39321),"canvas-text":__nccwpck_require__(35888),"canvas":__nccwpck_require__(66710),"ch-unit":__nccwpck_require__(30814),"chacha20-poly1305":__nccwpck_require__(34099),"channel-messaging":__nccwpck_require__(610),"childnode-remove":__nccwpck_require__(40258),"classlist":__nccwpck_require__(33077),"client-hints-dpr-width-viewport":__nccwpck_require__(26164),"clipboard":__nccwpck_require__(28546),"colr":__nccwpck_require__(22303),"comparedocumentposition":__nccwpck_require__(2004),"console-basic":__nccwpck_require__(30695),"console-time":__nccwpck_require__(15498),"const":__nccwpck_require__(67727),"constraint-validation":__nccwpck_require__(92806),"contenteditable":__nccwpck_require__(46638),"contentsecuritypolicy":__nccwpck_require__(90370),"contentsecuritypolicy2":__nccwpck_require__(39564),"cookie-store-api":__nccwpck_require__(71369),"cors":__nccwpck_require__(96637),"createimagebitmap":__nccwpck_require__(25702),"credential-management":__nccwpck_require__(32011),"cryptography":__nccwpck_require__(91342),"css-all":__nccwpck_require__(55211),"css-animation":__nccwpck_require__(40083),"css-any-link":__nccwpck_require__(2031),"css-appearance":__nccwpck_require__(3599),"css-apply-rule":__nccwpck_require__(66395),"css-at-counter-style":__nccwpck_require__(2769),"css-backdrop-filter":__nccwpck_require__(74043),"css-background-offsets":__nccwpck_require__(29407),"css-backgroundblendmode":__nccwpck_require__(98732),"css-boxdecorationbreak":__nccwpck_require__(81371),"css-boxshadow":__nccwpck_require__(22004),"css-canvas":__nccwpck_require__(34651),"css-caret-color":__nccwpck_require__(3560),"css-case-insensitive":__nccwpck_require__(4497),"css-clip-path":__nccwpck_require__(37028),"css-color-adjust":__nccwpck_require__(75747),"css-color-function":__nccwpck_require__(4008),"css-conic-gradients":__nccwpck_require__(31811),"css-container-queries":__nccwpck_require__(61547),"css-containment":__nccwpck_require__(64484),"css-content-visibility":__nccwpck_require__(69511),"css-counters":__nccwpck_require__(11237),"css-crisp-edges":__nccwpck_require__(36717),"css-cross-fade":__nccwpck_require__(90831),"css-default-pseudo":__nccwpck_require__(99030),"css-descendant-gtgt":__nccwpck_require__(14942),"css-deviceadaptation":__nccwpck_require__(83318),"css-dir-pseudo":__nccwpck_require__(15902),"css-display-contents":__nccwpck_require__(45140),"css-element-function":__nccwpck_require__(21694),"css-env-function":__nccwpck_require__(21809),"css-exclusions":__nccwpck_require__(79991),"css-featurequeries":__nccwpck_require__(53231),"css-filter-function":__nccwpck_require__(19533),"css-filters":__nccwpck_require__(35123),"css-first-letter":__nccwpck_require__(95006),"css-first-line":__nccwpck_require__(34624),"css-fixed":__nccwpck_require__(4787),"css-focus-visible":__nccwpck_require__(59934),"css-focus-within":__nccwpck_require__(1620),"css-font-rendering-controls":__nccwpck_require__(80882),"css-font-stretch":__nccwpck_require__(6482),"css-gencontent":__nccwpck_require__(49718),"css-gradients":__nccwpck_require__(13657),"css-grid":__nccwpck_require__(19330),"css-hanging-punctuation":__nccwpck_require__(59804),"css-has":__nccwpck_require__(28790),"css-hyphenate":__nccwpck_require__(22889),"css-hyphens":__nccwpck_require__(89317),"css-image-orientation":__nccwpck_require__(38133),"css-image-set":__nccwpck_require__(2762),"css-in-out-of-range":__nccwpck_require__(88654),"css-indeterminate-pseudo":__nccwpck_require__(61436),"css-initial-letter":__nccwpck_require__(68010),"css-initial-value":__nccwpck_require__(52764),"css-letter-spacing":__nccwpck_require__(6661),"css-line-clamp":__nccwpck_require__(12931),"css-logical-props":__nccwpck_require__(23871),"css-marker-pseudo":__nccwpck_require__(35371),"css-masks":__nccwpck_require__(15592),"css-matches-pseudo":__nccwpck_require__(45820),"css-math-functions":__nccwpck_require__(15868),"css-media-interaction":__nccwpck_require__(22427),"css-media-resolution":__nccwpck_require__(79494),"css-media-scripting":__nccwpck_require__(78527),"css-mediaqueries":__nccwpck_require__(47055),"css-mixblendmode":__nccwpck_require__(93831),"css-motion-paths":__nccwpck_require__(46876),"css-namespaces":__nccwpck_require__(9028),"css-not-sel-list":__nccwpck_require__(92481),"css-nth-child-of":__nccwpck_require__(66492),"css-opacity":__nccwpck_require__(23375),"css-optional-pseudo":__nccwpck_require__(93492),"css-overflow-anchor":__nccwpck_require__(11721),"css-overflow-overlay":__nccwpck_require__(74065),"css-overflow":__nccwpck_require__(91764),"css-overscroll-behavior":__nccwpck_require__(50237),"css-page-break":__nccwpck_require__(88866),"css-paged-media":__nccwpck_require__(76098),"css-paint-api":__nccwpck_require__(10133),"css-placeholder-shown":__nccwpck_require__(70361),"css-placeholder":__nccwpck_require__(83448),"css-read-only-write":__nccwpck_require__(17667),"css-rebeccapurple":__nccwpck_require__(32723),"css-reflections":__nccwpck_require__(25056),"css-regions":__nccwpck_require__(32598),"css-repeating-gradients":__nccwpck_require__(62787),"css-resize":__nccwpck_require__(36660),"css-revert-value":__nccwpck_require__(47190),"css-rrggbbaa":__nccwpck_require__(87215),"css-scroll-behavior":__nccwpck_require__(58544),"css-scroll-timeline":__nccwpck_require__(52572),"css-scrollbar":__nccwpck_require__(37851),"css-sel2":__nccwpck_require__(92398),"css-sel3":__nccwpck_require__(40787),"css-selection":__nccwpck_require__(16302),"css-shapes":__nccwpck_require__(56938),"css-snappoints":__nccwpck_require__(82776),"css-sticky":__nccwpck_require__(67425),"css-subgrid":__nccwpck_require__(70836),"css-supports-api":__nccwpck_require__(43295),"css-table":__nccwpck_require__(57271),"css-text-align-last":__nccwpck_require__(68887),"css-text-indent":__nccwpck_require__(34715),"css-text-justify":__nccwpck_require__(83983),"css-text-orientation":__nccwpck_require__(80045),"css-text-spacing":__nccwpck_require__(75688),"css-textshadow":__nccwpck_require__(43548),"css-touch-action-2":__nccwpck_require__(62291),"css-touch-action":__nccwpck_require__(8517),"css-transitions":__nccwpck_require__(61964),"css-unicode-bidi":__nccwpck_require__(45257),"css-unset-value":__nccwpck_require__(50750),"css-variables":__nccwpck_require__(32973),"css-widows-orphans":__nccwpck_require__(47477),"css-writing-mode":__nccwpck_require__(47816),"css-zoom":__nccwpck_require__(26061),"css3-attr":__nccwpck_require__(26203),"css3-boxsizing":__nccwpck_require__(47610),"css3-colors":__nccwpck_require__(91578),"css3-cursors-grab":__nccwpck_require__(63355),"css3-cursors-newer":__nccwpck_require__(70800),"css3-cursors":__nccwpck_require__(73281),"css3-tabsize":__nccwpck_require__(87604),"currentcolor":__nccwpck_require__(66010),"custom-elements":__nccwpck_require__(89306),"custom-elementsv1":__nccwpck_require__(68426),"customevent":__nccwpck_require__(96529),"datalist":__nccwpck_require__(61338),"dataset":__nccwpck_require__(80410),"datauri":__nccwpck_require__(57593),"date-tolocaledatestring":__nccwpck_require__(57488),"details":__nccwpck_require__(55777),"deviceorientation":__nccwpck_require__(30111),"devicepixelratio":__nccwpck_require__(57084),"dialog":__nccwpck_require__(84530),"dispatchevent":__nccwpck_require__(63229),"dnssec":__nccwpck_require__(15381),"do-not-track":__nccwpck_require__(3481),"document-currentscript":__nccwpck_require__(88864),"document-evaluate-xpath":__nccwpck_require__(93781),"document-execcommand":__nccwpck_require__(24147),"document-policy":__nccwpck_require__(39985),"document-scrollingelement":__nccwpck_require__(55988),"documenthead":__nccwpck_require__(2001),"dom-manip-convenience":__nccwpck_require__(64198),"dom-range":__nccwpck_require__(3563),"domcontentloaded":__nccwpck_require__(38057),"domfocusin-domfocusout-events":__nccwpck_require__(54275),"dommatrix":__nccwpck_require__(31943),"download":__nccwpck_require__(49291),"dragndrop":__nccwpck_require__(625),"element-closest":__nccwpck_require__(54805),"element-from-point":__nccwpck_require__(25808),"element-scroll-methods":__nccwpck_require__(80674),"eme":__nccwpck_require__(21671),"eot":__nccwpck_require__(51180),"es5":__nccwpck_require__(62719),"es6-class":__nccwpck_require__(54682),"es6-generators":__nccwpck_require__(6483),"es6-module-dynamic-import":__nccwpck_require__(69972),"es6-module":__nccwpck_require__(33513),"es6-number":__nccwpck_require__(24785),"es6-string-includes":__nccwpck_require__(41908),"es6":__nccwpck_require__(76634),"eventsource":__nccwpck_require__(99513),"extended-system-fonts":__nccwpck_require__(29486),"feature-policy":__nccwpck_require__(6411),"fetch":__nccwpck_require__(80486),"fieldset-disabled":__nccwpck_require__(35953),"fileapi":__nccwpck_require__(61730),"filereader":__nccwpck_require__(92314),"filereadersync":__nccwpck_require__(80418),"filesystem":__nccwpck_require__(13394),"flac":__nccwpck_require__(37012),"flexbox-gap":__nccwpck_require__(2448),"flexbox":__nccwpck_require__(48976),"flow-root":__nccwpck_require__(37107),"focusin-focusout-events":__nccwpck_require__(3162),"focusoptions-preventscroll":__nccwpck_require__(9962),"font-family-system-ui":__nccwpck_require__(92562),"font-feature":__nccwpck_require__(26538),"font-kerning":__nccwpck_require__(88367),"font-loading":__nccwpck_require__(90792),"font-metrics-overrides":__nccwpck_require__(24934),"font-size-adjust":__nccwpck_require__(60647),"font-smooth":__nccwpck_require__(21936),"font-unicode-range":__nccwpck_require__(88108),"font-variant-alternates":__nccwpck_require__(90534),"font-variant-east-asian":__nccwpck_require__(35187),"font-variant-numeric":__nccwpck_require__(85199),"fontface":__nccwpck_require__(90829),"form-attribute":__nccwpck_require__(32662),"form-submit-attributes":__nccwpck_require__(37913),"form-validation":__nccwpck_require__(17644),"forms":__nccwpck_require__(68112),"fullscreen":__nccwpck_require__(99086),"gamepad":__nccwpck_require__(66952),"geolocation":__nccwpck_require__(64161),"getboundingclientrect":__nccwpck_require__(73165),"getcomputedstyle":__nccwpck_require__(43665),"getelementsbyclassname":__nccwpck_require__(85337),"getrandomvalues":__nccwpck_require__(26199),"gyroscope":__nccwpck_require__(49966),"hardwareconcurrency":__nccwpck_require__(89006),"hashchange":__nccwpck_require__(62563),"heif":__nccwpck_require__(56666),"hevc":__nccwpck_require__(64206),"hidden":__nccwpck_require__(6027),"high-resolution-time":__nccwpck_require__(88772),"history":__nccwpck_require__(81648),"html-media-capture":__nccwpck_require__(64940),"html5semantic":__nccwpck_require__(72753),"http-live-streaming":__nccwpck_require__(15638),"http2":__nccwpck_require__(16824),"http3":__nccwpck_require__(70549),"iframe-sandbox":__nccwpck_require__(76002),"iframe-seamless":__nccwpck_require__(82891),"iframe-srcdoc":__nccwpck_require__(72100),"imagecapture":__nccwpck_require__(16659),"ime":__nccwpck_require__(54606),"img-naturalwidth-naturalheight":__nccwpck_require__(35720),"import-maps":__nccwpck_require__(64548),"imports":__nccwpck_require__(72563),"indeterminate-checkbox":__nccwpck_require__(66518),"indexeddb":__nccwpck_require__(78797),"indexeddb2":__nccwpck_require__(11395),"inline-block":__nccwpck_require__(7354),"innertext":__nccwpck_require__(40674),"input-autocomplete-onoff":__nccwpck_require__(60328),"input-color":__nccwpck_require__(24411),"input-datetime":__nccwpck_require__(41858),"input-email-tel-url":__nccwpck_require__(65488),"input-event":__nccwpck_require__(56301),"input-file-accept":__nccwpck_require__(3024),"input-file-directory":__nccwpck_require__(77213),"input-file-multiple":__nccwpck_require__(64907),"input-inputmode":__nccwpck_require__(75178),"input-minlength":__nccwpck_require__(90453),"input-number":__nccwpck_require__(90754),"input-pattern":__nccwpck_require__(70620),"input-placeholder":__nccwpck_require__(45840),"input-range":__nccwpck_require__(19303),"input-search":__nccwpck_require__(86763),"input-selection":__nccwpck_require__(48804),"insert-adjacent":__nccwpck_require__(36404),"insertadjacenthtml":__nccwpck_require__(20379),"internationalization":__nccwpck_require__(558),"intersectionobserver-v2":__nccwpck_require__(16414),"intersectionobserver":__nccwpck_require__(93717),"intl-pluralrules":__nccwpck_require__(14130),"intrinsic-width":__nccwpck_require__(56835),"jpeg2000":__nccwpck_require__(99137),"jpegxl":__nccwpck_require__(58083),"jpegxr":__nccwpck_require__(70525),"js-regexp-lookbehind":__nccwpck_require__(91191),"json":__nccwpck_require__(92815),"justify-content-space-evenly":__nccwpck_require__(37001),"kerning-pairs-ligatures":__nccwpck_require__(82612),"keyboardevent-charcode":__nccwpck_require__(7891),"keyboardevent-code":__nccwpck_require__(39598),"keyboardevent-getmodifierstate":__nccwpck_require__(87626),"keyboardevent-key":__nccwpck_require__(98685),"keyboardevent-location":__nccwpck_require__(90035),"keyboardevent-which":__nccwpck_require__(82586),"lazyload":__nccwpck_require__(23230),"let":__nccwpck_require__(51884),"link-icon-png":__nccwpck_require__(42789),"link-icon-svg":__nccwpck_require__(4506),"link-rel-dns-prefetch":__nccwpck_require__(66458),"link-rel-modulepreload":__nccwpck_require__(36767),"link-rel-preconnect":__nccwpck_require__(67578),"link-rel-prefetch":__nccwpck_require__(31145),"link-rel-preload":__nccwpck_require__(7015),"link-rel-prerender":__nccwpck_require__(74778),"loading-lazy-attr":__nccwpck_require__(11394),"localecompare":__nccwpck_require__(89380),"magnetometer":__nccwpck_require__(19271),"matchesselector":__nccwpck_require__(71184),"matchmedia":__nccwpck_require__(66743),"mathml":__nccwpck_require__(35717),"maxlength":__nccwpck_require__(16924),"media-attribute":__nccwpck_require__(23924),"media-fragments":__nccwpck_require__(6277),"media-session-api":__nccwpck_require__(94413),"mediacapture-fromelement":__nccwpck_require__(84279),"mediarecorder":__nccwpck_require__(55997),"mediasource":__nccwpck_require__(32348),"menu":__nccwpck_require__(89056),"meta-theme-color":__nccwpck_require__(69895),"meter":__nccwpck_require__(44701),"midi":__nccwpck_require__(83250),"minmaxwh":__nccwpck_require__(55879),"mp3":__nccwpck_require__(59447),"mpeg-dash":__nccwpck_require__(374),"mpeg4":__nccwpck_require__(33463),"multibackgrounds":__nccwpck_require__(19069),"multicolumn":__nccwpck_require__(24233),"mutation-events":__nccwpck_require__(90072),"mutationobserver":__nccwpck_require__(98212),"namevalue-storage":__nccwpck_require__(80611),"native-filesystem-api":__nccwpck_require__(7576),"nav-timing":__nccwpck_require__(73272),"navigator-language":__nccwpck_require__(56212),"netinfo":__nccwpck_require__(1493),"notifications":__nccwpck_require__(54483),"object-entries":__nccwpck_require__(69577),"object-fit":__nccwpck_require__(6228),"object-observe":__nccwpck_require__(63008),"object-values":__nccwpck_require__(55480),"objectrtc":__nccwpck_require__(39611),"offline-apps":__nccwpck_require__(45884),"offscreencanvas":__nccwpck_require__(74509),"ogg-vorbis":__nccwpck_require__(77081),"ogv":__nccwpck_require__(18398),"ol-reversed":__nccwpck_require__(67096),"once-event-listener":__nccwpck_require__(79713),"online-status":__nccwpck_require__(11219),"opus":__nccwpck_require__(12205),"orientation-sensor":__nccwpck_require__(77294),"outline":__nccwpck_require__(28311),"pad-start-end":__nccwpck_require__(42502),"page-transition-events":__nccwpck_require__(72796),"pagevisibility":__nccwpck_require__(87772),"passive-event-listener":__nccwpck_require__(50754),"passwordrules":__nccwpck_require__(28403),"path2d":__nccwpck_require__(13066),"payment-request":__nccwpck_require__(36954),"pdf-viewer":__nccwpck_require__(31504),"permissions-api":__nccwpck_require__(98901),"permissions-policy":__nccwpck_require__(17093),"picture-in-picture":__nccwpck_require__(2610),"picture":__nccwpck_require__(85312),"ping":__nccwpck_require__(96744),"png-alpha":__nccwpck_require__(54659),"pointer-events":__nccwpck_require__(2224),"pointer":__nccwpck_require__(27252),"pointerlock":__nccwpck_require__(50221),"portals":__nccwpck_require__(72388),"prefers-color-scheme":__nccwpck_require__(93412),"prefers-reduced-motion":__nccwpck_require__(21506),"private-class-fields":__nccwpck_require__(2344),"private-methods-and-accessors":__nccwpck_require__(46300),"progress":__nccwpck_require__(31127),"promise-finally":__nccwpck_require__(22438),"promises":__nccwpck_require__(26044),"proximity":__nccwpck_require__(93871),"proxy":__nccwpck_require__(88321),"public-class-fields":__nccwpck_require__(94312),"publickeypinning":__nccwpck_require__(29636),"push-api":__nccwpck_require__(39446),"queryselector":__nccwpck_require__(78361),"readonly-attr":__nccwpck_require__(21513),"referrer-policy":__nccwpck_require__(68504),"registerprotocolhandler":__nccwpck_require__(35575),"rel-noopener":__nccwpck_require__(67634),"rel-noreferrer":__nccwpck_require__(53615),"rellist":__nccwpck_require__(40764),"rem":__nccwpck_require__(49123),"requestanimationframe":__nccwpck_require__(10380),"requestidlecallback":__nccwpck_require__(28670),"resizeobserver":__nccwpck_require__(21994),"resource-timing":__nccwpck_require__(28286),"rest-parameters":__nccwpck_require__(42459),"rtcpeerconnection":__nccwpck_require__(17936),"ruby":__nccwpck_require__(35921),"run-in":__nccwpck_require__(88365),"same-site-cookie-attribute":__nccwpck_require__(87529),"screen-orientation":__nccwpck_require__(22474),"script-async":__nccwpck_require__(1522),"script-defer":__nccwpck_require__(13440),"scrollintoview":__nccwpck_require__(39781),"scrollintoviewifneeded":__nccwpck_require__(12228),"sdch":__nccwpck_require__(52531),"selection-api":__nccwpck_require__(60612),"server-timing":__nccwpck_require__(6978),"serviceworkers":__nccwpck_require__(65958),"setimmediate":__nccwpck_require__(87394),"sha-2":__nccwpck_require__(83083),"shadowdom":__nccwpck_require__(29657),"shadowdomv1":__nccwpck_require__(32860),"sharedarraybuffer":__nccwpck_require__(71306),"sharedworkers":__nccwpck_require__(42568),"sni":__nccwpck_require__(18689),"spdy":__nccwpck_require__(35867),"speech-recognition":__nccwpck_require__(7773),"speech-synthesis":__nccwpck_require__(38623),"spellcheck-attribute":__nccwpck_require__(79418),"sql-storage":__nccwpck_require__(88502),"srcset":__nccwpck_require__(31740),"stream":__nccwpck_require__(83192),"streams":__nccwpck_require__(54664),"stricttransportsecurity":__nccwpck_require__(24046),"style-scoped":__nccwpck_require__(39846),"subresource-integrity":__nccwpck_require__(50847),"svg-css":__nccwpck_require__(52279),"svg-filters":__nccwpck_require__(24682),"svg-fonts":__nccwpck_require__(18443),"svg-fragment":__nccwpck_require__(32036),"svg-html":__nccwpck_require__(18617),"svg-html5":__nccwpck_require__(94098),"svg-img":__nccwpck_require__(86703),"svg-smil":__nccwpck_require__(91827),"svg":__nccwpck_require__(44087),"sxg":__nccwpck_require__(12832),"tabindex-attr":__nccwpck_require__(40960),"template-literals":__nccwpck_require__(7507),"template":__nccwpck_require__(52873),"testfeat":__nccwpck_require__(40831),"text-decoration":__nccwpck_require__(6866),"text-emphasis":__nccwpck_require__(76001),"text-overflow":__nccwpck_require__(73033),"text-size-adjust":__nccwpck_require__(2368),"text-stroke":__nccwpck_require__(10481),"text-underline-offset":__nccwpck_require__(13785),"textcontent":__nccwpck_require__(2846),"textencoder":__nccwpck_require__(96073),"tls1-1":__nccwpck_require__(76376),"tls1-2":__nccwpck_require__(99062),"tls1-3":__nccwpck_require__(5423),"token-binding":__nccwpck_require__(51858),"touch":__nccwpck_require__(61653),"transforms2d":__nccwpck_require__(98415),"transforms3d":__nccwpck_require__(48912),"trusted-types":__nccwpck_require__(58552),"ttf":__nccwpck_require__(23126),"typedarrays":__nccwpck_require__(71426),"u2f":__nccwpck_require__(61405),"unhandledrejection":__nccwpck_require__(43287),"upgradeinsecurerequests":__nccwpck_require__(97798),"url-scroll-to-text-fragment":__nccwpck_require__(52411),"url":__nccwpck_require__(80081),"urlsearchparams":__nccwpck_require__(17586),"use-strict":__nccwpck_require__(33500),"user-select-none":__nccwpck_require__(85671),"user-timing":__nccwpck_require__(98345),"variable-fonts":__nccwpck_require__(56153),"vector-effect":__nccwpck_require__(18563),"vibration":__nccwpck_require__(78480),"video":__nccwpck_require__(69345),"videotracks":__nccwpck_require__(32495),"viewport-units":__nccwpck_require__(23396),"wai-aria":__nccwpck_require__(32102),"wake-lock":__nccwpck_require__(44534),"wasm":__nccwpck_require__(95495),"wav":__nccwpck_require__(22174),"wbr-element":__nccwpck_require__(91075),"web-animation":__nccwpck_require__(17713),"web-app-manifest":__nccwpck_require__(48215),"web-bluetooth":__nccwpck_require__(46475),"web-serial":__nccwpck_require__(86902),"web-share":__nccwpck_require__(1574),"webauthn":__nccwpck_require__(8423),"webgl":__nccwpck_require__(34889),"webgl2":__nccwpck_require__(75593),"webgpu":__nccwpck_require__(98935),"webhid":__nccwpck_require__(51706),"webkit-user-drag":__nccwpck_require__(27580),"webm":__nccwpck_require__(19936),"webnfc":__nccwpck_require__(57179),"webp":__nccwpck_require__(95001),"websockets":__nccwpck_require__(9648),"webusb":__nccwpck_require__(75310),"webvr":__nccwpck_require__(28335),"webvtt":__nccwpck_require__(53707),"webworkers":__nccwpck_require__(82501),"webxr":__nccwpck_require__(85515),"will-change":__nccwpck_require__(70441),"woff":__nccwpck_require__(15216),"woff2":__nccwpck_require__(92249),"word-break":__nccwpck_require__(72383),"wordwrap":__nccwpck_require__(40133),"x-doc-messaging":__nccwpck_require__(3334),"x-frame-options":__nccwpck_require__(52711),"xhr2":__nccwpck_require__(94381),"xhtml":__nccwpck_require__(92605),"xhtmlsmil":__nccwpck_require__(7278),"xml-serializer":__nccwpck_require__(12227)};


/***/ }),

/***/ 22041:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e jB kB","132":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F","16":"A B"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"132":"P"},N:{"1":"A","2":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:6,C:"AAC audio file format"};


/***/ }),

/***/ 58633:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K L"},C:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB jB kB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB"},E:{"1":"J K VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB","130":"C UB"},F:{"1":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"AbortController & AbortSignal"};


/***/ }),

/***/ 16821:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O","2":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","132":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D","132":"A"},K:{"2":"A B C Q UB eB","132":"VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"};


/***/ }),

/***/ 64181:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB XB GB YB Q HB IB JB KB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Accelerometer"};


/***/ }),

/***/ 31621:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","130":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","257":"hB WB H b I jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"EventTarget.addEventListener()"};


/***/ }),

/***/ 18627:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","2":"I D gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"F B C wB xB yB zB UB eB 0B VB","16":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"16":"G"},M:{"16":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:1,C:"Alternate stylesheet"};


/***/ }),

/***/ 12148:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J","132":"K L M N O","322":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e jB kB","132":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB","194":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","322":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB UB eB 0B VB","322":"RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:4,C:"Ambient Light Sensor"};


/***/ }),

/***/ 2312:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB"},D:{"1":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB"},E:{"1":"E F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB rB"},F:{"1":"3 4 5 6 7 8 9 B C AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"0 1 2 F L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Animated PNG (APNG)"};


/***/ }),

/***/ 79271:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Array.prototype.findIndex"};


/***/ }),

/***/ 39299:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","16":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Array.prototype.find"};


/***/ }),

/***/ 38626:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB jB kB"},D:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB"},E:{"1":"C J K VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB UB"},F:{"1":"DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB wB xB yB zB UB eB 0B VB"},G:{"1":"CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"flat & flatMap array methods"};


/***/ }),

/***/ 33189:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Array.prototype.includes"};


/***/ }),

/***/ 72093:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Arrow functions"};


/***/ }),

/***/ 72303:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O","132":"R S T U V W X P Y Z G a","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e jB kB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k","132":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","132":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","132":"Q"},L:{"132":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H","132":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:6,C:"asm.js"};


/***/ }),

/***/ 40152:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q jB kB","132":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","66":"FB XB GB YB"},E:{"1":"K tB uB vB","2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC","260":"IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","260":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","260":"Q"},L:{"1":"G"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC","260":"WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Asynchronous Clipboard API"};


/***/ }),

/***/ 49000:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C J","194":"K"},C:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB","514":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","514":"9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Async functions"};


/***/ }),

/***/ 37179:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","2":"F wB xB","16":"yB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","16":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Base64 encoding and decoding"};


/***/ }),

/***/ 70873:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J","33":"K L M N O c d e f g h i j k l m n o p q"},E:{"1":"uB vB","2":"H b oB cB pB","33":"I D E F A B C J K qB rB sB dB UB VB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e"},G:{"1":"JC","2":"cB 1B fB 2B","33":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Web Audio API"};


/***/ }),

/***/ 6398:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","132":"H b I D E F A B C J K L M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F","4":"wB xB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","2":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Audio element"};


/***/ }),

/***/ 77417:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O","322":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB","194":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b I oB cB pB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o wB xB yB zB UB eB 0B VB","322":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","322":"Q"},L:{"322":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"Audio Tracks"};


/***/ }),

/***/ 91333:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Autofocus attribute"};


/***/ }),

/***/ 638:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","129":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","16":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Auxclick"};


/***/ }),

/***/ 14604:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N","194":"O"},C:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB jB kB","66":"CB DB EB FB XB GB YB Q HB IB","260":"JB","516":"KB"},D:{"1":"OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB","66":"LB MB NB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1090":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"H SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"AV1 video format"};


/***/ }),

/***/ 66762:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB jB kB","450":"aB bB R S T iB U V W X P Y Z G a"},D:{"1":"W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"450":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"AVIF image format"};


/***/ }),

/***/ 41394:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","132":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","132":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","132":"F wB xB"},G:{"2":"cB 1B fB","772":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC PC QC","132":"OC fB"},J:{"260":"D A"},K:{"1":"B C Q UB eB VB","132":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"2":"H","1028":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1028":"cC"},S:{"1":"dC"}},B:4,C:"CSS background-attachment"};


/***/ }),

/***/ 13197:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O","33":"C J K R S T U V W X P Y Z G a"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"16":"oB cB","33":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"16":"cB 1B fB 2B","33":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"WB LC MC NC","33":"H G OC fB PC QC"},J:{"33":"D A"},K:{"16":"A B C UB eB VB","33":"Q"},L:{"33":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"1":"dC"}},B:7,C:"Background-clip: text"};


/***/ }),

/***/ 22115:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB","36":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","516":"H b I D E F A B C J K"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","772":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB","36":"xB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"cB 1B fB 3B","516":"2B"},H:{"132":"KC"},I:{"1":"G PC QC","36":"LC","516":"WB H OC fB","548":"MC NC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Background-image options"};


/***/ }),

/***/ 4414:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"background-position-x & background-position-y"};


/***/ }),

/***/ 74678:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E gB","132":"F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F L M N O wB xB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"CSS background-repeat round and space"};


/***/ }),

/***/ 99995:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z jB kB","16":"G a"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Background Sync API"};


/***/ }),

/***/ 96576:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8","2":"9 hB WB H b I D E F AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","132":"M N O c d e f g h i j k l m n o p q r s t u v w x y z","164":"A B C J K L"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t","66":"u"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Battery Status API"};


/***/ }),

/***/ 33903:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Beacon API"};


/***/ }),

/***/ 38484:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","16":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"2":"SC TC UC VC WC dB XC YC ZC aC","16":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"Printing Events"};


/***/ }),

/***/ 88210:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB jB kB","194":"JB KB LB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB"},E:{"1":"K uB vB","2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB tB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H SC TC UC VC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"BigInt"};


/***/ }),

/***/ 43840:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB","36":"I D E F A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D","36":"E F A B C J K L M N O c"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B C wB xB yB zB UB eB 0B"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"G","2":"LC MC NC","36":"WB H OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Blob constructing"};


/***/ }),

/***/ 75394:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","129":"A B"},B:{"1":"L M N O R S T U V W X P Y Z G a","129":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D","33":"E F A B C J K L M N O c d e f"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB LC MC NC","33":"H OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Blob URLs"};


/***/ }),

/***/ 14915:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","129":"C J"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","260":"0 1 2 3 4 5 6 L M N O c d e f g h i j k l m n o p q r s t u v w x y z","804":"H b I D E F A B C J K jB kB"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","260":"8 9 AB BB CB","388":"0 1 2 3 4 5 6 7 n o p q r s t u v w x y z","1412":"L M N O c d e f g h i j k l m","1956":"H b I D E F A B C J K"},E:{"129":"A B C J K sB dB UB VB tB uB vB","1412":"I D E F qB rB","1956":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB xB","260":"v w x y z","388":"L M N O c d e f g h i j k l m n o p q r s t u","1796":"yB zB","1828":"B C UB eB 0B VB"},G:{"129":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","1412":"E 3B 4B 5B 6B","1956":"cB 1B fB 2B"},H:{"1828":"KC"},I:{"1":"G","388":"PC QC","1956":"WB H LC MC NC OC fB"},J:{"1412":"A","1924":"D"},K:{"1":"Q","2":"A","1828":"B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"388":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","260":"SC TC","388":"H"},Q:{"260":"bC"},R:{"260":"cC"},S:{"260":"dC"}},B:4,C:"CSS3 Border images"};


/***/ }),

/***/ 72853:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","257":"0 1 2 3 4 5 6 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","289":"WB jB kB","292":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H"},E:{"1":"b D E F A B C J K rB sB dB UB VB tB uB vB","33":"H oB cB","129":"I pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"cB"},H:{"2":"KC"},I:{"1":"WB H G MC NC OC fB PC QC","33":"LC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"257":"dC"}},B:4,C:"CSS3 Border-radius (rounded corners)"};


/***/ }),

/***/ 35485:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"BroadcastChannel"};


/***/ }),

/***/ 67933:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C J K"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"6","257":"7"},E:{"1":"J K tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","513":"B C UB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB","194":"t u"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"};


/***/ }),

/***/ 287:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","260":"F","516":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","33":"H b I D E F A B C J K L"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O","33":"c d e f g h i"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB","132":"PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"calc() as CSS unit value"};


/***/ }),

/***/ 39321:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b I oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Canvas blend modes"};


/***/ }),

/***/ 35888:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","8":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","8":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","8":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","8":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Text API for Canvas"};


/***/ }),

/***/ 66710:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","132":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","132":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"260":"KC"},I:{"1":"WB H G OC fB PC QC","132":"LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Canvas (basic support)"};


/***/ }),

/***/ 30814:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","132":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"ch (character) unit"};


/***/ }),

/***/ 34099:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p","129":"0 1 2 3 4 5 q r s t u v w x y z"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC","16":"QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"};


/***/ }),

/***/ 610:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i jB kB","194":"j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","2":"F wB xB","16":"yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Channel messaging"};


/***/ }),

/***/ 40258:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","16":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"ChildNode.remove()"};


/***/ }),

/***/ 33077:
/***/ ((module) => {

module.exports={A:{A:{"8":"I D E F gB","1924":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB jB","516":"h i","772":"H b I D E F A B C J K L M N O c d e f g kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H b I D","516":"h i j k","772":"g","900":"E F A B C J K L M N O c d e f"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","8":"H b oB cB","900":"I pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","8":"F B wB xB yB zB UB","900":"C eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB","900":"2B 3B"},H:{"900":"KC"},I:{"1":"G PC QC","8":"LC MC NC","900":"WB H OC fB"},J:{"1":"A","900":"D"},K:{"1":"Q","8":"A B","900":"C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"900":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"classList (DOMTokenList)"};


/***/ }),

/***/ 26164:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"};


/***/ }),

/***/ 28546:
/***/ ((module) => {

module.exports={A:{A:{"2436":"I D E F A B gB"},B:{"260":"N O","2436":"C J K L M","8196":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e jB kB","772":"f g h i j k l m n o p q r s t u v w x","4100":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"H b I D E F A B C","2564":"J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","8196":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","10244":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB"},E:{"1":"C J K VB tB uB vB","16":"oB cB","2308":"A B dB UB","2820":"H b I D E F pB qB rB sB"},F:{"2":"F B wB xB yB zB UB eB 0B","16":"C","516":"VB","2564":"L M N O c d e f g h i j k l m","8196":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","10244":"0 1 n o p q r s t u v w x y z"},G:{"1":"CC DC EC FC GC HC IC JC","2":"cB 1B fB","2820":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","260":"G","2308":"PC QC"},J:{"2":"D","2308":"A"},K:{"2":"A B C UB eB","16":"VB","1028":"Q"},L:{"8196":"G"},M:{"1028":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2052":"SC TC","2308":"H","8196":"UC VC WC dB XC YC ZC aC"},Q:{"10244":"bC"},R:{"2052":"cC"},S:{"4100":"dC"}},B:5,C:"Synchronous Clipboard API"};


/***/ }),

/***/ 22303:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","257":"F A B"},B:{"1":"C J K L M N O","513":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB","513":"PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"K uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","129":"B C J UB VB tB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB wB xB yB zB UB eB 0B VB","513":"FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"16":"A B"},O:{"1":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"COLR/CPAL(v0) Font Formats"};


/***/ }),

/***/ 2004:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","132":"L M N O c d e f g h i j k l m"},E:{"1":"A B C J K dB UB VB tB uB vB","16":"H b I oB cB","132":"D E F qB rB sB","260":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","16":"F B wB xB yB zB UB eB","132":"L M"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB","132":"E 1B fB 2B 3B 4B 5B 6B 7B"},H:{"1":"KC"},I:{"1":"G PC QC","16":"LC MC","132":"WB H NC OC fB"},J:{"132":"D A"},K:{"1":"C Q VB","16":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Node.compareDocumentPosition()"};


/***/ }),

/***/ 30695:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D gB","132":"E F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F wB xB yB zB"},G:{"1":"cB 1B fB 2B","513":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4097":"KC"},I:{"1025":"WB H G LC MC NC OC fB PC QC"},J:{"258":"D A"},K:{"2":"A","258":"B C Q UB eB VB"},L:{"1025":"G"},M:{"2049":"P"},N:{"258":"A B"},O:{"258":"RC"},P:{"1025":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1025":"cC"},S:{"1":"dC"}},B:1,C:"Basic console logging functions"};


/***/ }),

/***/ 15498:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F wB xB yB zB","16":"B"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","16":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"console.time and console.timeEnd"};


/***/ }),

/***/ 67727:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","2052":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"hB WB H b I D E F A B C jB kB","260":"J K L M N O c d e f g h i j k l m n o p q r s"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","260":"H b I D E F A B C J K L M N O c d","772":"e f g h i j k l m n o p q r s t u v w x","1028":"0 1 2 3 4 5 y z"},E:{"1":"A B C J K dB UB VB tB uB vB","260":"H b oB cB","772":"I D E F pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB","132":"B xB yB zB UB eB","644":"C 0B VB","772":"L M N O c d e f g h i j k","1028":"l m n o p q r s"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","260":"cB 1B fB","772":"E 2B 3B 4B 5B 6B 7B"},H:{"644":"KC"},I:{"1":"G","16":"LC MC","260":"NC","772":"WB H OC fB PC QC"},J:{"772":"D A"},K:{"1":"Q","132":"A B UB eB","644":"C VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","1028":"H"},Q:{"1":"bC"},R:{"1028":"cC"},S:{"1":"dC"}},B:6,C:"const"};


/***/ }),

/***/ 92806:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","900":"A B"},B:{"1":"N O R S T U V W X P Y Z G a","388":"K L M","900":"C J"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","260":"6 7","388":"0 1 2 3 4 5 m n o p q r s t u v w x y z","900":"H b I D E F A B C J K L M N O c d e f g h i j k l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","388":"i j k l m n o p q r s t u v w","900":"L M N O c d e f g h"},E:{"1":"A B C J K dB UB VB tB uB vB","16":"H b oB cB","388":"E F rB sB","900":"I D pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F B wB xB yB zB UB eB","388":"L M N O c d e f g h i j","900":"C 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","388":"E 4B 5B 6B 7B","900":"2B 3B"},H:{"2":"KC"},I:{"1":"G","16":"WB LC MC NC","388":"PC QC","900":"H OC fB"},J:{"16":"D","388":"A"},K:{"1":"Q","16":"A B UB eB","900":"C VB"},L:{"1":"G"},M:{"1":"P"},N:{"900":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"388":"dC"}},B:1,C:"Constraint Validation API"};


/***/ }),

/***/ 46638:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB","4":"WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"contenteditable attribute (basic support)"};


/***/ }),

/***/ 90370:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","129":"H b I D E F A B C J K L M N O c d e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J","257":"K L M N O c d e f g h"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b oB cB","257":"I qB","260":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","257":"3B","260":"2B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D","257":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"257":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Content Security Policy 1.0"};


/***/ }),

/***/ 39564:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K","32772":"L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB","132":"o p q r","260":"s","516":"0 1 t u v w x y z","8196":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s","1028":"t u v","2052":"w"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f wB xB yB zB UB eB 0B VB","1028":"g h i","2052":"j"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"4100":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"8196":"dC"}},B:2,C:"Content Security Policy Level 2"};


/***/ }),

/***/ 71369:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"P Y Z G a","2":"C J K L M N O","194":"R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB","194":"IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"SB TB","2":"0 1 2 3 4 5 6 7 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","194":"8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Cookie Store API"};


/***/ }),

/***/ 96637:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D gB","132":"A","260":"E F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB","1025":"YB Q HB IB JB KB LB MB NB OB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C"},E:{"2":"oB cB","513":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","644":"H b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B"},G:{"513":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","644":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"G PC QC","132":"WB H LC MC NC OC fB"},J:{"1":"A","132":"D"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","132":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Cross-Origin Resource Sharing"};


/***/ }),

/***/ 25702:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y jB kB","3076":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"7 8","260":"9 AB","516":"BB CB DB EB FB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t wB xB yB zB UB eB 0B VB","132":"u v","260":"w x","516":"0 1 2 y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"3076":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","16":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"3076":"dC"}},B:1,C:"createImageBitmap"};


/***/ }),

/***/ 32011:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","66":"5 6 7","129":"8 9 AB BB CB DB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Credential Management API"};


/***/ }),

/***/ 91342:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E F A","164":"B"},B:{"1":"R S T U V W X P Y Z G a","513":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o jB kB","66":"p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"B C J K UB VB tB uB vB","8":"H b I D oB cB pB qB","289":"E F A rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","8":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B 3B 4B","289":"E 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","8":"WB H LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"1":"Q","8":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A","164":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Web Cryptography"};


/***/ }),

/***/ 55211:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G QC","2":"WB H LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS all property"};


/***/ }),

/***/ 40083:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H jB kB","33":"b I D E F A B C J K L"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"oB cB","33":"I D E pB qB rB","292":"H b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B","33":"C L M N O c d e f g h i j k l m"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"E 3B 4B 5B","164":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"G","33":"H OC fB PC QC","164":"WB LC MC NC"},J:{"33":"D A"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS Animation"};


/***/ }),

/***/ 2031:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB","33":"0 1 2 3 4 5 6 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","16":"H b I oB cB pB","33":"D E qB rB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B","33":"E 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","16":"WB H LC MC NC OC fB","33":"PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"1":"WC dB XC YC ZC aC","16":"H","33":"SC TC UC VC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"CSS :any-link selector"};


/***/ }),

/***/ 3599:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"V W X P Y Z G a","33":"U","164":"R S T","388":"C J K L M N O"},C:{"1":"S T iB U V W X P Y Z G a","164":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","676":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r jB kB"},D:{"1":"V W X P Y Z G a lB mB nB","33":"U","164":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T"},E:{"164":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"OB PB QB","164":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB"},G:{"164":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","164":"WB H LC MC NC OC fB PC QC"},J:{"164":"D A"},K:{"2":"A B C UB eB VB","164":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A","388":"B"},O:{"164":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"164":"dC"}},B:5,C:"CSS Appearance"};


/***/ }),

/***/ 66395:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","194":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB UB eB 0B VB","194":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","194":"Q"},L:{"194":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H","194":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"194":"cC"},S:{"2":"dC"}},B:7,C:"CSS @apply rule"};


/***/ }),

/***/ 2769:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G","132":"a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB","132":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G","132":"a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:4,C:"CSS Counter Styles"};


/***/ }),

/***/ 74043:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M","257":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB jB kB","578":"OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"2":"H b I D E oB cB pB qB rB","33":"F A B C J K sB dB UB VB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q wB xB yB zB UB eB 0B VB","194":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","33":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"578":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"H","194":"SC TC UC VC WC dB XC"},Q:{"194":"bC"},R:{"194":"cC"},S:{"2":"dC"}},B:7,C:"CSS Backdrop Filter"};


/***/ }),

/***/ 29407:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS background-position edge offsets"};


/***/ }),

/***/ 98732:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m jB kB"},D:{"1":"0 1 2 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r","260":"3"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D oB cB pB qB","132":"E F A rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e wB xB yB zB UB eB 0B VB","260":"q"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS background-blend-mode"};


/***/ }),

/***/ 81371:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","164":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o jB kB"},D:{"2":"H b I D E F A B C J K L M N O c d e","164":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I oB cB pB","164":"D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"2":"F wB xB yB zB","129":"B C UB eB 0B VB","164":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B fB 2B 3B","164":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"2":"WB H LC MC NC OC fB","164":"G PC QC"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C UB eB VB","164":"Q"},L:{"164":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"1":"dC"}},B:5,C:"CSS box-decoration-break"};


/***/ }),

/***/ 22004:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","33":"jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H b I D E F"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","33":"b","164":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"1B fB","164":"cB"},H:{"2":"KC"},I:{"1":"H G OC fB PC QC","164":"WB LC MC NC"},J:{"1":"A","33":"D"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Box-shadow"};


/***/ }),

/***/ 34651:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"0 1 2 3 4 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"oB cB","33":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","33":"L M N O c d e f g h i j k l m n o p q r"},G:{"33":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"G","33":"WB H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"SC TC UC VC WC dB XC YC ZC aC","33":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS Canvas Drawings"};


/***/ }),

/***/ 3560:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS caret-color"};


/***/ }),

/***/ 4497:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"Case-insensitive CSS attribute selectors"};


/***/ }),

/***/ 37028:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N","260":"R S T U V W X P Y Z G a","3138":"O"},C:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","132":"0 1 2 3 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","644":"4 5 6 7 8 9 AB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g","260":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","292":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB"},E:{"2":"H b I oB cB pB qB","292":"D E F A B C J K rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","260":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","292":"L M N O c d e f g h i j k l m n o p q r s t u v w x y"},G:{"2":"cB 1B fB 2B 3B","292":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","260":"G","292":"PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","260":"Q"},L:{"260":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"292":"RC"},P:{"292":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"292":"bC"},R:{"260":"cC"},S:{"644":"dC"}},B:4,C:"CSS clip-path property (for HTML)"};


/***/ }),

/***/ 75747:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","33":"R S T U V W X P Y Z G a"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"16":"H b I D E F A B C J K L M N O","33":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b oB cB pB","33":"I D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"16":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"WB H LC MC NC OC fB PC QC","33":"G"},J:{"16":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"16":"G"},M:{"1":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:5,C:"CSS color-adjust"};


/***/ }),

/***/ 4008:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS `color()` function"};


/***/ }),

/***/ 31811:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB jB kB","578":"TB ZB aB bB R S T iB"},D:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","194":"XB GB YB Q HB IB JB KB LB MB"},E:{"1":"J K VB tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","194":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Conical Gradients"};


/***/ }),

/***/ 61547:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a","194":"lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS Container Queries"};


/***/ }),

/***/ 64484:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x jB kB","194":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB"},D:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","66":"8"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB UB eB 0B VB","66":"v w"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:2,C:"CSS Containment"};


/***/ }),

/***/ 69511:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"W X P Y Z G a","2":"C J K L M N O R S T U V"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB","16":"vB"},F:{"1":"PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS content-visibility"};


/***/ }),

/***/ 11237:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","2":"I D gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS Counters"};


/***/ }),

/***/ 36717:
/***/ ((module) => {

module.exports={A:{A:{"2":"I gB","2340":"D E F A B"},B:{"2":"C J K L M N O","1025":"R S T U V W X P Y Z G a"},C:{"2":"hB WB jB","513":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","545":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB kB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x","1025":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b oB cB pB","164":"I","4644":"D E F qB rB sB"},F:{"2":"F B L M N O c d e f g h i j k wB xB yB zB UB eB","545":"C 0B VB","1025":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","4260":"2B 3B","4644":"E 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","1025":"G"},J:{"2":"D","4260":"A"},K:{"2":"A B UB eB","545":"C VB","1025":"Q"},L:{"1025":"G"},M:{"545":"P"},N:{"2340":"A B"},O:{"1":"RC"},P:{"1025":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1025":"bC"},R:{"1025":"cC"},S:{"4097":"dC"}},B:7,C:"Crisp edges/pixelated images"};


/***/ }),

/***/ 90831:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","33":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"H b I D E F A B C J K L M","33":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b oB cB","33":"I D E F pB qB rB sB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","33":"G PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","33":"Q"},L:{"33":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"2":"dC"}},B:4,C:"CSS Cross-Fade Function"};


/***/ }),

/***/ 99030:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB WB jB kB"},D:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","132":"0 1 2 3 4 5 6 7 L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K dB UB VB tB uB vB","16":"H b oB cB","132":"I D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F B wB xB yB zB UB eB","132":"L M N O c d e f g h i j k l m n o p q r s t u","260":"C 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B","132":"E 4B 5B 6B 7B 8B"},H:{"260":"KC"},I:{"1":"G","16":"WB LC MC NC","132":"H OC fB PC QC"},J:{"16":"D","132":"A"},K:{"1":"Q","16":"A B C UB eB","260":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:":default CSS pseudo-class"};


/***/ }),

/***/ 14942:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O S T U V W X P Y Z G a","16":"R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a","16":"lB mB nB"},E:{"1":"B","2":"H b I D E F A C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Explicit descendant combinator >>"};


/***/ }),

/***/ 83318:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","164":"A B"},B:{"66":"R S T U V W X P Y Z G a","164":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l","66":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB UB eB 0B VB","66":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"292":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A Q","292":"B C UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"164":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"66":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Device Adaptation"};


/***/ }),

/***/ 15902:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M jB kB","33":"0 1 2 3 4 5 N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G","194":"a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"33":"dC"}},B:5,C:":dir() CSS pseudo-class"};


/***/ }),

/***/ 45140:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Z G a","2":"C J K L M N O","260":"R S T U V W X P Y"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t jB kB","260":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB"},D:{"1":"Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB XB GB YB Q HB IB","260":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y"},E:{"2":"H b I D E F A B oB cB pB qB rB sB dB","260":"K tB uB vB","772":"C J UB VB"},F:{"2":"0 1 2 3 4 5 6 7 8 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","260":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","260":"HC IC JC","772":"BC CC DC EC FC GC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","260":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","260":"Q"},L:{"260":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC","260":"WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"2":"cC"},S:{"260":"dC"}},B:5,C:"CSS display: contents"};


/***/ }),

/***/ 21694:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"33":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","164":"hB WB jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"33":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"33":"dC"}},B:5,C:"CSS element() function"};


/***/ }),

/***/ 21809:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB jB kB"},D:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","132":"B"},F:{"1":"DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","132":"AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS Environment Variables env()"};


/***/ }),

/***/ 79991:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","33":"A B"},B:{"2":"R S T U V W X P Y Z G a","33":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"33":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Exclusions Level 1"};


/***/ }),

/***/ 53231:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B C wB xB yB zB UB eB 0B"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Feature Queries"};


/***/ }),

/***/ 19533:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB","33":"F"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","33":"6B 7B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS filter() function"};


/***/ }),

/***/ 35123:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","1028":"J K L M N O","1346":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB","196":"r","516":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q kB"},D:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N","33":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b oB cB pB","33":"I D E F qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e f g h i j k l m n o p q r s t u v w"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"E 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB","33":"PC QC"},J:{"2":"D","33":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","33":"H SC TC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS Filter Effects"};


/***/ }),

/***/ 95006:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","16":"gB","516":"E","1540":"I D"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","132":"WB","260":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"b I D E","132":"H"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"b oB","132":"H cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","16":"F wB","260":"B xB yB zB UB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"1":"KC"},I:{"1":"WB H G OC fB PC QC","16":"LC MC","132":"NC"},J:{"1":"D A"},K:{"1":"C Q VB","260":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"::first-letter CSS pseudo-element selector"};


/***/ }),

/***/ 34624:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","132":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS first-line pseudo-element"};


/***/ }),

/***/ 4787:
/***/ ((module) => {

module.exports={A:{A:{"1":"D E F A B","2":"gB","8":"I"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB dB UB VB tB uB vB","1025":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","132":"2B 3B 4B"},H:{"2":"KC"},I:{"1":"WB G PC QC","260":"LC MC NC","513":"H OC fB"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS position:fixed"};


/***/ }),

/***/ 59934:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"X P Y Z G a","2":"C J K L M N O","328":"R S T U V W"},C:{"1":"W X P Y Z G a","2":"hB WB jB kB","161":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V"},D:{"1":"X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB","328":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB","16":"vB"},F:{"1":"QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB UB eB 0B VB","328":"KB LB MB NB OB PB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"161":"dC"}},B:7,C:":focus-visible CSS pseudo-class"};


/***/ }),

/***/ 1620:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","194":"XB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","194":"3"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:7,C:":focus-within CSS pseudo-class"};


/***/ }),

/***/ 80882:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"3 4 5 6 7 8 9 AB BB CB DB EB"},D:{"1":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","66":"6 7 8 9 AB BB CB DB EB FB XB"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB","66":"0 1 2 3 t u v w x y z"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H","66":"SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:5,C:"CSS font-rendering controls"};


/***/ }),

/***/ 6482:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E jB kB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS font-stretch"};


/***/ }),

/***/ 49718:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D gB","132":"E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS Generated content for pseudo-elements"};


/***/ }),

/***/ 13657:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB","260":"M N O c d e f g h i j k l m n o p q r s","292":"H b I D E F A B C J K L kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"A B C J K L M N O c d e f g h i","548":"H b I D E F"},E:{"2":"oB cB","260":"D E F A B C J K qB rB sB dB UB VB tB uB vB","292":"I pB","804":"H b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB","33":"C 0B","164":"UB eB"},G:{"260":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","292":"2B 3B","804":"cB 1B fB"},H:{"2":"KC"},I:{"1":"G PC QC","33":"H OC fB","548":"WB LC MC NC"},J:{"1":"A","548":"D"},K:{"1":"Q VB","2":"A B","33":"C","164":"UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Gradients"};


/***/ }),

/***/ 19330:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","8":"F","292":"A B"},B:{"1":"M N O R S T U V W X P Y Z G a","292":"C J K L"},C:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O jB kB","8":"c d e f g h i j k l m n o p q r s t u v w","584":"0 1 2 3 4 5 6 7 8 x y z","1025":"9 AB"},D:{"1":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h","8":"i j k l","200":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB","1025":"EB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b oB cB pB","8":"I D E F A qB rB sB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB","200":"0 l m n o p q r s t u v w x y z"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","8":"E 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC","8":"fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"292":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"SC","8":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS Grid Layout (level 1)"};


/***/ }),

/***/ 59804:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS hanging-punctuation"};


/***/ }),

/***/ 28790:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:":has() CSS relational pseudo-class"};


/***/ }),

/***/ 22889:
/***/ ((module) => {

module.exports={A:{A:{"16":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","16":"C J K L M N O"},C:{"16":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"16":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"16":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"16":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"16":"G"},M:{"16":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"16":"dC"}},B:5,C:"CSS4 Hyphenation"};


/***/ }),

/***/ 89317:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","33":"A B"},B:{"33":"C J K L M N O","132":"R S T U V W X P","260":"Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB","33":"I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB","132":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P"},E:{"2":"H b oB cB","33":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B","33":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"4":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H","132":"SC"},Q:{"2":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:5,C:"CSS Hyphenation"};


/***/ }),

/***/ 38133:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Z G a","2":"C J K L M N O R S","257":"T U V W X P Y"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i jB kB"},D:{"1":"Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S","257":"T U V W X P Y"},E:{"1":"K tB uB vB","2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB"},F:{"1":"MB NB OB PB QB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB wB xB yB zB UB eB 0B VB","257":"RB SB TB"},G:{"1":"IC JC","132":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"ZC aC","2":"H SC TC UC VC WC dB XC YC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 image-orientation"};


/***/ }),

/***/ 2762:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","164":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W jB kB","66":"X P","260":"Z G a","772":"Y"},D:{"2":"H b I D E F A B C J K L M N O c d","164":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b oB cB pB","132":"A B C J dB UB VB tB","164":"I D E F qB rB sB","516":"K uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","164":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B fB 2B","132":"8B 9B AC BC CC DC EC FC GC HC","164":"E 3B 4B 5B 6B 7B","516":"IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","164":"G PC QC"},J:{"2":"D","164":"A"},K:{"2":"A B C UB eB VB","164":"Q"},L:{"164":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"2":"dC"}},B:5,C:"CSS image-set"};


/***/ }),

/***/ 88654:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C","260":"J K L M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB","516":"0 1 2 3 4 5 6 m n o p q r s t u v w x y z"},D:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H","16":"b I D E F A B C J K","260":"9","772":"0 1 2 3 4 5 6 7 8 L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H oB cB","16":"b","772":"I D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F wB","260":"B C w xB yB zB UB eB 0B VB","772":"L M N O c d e f g h i j k l m n o p q r s t u v"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","772":"E 2B 3B 4B 5B 6B 7B 8B"},H:{"132":"KC"},I:{"1":"G","2":"WB LC MC NC","260":"H OC fB PC QC"},J:{"2":"D","260":"A"},K:{"1":"Q","260":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","260":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"516":"dC"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"};


/***/ }),

/***/ 61436:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","132":"A B","388":"F"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB WB jB kB","132":"0 1 2 3 4 5 6 7 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","388":"H b"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","132":"L M N O c d e f g h i j k l m n o p q r s t u v"},E:{"1":"B C J K dB UB VB tB uB vB","16":"H b I oB cB","132":"D E F A qB rB sB","388":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F B wB xB yB zB UB eB","132":"L M N O c d e f g h i","516":"C 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B","132":"E 4B 5B 6B 7B 8B"},H:{"516":"KC"},I:{"1":"G","16":"WB LC MC NC QC","132":"PC","388":"H OC fB"},J:{"16":"D","132":"A"},K:{"1":"Q","16":"A B C UB eB","516":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:7,C:":indeterminate CSS pseudo-class"};


/***/ }),

/***/ 68010:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E oB cB pB qB rB","4":"F","164":"A B C J K sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","164":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Initial Letter"};


/***/ }),

/***/ 52764:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"H b I D E F A B C J K L M N O jB kB","164":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS initial value"};


/***/ }),

/***/ 6661:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","16":"gB","132":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g h i j k l m"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","16":"oB","132":"H b I cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F wB","132":"B C L M xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"G PC QC","16":"LC MC","132":"WB H NC OC fB"},J:{"132":"D A"},K:{"1":"Q","132":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"letter-spacing CSS property"};


/***/ }),

/***/ 12931:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M","33":"R S T U V W X P Y Z G a","129":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB jB kB","33":"MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"16":"H b I D E F A B C J","33":"0 1 2 3 4 5 6 7 8 9 K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H oB cB","33":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"LC MC","33":"WB H G NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C UB eB VB","33":"Q"},L:{"33":"G"},M:{"33":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"2":"dC"}},B:5,C:"CSS line-clamp"};


/***/ }),

/***/ 23871:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Z G a","2":"C J K L M N O","2052":"P Y","3588":"R S T U V W X"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB","164":"WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x jB kB"},D:{"1":"Z G a lB mB nB","292":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB","2052":"P Y","3588":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X"},E:{"292":"H b I D E F A B C oB cB pB qB rB sB dB UB","2052":"uB vB","3588":"J K VB tB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","292":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","2052":"SB TB","3588":"DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB"},G:{"292":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","2052":"JC","3588":"DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"G","292":"WB H LC MC NC OC fB PC QC"},J:{"292":"D A"},K:{"2":"A B C UB eB VB","3588":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"292":"RC"},P:{"292":"H SC TC UC VC WC","3588":"dB XC YC ZC aC"},Q:{"3588":"bC"},R:{"3588":"cC"},S:{"3588":"dC"}},B:5,C:"CSS Logical Properties"};


/***/ }),

/***/ 35371:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"X P Y Z G a","2":"C J K L M N O R S T U V W"},C:{"1":"MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB jB kB"},D:{"1":"X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W"},E:{"2":"H b I D E F A B oB cB pB qB rB sB dB","129":"C J K UB VB tB uB vB"},F:{"1":"QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS ::marker pseudo-element"};


/***/ }),

/***/ 15592:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M","164":"R S T U V W X P Y Z G a","3138":"N","12292":"O"},C:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","260":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"164":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"oB cB","164":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","164":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"164":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"164":"G PC QC","676":"WB H LC MC NC OC fB"},J:{"164":"D A"},K:{"2":"A B C UB eB VB","164":"Q"},L:{"164":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"260":"dC"}},B:4,C:"CSS Masks"};


/***/ }),

/***/ 45820:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Y Z G a","2":"C J K L M N O","1220":"R S T U V W X P"},C:{"1":"bB R S T iB U V W X P Y Z G a","16":"hB WB jB kB","548":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB"},D:{"1":"Y Z G a lB mB nB","16":"H b I D E F A B C J K","164":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB","196":"JB KB LB","1220":"MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P"},E:{"1":"K uB vB","2":"H oB cB","16":"b","164":"I D E pB qB rB","260":"F A B C J sB dB UB VB tB"},F:{"1":"TB","2":"F B C wB xB yB zB UB eB 0B VB","164":"0 1 2 3 4 5 6 7 8 L M N O c d e f g h i j k l m n o p q r s t u v w x y z","196":"9 AB BB","1220":"CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB"},G:{"1":"IC JC","16":"cB 1B fB 2B 3B","164":"E 4B 5B","260":"6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"1":"G","16":"WB LC MC NC","164":"H OC fB PC QC"},J:{"16":"D","164":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1220":"bC"},R:{"164":"cC"},S:{"548":"dC"}},B:5,C:":is() CSS pseudo-class"};


/***/ }),

/***/ 15868:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB jB kB"},D:{"1":"R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB"},E:{"1":"K tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB","132":"C J UB VB"},F:{"1":"KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB UB eB 0B VB"},G:{"1":"HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","132":"BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"H SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS math functions min(), max() and clamp()"};


/***/ }),

/***/ 22427:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Media Queries: interaction media features"};


/***/ }),

/***/ 79494:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","132":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","260":"H b I D E F A B C J K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","548":"H b I D E F A B C J K L M N O c d e f g h i j k l"},E:{"2":"oB cB","548":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F","548":"B C wB xB yB zB UB eB 0B"},G:{"16":"cB","548":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"1":"G PC QC","16":"LC MC","548":"WB H NC OC fB"},J:{"548":"D A"},K:{"1":"Q VB","548":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Media Queries: resolution feature"};


/***/ }),

/***/ 78527:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"16":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","16":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a","16":"lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Media Queries: scripting media feature"};


/***/ }),

/***/ 47055:
/***/ ((module) => {

module.exports={A:{A:{"8":"I D E gB","129":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","129":"H b I D E F A B C J K L M N O c d e f g h i"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","129":"H b I pB","388":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","129":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"G PC QC","129":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 Media Queries"};


/***/ }),

/***/ 93831:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l","194":"m n o p q r s t u v w x"},E:{"2":"H b I D oB cB pB qB","260":"E F A B C J K rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB 2B 3B 4B","260":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Blending of HTML/SVG elements"};


/***/ }),

/***/ 46876:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB jB kB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"0 1 2"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB","194":"n o p"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"CSS Motion Path"};


/***/ }),

/***/ 9028:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS namespaces"};


/***/ }),

/***/ 92481:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Y Z G a","2":"C J K L M N O S T U V W X P","16":"R"},C:{"1":"V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U jB kB"},D:{"1":"Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"selector list argument of :not()"};


/***/ }),

/***/ 66492:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"};


/***/ }),

/***/ 23375:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","4":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 Opacity"};


/***/ }),

/***/ 93492:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F wB","132":"B C xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"132":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","132":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:":optional CSS pseudo-class"};


/***/ }),

/***/ 11721:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB jB kB"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"};


/***/ }),

/***/ 74065:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"H b I D E F A B pB qB rB sB dB UB","16":"oB cB","130":"C J K VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"cB","130":"CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"CSS overflow: overlay"};


/***/ }),

/***/ 91764:
/***/ ((module) => {

module.exports={A:{A:{"388":"I D E F A B gB"},B:{"1":"G a","260":"R S T U V W X P Y Z","388":"C J K L M N O"},C:{"1":"T iB U V W X P Y Z G a","260":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S","388":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB jB kB"},D:{"1":"G a lB mB nB","260":"MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z","388":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB"},E:{"260":"K tB uB vB","388":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB"},F:{"260":"CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","388":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB wB xB yB zB UB eB 0B VB"},G:{"260":"HC IC JC","388":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"388":"KC"},I:{"1":"G","388":"WB H LC MC NC OC fB PC QC"},J:{"388":"D A"},K:{"388":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"388":"A B"},O:{"388":"RC"},P:{"388":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"388":"bC"},R:{"388":"cC"},S:{"388":"dC"}},B:5,C:"CSS overflow property"};


/***/ }),

/***/ 50237:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N","516":"O"},C:{"1":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q","260":"HB IB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB vB","1090":"uB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","260":"7 8"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS overscroll-behavior"};


/***/ }),

/***/ 88866:
/***/ ((module) => {

module.exports={A:{A:{"388":"A B","900":"I D E F gB"},B:{"388":"C J K L M N O","900":"R S T U V W X P Y Z G a"},C:{"772":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","900":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB jB kB"},D:{"900":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"772":"A","900":"H b I D E F B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"16":"F wB","129":"B C xB yB zB UB eB 0B VB","900":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"900":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"129":"KC"},I:{"900":"WB H G LC MC NC OC fB PC QC"},J:{"900":"D A"},K:{"129":"A B C UB eB VB","900":"Q"},L:{"900":"G"},M:{"900":"P"},N:{"388":"A B"},O:{"900":"RC"},P:{"900":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"900":"bC"},R:{"900":"cC"},S:{"900":"dC"}},B:2,C:"CSS page-break properties"};


/***/ }),

/***/ 76098:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","132":"E F A B"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O jB kB","132":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","132":"F B C wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"16":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C UB eB VB","258":"Q"},L:{"1":"G"},M:{"132":"P"},N:{"258":"A B"},O:{"258":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:5,C:"CSS Paged Media (@page)"};


/***/ }),

/***/ 10133:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB"},E:{"2":"H b I D E F A B C oB cB pB qB rB sB dB UB","194":"J K VB tB uB vB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Paint API"};


/***/ }),

/***/ 70361:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","292":"A B"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","164":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"164":"dC"}},B:5,C:":placeholder-shown CSS pseudo-class"};


/***/ }),

/***/ 83448:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","36":"C J K L M N O"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O jB kB","33":"0 1 2 3 4 5 6 7 c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","36":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H oB cB","36":"b I D E F A pB qB rB sB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","36":"0 L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","36":"E fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","36":"WB H LC MC NC OC fB PC QC"},J:{"36":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"36":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","36":"H SC TC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"::placeholder CSS pseudo-element"};


/***/ }),

/***/ 17667:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"bB R S T iB U V W X P Y Z G a","16":"hB","33":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","132":"L M N O c d e f g h i j k l m n o p q r s"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","16":"oB cB","132":"H b I D E pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F B wB xB yB zB UB","132":"C L M N O c d e f eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B","132":"E fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","16":"LC MC","132":"WB H NC OC fB PC QC"},J:{"1":"A","132":"D"},K:{"1":"Q","2":"A B UB","132":"C eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:1,C:"CSS :read-only and :read-write selectors"};


/***/ }),

/***/ 32723:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB","16":"qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Rebeccapurple color"};


/***/ }),

/***/ 25056:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","33":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"oB cB","33":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"33":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"33":"WB H G LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C UB eB VB","33":"Q"},L:{"33":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"33":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"2":"dC"}},B:7,C:"CSS Reflections"};


/***/ }),

/***/ 32598:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","420":"A B"},B:{"2":"R S T U V W X P Y Z G a","420":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","36":"L M N O","66":"c d e f g h i j k l m n o p q r"},E:{"2":"H b I C J K oB cB pB UB VB tB uB vB","33":"D E F A B qB rB sB dB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB 2B 3B BC CC DC EC FC GC HC IC JC","33":"E 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"420":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Regions"};


/***/ }),

/***/ 62787:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB","33":"H b I D E F A B C J K L kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F","33":"A B C J K L M N O c d e f g h i"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB","33":"I pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB","33":"C 0B","36":"UB eB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","33":"2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB LC MC NC","33":"H OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q VB","2":"A B","33":"C","36":"UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Repeating Gradients"};


/***/ }),

/***/ 36660:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","33":"H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B","132":"VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"CSS resize property"};


/***/ }),

/***/ 47190:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"V W X P Y Z G a","2":"C J K L M N O R S T U"},C:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB jB kB"},D:{"1":"V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB"},F:{"1":"RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB UB eB 0B VB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS revert value"};


/***/ }),

/***/ 87215:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"9 AB BB CB DB EB FB XB GB YB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB UB eB 0B VB","194":"0 1 2 3 4 5 6 7 8 w x y z"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H","194":"SC TC UC"},Q:{"2":"bC"},R:{"194":"cC"},S:{"2":"dC"}},B:7,C:"#rrggbbaa hex color notation"};


/***/ }),

/***/ 58544:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","129":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x","129":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","450":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB tB","578":"K uB vB"},F:{"2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB","129":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","450":"0 1 2 3 4 l m n o p q r s t u v w x y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"129":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"129":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSSOM Scroll-behavior"};


/***/ }),

/***/ 52572:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z","194":"G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V","194":"Y Z G a lB mB nB","322":"W X P"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB UB eB 0B VB","194":"TB","322":"RB SB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS @scroll-timeline"};


/***/ }),

/***/ 37851:
/***/ ((module) => {

module.exports={A:{A:{"132":"I D E F A B gB"},B:{"2":"C J K L M N O","292":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q jB kB","3074":"HB","4100":"IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"292":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"16":"H b oB cB","292":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","292":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"16":"cB 1B fB 2B 3B","292":"4B","804":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"LC MC","292":"WB H G NC OC fB PC QC"},J:{"292":"D A"},K:{"2":"A B C UB eB VB","292":"Q"},L:{"292":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"292":"RC"},P:{"292":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"292":"bC"},R:{"292":"cC"},S:{"2":"dC"}},B:7,C:"CSS scrollbar styling"};


/***/ }),

/***/ 92398:
/***/ ((module) => {

module.exports={A:{A:{"1":"D E F A B","2":"gB","8":"I"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS 2.1 selectors"};


/***/ }),

/***/ 40787:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I","132":"D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","2":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 selectors"};


/***/ }),

/***/ 16302:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"C Q eB VB","16":"A B UB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"::selection CSS pseudo-element"};


/***/ }),

/***/ 56938:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","322":"8 9 AB BB CB DB EB FB XB GB YB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q","194":"r s t"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D oB cB pB qB","33":"E F A rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","33":"E 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"CSS Shapes Level 1"};


/***/ }),

/***/ 82776:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","6308":"A","6436":"B"},B:{"1":"R S T U V W X P Y Z G a","6436":"C J K L M N O"},C:{"1":"MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v jB kB","2052":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB"},D:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB","8258":"KB LB MB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E oB cB pB qB rB","3108":"F A sB dB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB","8258":"BB CB DB EB FB GB Q HB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","3108":"6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2052":"dC"}},B:4,C:"CSS Scroll Snap"};


/***/ }),

/***/ 67425:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"a","2":"C J K L","1028":"R S T U V W X P Y Z G","4100":"M N O"},C:{"1":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i jB kB","194":"j k l m n o","516":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB"},D:{"1":"a lB mB nB","2":"0 1 2 3 4 5 6 7 8 H b I D E F A B C J K L M N O c d e f u v w x y z","322":"9 g h i j k l m n o p q r s t AB BB CB","1028":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G"},E:{"1":"J K tB uB vB","2":"H b I oB cB pB","33":"E F A B C rB sB dB UB VB","2084":"D qB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB UB eB 0B VB","322":"w x y","1028":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"E 5B 6B 7B 8B 9B AC BC CC DC","2084":"3B 4B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","1028":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","1028":"Q"},L:{"1028":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1028":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"1028":"bC"},R:{"2":"cC"},S:{"516":"dC"}},B:5,C:"CSS position:sticky"};


/***/ }),

/***/ 70836:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Subgrid"};


/***/ }),

/***/ 43295:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","260":"C J K L M N O"},C:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c jB kB","66":"d e","260":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k","260":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B","132":"VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"132":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB","132":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS.supports() API"};


/***/ }),

/***/ 57271:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","2":"I D gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","132":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS Table display"};


/***/ }),

/***/ 68887:
/***/ ((module) => {

module.exports={A:{A:{"132":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","4":"C J K L M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B jB kB","33":"0 1 2 3 4 5 C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r","322":"0 1 2 3 s t u v w x y z"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e wB xB yB zB UB eB 0B VB","578":"f g h i j k l m n o p q"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"1":"cC"},S:{"33":"dC"}},B:5,C:"CSS3 text-align-last"};


/***/ }),

/***/ 34715:
/***/ ((module) => {

module.exports={A:{A:{"132":"I D E F A B gB"},B:{"132":"C J K L M N O","388":"R S T U V W X P Y Z G a"},C:{"132":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"132":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u","388":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"132":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"132":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB","388":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"132":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"132":"WB H LC MC NC OC fB PC QC","388":"G"},J:{"132":"D A"},K:{"132":"A B C UB eB VB","388":"Q"},L:{"388":"G"},M:{"132":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"H","388":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"388":"bC"},R:{"388":"cC"},S:{"132":"dC"}},B:5,C:"CSS text-indent"};


/***/ }),

/***/ 83983:
/***/ ((module) => {

module.exports={A:{A:{"16":"I D gB","132":"E F A B"},B:{"132":"C J K L M N O","322":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB jB kB","1025":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","1602":"BB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB","322":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","322":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","322":"Q"},L:{"322":"G"},M:{"1025":"P"},N:{"132":"A B"},O:{"2":"RC"},P:{"2":"H","322":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"322":"bC"},R:{"322":"cC"},S:{"2":"dC"}},B:5,C:"CSS text-justify"};


/***/ }),

/***/ 80045:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u jB kB","194":"v w x"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"K uB vB","2":"H b I D E F oB cB pB qB rB sB","16":"A","33":"B C J dB UB VB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS text-orientation"};


/***/ }),

/***/ 75688:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","161":"E F A B"},B:{"2":"R S T U V W X P Y Z G a","161":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"16":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"CSS Text 4 text-spacing"};


/***/ }),

/***/ 43548:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","129":"A B"},B:{"1":"R S T U V W X P Y Z G a","129":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","260":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"A","4":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Text-shadow"};


/***/ }),

/***/ 62291:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"B","164":"A"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB","260":"CB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB","260":"z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"132":"B","164":"A"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"H"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"CSS touch-action level 2 values"};


/***/ }),

/***/ 8517:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F gB","289":"A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB","194":"0 1 2 3 4 5 6 7 8 m n o p q r s t u v w x y z","1025":"9 AB BB CB DB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f wB xB yB zB UB eB 0B VB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B","516":"7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","289":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"194":"dC"}},B:2,C:"CSS touch-action property"};


/***/ }),

/***/ 61964:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","33":"b I D E F A B C J K L","164":"H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H b I D E F A B C J K L M N O c d e f g h i"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","33":"I pB","164":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F wB xB","33":"C","164":"B yB zB UB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"3B","164":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"G PC QC","33":"WB H LC MC NC OC fB"},J:{"1":"A","33":"D"},K:{"1":"Q VB","33":"C","164":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 Transitions"};


/***/ }),

/***/ 45257:
/***/ ((module) => {

module.exports={A:{A:{"132":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"0 1 2 3 4 5 6 N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"hB WB H b I D E F jB kB","292":"A B C J K L M"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M","548":"0 1 2 3 4 N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"132":"H b I D E oB cB pB qB rB","548":"F A B C J K sB dB UB VB tB uB vB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"132":"E cB 1B fB 2B 3B 4B 5B","548":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"1":"G","16":"WB H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"H"},Q:{"16":"bC"},R:{"16":"cC"},S:{"33":"dC"}},B:4,C:"CSS unicode-bidi property"};


/***/ }),

/***/ 50750:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS unset value"};


/***/ }),

/***/ 32973:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K","260":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"5"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB","260":"sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r wB xB yB zB UB eB 0B VB","194":"s"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B","260":"7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS Variables (Custom Properties)"};


/***/ }),

/***/ 47477:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D gB","129":"E F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","129":"F B wB xB yB zB UB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:2,C:"CSS widows & orphans"};


/***/ }),

/***/ 47816:
/***/ ((module) => {

module.exports={A:{A:{"132":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB","322":"t u v w x"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I","16":"D","33":"0 1 2 3 4 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K UB VB tB uB vB","2":"H oB cB","16":"b","33":"I D E F A pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e f g h i j k l m n o p q r"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"LC MC NC","33":"WB H OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"36":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","33":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS writing-mode property"};


/***/ }),

/***/ 26061:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D gB","129":"E F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"CSS zoom"};


/***/ }),

/***/ 26203:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS3 attr() function for all properties"};


/***/ }),

/***/ 47610:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","8":"I D gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H b I D E F"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","33":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"cB 1B fB"},H:{"1":"KC"},I:{"1":"H G OC fB PC QC","33":"WB LC MC NC"},J:{"1":"A","33":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 Box-sizing"};


/***/ }),

/***/ 91578:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","4":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","2":"F","4":"wB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS3 Colors"};


/***/ }),

/***/ 63355:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"hB WB H b I D E F A B C J K L M N O c d e f g h i j jB kB"},D:{"1":"MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB"},E:{"1":"B C J K UB VB tB uB vB","33":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"C CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C UB eB VB","33":"Q"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:3,C:"CSS grab & grabbing cursors"};


/***/ }),

/***/ 70800:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"hB WB H b I D E F A B C J K L M N O c d e f g jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","33":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB","33":"L M N O c d e f g"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS3 Cursors: zoom-in & zoom-out"};


/***/ }),

/***/ 73281:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","132":"I D E gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","260":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","4":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"H"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","4":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","260":"F B C wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS3 Cursors (original values)"};


/***/ }),

/***/ 87604:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"hB WB jB kB","33":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","164":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d","132":"e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"K tB uB vB","2":"H b I oB cB pB","132":"D E F A B C J qB rB sB dB UB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB xB yB","132":"L M N O c d e f g h i j k l","164":"B C zB UB eB 0B VB"},G:{"1":"HC IC JC","2":"cB 1B fB 2B 3B","132":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"164":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB","132":"PC QC"},J:{"132":"D A"},K:{"1":"Q","2":"A","164":"B C UB eB VB"},L:{"1":"G"},M:{"33":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"164":"dC"}},B:5,C:"CSS3 tab-size"};


/***/ }),

/***/ 66010:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS currentColor value"};


/***/ }),

/***/ 89306:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","8":"A B"},B:{"1":"R","2":"S T U V W X P Y Z G a","8":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","66":"g h i j k l m","72":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","2":"H b I D E F A B C J K L M N O c d e f g h i j S T U V W X P Y Z G a lB mB nB","66":"k l m n o p"},E:{"2":"H b oB cB pB","8":"I D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB","2":"F B C LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","66":"L M N O c"},G:{"2":"cB 1B fB 2B 3B","8":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"QC","2":"WB H G LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC","2":"ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"72":"dC"}},B:7,C:"Custom Elements (deprecated V0 spec)"};


/***/ }),

/***/ 68426:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","8":"A B"},B:{"1":"R S T U V W X P Y Z G a","8":"C J K L M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m jB kB","8":"0 1 2 3 4 5 6 n o p q r s t u v w x y z","456":"7 8 9 AB BB CB DB EB FB","712":"XB GB YB Q"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","8":"9 AB","132":"BB CB DB EB FB XB GB YB Q HB IB JB KB"},E:{"2":"H b I D oB cB pB qB rB","8":"E F A sB","132":"B C J K dB UB VB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","132":"9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H","132":"SC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"8":"dC"}},B:1,C:"Custom Elements (V1)"};


/***/ }),

/***/ 96529:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","132":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB","132":"I D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H","16":"b I D E J K","388":"F A B C"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H oB cB","16":"b I","388":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F wB xB yB zB","132":"B UB eB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"1B","16":"cB fB","388":"2B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"LC MC NC","388":"WB H OC fB"},J:{"1":"A","388":"D"},K:{"1":"C Q VB","2":"A","132":"B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"CustomEvent"};


/***/ }),

/***/ 61338:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E F","260":"A B"},B:{"1":"R S T U V W X P Y Z G a","260":"C J K L","1284":"M N O"},C:{"8":"hB WB jB kB","4612":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H b I D E F A B C J K L M N O c","132":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB"},E:{"1":"J K VB tB uB vB","8":"H b I D E F A B C oB cB pB qB rB sB dB UB"},F:{"1":"F B C IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB"},G:{"8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","2049":"DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G QC","8":"WB H LC MC NC OC fB PC"},J:{"1":"A","8":"D"},K:{"1":"A B C UB eB VB","8":"Q"},L:{"1":"G"},M:{"516":"P"},N:{"8":"A B"},O:{"8":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Datalist element"};


/***/ }),

/***/ 80410:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","4":"I D E F A gB"},B:{"1":"C J K L M","129":"N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","4":"hB WB H b jB kB","129":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"2 3 4 5 6 7 8 9 AB BB","4":"H b I","129":"0 1 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"4":"H b oB cB","129":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"1":"C p q r s t u v w x y UB eB 0B VB","4":"F B wB xB yB zB","129":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"4":"cB 1B fB","129":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"4":"LC MC NC","129":"WB H G OC fB PC QC"},J:{"129":"D A"},K:{"1":"C UB eB VB","4":"A B","129":"Q"},L:{"129":"G"},M:{"129":"P"},N:{"1":"B","4":"A"},O:{"129":"RC"},P:{"129":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"129":"cC"},S:{"1":"dC"}},B:1,C:"dataset & data-* attributes"};


/***/ }),

/***/ 57593:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","132":"E","260":"F A B"},B:{"1":"R S T U V W X P Y Z G a","260":"C J L M N O","772":"K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Data URIs"};


/***/ }),

/***/ 57488:
/***/ ((module) => {

module.exports={A:{A:{"16":"gB","132":"I D E F A B"},B:{"1":"O R S T U V W X P Y Z G a","132":"C J K L M N"},C:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB","260":"9 AB BB CB","772":"0 1 2 3 4 5 6 7 8 m n o p q r s t u v w x y z"},D:{"1":"OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g","260":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB","772":"h i j k l m n o p q r s t u"},E:{"1":"C J K VB tB uB vB","16":"H b oB cB","132":"I D E F A pB qB rB sB","260":"B dB UB"},F:{"1":"EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F B C wB xB yB zB UB eB 0B","132":"VB","260":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB","772":"L M N O c d e f g h"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B","132":"E 3B 4B 5B 6B 7B 8B"},H:{"132":"KC"},I:{"1":"G","16":"WB LC MC NC","132":"H OC fB","772":"PC QC"},J:{"132":"D A"},K:{"1":"Q","16":"A B C UB eB","132":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"260":"RC"},P:{"1":"WC dB XC YC ZC aC","260":"H SC TC UC VC"},Q:{"260":"bC"},R:{"132":"cC"},S:{"132":"dC"}},B:6,C:"Date.prototype.toLocaleDateString"};


/***/ }),

/***/ 55777:
/***/ ((module) => {

module.exports={A:{A:{"2":"F A B gB","8":"I D E"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB","8":"0 1 2 3 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"4 5"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H b I D E F A B","257":"c d e f g h i j k l m n o p q r s","769":"C J K L M N O"},E:{"1":"C J K VB tB uB vB","8":"H b oB cB pB","257":"I D E F A qB rB sB","1025":"B dB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"C UB eB 0B VB","8":"F B wB xB yB zB"},G:{"1":"E 3B 4B 5B 6B 7B BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B","1025":"8B 9B AC"},H:{"8":"KC"},I:{"1":"H G OC fB PC QC","8":"WB LC MC NC"},J:{"1":"A","8":"D"},K:{"1":"Q","8":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"769":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Details & Summary elements"};


/***/ }),

/***/ 30111:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"C J K L M N O","4":"R S T U V W X P Y Z G a"},C:{"2":"hB WB jB","4":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"H b kB"},D:{"2":"H b I","4":"0 1 2 3 4 5 6 7 8 9 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","4":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B","4":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"LC MC NC","4":"WB H G OC fB PC QC"},J:{"2":"D","4":"A"},K:{"1":"C VB","2":"A B UB eB","4":"Q"},L:{"4":"G"},M:{"4":"P"},N:{"1":"B","2":"A"},O:{"4":"RC"},P:{"4":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:4,C:"DeviceOrientation & DeviceMotion events"};


/***/ }),

/***/ 57084:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Window.devicePixelRatio"};


/***/ }),

/***/ 84530:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","1218":"S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o","322":"p q r s t"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O wB xB yB zB UB eB 0B VB","578":"c d e f g"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"194":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Dialog element"};


/***/ }),

/***/ 63229:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","16":"gB","129":"F A","130":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","129":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"EventTarget.dispatchEvent"};


/***/ }),

/***/ 15381:
/***/ ((module) => {

module.exports={A:{A:{"132":"I D E F A B gB"},B:{"132":"C J K L M N O R S T U V W X P Y Z G a"},C:{"132":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"132":"0 1 2 3 4 5 6 7 8 9 H b o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","388":"I D E F A B C J K L M N O c d e f g h i j k l m n"},E:{"132":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"132":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"132":"KC"},I:{"132":"WB H G LC MC NC OC fB PC QC"},J:{"132":"D A"},K:{"132":"A B C Q UB eB VB"},L:{"132":"G"},M:{"132":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"132":"dC"}},B:6,C:"DNSSEC and DANE"};


/***/ }),

/***/ 3481:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","164":"F A","260":"B"},B:{"1":"N O R S T U V W X P Y Z G a","260":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E jB kB","516":"F A B C J K L M N O c d e f g h i j k l m n o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f"},E:{"1":"I A B C pB sB dB UB","2":"H b J K oB cB VB tB uB vB","1028":"D E F qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B"},G:{"1":"6B 7B 8B 9B AC BC CC","2":"cB 1B fB 2B 3B DC EC FC GC HC IC JC","1028":"E 4B 5B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"16":"D","1028":"A"},K:{"1":"Q VB","16":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"164":"A","260":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Do Not Track API"};


/***/ }),

/***/ 88864:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l"},E:{"1":"E F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"document.currentScript"};


/***/ }),

/***/ 93781:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","16":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"document.evaluate & XPath"};


/***/ }),

/***/ 24147:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","16":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","16":"F wB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","16":"fB 2B 3B"},H:{"2":"KC"},I:{"1":"G OC fB PC QC","2":"WB H LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"Document.execCommand()"};


/***/ }),

/***/ 39985:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V","132":"W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V","132":"W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB wB xB yB zB UB eB 0B VB","132":"PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","132":"G"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"132":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Document Policy"};


/***/ }),

/***/ 55988:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","16":"C J"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"document.scrollingElement"};


/***/ }),

/***/ 2001:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F wB xB yB zB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"document.head"};


/***/ }),

/***/ 64198:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"9 AB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB UB eB 0B VB","194":"x"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"194":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"DOM manipulation convenience methods"};


/***/ }),

/***/ 3563:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Document Object Model Range"};


/***/ }),

/***/ 38057:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"DOMContentLoaded"};


/***/ }),

/***/ 54275:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K L M N O c d e f g h i"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","16":"F B wB xB yB zB UB eB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B"},H:{"16":"KC"},I:{"1":"H G OC fB PC QC","16":"WB LC MC NC"},J:{"16":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"DOMFocusIn & DOMFocusOut events"};


/***/ }),

/***/ 31943:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"132":"C J K L M N O","1028":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB","1028":"NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2564":"0 1 2 3 4 5 q r s t u v w x y z","3076":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB"},D:{"16":"H b I D","132":"0 1 2 3 4 5 6 7 8 9 F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB","388":"E","1028":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"16":"H oB cB","132":"b I D E F A pB qB rB sB dB","1028":"B C J K UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 L M N O c d e f g h i j k l m n o p q r s t u v w x y z","1028":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"16":"cB 1B fB","132":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"132":"H OC fB PC QC","292":"WB LC MC NC","1028":"G"},J:{"16":"D","132":"A"},K:{"2":"A B C UB eB VB","132":"Q"},L:{"1028":"G"},M:{"1028":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"2564":"dC"}},B:4,C:"DOMMatrix"};


/***/ }),

/***/ 49291:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Download attribute"};


/***/ }),

/***/ 625:
/***/ ((module) => {

module.exports={A:{A:{"644":"I D E F gB","772":"A B"},B:{"1":"O R S T U V W X P Y Z G a","260":"C J K L M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","8":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","8":"F B wB xB yB zB UB eB 0B"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","1025":"G"},J:{"2":"D A"},K:{"1":"VB","8":"A B C UB eB","1025":"Q"},L:{"1025":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Drag and Drop"};


/***/ }),

/***/ 54805:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Element.closest()"};


/***/ }),

/***/ 25808:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","16":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","16":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","16":"F wB xB yB zB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"C Q VB","16":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"document.elementFromPoint()"};


/***/ }),

/***/ 80674:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB"},E:{"1":"K uB vB","2":"H b I D E F oB cB pB qB rB sB","132":"A B C J dB UB VB tB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","132":"8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"};


/***/ }),

/***/ 21671:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","164":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r","132":"s t u v w x y"},E:{"1":"C J K VB tB uB vB","2":"H b I oB cB pB qB","164":"D E F A B rB sB dB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e wB xB yB zB UB eB 0B VB","132":"f g h i j k l"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"16":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:2,C:"Encrypted Media Extensions"};


/***/ }),

/***/ 51180:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","2":"gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"EOT - Embedded OpenType fonts"};


/***/ }),

/***/ 62719:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D gB","260":"F","1026":"E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","4":"hB WB jB kB","132":"H b I D E F A B C J K L M N O c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"H b I D E F A B C J K L M N O","132":"c d e f"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","4":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","4":"F B C wB xB yB zB UB eB 0B","132":"VB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"cB 1B fB 2B"},H:{"132":"KC"},I:{"1":"G PC QC","4":"WB LC MC NC","132":"OC fB","900":"H"},J:{"1":"A","4":"D"},K:{"1":"Q","4":"A B C UB eB","132":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ECMAScript 5"};


/***/ }),

/***/ 54682:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y","132":"0 1 2 3 4 5 z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l wB xB yB zB UB eB 0B VB","132":"m n o p q r s"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 classes"};


/***/ }),

/***/ 6483:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 Generators"};


/***/ }),

/***/ 69972:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB jB kB","194":"KB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JavaScript modules: dynamic import()"};


/***/ }),

/***/ 33513:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K","4097":"M N O","4290":"L"},C:{"1":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB jB kB","322":"BB CB DB EB FB XB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB","194":"GB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB","3076":"dB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","194":"4"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","3076":"9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"JavaScript modules via script tag"};


/***/ }),

/***/ 24785:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L jB kB","132":"M N O c d e f g h","260":"i j k l m n","516":"o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O","1028":"c d e f g h i j k l m n o p q"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","1028":"L M N O c d"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC","1028":"OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 Number"};


/***/ }),

/***/ 41908:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"String.prototype.includes"};


/***/ }),

/***/ 76634:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","388":"B"},B:{"257":"R S T U V W X P Y Z G a","260":"C J K","769":"L M N O"},C:{"2":"hB WB H b jB kB","4":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","257":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"H b I D E F A B C J K L M N O c d","4":"0 1 2 3 4 5 6 7 e f g h i j k l m n o p q r s t u v w x y z","257":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D oB cB pB qB","4":"E F rB sB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","4":"L M N O c d e f g h i j k l m n o p q r s t u","257":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B","4":"E 4B 5B 6B 7B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","4":"PC QC","257":"G"},J:{"2":"D","4":"A"},K:{"2":"A B C UB eB VB","257":"Q"},L:{"257":"G"},M:{"257":"P"},N:{"2":"A","388":"B"},O:{"257":"RC"},P:{"4":"H","257":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"257":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:6,C:"ECMAScript 2015 (ES6)"};


/***/ }),

/***/ 99513:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","4":"F wB xB yB zB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"C Q UB eB VB","4":"A B"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Server-sent events"};


/***/ }),

/***/ 29486:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"K tB uB vB","2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"};


/***/ }),

/***/ 6411:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P","2":"C J K L M N O","1025":"Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB jB kB","260":"SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"SB TB ZB aB bB R S T U V W X P","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB","132":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB","1025":"Y Z G a lB mB nB"},E:{"2":"H b I D E F A B oB cB pB qB rB sB dB","772":"C J K UB VB tB uB vB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB","2":"0 1 2 3 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","132":"4 5 6 7 8 9 AB BB CB DB EB FB GB","1025":"TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","772":"BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1025":"G"},M:{"260":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"H SC TC UC","132":"VC WC dB"},Q:{"132":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Feature Policy"};


/***/ }),

/***/ 80486:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q jB kB","1025":"w","1218":"r s t u v"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w","260":"x","772":"y"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j wB xB yB zB UB eB 0B VB","260":"k","772":"l"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Fetch"};


/***/ }),

/***/ 35953:
/***/ ((module) => {

module.exports={A:{A:{"16":"gB","132":"E F","388":"I D A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L","16":"M N O c"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","16":"F wB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"388":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A","260":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"disabled attribute of the fieldset element"};


/***/ }),

/***/ 61730:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","260":"A B"},B:{"1":"R S T U V W X P Y Z G a","260":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB","260":"H b I D E F A B C J K L M N O c d e f g h i j k kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b","260":"J K L M N O c d e f g h i j k l m n o p q r s t u","388":"I D E F A B C"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b oB cB","260":"I D E F qB rB sB","388":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B wB xB yB zB","260":"C L M N O c d e f g h UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","260":"E 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G QC","2":"LC MC NC","260":"PC","388":"WB H OC fB"},J:{"260":"A","388":"D"},K:{"1":"Q","2":"A B","260":"C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A","260":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"File API"};


/***/ }),

/***/ 92314:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F B wB xB yB zB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"C Q UB eB VB","2":"A B"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"FileReader API"};


/***/ }),

/***/ 80418:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F wB xB","16":"B yB zB UB eB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"C Q eB VB","2":"A","16":"B UB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"FileReaderSync"};


/***/ }),

/***/ 13394:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","33":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"H b I D","33":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","36":"E F A B C"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D","33":"A"},K:{"2":"A B C UB eB VB","33":"Q"},L:{"33":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H","33":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Filesystem & FileWriter API"};


/***/ }),

/***/ 37012:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K L"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","16":"1 2 3","388":"4 5 6 7 8 9 AB BB CB"},E:{"1":"J K tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","516":"B C UB VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"LC MC NC","16":"WB H OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"VB","16":"A B C UB eB","129":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","129":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"FLAC audio format"};


/***/ }),

/***/ 2448:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"V W X P Y Z G a","2":"C J K L M N O R S T U"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q jB kB"},D:{"1":"V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U"},E:{"1":"uB vB","2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB"},F:{"1":"RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB UB eB 0B VB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"gap property for Flexbox"};


/***/ }),

/***/ 48976:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","1028":"B","1316":"A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","164":"hB WB H b I D E F A B C J K L M N O c d e jB kB","516":"f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"e f g h i j k l","164":"H b I D E F A B C J K L M N O c d"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","33":"D E qB rB","164":"H b I oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B C wB xB yB zB UB eB 0B","33":"L M"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"E 4B 5B","164":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"G PC QC","164":"WB H LC MC NC OC fB"},J:{"1":"A","164":"D"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","292":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS Flexible Box Layout Module"};


/***/ }),

/***/ 37107:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"1":"J K tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB VB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"display: flow-root"};


/***/ }),

/***/ 3162:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","2":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F wB xB yB zB","16":"B UB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"H G OC fB PC QC","2":"LC MC NC","16":"WB"},J:{"1":"D A"},K:{"1":"C Q VB","2":"A","16":"B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"focusin & focusout events"};


/***/ }),

/***/ 9962:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M","132":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"preventScroll support in focus"};


/***/ }),

/***/ 92562:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","132":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","260":"AB BB CB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E oB cB pB qB rB","16":"F","132":"A sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","132":"6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:5,C:"system-ui value for font-family"};


/***/ }),

/***/ 26538:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","33":"L M N O c d e f g h i j k l m n o p q","164":"H b I D E F A B C J K"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L","33":"0 1 2 3 4 e f g h i j k l m n o p q r s t u v w x y z","292":"M N O c d"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"D E F oB cB qB rB","4":"H b I pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e f g h i j k l m n o p q r"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E 4B 5B 6B","4":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB","33":"PC QC"},J:{"2":"D","33":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","33":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS font-feature-settings"};


/***/ }),

/***/ 88367:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g jB kB","194":"h i j k l m n o p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l","33":"m n o p"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I oB cB pB qB","33":"D E F rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L wB xB yB zB UB eB 0B VB","33":"M N O c"},G:{"1":"CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","33":"E 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"1":"G QC","2":"WB H LC MC NC OC fB","33":"PC"},J:{"2":"D","33":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 font-kerning"};


/***/ }),

/***/ 90792:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r jB kB","194":"s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS Font Loading"};


/***/ }),

/***/ 24934:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W","194":"X"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"@font-face metrics overrides"};


/***/ }),

/***/ 60647:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","194":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB","194":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"258":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"194":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"CSS font-size-adjust"};


/***/ }),

/***/ 21936:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","676":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB","804":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"H","676":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"oB cB","676":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","676":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"804":"dC"}},B:7,C:"CSS font-smooth"};


/***/ }),

/***/ 88108:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","4":"F A B"},B:{"1":"N O R S T U V W X P Y Z G a","4":"C J K L M"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB","194":"0 t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s"},E:{"1":"A B C J K dB UB VB tB uB vB","4":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","4":"L M N O c d e f"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","4":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","4":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","4":"A"},K:{"2":"A B C UB eB VB","4":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","4":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"Font unicode-range subsetting"};


/***/ }),

/***/ 90534:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","130":"A B"},B:{"130":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","130":"H b I D E F A B C J K L M N O c d e f g","322":"h i j k l m n o p q"},D:{"2":"H b I D E F A B C J K L","130":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"D E F oB cB qB rB","130":"H b I pB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","130":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 4B 5B 6B","130":"1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","130":"G PC QC"},J:{"2":"D","130":"A"},K:{"2":"A B C UB eB VB","130":"Q"},L:{"130":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"130":"RC"},P:{"130":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"130":"bC"},R:{"130":"cC"},S:{"1":"dC"}},B:5,C:"CSS font-variant-alternates"};


/***/ }),

/***/ 35187:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g jB kB","132":"h i j k l m n o p q"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"CSS font-variant-east-asian "};


/***/ }),

/***/ 85199:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q jB kB"},D:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB UB eB 0B VB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:2,C:"CSS font-variant-numeric"};


/***/ }),

/***/ 90829:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","132":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","2":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","2":"F wB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","260":"cB 1B"},H:{"2":"KC"},I:{"1":"H G OC fB PC QC","2":"LC","4":"WB MC NC"},J:{"1":"A","4":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"@font-face Web fonts"};


/***/ }),

/***/ 32662:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Form attribute"};


/***/ }),

/***/ 37913:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","2":"F wB","16":"xB yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"H G OC fB PC QC","2":"LC MC NC","16":"WB"},J:{"1":"A","2":"D"},K:{"1":"B C Q UB eB VB","16":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Attributes for form submission"};


/***/ }),

/***/ 17644:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H oB cB","132":"b I D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","2":"F wB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"cB","132":"E 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"516":"KC"},I:{"1":"G QC","2":"WB LC MC NC","132":"H OC fB PC"},J:{"1":"A","132":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"132":"dC"}},B:1,C:"Form validation"};


/***/ }),

/***/ 68112:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","4":"A B","8":"I D E F"},B:{"1":"M N O R S T U V W X P Y Z G a","4":"C J K L"},C:{"4":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB jB kB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB"},E:{"4":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","8":"oB cB"},F:{"1":"9 F B C AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","4":"0 1 2 3 4 5 6 7 8 L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"cB","4":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB","4":"PC QC"},J:{"2":"D","4":"A"},K:{"1":"A B C UB eB VB","4":"Q"},L:{"1":"G"},M:{"4":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","4":"H SC TC UC"},Q:{"1":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:1,C:"HTML5 form features"};


/***/ }),

/***/ 99086:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","548":"B"},B:{"1":"R S T U V W X P Y Z G a","516":"C J K L M N O"},C:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F jB kB","676":"0 1 2 3 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","1700":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB"},D:{"1":"PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K","676":"L M N O c","804":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB"},E:{"2":"H b oB cB","676":"pB","804":"I D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B C wB xB yB zB UB eB 0B","804":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2052":"CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D","292":"A"},K:{"2":"A B C UB eB VB","804":"Q"},L:{"804":"G"},M:{"1":"P"},N:{"2":"A","548":"B"},O:{"804":"RC"},P:{"1":"dB XC YC ZC aC","804":"H SC TC UC VC WC"},Q:{"804":"bC"},R:{"804":"cC"},S:{"1":"dC"}},B:1,C:"Full Screen API"};


/***/ }),

/***/ 66952:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d","33":"e f g h"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Gamepad API"};


/***/ }),

/***/ 64161:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I D E"},B:{"1":"C J K L M N O","129":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB jB kB","8":"hB WB","129":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","4":"H","129":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F B C J K pB qB rB sB dB UB VB tB uB vB","8":"H oB cB","129":"A"},F:{"1":"B C M N O c d e f g h i j k l m n o p q r s t u v zB UB eB 0B VB","2":"F L wB","8":"xB yB","129":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B","129":"8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H LC MC NC OC fB PC QC","129":"G"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","8":"A"},L:{"129":"G"},M:{"129":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H","129":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"129":"bC"},R:{"129":"cC"},S:{"1":"dC"}},B:2,C:"Geolocation"};


/***/ }),

/***/ 73165:
/***/ ((module) => {

module.exports={A:{A:{"644":"I D gB","2049":"F A B","2692":"E"},B:{"1":"R S T U V W X P Y Z G a","2049":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB","260":"H b I D E F A B","1156":"WB","1284":"jB","1796":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","16":"F wB","132":"xB yB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","132":"A"},L:{"1":"G"},M:{"1":"P"},N:{"2049":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Element.getBoundingClientRect()"};


/***/ }),

/***/ 43665:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB","132":"WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","260":"H b I D E F A"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","260":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","260":"F wB xB yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","260":"cB 1B fB"},H:{"260":"KC"},I:{"1":"H G OC fB PC QC","260":"WB LC MC NC"},J:{"1":"A","260":"D"},K:{"1":"B C Q UB eB VB","260":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"getComputedStyle"};


/***/ }),

/***/ 85337:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","8":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"getElementsByClassName"};


/***/ }),

/***/ 26199:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","33":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b I oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A","33":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"crypto.getRandomValues()"};


/***/ }),

/***/ 49966:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB XB GB YB Q HB IB JB KB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Gyroscope"};


/***/ }),

/***/ 89006:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C J K"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t"},E:{"2":"H b I D oB cB pB qB rB","129":"B C J K dB UB VB tB uB vB","194":"E F A sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB 2B 3B 4B","129":"9B AC BC CC DC EC FC GC HC IC JC","194":"E 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"navigator.hardwareConcurrency"};


/***/ }),

/***/ 62563:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","8":"I D gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","8":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","8":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","8":"F wB xB yB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"WB H G MC NC OC fB PC QC","2":"LC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","8":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Hashchange event"};


/***/ }),

/***/ 56666:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A oB cB pB qB rB sB dB","130":"B C J K UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","130":"AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"HEIF/ISO Base Media File Format"};


/***/ }),

/***/ 64206:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"2":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"J K tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","516":"B C UB VB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","258":"G"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"258":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H","258":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"HEVC/H.265 video format"};


/***/ }),

/***/ 6027:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F B wB xB yB zB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"H G OC fB PC QC","2":"WB LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"C Q UB eB VB","2":"A B"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"hidden attribute"};


/***/ }),

/***/ 88772:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c","33":"d e f g"},E:{"1":"E F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"High Resolution Time API"};


/***/ }),

/***/ 81648:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H oB cB","4":"b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB eB 0B VB","2":"F B wB xB yB zB UB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","4":"fB"},H:{"2":"KC"},I:{"1":"G MC NC fB PC QC","2":"WB H LC OC"},J:{"1":"D A"},K:{"1":"C Q UB eB VB","2":"A B"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Session history management"};


/***/ }),

/***/ 64940:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB 2B","129":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC","257":"MC NC"},J:{"1":"A","16":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"516":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:4,C:"HTML Media Capture"};


/***/ }),

/***/ 72753:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E","260":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB","132":"WB jB kB","260":"H b I D E F A B C J K L M N O c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b","260":"I D E F A B C J K L M N O c d e f g h i"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","132":"H oB cB","260":"b I pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","132":"F B wB xB yB zB","260":"C UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB","260":"1B fB 2B 3B"},H:{"132":"KC"},I:{"1":"G PC QC","132":"LC","260":"WB H MC NC OC fB"},J:{"260":"D A"},K:{"1":"Q","132":"A","260":"B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"HTML5 semantic elements"};


/***/ }),

/***/ 15638:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O","2":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"HTTP Live Streaming (HLS)"};


/***/ }),

/***/ 16824:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"C J K L M N O","513":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB","513":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 y z","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x","513":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E oB cB pB qB rB","260":"F A sB dB"},F:{"1":"l m n o p q r s t u","2":"F B C L M N O c d e f g h i j k wB xB yB zB UB eB 0B VB","513":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","513":"G"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"513":"G"},M:{"513":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H","513":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"513":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"HTTP/2 protocol"};


/***/ }),

/***/ 70549:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"P Y Z G a","2":"C J K L M N O","322":"R S T U V","578":"W X"},C:{"1":"Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB jB kB","194":"QB RB SB TB ZB aB bB R S T iB U V W X P"},D:{"1":"P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB","322":"R S T U V","578":"W X"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB tB","1090":"K uB vB"},F:{"1":"SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB UB eB 0B VB","578":"RB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC","66":"IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"194":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"HTTP/3 protocol"};


/***/ }),

/***/ 76002:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M jB kB","4":"N O c d e f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B"},H:{"2":"KC"},I:{"1":"WB H G MC NC OC fB PC QC","2":"LC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"sandbox attribute for iframes"};


/***/ }),

/***/ 82891:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","66":"d e f g h i j"},E:{"2":"H b I E F A B C J K oB cB pB qB sB dB UB VB tB uB vB","130":"D rB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","130":"4B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"seamless attribute for iframes"};


/***/ }),

/***/ 72100:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E F A B"},B:{"1":"R S T U V W X P Y Z G a","8":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB","8":"WB H b I D E F A B C J K L M N O c d e f g h jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J","8":"K L M N O c"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"oB cB","8":"H b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B wB xB yB zB","8":"C UB eB 0B VB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB","8":"1B fB 2B"},H:{"2":"KC"},I:{"1":"G PC QC","8":"WB H LC MC NC OC fB"},J:{"1":"A","8":"D"},K:{"1":"Q","2":"A B","8":"C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"srcdoc attribute for iframes"};


/***/ }),

/***/ 16659:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","322":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r jB kB","194":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB UB eB 0B VB","322":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"322":"bC"},R:{"1":"cC"},S:{"194":"dC"}},B:5,C:"ImageCapture API"};


/***/ }),

/***/ 54606:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","161":"B"},B:{"2":"R S T U V W X P Y Z G a","161":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A","161":"B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Input Method Editor API"};


/***/ }),

/***/ 35720:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"naturalWidth & naturalHeight image properties"};


/***/ }),

/***/ 64548:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Z G a","2":"C J K L M N O","194":"R S T U V W X P Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB","194":"SB TB ZB aB bB R S T U V W X P Y"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB","194":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Import maps"};


/***/ }),

/***/ 72563:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","8":"A B"},B:{"1":"R","2":"S T U V W X P Y Z G a","8":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m jB kB","8":"n o DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","72":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m S T U V W X P Y Z G a lB mB nB","66":"n o p q r","72":"s"},E:{"2":"H b oB cB pB","8":"I D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB","2":"F B C L M LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","66":"N O c d e","72":"f"},G:{"2":"cB 1B fB 2B 3B","8":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"2":"G"},M:{"8":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC","2":"ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"HTML Imports"};


/***/ }),

/***/ 66518:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","16":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB","16":"jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"indeterminate checkbox"};


/***/ }),

/***/ 78797:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","33":"A B C J K L","36":"H b I D E F"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"A","8":"H b I D E F","33":"g","36":"B C J K L M N O c d e f"},E:{"1":"A B C J K dB UB VB tB uB vB","8":"H b I D oB cB pB qB","260":"E F rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB xB","8":"B C yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B 3B 4B","260":"E 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G PC QC","8":"WB H LC MC NC OC fB"},J:{"1":"A","8":"D"},K:{"1":"Q","2":"A","8":"B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"IndexedDB"};


/***/ }),

/***/ 11395:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","132":"1 2 3","260":"4 5 6 7"},D:{"1":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"5 6 7 8","260":"9 AB BB CB DB EB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r wB xB yB zB UB eB 0B VB","132":"s t u v","260":"0 1 w x y z"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","16":"8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H","260":"SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"260":"dC"}},B:4,C:"IndexedDB 2.0"};


/***/ }),

/***/ 7354:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","4":"gB","132":"I D"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","36":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS inline-block"};


/***/ }),

/***/ 40674:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","16":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"HTMLElement.innerText"};


/***/ }),

/***/ 60328:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A gB","132":"B"},B:{"132":"C J K L M N O","260":"R S T U V W X P Y Z G a"},C:{"1":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m jB kB","516":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"N O c d e f g h i j","2":"H b I D E F A B C J K L M","132":"k l m n o p q r s t u v w x","260":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I pB qB","2":"H b oB cB","2052":"D E F A B C J K rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB","1025":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1025":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2052":"A B"},O:{"1025":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"1":"cC"},S:{"516":"dC"}},B:1,C:"autocomplete attribute: on & off values"};


/***/ }),

/***/ 24411:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c"},E:{"1":"J K VB tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F L M wB xB yB zB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","129":"DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Color input type"};


/***/ }),

/***/ 41858:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","132":"C"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","1090":"AB BB CB DB","2052":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c","2052":"d e f g h"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB","4100":"uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB","260":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB LC MC NC","514":"H OC fB"},J:{"1":"A","2":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2052":"dC"}},B:1,C:"Date and time input types"};


/***/ }),

/***/ 65488:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","132":"LC MC NC"},J:{"1":"A","132":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Email, telephone & URL input types"};


/***/ }),

/***/ 56301:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","2561":"A B","2692":"F"},B:{"1":"R S T U V W X P Y Z G a","2561":"C J K L M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB","1537":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z kB","1796":"WB jB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K","1025":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB","1537":"L M N O c d e f g h i j k l m n o p q r"},E:{"1":"K tB uB vB","16":"H b I oB cB","1025":"D E F A B C qB rB sB dB UB","1537":"pB","4097":"J VB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","16":"F B C wB xB yB zB UB eB","260":"0B","1025":"0 1 2 3 4 5 6 7 8 f g h i j k l m n o p q r s t u v w x y z","1537":"L M N O c d e"},G:{"16":"cB 1B fB","1025":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","1537":"2B 3B 4B"},H:{"2":"KC"},I:{"16":"LC MC","1025":"G QC","1537":"WB H NC OC fB PC"},J:{"1025":"A","1537":"D"},K:{"1":"A B C UB eB VB","1025":"Q"},L:{"1":"G"},M:{"1537":"P"},N:{"2561":"A B"},O:{"1537":"RC"},P:{"1025":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1025":"bC"},R:{"1025":"cC"},S:{"1537":"dC"}},B:1,C:"input event"};


/***/ }),

/***/ 3024:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","132":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H","16":"b I D E e f g h i","132":"F A B C J K L M N O c d"},E:{"1":"C J K UB VB tB uB vB","2":"H b oB cB pB","132":"I D E F A B qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"2":"3B 4B","132":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","514":"cB 1B fB 2B"},H:{"2":"KC"},I:{"2":"LC MC NC","260":"WB H OC fB","514":"G PC QC"},J:{"132":"A","260":"D"},K:{"2":"A B C UB eB VB","260":"Q"},L:{"260":"G"},M:{"2":"P"},N:{"514":"A","1028":"B"},O:{"2":"RC"},P:{"260":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"260":"cC"},S:{"1":"dC"}},B:1,C:"accept attribute for file input"};


/***/ }),

/***/ 77213:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Directory selection from file input"};


/***/ }),

/***/ 64907:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","2":"F wB xB yB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"130":"KC"},I:{"130":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"130":"A B C Q UB eB VB"},L:{"132":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"130":"RC"},P:{"130":"H","132":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"2":"dC"}},B:1,C:"Multiple file selection"};


/***/ }),

/***/ 75178:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M jB kB","4":"N O c d","194":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","66":"DB EB FB XB GB YB Q HB IB JB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","66":"0 1 2 3 4 5 6 7 8 9"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"inputmode attribute"};


/***/ }),

/***/ 90453:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"Minimum length attribute for input fields"};


/***/ }),

/***/ 90754:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","129":"A B"},B:{"1":"R S T U V W X P Y Z G a","129":"C J","1025":"K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB","513":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"388":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB LC MC NC","388":"H G OC fB PC QC"},J:{"2":"D","388":"A"},K:{"1":"A B C UB eB VB","388":"Q"},L:{"388":"G"},M:{"641":"P"},N:{"388":"A B"},O:{"388":"RC"},P:{"388":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"388":"bC"},R:{"388":"cC"},S:{"513":"dC"}},B:1,C:"Number input type"};


/***/ }),

/***/ 70620:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H oB cB","16":"b","388":"I D E F A pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","388":"E 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G QC","2":"WB H LC MC NC OC fB PC"},J:{"1":"A","2":"D"},K:{"1":"A B C UB eB VB","132":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Pattern attribute for input fields"};


/***/ }),

/***/ 45840:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","132":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB eB 0B VB","2":"F wB xB yB zB","132":"B UB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB G LC MC NC fB PC QC","4":"H OC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"input placeholder attribute"};


/***/ }),

/***/ 19303:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"G fB PC QC","4":"WB H LC MC NC OC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Range input type"};


/***/ }),

/***/ 86763:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","129":"A B"},B:{"1":"R S T U V W X P Y Z G a","129":"C J K L M N O"},C:{"2":"hB WB jB kB","129":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K e f g h i","129":"L M N O c d"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F wB xB yB zB","16":"B UB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"129":"KC"},I:{"1":"G PC QC","16":"LC MC","129":"WB H NC OC fB"},J:{"1":"D","129":"A"},K:{"1":"C","2":"A","16":"B UB eB","129":"Q VB"},L:{"1":"G"},M:{"129":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"129":"dC"}},B:1,C:"Search input type"};


/***/ }),

/***/ 48804:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","16":"F wB xB yB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Selection controls for input & textarea"};


/***/ }),

/***/ 36404:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","16":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"};


/***/ }),

/***/ 20379:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","16":"gB","132":"I D E F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","16":"F wB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Element.insertAdjacentHTML()"};


/***/ }),

/***/ 558:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"Internationalization API"};


/***/ }),

/***/ 16414:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"H SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"IntersectionObserver V2"};


/***/ }),

/***/ 93717:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O","2":"C J K","516":"L","1025":"R S T U V W X P Y Z G a"},C:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"9 AB BB"},D:{"1":"FB XB GB YB Q HB IB","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","516":"8 9 AB BB CB DB EB","1025":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"J K VB tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB UB eB 0B VB","516":"0 1 v w x y z","1025":"IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","1025":"G"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"516":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H","516":"SC TC"},Q:{"1025":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"IntersectionObserver"};


/***/ }),

/***/ 14130:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N","130":"O"},C:{"1":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB jB kB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q"},E:{"1":"J K tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB VB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Intl.PluralRules API"};


/***/ }),

/***/ 56835:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","1537":"R S T U V W X P Y Z G a"},C:{"2":"hB","932":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB jB kB","2308":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"H b I D E F A B C J K L M N O c d e","545":"0 1 2 f g h i j k l m n o p q r s t u v w x y z","1537":"3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I oB cB pB","516":"B C J K UB VB tB uB vB","548":"F A sB dB","676":"D E qB rB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","513":"r","545":"L M N O c d e f g h i j k l m n o p","1537":"0 1 2 3 4 5 6 7 8 9 q s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B fB 2B 3B","516":"IC JC","548":"6B 7B 8B 9B AC BC CC DC EC FC GC HC","676":"E 4B 5B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","545":"PC QC","1537":"G"},J:{"2":"D","545":"A"},K:{"2":"A B C UB eB VB","1537":"Q"},L:{"1537":"G"},M:{"2308":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"545":"H","1537":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"545":"bC"},R:{"1537":"cC"},S:{"932":"dC"}},B:5,C:"Intrinsic & Extrinsic Sizing"};


/***/ }),

/***/ 99137:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H oB cB","129":"b pB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JPEG 2000 image format"};


/***/ }),

/***/ 58083:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z jB kB","322":"G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G","194":"a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JPEG XL image format"};


/***/ }),

/***/ 70525:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O","2":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"JPEG XR image format"};


/***/ }),

/***/ 91191:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB jB kB"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Lookbehind in JS regular expressions"};


/***/ }),

/***/ 92815:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D gB","129":"E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"JSON parsing"};


/***/ }),

/***/ 37001:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L","132":"M N O"},C:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","132":"EB FB XB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB","132":"dB"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","132":"1 2 3"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","132":"9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC","132":"UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:5,C:"CSS justify-content: space-evenly"};


/***/ }),

/***/ 82612:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"O R S T U V W X P Y Z G a","2":"C J K L M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"LC MC NC","132":"WB H OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"High-quality kerning pairs & ligatures"};


/***/ }),

/***/ 7891:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","16":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B","16":"C"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"VB","2":"A B UB eB","16":"C","130":"Q"},L:{"1":"G"},M:{"130":"P"},N:{"130":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"KeyboardEvent.charCode"};


/***/ }),

/***/ 39598:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y","194":"0 1 2 3 4 z"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l wB xB yB zB UB eB 0B VB","194":"m n o p q r"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","194":"Q"},L:{"194":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H","194":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"194":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.code"};


/***/ }),

/***/ 87626:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B L M wB xB yB zB UB eB 0B","16":"C"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q VB","2":"A B UB eB","16":"C"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.getModifierState()"};


/***/ }),

/***/ 98685:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","260":"F A B"},B:{"1":"R S T U V W X P Y Z G a","260":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f jB kB","132":"g h i j k l"},D:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B L M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB UB eB 0B","16":"C"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"1":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"VB","2":"A B UB eB","16":"C Q"},L:{"1":"G"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.key"};


/***/ }),

/***/ 90035:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g h i j k l m"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","16":"I oB cB","132":"H b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B","16":"C","132":"L M"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB","132":"2B 3B 4B"},H:{"2":"KC"},I:{"1":"G PC QC","16":"LC MC","132":"WB H NC OC fB"},J:{"132":"D A"},K:{"1":"Q VB","2":"A B UB eB","16":"C"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"KeyboardEvent.location"};


/***/ }),

/***/ 82586:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB","16":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","16":"F wB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB","16":"LC MC","132":"PC QC"},J:{"1":"D A"},K:{"1":"A B C UB eB VB","132":"Q"},L:{"132":"G"},M:{"132":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"2":"H","132":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:7,C:"KeyboardEvent.which"};


/***/ }),

/***/ 23230:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O","2":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Resource Hints: Lazyload"};


/***/ }),

/***/ 51884:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","2052":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","194":"0 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O","322":"c d e f g h i j k l m n o p q r s t u v w x","516":"0 1 2 3 4 5 y z"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB","1028":"A dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","322":"L M N O c d e f g h i j k","516":"l m n o p q r s"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","1028":"8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","516":"H"},Q:{"1":"bC"},R:{"516":"cC"},S:{"1":"dC"}},B:6,C:"let"};


/***/ }),

/***/ 42789:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O","129":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"129":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"257":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"129":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","513":"F B C wB xB yB zB UB eB 0B VB"},G:{"1026":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1026":"KC"},I:{"1":"WB H LC MC NC OC fB","513":"G PC QC"},J:{"1":"D","1026":"A"},K:{"1026":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1026":"A B"},O:{"257":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","513":"H"},Q:{"129":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"PNG favicons"};


/***/ }),

/***/ 4506:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R","3073":"S T U V W X P Y Z G a"},C:{"2":"hB WB jB kB","260":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x","1025":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","3073":"S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E oB cB pB qB rB","516":"F A B C J K sB dB UB VB tB uB vB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB","2":"0 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z BB CB DB EB FB GB Q HB IB JB KB wB xB yB zB UB eB 0B VB","3073":"LB MB NB OB PB QB RB SB TB"},G:{"130":"E cB 1B fB 2B 3B 4B 5B","516":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"130":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D","130":"A"},K:{"130":"A B C Q UB eB VB"},L:{"3073":"G"},M:{"2":"P"},N:{"130":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1025":"dC"}},B:1,C:"SVG favicons"};


/***/ }),

/***/ 66458:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E gB","132":"F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"hB WB","260":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"16":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Resource Hints: dns-prefetch"};


/***/ }),

/***/ 36767:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H SC TC UC VC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:1,C:"Resource Hints: modulepreload"};


/***/ }),

/***/ 67578:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K","260":"L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","129":"w"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"16":"P"},N:{"2":"A B"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Resource Hints: preconnect"};


/***/ }),

/***/ 31145:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB","194":"K tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","194":"HC IC JC"},H:{"2":"KC"},I:{"1":"H G PC QC","2":"WB LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Resource Hints: prefetch"};


/***/ }),

/***/ 7015:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M","1028":"N O"},C:{"1":"W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB jB kB","132":"DB","578":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V"},D:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","322":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","322":"AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Resource Hints: preload"};


/***/ }),

/***/ 74778:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Resource Hints: prerender"};


/***/ }),

/***/ 11394:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB jB kB","132":"TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB","66":"TB ZB"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB","322":"K tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB","66":"Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","322":"HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"132":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"H SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Lazy loading via attribute for images & iframes"};


/***/ }),

/***/ 89380:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","16":"gB","132":"I D E F A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g"},E:{"1":"A B C J K dB UB VB tB uB vB","132":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F B C wB xB yB zB UB eB 0B","132":"VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","132":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"132":"KC"},I:{"1":"G PC QC","132":"WB H LC MC NC OC fB"},J:{"132":"D A"},K:{"1":"Q","16":"A B C UB eB","132":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","132":"A"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"4":"dC"}},B:6,C:"localeCompare()"};


/***/ }),

/***/ 19271:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB XB GB YB Q HB IB JB KB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"194":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Magnetometer"};


/***/ }),

/***/ 71184:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","36":"F A B"},B:{"1":"L M N O R S T U V W X P Y Z G a","36":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB","36":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","36":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","2":"H oB cB","36":"b I D pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B wB xB yB zB UB","36":"C L M N O c d eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB","36":"1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G","2":"LC","36":"WB H MC NC OC fB PC QC"},J:{"36":"D A"},K:{"1":"Q","2":"A B","36":"C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"36":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","36":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"matches() DOM method"};


/***/ }),

/***/ 66743:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B C wB xB yB zB UB eB 0B"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"matchMedia"};


/***/ }),

/***/ 35717:
/***/ ((module) => {

module.exports={A:{A:{"2":"F A B gB","8":"I D E"},B:{"2":"C J K L M N O","8":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","129":"hB WB jB kB"},D:{"1":"h","8":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K dB UB VB tB uB vB","260":"H b I D E F oB cB pB qB rB sB"},F:{"2":"F","4":"B C wB xB yB zB UB eB 0B VB","8":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB"},H:{"8":"KC"},I:{"8":"WB H G LC MC NC OC fB PC QC"},J:{"1":"A","8":"D"},K:{"8":"A B C Q UB eB VB"},L:{"8":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"4":"RC"},P:{"8":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"8":"bC"},R:{"8":"cC"},S:{"1":"dC"}},B:2,C:"MathML"};


/***/ }),

/***/ 16924:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","16":"gB","900":"I D E F"},B:{"1":"R S T U V W X P Y Z G a","1025":"C J K L M N O"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","900":"hB WB jB kB","1025":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"b oB","900":"H cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F","132":"B C wB xB yB zB UB eB 0B VB"},G:{"1":"1B fB 2B 3B 4B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB","2052":"E 5B"},H:{"132":"KC"},I:{"1":"WB H NC OC fB PC QC","16":"LC MC","4097":"G"},J:{"1":"D A"},K:{"132":"A B C UB eB VB","4100":"Q"},L:{"4097":"G"},M:{"4097":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"4097":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1025":"dC"}},B:1,C:"maxlength attribute for input and textarea elements"};


/***/ }),

/***/ 23924:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O","16":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q","2":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a","16":"lB mB nB"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"B C L M N O c d e f g h xB yB zB UB eB 0B VB","2":"0 1 2 3 4 5 6 7 8 9 F i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"16":"KC"},I:{"1":"H G OC fB PC QC","16":"WB LC MC NC"},J:{"16":"D A"},K:{"1":"C Q VB","16":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"16":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Media attribute"};


/***/ }),

/***/ 6277:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","132":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q jB kB","132":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"H b I D E F A B C J K L M N","132":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b oB cB pB","132":"I D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","132":"G PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"132":"G"},M:{"132":"P"},N:{"132":"A B"},O:{"2":"RC"},P:{"2":"H SC","132":"TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"132":"dC"}},B:2,C:"Media Fragments"};


/***/ }),

/***/ 94413:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB","16":"K tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Media Session API"};


/***/ }),

/***/ 84279:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","260":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","324":"8 9 AB BB CB DB EB FB XB GB YB"},E:{"2":"H b I D E F A oB cB pB qB rB sB dB","132":"B C J K UB VB tB uB vB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB","324":"0 1 2 3 4 t u v w x y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"260":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H","132":"SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"260":"dC"}},B:5,C:"Media Capture from DOM Elements API"};


/***/ }),

/***/ 55997:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"4 5"},E:{"1":"uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB","322":"J K VB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q wB xB yB zB UB eB 0B VB","194":"r s"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","578":"CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:5,C:"MediaRecorder API"};


/***/ }),

/***/ 32348:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB","66":"i j k l m n o p q r s t u v w x y"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M","33":"g h i j k l m n","66":"N O c d e f"},E:{"1":"E F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","260":"EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G QC","2":"WB H LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H SC TC UC VC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Media Source Extensions"};


/***/ }),

/***/ 89056:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D jB kB","132":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V","450":"W X P Y Z G a"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","66":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","66":"0 1 2 3 s t u v w x y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"450":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Context menu item (menuitem element)"};


/***/ }),

/***/ 69895:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v","132":"RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","258":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"513":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H","16":"SC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"theme-color Meta Tag"};


/***/ }),

/***/ 44701:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F wB xB yB zB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"meter element"};


/***/ }),

/***/ 83250:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Web MIDI API"};


/***/ }),

/***/ 55879:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","8":"I gB","129":"D","257":"E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"CSS min/max-width/height"};


/***/ }),

/***/ 59447:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","132":"H b I D E F A B C J K L M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","2":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"MP3 audio format"};


/***/ }),

/***/ 374:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O","2":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","386":"e f"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"};


/***/ }),

/***/ 33463:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d jB kB","4":"e f g h i j k l m n o p q r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","2":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G PC QC","4":"WB H LC MC OC fB","132":"NC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"260":"P"},N:{"1":"A B"},O:{"4":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"MPEG-4/H.264 video format"};


/***/ }),

/***/ 19069:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Multiple backgrounds"};


/***/ }),

/***/ 24233:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O","516":"R S T U V W X P Y Z G a"},C:{"132":"9 AB BB CB DB EB FB XB GB YB Q HB IB","164":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","516":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"420":"0 1 2 3 4 5 6 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","516":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"A B C J K dB UB VB tB uB vB","132":"F sB","164":"D E rB","420":"H b I oB cB pB qB"},F:{"1":"C UB eB 0B VB","2":"F B wB xB yB zB","420":"L M N O c d e f g h i j k l m n o p q r s t","516":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","132":"6B 7B","164":"E 4B 5B","420":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"420":"WB H LC MC NC OC fB PC QC","516":"G"},J:{"420":"D A"},K:{"1":"C UB eB VB","2":"A B","516":"Q"},L:{"516":"G"},M:{"132":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","420":"H"},Q:{"132":"bC"},R:{"132":"cC"},S:{"164":"dC"}},B:4,C:"CSS3 Multiple column layout"};


/***/ }),

/***/ 90072:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","260":"F A B"},B:{"132":"R S T U V W X P Y Z G a","260":"C J K L M N O"},C:{"2":"hB WB H b jB kB","260":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"16":"H b I D E F A B C J K","132":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"16":"oB cB","132":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"1":"C 0B VB","2":"F wB xB yB zB","16":"B UB eB","132":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"16":"cB 1B","132":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"16":"LC MC","132":"WB H G NC OC fB PC QC"},J:{"132":"D A"},K:{"1":"C VB","2":"A","16":"B UB eB","132":"Q"},L:{"132":"G"},M:{"260":"P"},N:{"260":"A B"},O:{"132":"RC"},P:{"132":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"260":"dC"}},B:5,C:"Mutation events"};


/***/ }),

/***/ 98212:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E gB","8":"F A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N","33":"O c d e f g h i j"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB LC MC NC","8":"H OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","8":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Mutation Observer"};


/***/ }),

/***/ 80611:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","2":"gB","8":"I D"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","4":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Web Storage - name/value pairs"};


/***/ }),

/***/ 7576:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","194":"R S T U V W","260":"X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB","194":"SB TB ZB aB bB R S T U V W","260":"X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB","194":"Q HB IB JB KB LB MB NB OB PB","260":"QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"File System Access API"};


/***/ }),

/***/ 73272:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b","33":"I D E F A B C"},E:{"1":"E F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"H G OC fB PC QC","2":"WB LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Navigation Timing API"};


/***/ }),

/***/ 56212:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"16":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"16":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:2,C:"Navigator Language API"};


/***/ }),

/***/ 1493:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","1028":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB","1028":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","1028":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"LC PC QC","132":"WB H MC NC OC fB"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","516":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","132":"H","516":"SC TC UC"},Q:{"1":"bC"},R:{"516":"cC"},S:{"260":"dC"}},B:7,C:"Network Information API"};


/***/ }),

/***/ 54483:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H","36":"b I D E F A B C J K L M N O c d e"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","36":"G PC QC"},J:{"1":"A","2":"D"},K:{"2":"A B C UB eB VB","36":"Q"},L:{"513":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"36":"H","258":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"258":"cC"},S:{"1":"dC"}},B:1,C:"Web Notifications"};


/***/ }),

/***/ 69577:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","16":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Object.entries"};


/***/ }),

/***/ 6228:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L","260":"M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D oB cB pB qB","132":"E F rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F L M N O wB xB yB","33":"B C zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B"},H:{"33":"KC"},I:{"1":"G QC","2":"WB H LC MC NC OC fB PC"},J:{"2":"D A"},K:{"1":"Q","2":"A","33":"B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 object-fit/object-position"};


/***/ }),

/***/ 63008:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 t u v w x y z","2":"7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"g h i j k l m n o p q r s t","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"H","2":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"Object.observe data binding"};


/***/ }),

/***/ 55480:
/***/ ((module) => {

module.exports={A:{A:{"8":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"0 1 2 3 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"B C J K dB UB VB tB uB vB","8":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","8":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"8":"KC"},I:{"1":"G","8":"WB H LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"1":"Q","8":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","8":"H SC"},Q:{"1":"bC"},R:{"8":"cC"},S:{"1":"dC"}},B:6,C:"Object.values method"};


/***/ }),

/***/ 39611:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O","2":"C R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D","130":"A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Object RTC (ORTC) API for WebRTC"};


/***/ }),

/***/ 45884:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"F gB","8":"I D E"},B:{"1":"C J K L M N O R S T U V","2":"W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U jB kB","2":"V W X P Y Z G a","4":"WB","8":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V","2":"W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","8":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB zB UB eB 0B VB","2":"F RB SB TB wB","8":"xB yB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H LC MC NC OC fB PC QC","2":"G"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"2":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"Offline web applications"};


/***/ }),

/***/ 74509:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","322":"FB XB GB YB Q HB IB JB KB LB MB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"194":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"OffscreenCanvas"};


/***/ }),

/***/ 77081:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB","132":"uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"A","2":"D"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Ogg Vorbis audio format"};


/***/ }),

/***/ 18398:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","8":"F A B"},B:{"1":"N O R S T U V W X P Y Z G a","8":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Ogg/Theora video format"};


/***/ }),

/***/ 67096:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L","16":"M N O c"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","16":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B","16":"C"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Reversed attribute of ordered lists"};


/***/ }),

/***/ 79713:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K L"},C:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"\"once\" event listener option"};


/***/ }),

/***/ 11219:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D gB","260":"E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB","516":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B","4":"VB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"A","132":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Online/offline status"};


/***/ }),

/***/ 12205:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p"},E:{"2":"H b I D E F A oB cB pB qB rB sB dB","132":"B C J K UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","132":"AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Opus"};


/***/ }),

/***/ 77294:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","194":"FB XB GB YB Q HB IB JB KB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Orientation Sensor"};


/***/ }),

/***/ 28311:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","260":"E","388":"F A B"},B:{"1":"L M N O R S T U V W X P Y Z G a","388":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B","129":"VB","260":"F B wB xB yB zB UB eB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"C Q VB","260":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"388":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS outline properties"};


/***/ }),

/***/ 42502:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C J K"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"};


/***/ }),

/***/ 72796:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"PageTransitionEvent"};


/***/ }),

/***/ 87772:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F jB kB","33":"A B C J K L M N"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J","33":"K L M N O c d e f g h i j k l m n o p"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b I oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B C wB xB yB zB UB eB 0B","33":"L M N O c"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB","33":"PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","33":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Page Visibility"};


/***/ }),

/***/ 50754:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K L"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Passive event listeners"};


/***/ }),

/***/ 28403:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","16":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z jB kB","16":"G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a","16":"lB mB nB"},E:{"1":"C J VB","2":"H b I D E F A B oB cB pB qB rB sB dB UB","16":"K tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","16":"AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","16":"G"},J:{"2":"D","16":"A"},K:{"2":"A B C UB eB VB","16":"Q"},L:{"16":"G"},M:{"16":"P"},N:{"2":"A","16":"B"},O:{"16":"RC"},P:{"2":"H SC TC","16":"UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:1,C:"Password Rules"};


/***/ }),

/***/ 13066:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J","132":"K L M N O"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB","132":"0 1 2 3 4 o p q r s t u v w x y z"},D:{"1":"MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s","132":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB","132":"E F rB"},F:{"1":"CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","16":"E","132":"5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"2":"A B C UB eB VB","132":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"dB XC YC ZC aC","132":"H SC TC UC VC WC"},Q:{"132":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:1,C:"Path2D"};


/***/ }),

/***/ 36954:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J","322":"K","8196":"L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB jB kB","4162":"CB DB EB FB XB GB YB Q HB IB JB","16452":"KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"AB BB CB DB EB FB","1090":"XB GB","8196":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB"},E:{"1":"J K VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB","514":"A B dB","8196":"C UB"},F:{"1":"KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB UB eB 0B VB","194":"0 1 2 3 4 x y z","8196":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","514":"8B 9B AC","8196":"BC CC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2049":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"H","8196":"SC TC UC VC WC dB XC"},Q:{"8196":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Payment Request API"};


/***/ }),

/***/ 31504:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"L M N O R S T U V W X P Y Z G a","16":"C J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"16":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Built-in PDF viewer"};


/***/ }),

/***/ 98901:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Permissions API"};


/***/ }),

/***/ 17093:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","258":"R S T U V W","322":"X P","388":"Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB jB kB","258":"SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB","258":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W","322":"X P","388":"Y Z G a lB mB nB"},E:{"2":"H b I D E F A B oB cB pB qB rB sB dB","258":"C J K UB VB tB uB vB"},F:{"2":"0 1 2 3 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","258":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB","322":"QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","258":"BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","258":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","258":"Q"},L:{"388":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC","258":"VC WC dB XC YC ZC aC"},Q:{"258":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Permissions Policy"};


/***/ }),

/***/ 2610:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB jB kB","132":"QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","1090":"LB","1412":"PB","1668":"MB NB OB"},D:{"1":"OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB","2114":"NB"},E:{"1":"K tB uB vB","2":"H b I D E F oB cB pB qB rB sB","4100":"A B C J dB UB VB"},F:{"1":"RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t wB xB yB zB UB eB 0B VB","8196":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B","4100":"6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"16388":"G"},M:{"16388":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Picture-in-Picture"};


/***/ }),

/***/ 85312:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q jB kB","578":"r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t","194":"u"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB","322":"h"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Picture element"};


/***/ }),

/***/ 96744:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"2":"hB","194":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"194":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"194":"dC"}},B:1,C:"Ping attribute"};


/***/ }),

/***/ 54659:
/***/ ((module) => {

module.exports={A:{A:{"1":"D E F A B","2":"gB","8":"I"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"PNG alpha transparency"};


/***/ }),

/***/ 2224:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"CSS pointer-events (for HTML)"};


/***/ }),

/***/ 27252:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F gB","164":"A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB","8":"I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x","328":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB"},D:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e","8":"0 1 2 3 4 5 6 7 8 f g h i j k l m n o p q r s t u v w x y z","584":"9 AB BB"},E:{"1":"J K tB uB vB","2":"H b I oB cB pB","8":"D E F A B C qB rB sB dB UB","1096":"VB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","8":"L M N O c d e f g h i j k l m n o p q r s t u v","584":"w x y"},G:{"1":"FC GC HC IC JC","8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","6148":"EC"},H:{"2":"KC"},I:{"1":"G","8":"WB H LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"1":"Q","2":"A","8":"B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","36":"A"},O:{"8":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"SC","8":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"328":"dC"}},B:2,C:"Pointer events"};


/***/ }),

/***/ 50221:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J jB kB","33":"K L M N O c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L","33":"f g h i j k l m n o p q r s t","66":"M N O c d e"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e f g"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:2,C:"Pointer Lock API"};


/***/ }),

/***/ 72388:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V","322":"G a","450":"W X P Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB","194":"TB ZB aB bB R S T U V","322":"X P Y Z G a lB mB nB","450":"W"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB","194":"Q HB IB JB KB LB MB NB OB PB QB","322":"RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"450":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Portals"};


/***/ }),

/***/ 93412:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB jB kB"},D:{"1":"ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"J K VB tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"YC ZC aC","2":"H SC TC UC VC WC dB XC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"prefers-color-scheme media query"};


/***/ }),

/***/ 21506:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q jB kB"},D:{"1":"SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"H SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"prefers-reduced-motion media query"};


/***/ }),

/***/ 2344:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"uB vB","2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB"},F:{"1":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB wB xB yB zB UB eB 0B VB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"H SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Private class fields"};


/***/ }),

/***/ 46300:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"V W X P Y Z G a","2":"C J K L M N O R S T U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U"},E:{"1":"uB vB","2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB"},F:{"1":"OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB wB xB yB zB UB eB 0B VB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Public class fields"};


/***/ }),

/***/ 31127:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F wB xB yB zB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B","132":"4B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"progress element"};


/***/ }),

/***/ 22438:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"O R S T U V W X P Y Z G a","2":"C J K L M N"},C:{"1":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB jB kB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Promise.prototype.finally"};


/***/ }),

/***/ 26044:
/***/ ((module) => {

module.exports={A:{A:{"8":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","4":"k l","8":"hB WB H b I D E F A B C J K L M N O c d e f g h i j jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"p","8":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","8":"H b I D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","4":"c","8":"F B C L M N O wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB 2B 3B 4B"},H:{"8":"KC"},I:{"1":"G QC","8":"WB H LC MC NC OC fB PC"},J:{"8":"D A"},K:{"1":"Q","8":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Promises"};


/***/ }),

/***/ 93871:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:4,C:"Proximity API"};


/***/ }),

/***/ 88321:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O v w x y z","66":"c d e f g h i j k l m n o p q r s t u"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C i j k l m n o p q r s wB xB yB zB UB eB 0B VB","66":"L M N O c d e f g h"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:6,C:"Proxy object"};


/***/ }),

/***/ 94312:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB jB kB","4":"OB PB QB RB SB","132":"NB"},D:{"1":"QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB"},E:{"1":"uB vB","2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB tB","260":"K"},F:{"1":"GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB wB xB yB zB UB eB 0B VB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"XC YC ZC aC","2":"H SC TC UC VC WC dB"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Public class fields"};


/***/ }),

/***/ 29636:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB","2":"F B C L M N O c KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","4":"g","16":"d e f h"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB","2":"XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"HTTP Public Key Pinning"};


/***/ }),

/***/ 39446:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O","2":"C J K L M","257":"R S T U V W X P Y Z G a"},C:{"2":"0 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","257":"1 3 4 5 6 7 8 AB BB CB DB EB FB XB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","1281":"2 9 GB"},D:{"2":"0 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","257":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","388":"1 2 3 4 5 6"},E:{"2":"H b I D E F oB cB pB qB rB","514":"A B C J K sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t wB xB yB zB UB eB 0B VB","16":"u v w x y","257":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"257":"dC"}},B:5,C:"Push API"};


/***/ }),

/***/ 78361:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"gB","8":"I D","132":"E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","8":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","8":"F wB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"querySelector/querySelectorAll"};


/***/ }),

/***/ 21513:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","16":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K L M N O c d e f g h i"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F wB","132":"B C xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","132":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"257":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"readonly attribute of input and textarea elements"};


/***/ }),

/***/ 68504:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"R S T U","132":"C J K L M N O","513":"V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V","2":"H b I D E F A B C J K L M N O c d","260":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB","513":"W X P Y Z G a lB mB nB"},E:{"1":"C UB VB","2":"H b I D oB cB pB qB","132":"E F A B rB sB dB","1025":"J K tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB","2":"F B C wB xB yB zB UB eB 0B VB","513":"RB SB TB"},G:{"1":"CC DC EC FC","2":"cB 1B fB 2B 3B 4B","132":"E 5B 6B 7B 8B 9B AC BC","1025":"GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"513":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Referrer Policy"};


/***/ }),

/***/ 35575:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","129":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB"},D:{"2":"H b I D E F A B C","129":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B wB xB yB zB UB eB","129":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D","129":"A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Custom protocol handling"};


/***/ }),

/***/ 67634:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:1,C:"rel=noopener"};


/***/ }),

/***/ 53615:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","132":"B"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K L"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Link type \"noreferrer\""};


/***/ }),

/***/ 40764:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"O R S T U V W X P Y Z G a","2":"C J K L M","132":"N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","132":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D E oB cB pB qB rB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 u v w x y z"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"132":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H","132":"SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"relList (DOMTokenList)"};


/***/ }),

/***/ 49123:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E gB","132":"F A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB"},G:{"1":"E 1B fB 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB","260":"2B"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"rem (root em) units"};


/***/ }),

/***/ 10380:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","33":"B C J K L M N O c d e f","164":"H b I D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F","33":"f g","164":"O c d e","420":"A B C J K L M N"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","33":"3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"requestAnimationFrame"};


/***/ }),

/***/ 28670:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"AB BB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB","322":"K tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC","322":"HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"requestIdleCallback"};


/***/ }),

/***/ 21994:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB jB kB"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","194":"BB CB DB EB FB XB GB YB Q HB"},E:{"1":"K tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB VB","66":"J"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB UB eB 0B VB","194":"0 1 2 3 4 5 6 7 8 y z"},G:{"1":"HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"WC dB XC YC ZC aC","2":"H SC TC UC VC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Resize Observer"};


/***/ }),

/***/ 28286:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB","194":"o p q r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Resource Timing"};


/***/ }),

/***/ 42459:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"1 2 3"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n wB xB yB zB UB eB 0B VB","194":"o p q"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Rest parameters"};


/***/ }),

/***/ 17936:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K","516":"L M N O"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e jB kB","33":"0 f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f","33":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N wB xB yB zB UB eB 0B VB","33":"O c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","130":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"33":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"1":"dC"}},B:5,C:"WebRTC Peer-to-peer connections"};


/***/ }),

/***/ 35921:
/***/ ((module) => {

module.exports={A:{A:{"4":"I D E F A B gB"},B:{"4":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H"},E:{"4":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","8":"H oB cB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","8":"F B C wB xB yB zB UB eB 0B VB"},G:{"4":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB"},H:{"8":"KC"},I:{"4":"WB H G OC fB PC QC","8":"LC MC NC"},J:{"4":"A","8":"D"},K:{"4":"Q","8":"A B C UB eB VB"},L:{"4":"G"},M:{"1":"P"},N:{"4":"A B"},O:{"4":"RC"},P:{"4":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"1":"dC"}},B:1,C:"Ruby annotation"};


/***/ }),

/***/ 88365:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","2":"I D gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o","2":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I pB","2":"D E F A B C J K rB sB dB UB VB tB uB vB","16":"qB","129":"H oB cB"},F:{"1":"F B C L M N O wB xB yB zB UB eB 0B VB","2":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"1B fB 2B 3B 4B","2":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","129":"cB"},H:{"1":"KC"},I:{"1":"WB H LC MC NC OC fB PC","2":"G QC"},J:{"1":"D A"},K:{"1":"A B C UB eB VB","2":"Q"},L:{"2":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"display: run-in"};


/***/ }),

/***/ 87529:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","388":"B"},B:{"1":"O R S T U V W","2":"C J K L","129":"M N","513":"X P Y Z G a"},C:{"1":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB jB kB"},D:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","513":"S T U V W X P Y Z G a lB mB nB"},E:{"1":"uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB UB","2052":"K","3076":"C J VB tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB UB eB 0B VB","513":"PB QB RB SB TB"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2052":"CC DC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","513":"Q"},L:{"513":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"16":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:6,C:"'SameSite' cookie attribute"};


/***/ }),

/***/ 22474:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","164":"B"},B:{"1":"R S T U V W X P Y Z G a","36":"C J K L M N O"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N jB kB","36":"0 O c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A","36":"B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"Screen Orientation"};


/***/ }),

/***/ 1522:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB","132":"b"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"async attribute for external scripts"};


/***/ }),

/***/ 13440:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","132":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","257":"H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"defer attribute for external scripts"};


/***/ }),

/***/ 39781:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","132":"E F A B"},B:{"1":"R S T U V W X P Y Z G a","132":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s jB kB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB"},E:{"2":"H b oB cB","132":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB xB yB zB","16":"B UB eB","132":"0 1 2 3 4 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z 0B VB"},G:{"16":"cB 1B fB","132":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","16":"LC MC","132":"WB H NC OC fB PC QC"},J:{"132":"D A"},K:{"132":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"132":"RC"},P:{"132":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:5,C:"scrollIntoView"};


/***/ }),

/***/ 12228:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"Element.scrollIntoViewIfNeeded()"};


/***/ }),

/***/ 52531:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","2":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB","2":"F B C RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"};


/***/ }),

/***/ 60612:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","16":"gB","260":"I D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","2180":"0 1 2 3 4 5 6 7 8"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","132":"F B C wB xB yB zB UB eB 0B VB"},G:{"16":"fB","132":"cB 1B","516":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G PC QC","16":"WB H LC MC NC OC","1025":"fB"},J:{"1":"A","16":"D"},K:{"1":"Q","16":"A B C UB eB","132":"VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","16":"A"},O:{"1025":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2180":"dC"}},B:5,C:"Selection API"};


/***/ }),

/***/ 6978:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB jB kB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB","196":"GB YB Q HB","324":"IB"},E:{"2":"H b I D E F A B C oB cB pB qB rB sB dB UB","516":"J K VB tB uB vB"},F:{"1":"9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Server Timing"};


/***/ }),

/***/ 65958:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K","322":"L M"},C:{"1":"1 3 4 5 6 7 8 AB BB CB DB EB FB XB YB Q HB IB JB KB LB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB","194":"0 q r s t u v w x y z","513":"2 9 GB MB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w","4":"0 1 x y z"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D E F A B oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j wB xB yB zB UB eB 0B VB","4":"k l m n o"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","4":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","4":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"4":"cC"},S:{"2":"dC"}},B:4,C:"Service Workers"};


/***/ }),

/***/ 87394:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O","2":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"1":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Efficient Script Yielding: setImmediate()"};


/***/ }),

/***/ 83083:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","2":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"1":"WB H G MC NC OC fB PC QC","260":"LC"},J:{"1":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"1":"G"},M:{"16":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","16":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"SHA-2 SSL certificates"};


/***/ }),

/***/ 29657:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R","2":"C J K L M N O S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","66":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","2":"H b I D E F A B C J K L M N O c d e f g h S T U V W X P Y Z G a lB mB nB","33":"i j k l m n o p q r"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB","2":"F B C LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","33":"L M N O c d e"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB","33":"PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC","2":"ZC aC","33":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:7,C:"Shadow DOM (deprecated V0 spec)"};


/***/ }),

/***/ 32860:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB jB kB","322":"FB","578":"XB GB YB Q"},D:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C J K dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","132":"8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H","4":"SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Shadow DOM (V1)"};


/***/ }),

/***/ 71306:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L","194":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB jB kB","194":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB","450":"SB TB ZB aB bB","513":"R S T iB U V W X P Y Z G a"},D:{"1":"MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB","194":"GB YB Q HB IB JB KB LB","513":"a lB mB nB"},E:{"2":"H b I D E F A oB cB pB qB rB sB","194":"B C J K dB UB VB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","194":"4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B","194":"9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"513":"G"},M:{"513":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"Shared Array Buffer"};


/***/ }),

/***/ 42568:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"b I pB","2":"H D E F A B C J K oB cB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","2":"F wB xB yB"},G:{"1":"2B 3B","2":"E cB 1B fB 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C UB eB VB","2":"Q","16":"A"},L:{"2":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"H","2":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"Shared Web Workers"};


/***/ }),

/***/ 18689:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I gB","132":"D E"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB"},H:{"1":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Server Name Indication"};


/***/ }),

/***/ 35867:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F A gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","2":"8 9 hB WB H b I D E F A B C AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","2":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"E F A B C sB dB UB","2":"H b I D oB cB pB qB rB","129":"J K VB tB uB vB"},F:{"1":"1 L M N O c d e f g h i j k l m n o p q r s t u v w z VB","2":"0 2 3 4 5 6 7 8 9 F B C x y AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC","2":"cB 1B fB 2B 3B 4B","257":"DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H OC fB PC QC","2":"G LC MC NC"},J:{"2":"D A"},K:{"1":"VB","2":"A B C Q UB eB"},L:{"2":"G"},M:{"2":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"H","2":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"16":"cC"},S:{"1":"dC"}},B:7,C:"SPDY protocol"};


/***/ }),

/***/ 7773:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","1026":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e jB kB","322":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h","164":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB","2084":"uB vB"},F:{"2":"F B C L M N O c d e f g h i j wB xB yB zB UB eB 0B VB","1026":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC","2084":"JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"164":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"322":"dC"}},B:7,C:"Speech Recognition API"};


/***/ }),

/***/ 38623:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O","2":"C J","257":"R S T U V W X P Y Z G a"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n jB kB","194":"0 1 2 3 4 5 o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p","257":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB","2":"F B C L M N O c d e f g h i j wB xB yB zB UB eB 0B VB","257":"IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Speech Synthesis API"};


/***/ }),

/***/ 79418:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"4":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"4":"WB H G LC MC NC OC fB PC QC"},J:{"1":"A","4":"D"},K:{"4":"A B C Q UB eB VB"},L:{"4":"G"},M:{"4":"P"},N:{"4":"A B"},O:{"4":"RC"},P:{"4":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"4":"cC"},S:{"2":"dC"}},B:1,C:"Spellcheck attribute"};


/***/ }),

/***/ 88502:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C oB cB pB qB rB sB dB UB VB","2":"J K tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC","2":"EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:7,C:"Web SQL Database"};


/***/ }),

/***/ 31740:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","260":"C","514":"J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o jB kB","194":"p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q","260":"r s t u"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB qB","260":"E rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d wB xB yB zB UB eB 0B VB","260":"e f g h"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","260":"E 5B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Srcset and sizes attributes"};


/***/ }),

/***/ 83192:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M jB kB","129":"t u v w x y","420":"N O c d e f g h i j k l m n o p q r s"},D:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d","420":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B L M N wB xB yB zB UB eB 0B","420":"C O c d e f g h i j k l m n o p q r s t u v w VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","513":"HC IC JC","1537":"AC BC CC DC EC FC GC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","420":"A"},K:{"1":"Q","2":"A B UB eB","420":"C VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","420":"H SC"},Q:{"1":"bC"},R:{"420":"cC"},S:{"2":"dC"}},B:4,C:"getUserMedia/Stream API"};


/***/ }),

/***/ 54664:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","130":"B"},B:{"1":"Z G a","16":"C J","260":"K L","1028":"R S T U V W X P Y","5124":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB jB kB","6148":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","6722":"EB FB XB GB YB Q HB IB"},D:{"1":"Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","260":"9 AB BB CB DB EB FB","1028":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y"},E:{"2":"H b I D E F oB cB pB qB rB sB","1028":"uB vB","3076":"A B C J K dB UB VB tB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v wB xB yB zB UB eB 0B VB","260":"0 1 2 w x y z","1028":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B","16":"8B","1028":"9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","1028":"Q"},L:{"1":"G"},M:{"6148":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC","1028":"UC VC WC dB XC YC ZC aC"},Q:{"1028":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"Streams"};


/***/ }),

/***/ 24046:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A gB","129":"B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Strict Transport Security"};


/***/ }),

/***/ 39846:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB","2":"hB WB H b I D E F A B C J K L M N O c d YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","322":"CB DB EB FB XB GB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","194":"d e f g h i j k l m n o p q r s t"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"322":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:7,C:"Scoped CSS"};


/***/ }),

/***/ 50847:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","194":"AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Subresource Integrity"};


/***/ }),

/***/ 52279:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"M N O R S T U V W X P Y Z G a","516":"C J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","260":"H b I D E F A B C J K L M N O c d e f g"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"H"},E:{"1":"b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB","132":"H cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB 1B"},H:{"260":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"Q","260":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"SVG in CSS backgrounds"};


/***/ }),

/***/ 24682:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H","4":"b I D"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"SVG filters"};


/***/ }),

/***/ 18443:
/***/ ((module) => {

module.exports={A:{A:{"2":"F A B gB","8":"I D E"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u","2":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","130":"0 1 2 3 4 5 6 7 v w x y z"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","2":"oB"},F:{"1":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB","2":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","130":"i j k l m n o p q r s t"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"258":"KC"},I:{"1":"WB H OC fB PC QC","2":"G LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"130":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"H","130":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"130":"cC"},S:{"2":"dC"}},B:2,C:"SVG fonts"};


/***/ }),

/***/ 32036:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","260":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s","132":"0 1 2 3 4 5 6 t u v w x y z"},E:{"1":"C J K UB VB tB uB vB","2":"H b I D F A B oB cB pB qB sB dB","132":"E rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"L M N O c d e f","4":"B C xB yB zB UB eB 0B","16":"F wB","132":"g h i j k l m n o p q r s t"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B 6B 7B 8B 9B AC","132":"E 5B"},H:{"1":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D","132":"A"},K:{"1":"Q VB","4":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"H"},Q:{"1":"bC"},R:{"132":"cC"},S:{"1":"dC"}},B:4,C:"SVG fragment identifiers"};


/***/ }),

/***/ 18617:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","388":"F A B"},B:{"4":"R S T U V W X P Y Z G a","260":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB","4":"WB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"oB cB","4":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"4":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","4":"G PC QC"},J:{"1":"A","2":"D"},K:{"4":"A B C Q UB eB VB"},L:{"4":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"4":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"1":"dC"}},B:2,C:"SVG effects for HTML"};


/***/ }),

/***/ 94098:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E","129":"F A B"},B:{"1":"N O R S T U V W X P Y Z G a","129":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","8":"H b I"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","8":"H b oB cB","129":"I D E pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"B zB UB eB","8":"F wB xB yB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","8":"cB 1B fB","129":"E 2B 3B 4B 5B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"LC MC NC","129":"WB H OC fB"},J:{"1":"A","129":"D"},K:{"1":"C Q VB","8":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"129":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Inline SVG in HTML5"};


/***/ }),

/***/ 86703:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g h i j k"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"oB","4":"cB","132":"H b I D E pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"E cB 1B fB 2B 3B 4B 5B"},H:{"1":"KC"},I:{"1":"G PC QC","2":"LC MC NC","132":"WB H OC fB"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"SVG in HTML img element"};


/***/ }),

/***/ 91827:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E F A B"},B:{"1":"R S T U V W X P Y Z G a","8":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"H"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","8":"oB cB","132":"H b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB 1B fB 2B"},H:{"2":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"SVG SMIL animation"};


/***/ }),

/***/ 44087:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E","772":"F A B"},B:{"1":"R S T U V W X P Y Z G a","513":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","4":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","4":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"G PC QC","2":"LC MC NC","132":"WB H OC fB"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"257":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"SVG (basic support)"};


/***/ }),

/***/ 12832:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB","132":"PB QB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"16":"RC"},P:{"1":"XC YC ZC aC","2":"H SC TC UC VC WC dB"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:6,C:"Signed HTTP Exchanges (SXG)"};


/***/ }),

/***/ 40960:
/***/ ((module) => {

module.exports={A:{A:{"1":"D E F A B","16":"I gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"16":"hB WB jB kB","129":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"16":"H b oB cB","257":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"769":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"16":"WB H G LC MC NC OC fB PC QC"},J:{"16":"D A"},K:{"16":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"16":"A B"},O:{"16":"RC"},P:{"16":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"16":"cC"},S:{"129":"dC"}},B:1,C:"tabindex global attribute"};


/***/ }),

/***/ 7507:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"J K L M N O R S T U V W X P Y Z G a","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"A B J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB","129":"C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l wB xB yB zB UB eB 0B VB"},G:{"1":"6B 7B 8B 9B AC BC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B","129":"CC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ES6 Template Literals (Template Strings)"};


/***/ }),

/***/ 52873:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"L M N O R S T U V W X P Y Z G a","2":"C","388":"J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i","132":"j k l m n o p q r"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","2":"H b I D oB cB pB","388":"E rB","514":"qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","132":"L M N O c d e"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B","388":"E 5B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"HTML templates"};


/***/ }),

/***/ 40831:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E A B gB","16":"F"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","16":"H b"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"B C"},E:{"2":"H I oB cB pB","16":"b D E F A B C J K qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB eB 0B VB","16":"UB"},G:{"2":"cB 1B fB 2B 3B","16":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC OC fB PC QC","16":"NC"},J:{"2":"A","16":"D"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Test feature - updated"};


/***/ }),

/***/ 6866:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","2052":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b jB kB","1028":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","1060":"I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i","226":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB","2052":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D oB cB pB qB","772":"J K VB tB uB vB","804":"E F A B C sB dB UB","1316":"rB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r wB xB yB zB UB eB 0B VB","226":"0 s t u v w x y z","2052":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"cB 1B fB 2B 3B 4B","292":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","2052":"Q"},L:{"2052":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2052":"RC"},P:{"2":"H SC TC","2052":"UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"1":"cC"},S:{"1028":"dC"}},B:4,C:"text-decoration styling"};


/***/ }),

/***/ 76001:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","164":"R S T U V W X P Y Z G a"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","322":"2"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h","164":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB","164":"D qB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","164":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB","164":"G PC QC"},J:{"2":"D","164":"A"},K:{"2":"A B C UB eB VB","164":"Q"},L:{"164":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"164":"RC"},P:{"164":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"164":"bC"},R:{"164":"cC"},S:{"1":"dC"}},B:4,C:"text-emphasis styling"};


/***/ }),

/***/ 73033:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B","2":"gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","8":"hB WB H b I jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","33":"F wB xB yB zB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"Q VB","33":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 Text-overflow"};


/***/ }),

/***/ 2368:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","33":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i k l m n o p q r s t u v w x y z AB","258":"j"},E:{"2":"H b I D E F A B C J K oB cB qB rB sB dB UB VB tB uB vB","258":"pB"},F:{"1":"0 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"1 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"cB 1B fB","33":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"33":"P"},N:{"161":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS text-size-adjust"};


/***/ }),

/***/ 10481:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K","33":"R S T U V W X P Y Z G a","161":"L M N O"},C:{"2":"0 1 2 3 4 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","161":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","450":"5"},D:{"33":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"33":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","33":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"33":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","36":"cB"},H:{"2":"KC"},I:{"2":"WB","33":"H G LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"2":"A B C UB eB VB","33":"Q"},L:{"33":"G"},M:{"161":"P"},N:{"2":"A B"},O:{"33":"RC"},P:{"33":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"33":"bC"},R:{"33":"cC"},S:{"161":"dC"}},B:7,C:"CSS text-stroke and text-fill"};


/***/ }),

/***/ 13785:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB jB kB","130":"NB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"J K VB tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"text-underline-offset"};


/***/ }),

/***/ 2846:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"1":"E 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Node.textContent"};


/***/ }),

/***/ 96073:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O jB kB","132":"c"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"TextEncoder & TextDecoder"};


/***/ }),

/***/ 76376:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D gB","66":"E F A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB","2":"hB WB H b I D E F A B C J K L M N O c d e f jB kB","66":"g","129":"MB NB OB PB QB RB SB TB ZB aB","388":"bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V","2":"H b I D E F A B C J K L M N O c d e","1540":"W X P Y Z G a lB mB nB"},E:{"1":"D E F A B C J rB sB dB UB VB","2":"H b I oB cB pB qB","513":"K tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB VB","2":"F B C wB xB yB zB UB eB 0B","1540":"RB SB TB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"129":"P"},N:{"1":"B","66":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"TLS 1.1"};


/***/ }),

/***/ 99062:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D gB","66":"E F A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g jB kB","66":"h i j"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F L wB","66":"B C xB yB zB UB eB 0B VB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"Q VB","2":"A B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","66":"A"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"TLS 1.2"};


/***/ }),

/***/ 5423:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","132":"GB YB Q","450":"8 9 AB BB CB DB EB FB XB"},D:{"1":"OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","706":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB"},E:{"1":"K uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB","1028":"J VB tB"},F:{"1":"EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB","706":"BB CB DB"},G:{"1":"DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"dB XC YC ZC aC","2":"H SC TC UC VC WC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:6,C:"TLS 1.3"};


/***/ }),

/***/ 51858:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K","194":"R S T U V W X P Y Z G a","257":"L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z jB kB","16":"G a"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v","16":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB","194":"FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E oB cB pB qB rB","16":"F A B C J K sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB","16":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B","16":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"16":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","16":"G"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","16":"Q"},L:{"16":"G"},M:{"16":"P"},N:{"2":"A","16":"B"},O:{"16":"RC"},P:{"16":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"16":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:6,C:"Token Binding"};


/***/ }),

/***/ 61653:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","8":"A B"},B:{"1":"R S T U V W X P Y Z G a","578":"C J K L M N O"},C:{"1":"9 O c d e f g h AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","4":"H b I D E F A B C J K L M N","194":"0 1 2 3 4 5 6 7 8 i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A","260":"B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:2,C:"Touch events"};


/***/ }),

/***/ 98415:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E","129":"A B","161":"F"},B:{"1":"N O R S T U V W X P Y Z G a","129":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","33":"H b I D E F A B C J K L jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","33":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F wB xB","33":"B C L M N O c d e f yB zB UB eB 0B"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","33":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","33":"WB H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"CSS3 2D Transforms"};


/***/ }),

/***/ 48912:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F jB kB","33":"A B C J K L"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B","33":"C J K L M N O c d e f g h i j k l m n o p q r s"},E:{"2":"oB cB","33":"H b I D E pB qB rB","257":"F A B C J K sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e f"},G:{"33":"E cB 1B fB 2B 3B 4B 5B","257":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"LC MC NC","33":"WB H OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 3D Transforms"};


/***/ }),

/***/ 58552:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"U V W X P Y Z G a","2":"C J K L M N O R S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"ZC aC","2":"H SC TC UC VC WC dB XC YC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Trusted Types for DOM manipulation"};


/***/ }),

/***/ 23126:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","132":"F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB xB yB zB UB eB 0B VB","2":"F wB"},G:{"1":"E fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B"},H:{"2":"KC"},I:{"1":"WB H G MC NC OC fB PC QC","2":"LC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"};


/***/ }),

/***/ 71426:
/***/ ((module) => {

module.exports={A:{A:{"1":"B","2":"I D E F gB","132":"A"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB","260":"pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","260":"fB"},H:{"1":"KC"},I:{"1":"H G OC fB PC QC","2":"WB LC MC NC"},J:{"1":"A","2":"D"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Typed Arrays"};


/***/ }),

/***/ 61405:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","513":"R S T U V W X P Y Z G a"},C:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","322":"4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB"},D:{"2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u","130":"v w x","513":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"J K tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB VB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w y wB xB yB zB UB eB 0B VB","513":"0 1 2 3 4 5 6 7 8 9 x z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"322":"dC"}},B:6,C:"FIDO U2F API"};


/***/ }),

/***/ 43287:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB jB kB"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB"},G:{"1":"BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","16":"AC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:1,C:"unhandledrejection/rejectionhandled events"};


/***/ }),

/***/ 97798:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Upgrade Insecure Requests"};


/***/ }),

/***/ 52411:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"U V W X P Y Z G a","2":"C J K L M N O","66":"R S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB","66":"SB TB ZB aB bB R S"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB UB eB 0B VB","66":"KB LB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"ZC aC","2":"H SC TC UC VC WC dB XC YC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"URL Scroll-To-Text Fragment"};


/***/ }),

/***/ 80081:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f","130":"g h i j k l m n o"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","2":"H b I oB cB pB qB","130":"D"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","130":"L M N O"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B","130":"4B"},H:{"2":"KC"},I:{"1":"G QC","2":"WB H LC MC NC OC fB","130":"PC"},J:{"2":"D","130":"A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"URL API"};


/***/ }),

/***/ 17586:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB","132":"0 m n o p q r s t u v w x y z"},D:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C J K dB UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB"},G:{"1":"9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","2":"H"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"URLSearchParams"};


/***/ }),

/***/ 33500:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H oB cB","132":"b pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"1":"KC"},I:{"1":"WB H G OC fB PC QC","2":"LC MC NC"},J:{"1":"D A"},K:{"1":"C Q eB VB","2":"A B UB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"ECMAScript 5 Strict Mode"};


/***/ }),

/***/ 85671:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","33":"A B"},B:{"1":"R S T U V W X P Y Z G a","33":"C J K L M N O"},C:{"1":"NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","33":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB jB kB"},D:{"1":"BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","33":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"33":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","33":"L M N O c d e f g h i j k l m n o p q r s t u v w x"},G:{"33":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","33":"WB H LC MC NC OC fB PC QC"},J:{"33":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"33":"A B"},O:{"2":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","33":"H SC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"33":"dC"}},B:5,C:"CSS user-select: none"};


/***/ }),

/***/ 98345:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"User Timing API"};


/***/ }),

/***/ 56153:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"N O R S T U V W X P Y Z G a","2":"C J K L M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","4609":"Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","4674":"YB","5698":"GB","7490":"AB BB CB DB EB","7746":"FB XB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB","4097":"KB","4290":"XB GB YB","6148":"Q HB IB JB"},E:{"2":"H b I D E F A oB cB pB qB rB sB dB","4609":"B C UB VB","8193":"J K tB uB vB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","4097":"AB","6148":"6 7 8 9"},G:{"1":"EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","4097":"AC BC CC DC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"4097":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC","4097":"VC WC dB XC YC ZC aC"},Q:{"4097":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"Variable fonts"};


/***/ }),

/***/ 18563:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","2":"F B wB xB yB zB UB eB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"1":"KC"},I:{"1":"G PC QC","16":"WB H LC MC NC OC fB"},J:{"16":"D A"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"SVG vector-effect: non-scaling-stroke"};


/***/ }),

/***/ 78480:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A jB kB","33":"B C J K L"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"Vibration API"};


/***/ }),

/***/ 69345:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","260":"H b I D E F A B C J K L M N O c jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A pB qB rB sB dB","2":"oB cB","513":"B C J K UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","513":"AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","132":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Video element"};


/***/ }),

/***/ 32495:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O","322":"R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB","194":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b I oB cB pB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o wB xB yB zB UB eB 0B VB","322":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","322":"Q"},L:{"322":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:1,C:"Video Tracks"};


/***/ }),

/***/ 23396:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","132":"F","260":"A B"},B:{"1":"M N O R S T U V W X P Y Z G a","260":"C J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c","260":"d e f g h i"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB","260":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B","516":"4B","772":"3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"260":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"};


/***/ }),

/***/ 32102:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","4":"E F A B"},B:{"4":"C J K L M N O R S T U V W X P Y Z G a"},C:{"4":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"oB cB","4":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F","4":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"4":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"4":"KC"},I:{"2":"WB H LC MC NC OC fB","4":"G PC QC"},J:{"2":"D A"},K:{"4":"A B C Q UB eB VB"},L:{"4":"G"},M:{"4":"P"},N:{"4":"A B"},O:{"2":"RC"},P:{"4":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"4":"dC"}},B:2,C:"WAI-ARIA Accessibility features"};


/***/ }),

/***/ 44534:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"G a","2":"C J K L M N O","194":"R S T U V W X P Y Z"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB","194":"PB QB RB SB TB ZB aB bB R S T U V"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB wB xB yB zB UB eB 0B VB","194":"FB GB Q HB IB JB KB LB MB NB OB PB QB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"aC","2":"H SC TC UC VC WC dB XC YC ZC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:4,C:"Screen Wake Lock API"};


/***/ }),

/***/ 95495:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"M N O R S T U V W X P Y Z G a","2":"C J K","578":"L"},C:{"1":"AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB","194":"4 5 6 7 8","1025":"9"},D:{"1":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","322":"8 9 AB BB CB DB"},E:{"1":"B C J K UB VB tB uB vB","2":"H b I D E F A oB cB pB qB rB sB dB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u wB xB yB zB UB eB 0B VB","322":"0 v w x y z"},G:{"1":"AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"194":"dC"}},B:6,C:"WebAssembly"};


/***/ }),

/***/ 22174:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB yB zB UB eB 0B VB","2":"F wB xB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","16":"A"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"Wav audio format"};


/***/ }),

/***/ 91075:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D gB","2":"E F A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K cB pB qB rB sB dB UB VB tB uB vB","16":"oB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","16":"F"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB"},H:{"1":"KC"},I:{"1":"WB H G NC OC fB PC QC","16":"LC MC"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"wbr (word break opportunity) element"};


/***/ }),

/***/ 17713:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"V W X P Y Z G a","2":"C J K L M N O","260":"R S T U"},C:{"1":"T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p jB kB","260":"XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB","516":"4 5 6 7 8 9 AB BB CB DB EB FB","580":"0 1 2 3 q r s t u v w x y z","2049":"TB ZB aB bB R S"},D:{"1":"V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s","132":"t u v","260":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U"},E:{"1":"vB","2":"H b I D E F A oB cB pB qB rB sB dB","1090":"B C J UB VB","2049":"K tB uB"},F:{"1":"PB QB RB SB TB","2":"F B C L M N O c d e f wB xB yB zB UB eB 0B VB","132":"g h i","260":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B","1090":"AC BC CC DC EC FC GC","2049":"HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"260":"RC"},P:{"260":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"260":"bC"},R:{"260":"cC"},S:{"516":"dC"}},B:5,C:"Web Animations API"};


/***/ }),

/***/ 48215:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M","130":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB X P Y Z G a jB kB","578":"ZB aB bB R S T iB U V W"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC","260":"BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"2":"dC"}},B:5,C:"Add to home screen (A2HS)"};


/***/ }),

/***/ 46475:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","1025":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","194":"2 3 4 5 6 7 8 9","706":"AB BB CB","1025":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C L M N O c d e f g h i j k l m n o p q r s wB xB yB zB UB eB 0B VB","450":"t u v w","706":"x y z","1025":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC QC","1025":"G"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1025":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"TC UC VC WC dB XC YC ZC aC","2":"H SC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Web Bluetooth"};


/***/ }),

/***/ 86902:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Z G a","2":"C J K L M N O","66":"R S T U V W X P Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB","66":"bB R S T U V W X P Y"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB wB xB yB zB UB eB 0B VB","66":"JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Web Serial API"};


/***/ }),

/***/ 1574:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R S","516":"T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y","130":"O c d e f g h","1028":"Z G a lB mB nB"},E:{"1":"K uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB","2049":"J VB tB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","2049":"DC EC FC GC HC"},H:{"2":"KC"},I:{"2":"WB H LC MC NC OC fB PC","258":"G QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H","258":"SC TC UC"},Q:{"2":"bC"},R:{"16":"cC"},S:{"2":"dC"}},B:5,C:"Web Share API"};


/***/ }),

/***/ 8423:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"O R S T U V W X P Y Z G a","2":"C","226":"J K L M N"},C:{"1":"GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB jB kB"},D:{"1":"LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB"},E:{"1":"J K tB uB vB","2":"H b I D E F A B C oB cB pB qB rB sB dB UB","322":"VB"},F:{"1":"BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB wB xB yB zB UB eB 0B VB"},G:{"1":"JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC","578":"FC","2052":"IC","3076":"GC HC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:2,C:"Web Authentication API"};


/***/ }),

/***/ 34889:
/***/ ((module) => {

module.exports={A:{A:{"2":"gB","8":"I D E F A","129":"B"},B:{"1":"R S T U V W X P Y Z G a","129":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","129":"H b I D E F A B C J K L M N O c d e f g"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D","129":"E F A B C J K L M N O c d e f g h i j k l m n o p"},E:{"1":"E F A B C J K sB dB UB VB tB uB vB","2":"H b oB cB","129":"I D pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B wB xB yB zB UB eB 0B","129":"C L M N O VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B 4B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"1":"A","2":"D"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A","129":"B"},O:{"129":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"129":"dC"}},B:6,C:"WebGL - 3D Canvas graphics"};


/***/ }),

/***/ 75593:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h jB kB","194":"0 1 z","450":"i j k l m n o p q r s t u v w x y","2242":"2 3 4 5 6 7"},D:{"1":"DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z","578":"0 1 2 3 4 5 6 7 8 9 AB BB CB"},E:{"1":"vB","2":"H b I D E F A oB cB pB qB rB sB","1090":"B C J K dB UB VB tB uB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC","1090":"CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"UC VC WC dB XC YC ZC aC","2":"H SC TC"},Q:{"578":"bC"},R:{"2":"cC"},S:{"2242":"dC"}},B:6,C:"WebGL 2.0"};


/***/ }),

/***/ 98935:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R","578":"S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q jB kB","194":"HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R","578":"S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B oB cB pB qB rB sB dB","322":"C J K UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB wB xB yB zB UB eB 0B VB","578":"RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"194":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"WebGPU"};


/***/ }),

/***/ 51706:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"Z G a","2":"C J K L M N O","66":"R S T U V W X P Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB","66":"bB R S T U V W X P Y"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB wB xB yB zB UB eB 0B VB","66":"KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"WebHID API"};


/***/ }),

/***/ 27580:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","132":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"16":"H b I D E F A B C J K L","132":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"F B C wB xB yB zB UB eB 0B VB","132":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"CSS -webkit-user-drag property"};


/***/ }),

/***/ 19936:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E gB","520":"F A B"},B:{"1":"R S T U V W X P Y Z G a","8":"C J","388":"K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","132":"H b I D E F A B C J K L M N O c d e f g h i j k"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b","132":"I D E F A B C J K L M N O c d e f g h"},E:{"2":"oB","8":"H b cB pB","520":"I D E F A B C qB rB sB dB UB","1028":"J VB tB","7172":"K","8196":"uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB xB yB","132":"B C L zB UB eB 0B VB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC","1028":"DC EC FC GC HC","3076":"IC JC"},H:{"2":"KC"},I:{"1":"G","2":"LC MC","132":"WB H NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C UB eB VB","132":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"8":"A B"},O:{"1":"RC"},P:{"1":"SC TC UC VC WC dB XC YC ZC aC","132":"H"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:6,C:"WebM video format"};


/***/ }),

/***/ 57179:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O R Z G a","450":"S T U V W X P Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R Z G a lB mB nB","450":"S T U V W X P Y"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB wB xB yB zB UB eB 0B VB","450":"LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"257":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"Web NFC"};


/***/ }),

/***/ 95001:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"O R S T U V W X P Y Z G a","2":"C J K L M N"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","8":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b","8":"I D E","132":"F A B C J K L M N O c d e f","260":"g h i j k l m n o"},E:{"2":"H b I D E F A B C J oB cB pB qB rB sB dB UB VB tB","516":"K uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F wB xB yB","8":"B zB","132":"UB eB 0B","260":"C L M N O VB"},G:{"1":"IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC"},H:{"1":"KC"},I:{"1":"G fB PC QC","2":"WB LC MC NC","132":"H OC"},J:{"2":"D A"},K:{"1":"C Q UB eB VB","2":"A","132":"B"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"8":"dC"}},B:7,C:"WebP image format"};


/***/ }),

/***/ 9648:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB jB kB","132":"H b","292":"I D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K","260":"L"},E:{"1":"D E F A B C J K rB sB dB UB VB tB uB vB","2":"H oB cB","132":"b pB","260":"I qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F wB xB yB zB","132":"B C UB eB 0B"},G:{"1":"E 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B","132":"fB 2B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","129":"D"},K:{"1":"Q VB","2":"A","132":"B C UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Web Sockets"};


/***/ }),

/***/ 75310:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB","66":"BB CB DB EB FB XB GB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g h i j k l m n o p q r s t u v w x wB xB yB zB UB eB 0B VB","66":"0 1 2 3 4 y z"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"1":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"1":"VC WC dB XC YC ZC aC","2":"H SC TC UC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:7,C:"WebUSB"};


/***/ }),

/***/ 28335:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K S T U V W X P Y Z G a","66":"R","257":"L M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB jB kB","129":"CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","194":"BB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB S T U V W X P Y Z G a lB mB nB","66":"EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","66":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB Q HB IB JB KB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"2":"G"},M:{"2":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"513":"H","516":"SC TC UC VC WC dB XC YC ZC aC"},Q:{"2":"bC"},R:{"66":"cC"},S:{"2":"dC"}},B:7,C:"WebVR API"};


/***/ }),

/***/ 53707:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"2":"hB WB H b I D E F A B C J K L M N O c d e f g jB kB","66":"h i j k l m n","129":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N"},E:{"1":"I D E F A B C J K qB rB sB dB UB VB tB uB vB","2":"H b oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB H LC MC NC OC fB"},J:{"1":"A","2":"D"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"B","2":"A"},O:{"2":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"129":"dC"}},B:5,C:"WebVTT - Web Video Text Tracks"};


/***/ }),

/***/ 82501:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","2":"gB","8":"I D E F"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","8":"hB WB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","8":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB zB UB eB 0B VB","2":"F wB","8":"xB yB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"G LC PC QC","2":"WB H MC NC OC fB"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","8":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Web Workers"};


/***/ }),

/***/ 85515:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"2":"C J K L M N O","132":"R S T U V W X P Y Z G a"},C:{"2":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB jB kB","322":"aB bB R S T iB U V W X P Y Z G a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB","66":"JB KB LB MB NB OB PB QB RB SB TB ZB aB bB","132":"R S T U V W X P Y Z G a lB mB nB"},E:{"2":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"2":"0 1 2 3 4 5 6 7 8 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z wB xB yB zB UB eB 0B VB","66":"9 AB BB CB DB EB FB GB Q HB IB JB","132":"KB LB MB NB OB PB QB RB SB TB"},G:{"2":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"2":"KC"},I:{"2":"WB H G LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"2":"A B C Q UB eB VB"},L:{"132":"G"},M:{"322":"P"},N:{"2":"A B"},O:{"2":"RC"},P:{"2":"H SC TC UC VC WC dB XC","132":"YC ZC aC"},Q:{"2":"bC"},R:{"2":"cC"},S:{"2":"dC"}},B:5,C:"WebXR Device API"};


/***/ }),

/***/ 70441:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"R S T U V W X P Y Z G a","2":"C J K L M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l jB kB","194":"m n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s"},E:{"1":"A B C J K sB dB UB VB tB uB vB","2":"H b I D E F oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f g wB xB yB zB UB eB 0B VB"},G:{"1":"7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS will-change property"};


/***/ }),

/***/ 15216:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a kB","2":"hB WB jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H"},E:{"1":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"H b oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB UB eB 0B VB","2":"F B wB xB yB zB"},G:{"1":"E 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB"},H:{"2":"KC"},I:{"1":"G PC QC","2":"WB LC MC NC OC fB","130":"H"},J:{"1":"D A"},K:{"1":"B C Q UB eB VB","2":"A"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:2,C:"WOFF - Web Open Font Format"};


/***/ }),

/***/ 92249:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F A B gB"},B:{"1":"K L M N O R S T U V W X P Y Z G a","2":"C J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","2":"H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s"},E:{"1":"C J K VB tB uB vB","2":"H b I D E F oB cB pB qB rB sB","132":"A B dB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C L M N O c d e f wB xB yB zB UB eB 0B VB"},G:{"1":"8B 9B AC BC CC DC EC FC GC HC IC JC","2":"E cB 1B fB 2B 3B 4B 5B 6B 7B"},H:{"2":"KC"},I:{"1":"G","2":"WB H LC MC NC OC fB PC QC"},J:{"2":"D A"},K:{"1":"Q","2":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"WOFF 2.0 - Web Open Font Format"};


/***/ }),

/***/ 72383:
/***/ ((module) => {

module.exports={A:{A:{"1":"I D E F A B gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB H b I D E F A B C J K jB kB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"0 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"F A B C J K sB dB UB VB tB uB vB","4":"H b I D E oB cB pB qB rB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"F B C wB xB yB zB UB eB 0B VB","4":"L M N O c d e f g h i j k l m n"},G:{"1":"6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"E cB 1B fB 2B 3B 4B 5B"},H:{"2":"KC"},I:{"1":"G","4":"WB H LC MC NC OC fB PC QC"},J:{"4":"D A"},K:{"2":"A B C UB eB VB","4":"Q"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"4":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:5,C:"CSS3 word-break"};


/***/ }),

/***/ 40133:
/***/ ((module) => {

module.exports={A:{A:{"4":"I D E F A B gB"},B:{"1":"O R S T U V W X P Y Z G a","4":"C J K L M N"},C:{"1":"6 7 8 9 AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","4":"0 1 2 3 4 5 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","4":"H b I D E F A B C J K L M N O c d e f"},E:{"1":"D E F A B C J K qB rB sB dB UB VB tB uB vB","4":"H b I oB cB pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F wB xB","4":"B C yB zB UB eB 0B"},G:{"1":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","4":"cB 1B fB 2B 3B"},H:{"4":"KC"},I:{"1":"G PC QC","4":"WB H LC MC NC OC fB"},J:{"1":"A","4":"D"},K:{"1":"Q","4":"A B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"4":"dC"}},B:5,C:"CSS3 Overflow-wrap"};


/***/ }),

/***/ 3334:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D gB","132":"E F","260":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB","2":"hB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","2":"oB cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB","2":"F"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"4":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"Cross-document messaging"};


/***/ }),

/***/ 52711:
/***/ ((module) => {

module.exports={A:{A:{"1":"E F A B","2":"I D gB"},B:{"1":"C J K L M N O","4":"R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB","4":"H b I D E F A B C J K L M N OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","16":"hB WB jB kB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I D E F A B C J K L M N O c d e f g h i"},E:{"4":"I D E F A B C J K pB qB rB sB dB UB VB tB uB vB","16":"H b oB cB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB 0B VB","16":"F B wB xB yB zB UB eB"},G:{"4":"E 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","16":"cB 1B fB 2B 3B"},H:{"2":"KC"},I:{"4":"H G OC fB PC QC","16":"WB LC MC NC"},J:{"4":"D A"},K:{"4":"Q VB","16":"A B C UB eB"},L:{"4":"G"},M:{"4":"P"},N:{"1":"A B"},O:{"4":"RC"},P:{"4":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"4":"bC"},R:{"4":"cC"},S:{"1":"dC"}},B:6,C:"X-Frame-Options HTTP header"};


/***/ }),

/***/ 94381:
/***/ ((module) => {

module.exports={A:{A:{"2":"I D E F gB","132":"A B"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","2":"hB WB","260":"A B","388":"I D E F","900":"H b jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","16":"H b I","132":"m n","388":"D E F A B C J K L M N O c d e f g h i j k l"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","2":"H oB cB","132":"D qB","388":"b I pB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB VB","2":"F B wB xB yB zB UB eB 0B","132":"L M N"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","2":"cB 1B fB","132":"4B","388":"2B 3B"},H:{"2":"KC"},I:{"1":"G QC","2":"LC MC NC","388":"PC","900":"WB H OC fB"},J:{"132":"A","388":"D"},K:{"1":"C Q VB","2":"A B UB eB"},L:{"1":"G"},M:{"1":"P"},N:{"132":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:1,C:"XMLHttpRequest advanced features"};


/***/ }),

/***/ 92605:
/***/ ((module) => {

module.exports={A:{A:{"1":"F A B","2":"I D E gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"1":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"1":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"1":"KC"},I:{"1":"WB H G LC MC NC OC fB PC QC"},J:{"1":"D A"},K:{"1":"A B C Q UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"2":"cC"},S:{"1":"dC"}},B:1,C:"XHTML served as application/xhtml+xml"};


/***/ }),

/***/ 7278:
/***/ ((module) => {

module.exports={A:{A:{"2":"F A B gB","4":"I D E"},B:{"2":"C J K L M N O","8":"R S T U V W X P Y Z G a"},C:{"8":"0 1 2 3 4 5 6 7 8 9 hB WB H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a jB kB"},D:{"8":"0 1 2 3 4 5 6 7 8 9 H b I D E F A B C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB"},E:{"8":"H b I D E F A B C J K oB cB pB qB rB sB dB UB VB tB uB vB"},F:{"8":"0 1 2 3 4 5 6 7 8 9 F B C L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB wB xB yB zB UB eB 0B VB"},G:{"8":"E cB 1B fB 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC"},H:{"8":"KC"},I:{"8":"WB H G LC MC NC OC fB PC QC"},J:{"8":"D A"},K:{"8":"A B C Q UB eB VB"},L:{"8":"G"},M:{"8":"P"},N:{"2":"A B"},O:{"8":"RC"},P:{"8":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"8":"bC"},R:{"8":"cC"},S:{"8":"dC"}},B:7,C:"XHTML+SMIL animation"};


/***/ }),

/***/ 12227:
/***/ ((module) => {

module.exports={A:{A:{"1":"A B","260":"I D E F gB"},B:{"1":"C J K L M N O R S T U V W X P Y Z G a"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C J K L M N O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T iB U V W X P Y Z G a","132":"B","260":"hB WB H b I D jB kB","516":"E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB FB XB GB YB Q HB IB JB KB LB MB NB OB PB QB RB SB TB ZB aB bB R S T U V W X P Y Z G a lB mB nB","132":"H b I D E F A B C J K L M N O c d e f g h i j k l m n"},E:{"1":"E F A B C J K rB sB dB UB VB tB uB vB","132":"H b I D oB cB pB qB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 O c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB Q HB IB JB KB LB MB NB OB PB QB RB SB TB","16":"F wB","132":"B C L M N xB yB zB UB eB 0B VB"},G:{"1":"E 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC","132":"cB 1B fB 2B 3B 4B"},H:{"132":"KC"},I:{"1":"G PC QC","132":"WB H LC MC NC OC fB"},J:{"132":"D A"},K:{"1":"Q","16":"A","132":"B C UB eB VB"},L:{"1":"G"},M:{"1":"P"},N:{"1":"A B"},O:{"1":"RC"},P:{"1":"H SC TC UC VC WC dB XC YC ZC aC"},Q:{"1":"bC"},R:{"1":"cC"},S:{"1":"dC"}},B:4,C:"DOM Parsing and Serialization"};


/***/ }),

/***/ 20793:
/***/ ((module) => {

module.exports = {
  1: 'ls', // WHATWG Living Standard
  2: 'rec', // W3C Recommendation
  3: 'pr', // W3C Proposed Recommendation
  4: 'cr', // W3C Candidate Recommendation
  5: 'wd', // W3C Working Draft
  6: 'other', // Non-W3C, but reputable
  7: 'unoff' // Unofficial, Editor's Draft or W3C "Note"
}


/***/ }),

/***/ 31708:
/***/ ((module) => {

module.exports = {
  y: 1 << 0,
  n: 1 << 1,
  a: 1 << 2,
  p: 1 << 3,
  u: 1 << 4,
  x: 1 << 5,
  d: 1 << 6
}


/***/ }),

/***/ 87462:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const { browsers } = __nccwpck_require__(56609)
const versions = __nccwpck_require__(73958).browserVersions
const agentsData = __nccwpck_require__(306)

function unpackBrowserVersions(versionsData) {
  return Object.keys(versionsData).reduce((usage, version) => {
    usage[versions[version]] = versionsData[version]
    return usage
  }, {})
}

module.exports.agents = Object.keys(agentsData).reduce((map, key) => {
  let versionsData = agentsData[key]
  map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => {
    if (entry === 'A') {
      data.usage_global = unpackBrowserVersions(versionsData[entry])
    } else if (entry === 'C') {
      data.versions = versionsData[entry].reduce((list, version) => {
        if (version === '') {
          list.push(null)
        } else {
          list.push(versions[version])
        }
        return list
      }, [])
    } else if (entry === 'D') {
      data.prefix_exceptions = unpackBrowserVersions(versionsData[entry])
    } else if (entry === 'E') {
      data.browser = versionsData[entry]
    } else if (entry === 'F') {
      data.release_date = Object.keys(versionsData[entry]).reduce(
        (map2, key2) => {
          map2[versions[key2]] = versionsData[entry][key2]
          return map2
        },
        {}
      )
    } else {
      // entry is B
      data.prefix = versionsData[entry]
    }
    return data
  }, {})
  return map
}, {})


/***/ }),

/***/ 73958:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports.browserVersions = __nccwpck_require__(95582)


/***/ }),

/***/ 56609:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports.browsers = __nccwpck_require__(60257)


/***/ }),

/***/ 13206:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const statuses = __nccwpck_require__(20793)
const supported = __nccwpck_require__(31708)
const { browsers } = __nccwpck_require__(56609)
const versions = __nccwpck_require__(73958).browserVersions

const MATH2LOG = Math.log(2)

function unpackSupport(cipher) {
  // bit flags
  let stats = Object.keys(supported).reduce((list, support) => {
    if (cipher & supported[support]) list.push(support)
    return list
  }, [])

  // notes
  let notes = cipher >> 7
  let notesArray = []
  while (notes) {
    let note = Math.floor(Math.log(notes) / MATH2LOG) + 1
    notesArray.unshift(`#${note}`)
    notes -= Math.pow(2, note - 1)
  }

  return stats.concat(notesArray).join(' ')
}

function unpackFeature(packed) {
  let unpacked = { status: statuses[packed.B], title: packed.C }
  unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => {
    let browser = packed.A[key]
    browserStats[browsers[key]] = Object.keys(browser).reduce(
      (stats, support) => {
        let packedVersions = browser[support].split(' ')
        let unpacked2 = unpackSupport(support)
        packedVersions.forEach(v => (stats[versions[v]] = unpacked2))
        return stats
      },
      {}
    )
    return browserStats
  }, {})
  return unpacked
}

module.exports = unpackFeature
module.exports.default = unpackFeature


/***/ }),

/***/ 65334:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

/*
 * Load this dynamically so that it
 * doesn't appear in the rollup bundle.
 */

module.exports.features = __nccwpck_require__(28649)


/***/ }),

/***/ 64006:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports.agents = __nccwpck_require__(87462).agents
module.exports.feature = __nccwpck_require__(13206)
module.exports.features = __nccwpck_require__(65334).features
module.exports.region = __nccwpck_require__(53506)


/***/ }),

/***/ 53506:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const { browsers } = __nccwpck_require__(56609)

function unpackRegion(packed) {
  return Object.keys(packed).reduce((list, browser) => {
    let data = packed[browser]
    list[browsers[browser]] = Object.keys(data).reduce((memo, key) => {
      let stats = data[key]
      if (key === '_') {
        stats.split(' ').forEach(version => (memo[version] = null))
      } else {
        memo[key] = stats
      }
      return memo
    }, {})
    return list
  }, {})
}

module.exports = unpackRegion
module.exports.default = unpackRegion


/***/ }),

/***/ 43:
/***/ ((__unused_webpack_module, exports) => {

Object.defineProperty(exports, "__esModule", ({value:!0}));var r={grad:.9,turn:360,rad:360/(2*Math.PI)},t=function(r){return"string"==typeof r?r.length>0:"number"==typeof r},n=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*r)/n+0},e=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),r>n?n:r>t?r:t},u=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},a=function(r){return{r:e(r.r,0,255),g:e(r.g,0,255),b:e(r.b,0,255),a:e(r.a)}},o=function(r){return{r:n(r.r),g:n(r.g),b:n(r.b),a:n(r.a,3)}},s=/^#([0-9a-f]{3,8})$/i,i=function(r){var t=r.toString(16);return t.length<2?"0"+t:t},b=function(r){var t=r.r,n=r.g,e=r.b,u=r.a,a=Math.max(t,n,e),o=a-Math.min(t,n,e),s=o?a===t?(n-e)/o:a===n?2+(e-t)/o:4+(t-n)/o:0;return{h:60*(s<0?s+6:s),s:a?o/a*100:0,v:a/255*100,a:u}},h=function(r){var t=r.h,n=r.s,e=r.v,u=r.a;t=t/360*6,n/=100,e/=100;var a=Math.floor(t),o=e*(1-n),s=e*(1-(t-a)*n),i=e*(1-(1-t+a)*n),b=a%6;return{r:255*[e,s,o,o,i,e][b],g:255*[i,e,e,s,o,o][b],b:255*[o,o,i,e,e,s][b],a:u}},d=function(r){return{h:u(r.h),s:e(r.s,0,100),l:e(r.l,0,100),a:e(r.a)}},g=function(r){return{h:n(r.h),s:n(r.s),l:n(r.l),a:n(r.a,3)}},f=function(r){return h((n=(t=r).s,{h:t.h,s:(n*=((e=t.l)<50?e:100-e)/100)>0?2*n/(e+n)*100:0,v:e+n,a:t.a}));var t,n,e},l=function(r){return{h:(t=b(r)).h,s:(u=(200-(n=t.s))*(e=t.v)/100)>0&&u<200?n*e/100/(u<=100?u:200-u)*100:0,l:u/2,a:t.a};var t,n,e,u},c=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,p=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,m=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y={string:[[function(r){var t=s.exec(r);return t?(r=t[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:4===r.length?n(parseInt(r[3]+r[3],16)/255,2):1}:6===r.length||8===r.length?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:8===r.length?n(parseInt(r.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(r){var t=v.exec(r)||m.exec(r);return t?t[2]!==t[4]||t[4]!==t[6]?null:a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(t){var n=c.exec(t)||p.exec(t);if(!n)return null;var e,u,a=d({h:(e=n[1],u=n[2],void 0===u&&(u="deg"),Number(e)*(r[u]||1)),s:Number(n[3]),l:Number(n[4]),a:void 0===n[5]?1:Number(n[5])/(n[6]?100:1)});return f(a)},"hsl"]],object:[[function(r){var n=r.r,e=r.g,u=r.b,o=r.a,s=void 0===o?1:o;return t(n)&&t(e)&&t(u)?a({r:Number(n),g:Number(e),b:Number(u),a:Number(s)}):null},"rgb"],[function(r){var n=r.h,e=r.s,u=r.l,a=r.a,o=void 0===a?1:a;if(!t(n)||!t(e)||!t(u))return null;var s=d({h:Number(n),s:Number(e),l:Number(u),a:Number(o)});return f(s)},"hsl"],[function(r){var n=r.h,a=r.s,o=r.v,s=r.a,i=void 0===s?1:s;if(!t(n)||!t(a)||!t(o))return null;var b=function(r){return{h:u(r.h),s:e(r.s,0,100),v:e(r.v,0,100),a:e(r.a)}}({h:Number(n),s:Number(a),v:Number(o),a:Number(i)});return h(b)},"hsv"]]},N=function(r,t){for(var n=0;n<t.length;n++){var e=t[n][0](r);if(e)return[e,t[n][1]]}return[null,void 0]},x=function(r){return"string"==typeof r?N(r.trim(),y.string):"object"==typeof r&&null!==r?N(r,y.object):[null,void 0]},M=function(r,t){var n=l(r);return{h:n.h,s:e(n.s+100*t,0,100),l:n.l,a:n.a}},I=function(r){return(299*r.r+587*r.g+114*r.b)/1e3/255},$=function(r,t){var n=l(r);return{h:n.h,s:n.s,l:e(n.l+100*t,0,100),a:n.a}},j=function(){function r(r){this.parsed=x(r)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return r.prototype.isValid=function(){return null!==this.parsed},r.prototype.brightness=function(){return n(I(this.rgba),2)},r.prototype.isDark=function(){return I(this.rgba)<.5},r.prototype.isLight=function(){return I(this.rgba)>=.5},r.prototype.toHex=function(){return r=o(this.rgba),t=r.r,e=r.g,u=r.b,s=(a=r.a)<1?i(n(255*a)):"","#"+i(t)+i(e)+i(u)+s;var r,t,e,u,a,s},r.prototype.toRgb=function(){return o(this.rgba)},r.prototype.toRgbString=function(){return r=o(this.rgba),t=r.r,n=r.g,e=r.b,(u=r.a)<1?"rgba("+t+", "+n+", "+e+", "+u+")":"rgb("+t+", "+n+", "+e+")";var r,t,n,e,u},r.prototype.toHsl=function(){return g(l(this.rgba))},r.prototype.toHslString=function(){return r=g(l(this.rgba)),t=r.h,n=r.s,e=r.l,(u=r.a)<1?"hsla("+t+", "+n+"%, "+e+"%, "+u+")":"hsl("+t+", "+n+"%, "+e+"%)";var r,t,n,e,u},r.prototype.toHsv=function(){return r=b(this.rgba),{h:n(r.h),s:n(r.s),v:n(r.v),a:n(r.a,3)};var r},r.prototype.invert=function(){return H({r:255-(r=this.rgba).r,g:255-r.g,b:255-r.b,a:r.a});var r},r.prototype.saturate=function(r){return void 0===r&&(r=.1),H(M(this.rgba,r))},r.prototype.desaturate=function(r){return void 0===r&&(r=.1),H(M(this.rgba,-r))},r.prototype.grayscale=function(){return H(M(this.rgba,-1))},r.prototype.lighten=function(r){return void 0===r&&(r=.1),H($(this.rgba,r))},r.prototype.darken=function(r){return void 0===r&&(r=.1),H($(this.rgba,-r))},r.prototype.alpha=function(r){return"number"==typeof r?H({r:(t=this.rgba).r,g:t.g,b:t.b,a:r}):n(this.rgba.a,3);var t},r}(),H=function(r){return r instanceof j?r:new j(r)},w=[];exports.Colord=j,exports.colord=H,exports.extend=function(r){r.forEach(function(r){w.indexOf(r)<0&&(r(j,y),w.push(r))})},exports.getFormat=function(r){return x(r)[1]},exports.random=function(){return new j({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})};


/***/ }),

/***/ 44517:
/***/ ((module) => {

module.exports=function(e,f){var a={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var d in a)r[a[d]]=d;e.prototype.toName=function(){return this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b?r[this.toHex()]||void 0:"transparent"};f.string.push([function(f){var r=f.toLowerCase(),d="transparent"===r?"#0000":a[r];return d?new e(d).toRgb():null},"name"])};


/***/ }),

/***/ 14638:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.Explorer = void 0;

var _path = _interopRequireDefault(__nccwpck_require__(85622));

var _ExplorerBase = __nccwpck_require__(74135);

var _readFile = __nccwpck_require__(91238);

var _cacheWrapper = __nccwpck_require__(26905);

var _getDirectory = __nccwpck_require__(96427);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

class Explorer extends _ExplorerBase.ExplorerBase {
  constructor(options) {
    super(options);
  }

  async search(searchFrom = process.cwd()) {
    const startDirectory = await (0, _getDirectory.getDirectory)(searchFrom);
    const result = await this.searchFromDirectory(startDirectory);
    return result;
  }

  async searchFromDirectory(dir) {
    const absoluteDir = _path.default.resolve(process.cwd(), dir);

    const run = async () => {
      const result = await this.searchDirectory(absoluteDir);
      const nextDir = this.nextDirectoryToSearch(absoluteDir, result);

      if (nextDir) {
        return this.searchFromDirectory(nextDir);
      }

      const transformResult = await this.config.transform(result);
      return transformResult;
    };

    if (this.searchCache) {
      return (0, _cacheWrapper.cacheWrapper)(this.searchCache, absoluteDir, run);
    }

    return run();
  }

  async searchDirectory(dir) {
    for await (const place of this.config.searchPlaces) {
      const placeResult = await this.loadSearchPlace(dir, place);

      if (this.shouldSearchStopWithResult(placeResult) === true) {
        return placeResult;
      }
    } // config not found


    return null;
  }

  async loadSearchPlace(dir, place) {
    const filepath = _path.default.join(dir, place);

    const fileContents = await (0, _readFile.readFile)(filepath);
    const result = await this.createCosmiconfigResult(filepath, fileContents);
    return result;
  }

  async loadFileContent(filepath, content) {
    if (content === null) {
      return null;
    }

    if (content.trim() === '') {
      return undefined;
    }

    const loader = this.getLoaderEntryForFile(filepath);
    const loaderResult = await loader(filepath, content);
    return loaderResult;
  }

  async createCosmiconfigResult(filepath, content) {
    const fileContent = await this.loadFileContent(filepath, content);
    const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);
    return result;
  }

  async load(filepath) {
    this.validateFilePath(filepath);

    const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);

    const runLoad = async () => {
      const fileContents = await (0, _readFile.readFile)(absoluteFilePath, {
        throwNotFound: true
      });
      const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents);
      const transformResult = await this.config.transform(result);
      return transformResult;
    };

    if (this.loadCache) {
      return (0, _cacheWrapper.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad);
    }

    return runLoad();
  }

}

exports.Explorer = Explorer;
//# sourceMappingURL=Explorer.js.map

/***/ }),

/***/ 74135:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getExtensionDescription = getExtensionDescription;
exports.ExplorerBase = void 0;

var _path = _interopRequireDefault(__nccwpck_require__(85622));

var _loaders = __nccwpck_require__(8751);

var _getPropertyByPath = __nccwpck_require__(91719);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

class ExplorerBase {
  constructor(options) {
    if (options.cache === true) {
      this.loadCache = new Map();
      this.searchCache = new Map();
    }

    this.config = options;
    this.validateConfig();
  }

  clearLoadCache() {
    if (this.loadCache) {
      this.loadCache.clear();
    }
  }

  clearSearchCache() {
    if (this.searchCache) {
      this.searchCache.clear();
    }
  }

  clearCaches() {
    this.clearLoadCache();
    this.clearSearchCache();
  }

  validateConfig() {
    const config = this.config;
    config.searchPlaces.forEach(place => {
      const loaderKey = _path.default.extname(place) || 'noExt';
      const loader = config.loaders[loaderKey];

      if (!loader) {
        throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item "${place}" is invalid`);
      }

      if (typeof loader !== 'function') {
        throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: "${typeof loader}"), so searchPlaces item "${place}" is invalid`);
      }
    });
  }

  shouldSearchStopWithResult(result) {
    if (result === null) return false;
    if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false;
    return true;
  }

  nextDirectoryToSearch(currentDir, currentResult) {
    if (this.shouldSearchStopWithResult(currentResult)) {
      return null;
    }

    const nextDir = nextDirUp(currentDir);

    if (nextDir === currentDir || currentDir === this.config.stopDir) {
      return null;
    }

    return nextDir;
  }

  loadPackageProp(filepath, content) {
    const parsedContent = _loaders.loaders.loadJson(filepath, content);

    const packagePropValue = (0, _getPropertyByPath.getPropertyByPath)(parsedContent, this.config.packageProp);
    return packagePropValue || null;
  }

  getLoaderEntryForFile(filepath) {
    if (_path.default.basename(filepath) === 'package.json') {
      const loader = this.loadPackageProp.bind(this);
      return loader;
    }

    const loaderKey = _path.default.extname(filepath) || 'noExt';
    const loader = this.config.loaders[loaderKey];

    if (!loader) {
      throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`);
    }

    return loader;
  }

  loadedContentToCosmiconfigResult(filepath, loadedContent) {
    if (loadedContent === null) {
      return null;
    }

    if (loadedContent === undefined) {
      return {
        filepath,
        config: undefined,
        isEmpty: true
      };
    }

    return {
      config: loadedContent,
      filepath
    };
  }

  validateFilePath(filepath) {
    if (!filepath) {
      throw new Error('load must pass a non-empty string');
    }
  }

}

exports.ExplorerBase = ExplorerBase;

function nextDirUp(dir) {
  return _path.default.dirname(dir);
}

function getExtensionDescription(filepath) {
  const ext = _path.default.extname(filepath);

  return ext ? `extension "${ext}"` : 'files without extensions';
}
//# sourceMappingURL=ExplorerBase.js.map

/***/ }),

/***/ 56239:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.ExplorerSync = void 0;

var _path = _interopRequireDefault(__nccwpck_require__(85622));

var _ExplorerBase = __nccwpck_require__(74135);

var _readFile = __nccwpck_require__(91238);

var _cacheWrapper = __nccwpck_require__(26905);

var _getDirectory = __nccwpck_require__(96427);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

class ExplorerSync extends _ExplorerBase.ExplorerBase {
  constructor(options) {
    super(options);
  }

  searchSync(searchFrom = process.cwd()) {
    const startDirectory = (0, _getDirectory.getDirectorySync)(searchFrom);
    const result = this.searchFromDirectorySync(startDirectory);
    return result;
  }

  searchFromDirectorySync(dir) {
    const absoluteDir = _path.default.resolve(process.cwd(), dir);

    const run = () => {
      const result = this.searchDirectorySync(absoluteDir);
      const nextDir = this.nextDirectoryToSearch(absoluteDir, result);

      if (nextDir) {
        return this.searchFromDirectorySync(nextDir);
      }

      const transformResult = this.config.transform(result);
      return transformResult;
    };

    if (this.searchCache) {
      return (0, _cacheWrapper.cacheWrapperSync)(this.searchCache, absoluteDir, run);
    }

    return run();
  }

  searchDirectorySync(dir) {
    for (const place of this.config.searchPlaces) {
      const placeResult = this.loadSearchPlaceSync(dir, place);

      if (this.shouldSearchStopWithResult(placeResult) === true) {
        return placeResult;
      }
    } // config not found


    return null;
  }

  loadSearchPlaceSync(dir, place) {
    const filepath = _path.default.join(dir, place);

    const content = (0, _readFile.readFileSync)(filepath);
    const result = this.createCosmiconfigResultSync(filepath, content);
    return result;
  }

  loadFileContentSync(filepath, content) {
    if (content === null) {
      return null;
    }

    if (content.trim() === '') {
      return undefined;
    }

    const loader = this.getLoaderEntryForFile(filepath);
    const loaderResult = loader(filepath, content);
    return loaderResult;
  }

  createCosmiconfigResultSync(filepath, content) {
    const fileContent = this.loadFileContentSync(filepath, content);
    const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);
    return result;
  }

  loadSync(filepath) {
    this.validateFilePath(filepath);

    const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);

    const runLoadSync = () => {
      const content = (0, _readFile.readFileSync)(absoluteFilePath, {
        throwNotFound: true
      });
      const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content);
      const transformResult = this.config.transform(cosmiconfigResult);
      return transformResult;
    };

    if (this.loadCache) {
      return (0, _cacheWrapper.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync);
    }

    return runLoadSync();
  }

}

exports.ExplorerSync = ExplorerSync;
//# sourceMappingURL=ExplorerSync.js.map

/***/ }),

/***/ 26905:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.cacheWrapper = cacheWrapper;
exports.cacheWrapperSync = cacheWrapperSync;

async function cacheWrapper(cache, key, fn) {
  const cached = cache.get(key);

  if (cached !== undefined) {
    return cached;
  }

  const result = await fn();
  cache.set(key, result);
  return result;
}

function cacheWrapperSync(cache, key, fn) {
  const cached = cache.get(key);

  if (cached !== undefined) {
    return cached;
  }

  const result = fn();
  cache.set(key, result);
  return result;
}
//# sourceMappingURL=cacheWrapper.js.map

/***/ }),

/***/ 96427:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getDirectory = getDirectory;
exports.getDirectorySync = getDirectorySync;

var _path = _interopRequireDefault(__nccwpck_require__(85622));

var _pathType = __nccwpck_require__(63433);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

async function getDirectory(filepath) {
  const filePathIsDirectory = await (0, _pathType.isDirectory)(filepath);

  if (filePathIsDirectory === true) {
    return filepath;
  }

  const directory = _path.default.dirname(filepath);

  return directory;
}

function getDirectorySync(filepath) {
  const filePathIsDirectory = (0, _pathType.isDirectorySync)(filepath);

  if (filePathIsDirectory === true) {
    return filepath;
  }

  const directory = _path.default.dirname(filepath);

  return directory;
}
//# sourceMappingURL=getDirectory.js.map

/***/ }),

/***/ 91719:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getPropertyByPath = getPropertyByPath;

// Resolves property names or property paths defined with period-delimited
// strings or arrays of strings. Property names that are found on the source
// object are used directly (even if they include a period).
// Nested property names that include periods, within a path, are only
// understood in array paths.
function getPropertyByPath(source, path) {
  if (typeof path === 'string' && Object.prototype.hasOwnProperty.call(source, path)) {
    return source[path];
  }

  const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any

  return parsedPath.reduce((previous, key) => {
    if (previous === undefined) {
      return previous;
    }

    return previous[key];
  }, source);
}
//# sourceMappingURL=getPropertyByPath.js.map

/***/ }),

/***/ 4066:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.cosmiconfig = cosmiconfig;
exports.cosmiconfigSync = cosmiconfigSync;
exports.defaultLoaders = void 0;

var _os = _interopRequireDefault(__nccwpck_require__(12087));

var _Explorer = __nccwpck_require__(14638);

var _ExplorerSync = __nccwpck_require__(56239);

var _loaders = __nccwpck_require__(8751);

var _types = __nccwpck_require__(51943);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
function cosmiconfig(moduleName, options = {}) {
  const normalizedOptions = normalizeOptions(moduleName, options);
  const explorer = new _Explorer.Explorer(normalizedOptions);
  return {
    search: explorer.search.bind(explorer),
    load: explorer.load.bind(explorer),
    clearLoadCache: explorer.clearLoadCache.bind(explorer),
    clearSearchCache: explorer.clearSearchCache.bind(explorer),
    clearCaches: explorer.clearCaches.bind(explorer)
  };
} // eslint-disable-next-line @typescript-eslint/explicit-function-return-type


function cosmiconfigSync(moduleName, options = {}) {
  const normalizedOptions = normalizeOptions(moduleName, options);
  const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions);
  return {
    search: explorerSync.searchSync.bind(explorerSync),
    load: explorerSync.loadSync.bind(explorerSync),
    clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),
    clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),
    clearCaches: explorerSync.clearCaches.bind(explorerSync)
  };
} // do not allow mutation of default loaders. Make sure it is set inside options


const defaultLoaders = Object.freeze({
  '.cjs': _loaders.loaders.loadJs,
  '.js': _loaders.loaders.loadJs,
  '.json': _loaders.loaders.loadJson,
  '.yaml': _loaders.loaders.loadYaml,
  '.yml': _loaders.loaders.loadYaml,
  noExt: _loaders.loaders.loadYaml
});
exports.defaultLoaders = defaultLoaders;

const identity = function identity(x) {
  return x;
};

function normalizeOptions(moduleName, options) {
  const defaults = {
    packageProp: moduleName,
    searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`],
    ignoreEmptySearchPlaces: true,
    stopDir: _os.default.homedir(),
    cache: true,
    transform: identity,
    loaders: defaultLoaders
  };
  const normalizedOptions = { ...defaults,
    ...options,
    loaders: { ...defaults.loaders,
      ...options.loaders
    }
  };
  return normalizedOptions;
}
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 8751:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.loaders = void 0;

/* eslint-disable @typescript-eslint/no-require-imports */
let importFresh;

const loadJs = function loadJs(filepath) {
  if (importFresh === undefined) {
    importFresh = __nccwpck_require__(52714);
  }

  const result = importFresh(filepath);
  return result;
};

let parseJson;

const loadJson = function loadJson(filepath, content) {
  if (parseJson === undefined) {
    parseJson = __nccwpck_require__(86615);
  }

  try {
    const result = parseJson(content);
    return result;
  } catch (error) {
    error.message = `JSON Error in ${filepath}:\n${error.message}`;
    throw error;
  }
};

let yaml;

const loadYaml = function loadYaml(filepath, content) {
  if (yaml === undefined) {
    yaml = __nccwpck_require__(13552);
  }

  try {
    const result = yaml.parse(content, {
      prettyErrors: true
    });
    return result;
  } catch (error) {
    error.message = `YAML Error in ${filepath}:\n${error.message}`;
    throw error;
  }
};

const loaders = {
  loadJs,
  loadJson,
  loadYaml
};
exports.loaders = loaders;
//# sourceMappingURL=loaders.js.map

/***/ }),

/***/ 91238:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.readFile = readFile;
exports.readFileSync = readFileSync;

var _fs = _interopRequireDefault(__nccwpck_require__(35747));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

async function fsReadFileAsync(pathname, encoding) {
  return new Promise((resolve, reject) => {
    _fs.default.readFile(pathname, encoding, (error, contents) => {
      if (error) {
        reject(error);
        return;
      }

      resolve(contents);
    });
  });
}

async function readFile(filepath, options = {}) {
  const throwNotFound = options.throwNotFound === true;

  try {
    const content = await fsReadFileAsync(filepath, 'utf8');
    return content;
  } catch (error) {
    if (throwNotFound === false && error.code === 'ENOENT') {
      return null;
    }

    throw error;
  }
}

function readFileSync(filepath, options = {}) {
  const throwNotFound = options.throwNotFound === true;

  try {
    const content = _fs.default.readFileSync(filepath, 'utf8');

    return content;
  } catch (error) {
    if (throwNotFound === false && error.code === 'ENOENT') {
      return null;
    }

    throw error;
  }
}
//# sourceMappingURL=readFile.js.map

/***/ }),

/***/ 51943:
/***/ (() => {

"use strict";

//# sourceMappingURL=types.js.map

/***/ }),

/***/ 36863:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.attributeRules = void 0;
var boolbase_1 = __nccwpck_require__(44159);
/**
 * All reserved characters in a regex, used for escaping.
 *
 * Taken from XRegExp, (c) 2007-2020 Steven Levithan under the MIT license
 * https://github.com/slevithan/xregexp/blob/95eeebeb8fac8754d54eafe2b4743661ac1cf028/src/xregexp.js#L794
 */
var reChars = /[-[\]{}()*+?.,\\^$|#\s]/g;
function escapeRegex(value) {
    return value.replace(reChars, "\\$&");
}
/**
 * Attribute selectors
 */
exports.attributeRules = {
    equals: function (next, data, _a) {
        var adapter = _a.adapter;
        var name = data.name;
        var value = data.value;
        if (data.ignoreCase) {
            value = value.toLowerCase();
            return function (elem) {
                var _a;
                return ((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ===
                    value && next(elem);
            };
        }
        return function (elem) {
            return adapter.getAttributeValue(elem, name) === value && next(elem);
        };
    },
    hyphen: function (next, data, _a) {
        var adapter = _a.adapter;
        var name = data.name;
        var value = data.value;
        var len = value.length;
        if (data.ignoreCase) {
            value = value.toLowerCase();
            return function hyphenIC(elem) {
                var attr = adapter.getAttributeValue(elem, name);
                return (attr != null &&
                    (attr.length === len || attr.charAt(len) === "-") &&
                    attr.substr(0, len).toLowerCase() === value &&
                    next(elem));
            };
        }
        return function hyphen(elem) {
            var attr = adapter.getAttributeValue(elem, name);
            return (attr != null &&
                attr.substr(0, len) === value &&
                (attr.length === len || attr.charAt(len) === "-") &&
                next(elem));
        };
    },
    element: function (next, _a, _b) {
        var name = _a.name, value = _a.value, ignoreCase = _a.ignoreCase;
        var adapter = _b.adapter;
        if (/\s/.test(value)) {
            return boolbase_1.falseFunc;
        }
        var regex = new RegExp("(?:^|\\s)" + escapeRegex(value) + "(?:$|\\s)", ignoreCase ? "i" : "");
        return function element(elem) {
            var attr = adapter.getAttributeValue(elem, name);
            return attr != null && regex.test(attr) && next(elem);
        };
    },
    exists: function (next, _a, _b) {
        var name = _a.name;
        var adapter = _b.adapter;
        return function (elem) { return adapter.hasAttrib(elem, name) && next(elem); };
    },
    start: function (next, data, _a) {
        var adapter = _a.adapter;
        var name = data.name;
        var value = data.value;
        var len = value.length;
        if (len === 0) {
            return boolbase_1.falseFunc;
        }
        if (data.ignoreCase) {
            value = value.toLowerCase();
            return function (elem) {
                var _a;
                return ((_a = adapter
                    .getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.substr(0, len).toLowerCase()) === value && next(elem);
            };
        }
        return function (elem) {
            var _a;
            return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.startsWith(value)) &&
                next(elem);
        };
    },
    end: function (next, data, _a) {
        var adapter = _a.adapter;
        var name = data.name;
        var value = data.value;
        var len = -value.length;
        if (len === 0) {
            return boolbase_1.falseFunc;
        }
        if (data.ignoreCase) {
            value = value.toLowerCase();
            return function (elem) {
                var _a;
                return ((_a = adapter
                    .getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.substr(len).toLowerCase()) === value && next(elem);
            };
        }
        return function (elem) {
            var _a;
            return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.endsWith(value)) &&
                next(elem);
        };
    },
    any: function (next, data, _a) {
        var adapter = _a.adapter;
        var name = data.name, value = data.value;
        if (value === "") {
            return boolbase_1.falseFunc;
        }
        if (data.ignoreCase) {
            var regex_1 = new RegExp(escapeRegex(value), "i");
            return function anyIC(elem) {
                var attr = adapter.getAttributeValue(elem, name);
                return attr != null && regex_1.test(attr) && next(elem);
            };
        }
        return function (elem) {
            var _a;
            return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.includes(value)) &&
                next(elem);
        };
    },
    not: function (next, data, _a) {
        var adapter = _a.adapter;
        var name = data.name;
        var value = data.value;
        if (value === "") {
            return function (elem) {
                return !!adapter.getAttributeValue(elem, name) && next(elem);
            };
        }
        else if (data.ignoreCase) {
            value = value.toLowerCase();
            return function (elem) {
                var attr = adapter.getAttributeValue(elem, name);
                return (attr != null &&
                    attr.toLocaleLowerCase() !== value &&
                    next(elem));
            };
        }
        return function (elem) {
            return adapter.getAttributeValue(elem, name) !== value && next(elem);
        };
    },
};


/***/ }),

/***/ 35030:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.compileToken = exports.compileUnsafe = exports.compile = void 0;
var css_what_1 = __nccwpck_require__(19218);
var boolbase_1 = __nccwpck_require__(44159);
var sort_1 = __importDefault(__nccwpck_require__(57320));
var procedure_1 = __nccwpck_require__(47396);
var general_1 = __nccwpck_require__(45374);
var subselects_1 = __nccwpck_require__(15813);
/**
 * Compiles a selector to an executable function.
 *
 * @param selector Selector to compile.
 * @param options Compilation options.
 * @param context Optional context for the selector.
 */
function compile(selector, options, context) {
    var next = compileUnsafe(selector, options, context);
    return subselects_1.ensureIsTag(next, options.adapter);
}
exports.compile = compile;
function compileUnsafe(selector, options, context) {
    var token = css_what_1.parse(selector, options);
    return compileToken(token, options, context);
}
exports.compileUnsafe = compileUnsafe;
function includesScopePseudo(t) {
    return (t.type === "pseudo" &&
        (t.name === "scope" ||
            (Array.isArray(t.data) &&
                t.data.some(function (data) { return data.some(includesScopePseudo); }))));
}
var DESCENDANT_TOKEN = { type: "descendant" };
var FLEXIBLE_DESCENDANT_TOKEN = {
    type: "_flexibleDescendant",
};
var SCOPE_TOKEN = { type: "pseudo", name: "scope", data: null };
/*
 * CSS 4 Spec (Draft): 3.3.1. Absolutizing a Scope-relative Selector
 * http://www.w3.org/TR/selectors4/#absolutizing
 */
function absolutize(token, _a, context) {
    var adapter = _a.adapter;
    // TODO Use better check if the context is a document
    var hasContext = !!(context === null || context === void 0 ? void 0 : context.every(function (e) {
        var parent = adapter.getParent(e);
        return e === subselects_1.PLACEHOLDER_ELEMENT || !!(parent && adapter.isTag(parent));
    }));
    for (var _i = 0, token_1 = token; _i < token_1.length; _i++) {
        var t = token_1[_i];
        if (t.length > 0 && procedure_1.isTraversal(t[0]) && t[0].type !== "descendant") {
            // Don't continue in else branch
        }
        else if (hasContext && !t.some(includesScopePseudo)) {
            t.unshift(DESCENDANT_TOKEN);
        }
        else {
            continue;
        }
        t.unshift(SCOPE_TOKEN);
    }
}
function compileToken(token, options, context) {
    var _a;
    token = token.filter(function (t) { return t.length > 0; });
    token.forEach(sort_1.default);
    context = (_a = options.context) !== null && _a !== void 0 ? _a : context;
    var isArrayContext = Array.isArray(context);
    var finalContext = context && (Array.isArray(context) ? context : [context]);
    absolutize(token, options, finalContext);
    var shouldTestNextSiblings = false;
    var query = token
        .map(function (rules) {
        if (rules.length >= 2) {
            var first = rules[0], second = rules[1];
            if (first.type !== "pseudo" || first.name !== "scope") {
                // Ignore
            }
            else if (isArrayContext && second.type === "descendant") {
                rules[1] = FLEXIBLE_DESCENDANT_TOKEN;
            }
            else if (second.type === "adjacent" ||
                second.type === "sibling") {
                shouldTestNextSiblings = true;
            }
        }
        return compileRules(rules, options, finalContext);
    })
        .reduce(reduceRules, boolbase_1.falseFunc);
    query.shouldTestNextSiblings = shouldTestNextSiblings;
    return query;
}
exports.compileToken = compileToken;
function compileRules(rules, options, context) {
    var _a;
    return rules.reduce(function (previous, rule) {
        return previous === boolbase_1.falseFunc
            ? boolbase_1.falseFunc
            : general_1.compileGeneralSelector(previous, rule, options, context, compileToken);
    }, (_a = options.rootFunc) !== null && _a !== void 0 ? _a : boolbase_1.trueFunc);
}
function reduceRules(a, b) {
    if (b === boolbase_1.falseFunc || a === boolbase_1.trueFunc) {
        return a;
    }
    if (a === boolbase_1.falseFunc || b === boolbase_1.trueFunc) {
        return b;
    }
    return function combine(elem) {
        return a(elem) || b(elem);
    };
}


/***/ }),

/***/ 45374:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.compileGeneralSelector = void 0;
var attributes_1 = __nccwpck_require__(36863);
var pseudo_selectors_1 = __nccwpck_require__(89312);
/*
 * All available rules
 */
function compileGeneralSelector(next, selector, options, context, compileToken) {
    var adapter = options.adapter, equals = options.equals;
    switch (selector.type) {
        case "pseudo-element":
            throw new Error("Pseudo-elements are not supported by css-select");
        case "attribute":
            if (options.strict &&
                (selector.ignoreCase || selector.action === "not")) {
                throw new Error("Unsupported attribute selector");
            }
            return attributes_1.attributeRules[selector.action](next, selector, options);
        case "pseudo":
            return pseudo_selectors_1.compilePseudoSelector(next, selector, options, context, compileToken);
        // Tags
        case "tag":
            return function tag(elem) {
                return adapter.getName(elem) === selector.name && next(elem);
            };
        // Traversal
        case "descendant":
            if (options.cacheResults === false ||
                typeof WeakSet === "undefined") {
                return function descendant(elem) {
                    var current = elem;
                    while ((current = adapter.getParent(current))) {
                        if (adapter.isTag(current) && next(current)) {
                            return true;
                        }
                    }
                    return false;
                };
            }
            // @ts-expect-error `ElementNode` is not extending object
            // eslint-disable-next-line no-case-declarations
            var isFalseCache_1 = new WeakSet();
            return function cachedDescendant(elem) {
                var current = elem;
                while ((current = adapter.getParent(current))) {
                    if (!isFalseCache_1.has(current)) {
                        if (adapter.isTag(current) && next(current)) {
                            return true;
                        }
                        isFalseCache_1.add(current);
                    }
                }
                return false;
            };
        case "_flexibleDescendant":
            // Include element itself, only used while querying an array
            return function flexibleDescendant(elem) {
                var current = elem;
                do {
                    if (adapter.isTag(current) && next(current))
                        return true;
                } while ((current = adapter.getParent(current)));
                return false;
            };
        case "parent":
            if (options.strict) {
                throw new Error("Parent selector isn't part of CSS3");
            }
            return function parent(elem) {
                return adapter
                    .getChildren(elem)
                    .some(function (elem) { return adapter.isTag(elem) && next(elem); });
            };
        case "child":
            return function child(elem) {
                var parent = adapter.getParent(elem);
                return !!parent && adapter.isTag(parent) && next(parent);
            };
        case "sibling":
            return function sibling(elem) {
                var siblings = adapter.getSiblings(elem);
                for (var i = 0; i < siblings.length; i++) {
                    var currentSibling = siblings[i];
                    if (equals(elem, currentSibling))
                        break;
                    if (adapter.isTag(currentSibling) && next(currentSibling)) {
                        return true;
                    }
                }
                return false;
            };
        case "adjacent":
            return function adjacent(elem) {
                var siblings = adapter.getSiblings(elem);
                var lastElement;
                for (var i = 0; i < siblings.length; i++) {
                    var currentSibling = siblings[i];
                    if (equals(elem, currentSibling))
                        break;
                    if (adapter.isTag(currentSibling)) {
                        lastElement = currentSibling;
                    }
                }
                return !!lastElement && next(lastElement);
            };
        case "universal":
            return next;
    }
}
exports.compileGeneralSelector = compileGeneralSelector;


/***/ }),

/***/ 4508:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.pseudos = exports.filters = exports.is = exports.selectOne = exports.selectAll = exports.prepareContext = exports._compileToken = exports._compileUnsafe = exports.compile = void 0;
var DomUtils = __importStar(__nccwpck_require__(11754));
var boolbase_1 = __nccwpck_require__(44159);
var compile_1 = __nccwpck_require__(35030);
var subselects_1 = __nccwpck_require__(15813);
var defaultEquals = function (a, b) { return a === b; };
var defaultOptions = {
    adapter: DomUtils,
    equals: defaultEquals,
};
function convertOptionFormats(options) {
    var _a, _b, _c, _d;
    /*
     * We force one format of options to the other one.
     */
    // @ts-expect-error Default options may have incompatible `Node` / `ElementNode`.
    var opts = options !== null && options !== void 0 ? options : defaultOptions;
    // @ts-expect-error Same as above.
    (_a = opts.adapter) !== null && _a !== void 0 ? _a : (opts.adapter = DomUtils);
    // @ts-expect-error `equals` does not exist on `Options`
    (_b = opts.equals) !== null && _b !== void 0 ? _b : (opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals);
    return opts;
}
function wrapCompile(func) {
    return function addAdapter(selector, options, context) {
        var opts = convertOptionFormats(options);
        return func(selector, opts, context);
    };
}
/**
 * Compiles the query, returns a function.
 */
exports.compile = wrapCompile(compile_1.compile);
exports._compileUnsafe = wrapCompile(compile_1.compileUnsafe);
exports._compileToken = wrapCompile(compile_1.compileToken);
function getSelectorFunc(searchFunc) {
    return function select(query, elements, options) {
        var opts = convertOptionFormats(options);
        if (typeof query !== "function") {
            query = compile_1.compileUnsafe(query, opts, elements);
        }
        var filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings);
        return searchFunc(query, filteredElements, opts);
    };
}
function prepareContext(elems, adapter, shouldTestNextSiblings) {
    if (shouldTestNextSiblings === void 0) { shouldTestNextSiblings = false; }
    /*
     * Add siblings if the query requires them.
     * See https://github.com/fb55/css-select/pull/43#issuecomment-225414692
     */
    if (shouldTestNextSiblings) {
        elems = appendNextSiblings(elems, adapter);
    }
    return Array.isArray(elems)
        ? adapter.removeSubsets(elems)
        : adapter.getChildren(elems);
}
exports.prepareContext = prepareContext;
function appendNextSiblings(elem, adapter) {
    // Order matters because jQuery seems to check the children before the siblings
    var elems = Array.isArray(elem) ? elem.slice(0) : [elem];
    for (var i = 0; i < elems.length; i++) {
        var nextSiblings = subselects_1.getNextSiblings(elems[i], adapter);
        elems.push.apply(elems, nextSiblings);
    }
    return elems;
}
/**
 * @template Node The generic Node type for the DOM adapter being used.
 * @template ElementNode The Node type for elements for the DOM adapter being used.
 * @param elems Elements to query. If it is an element, its children will be queried..
 * @param query can be either a CSS selector string or a compiled query function.
 * @param [options] options for querying the document.
 * @see compile for supported selector queries.
 * @returns All matching elements.
 *
 */
exports.selectAll = getSelectorFunc(function (query, elems, options) {
    return query === boolbase_1.falseFunc || !elems || elems.length === 0
        ? []
        : options.adapter.findAll(query, elems);
});
/**
 * @template Node The generic Node type for the DOM adapter being used.
 * @template ElementNode The Node type for elements for the DOM adapter being used.
 * @param elems Elements to query. If it is an element, its children will be queried..
 * @param query can be either a CSS selector string or a compiled query function.
 * @param [options] options for querying the document.
 * @see compile for supported selector queries.
 * @returns the first match, or null if there was no match.
 */
exports.selectOne = getSelectorFunc(function (query, elems, options) {
    return query === boolbase_1.falseFunc || !elems || elems.length === 0
        ? null
        : options.adapter.findOne(query, elems);
});
/**
 * Tests whether or not an element is matched by query.
 *
 * @template Node The generic Node type for the DOM adapter being used.
 * @template ElementNode The Node type for elements for the DOM adapter being used.
 * @param elem The element to test if it matches the query.
 * @param query can be either a CSS selector string or a compiled query function.
 * @param [options] options for querying the document.
 * @see compile for supported selector queries.
 * @returns
 */
function is(elem, query, options) {
    var opts = convertOptionFormats(options);
    return (typeof query === "function" ? query : compile_1.compile(query, opts))(elem);
}
exports.is = is;
/**
 * Alias for selectAll(query, elems, options).
 * @see [compile] for supported selector queries.
 */
exports.default = exports.selectAll;
// Export filters and pseudos to allow users to supply their own.
var pseudo_selectors_1 = __nccwpck_require__(89312);
Object.defineProperty(exports, "filters", ({ enumerable: true, get: function () { return pseudo_selectors_1.filters; } }));
Object.defineProperty(exports, "pseudos", ({ enumerable: true, get: function () { return pseudo_selectors_1.pseudos; } }));


/***/ }),

/***/ 47396:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.isTraversal = exports.procedure = void 0;
exports.procedure = {
    universal: 50,
    tag: 30,
    attribute: 1,
    pseudo: 0,
    "pseudo-element": 0,
    descendant: -1,
    child: -1,
    parent: -1,
    sibling: -1,
    adjacent: -1,
    _flexibleDescendant: -1,
};
function isTraversal(t) {
    return exports.procedure[t.type] < 0;
}
exports.isTraversal = isTraversal;


/***/ }),

/***/ 51686:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.filters = void 0;
var nth_check_1 = __importDefault(__nccwpck_require__(51260));
var boolbase_1 = __nccwpck_require__(44159);
var attributes_1 = __nccwpck_require__(36863);
var checkAttrib = attributes_1.attributeRules.equals;
function getAttribFunc(name, value) {
    var data = {
        type: "attribute",
        action: "equals",
        ignoreCase: false,
        namespace: null,
        name: name,
        value: value,
    };
    return function attribFunc(next, _rule, options) {
        return checkAttrib(next, data, options);
    };
}
function getChildFunc(next, adapter) {
    return function (elem) {
        var parent = adapter.getParent(elem);
        return !!parent && adapter.isTag(parent) && next(elem);
    };
}
exports.filters = {
    contains: function (next, text, _a) {
        var adapter = _a.adapter;
        return function contains(elem) {
            return next(elem) && adapter.getText(elem).includes(text);
        };
    },
    icontains: function (next, text, _a) {
        var adapter = _a.adapter;
        var itext = text.toLowerCase();
        return function icontains(elem) {
            return (next(elem) &&
                adapter.getText(elem).toLowerCase().includes(itext));
        };
    },
    // Location specific methods
    "nth-child": function (next, rule, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var func = nth_check_1.default(rule);
        if (func === boolbase_1.falseFunc)
            return boolbase_1.falseFunc;
        if (func === boolbase_1.trueFunc)
            return getChildFunc(next, adapter);
        return function nthChild(elem) {
            var siblings = adapter.getSiblings(elem);
            var pos = 0;
            for (var i = 0; i < siblings.length; i++) {
                if (equals(elem, siblings[i]))
                    break;
                if (adapter.isTag(siblings[i])) {
                    pos++;
                }
            }
            return func(pos) && next(elem);
        };
    },
    "nth-last-child": function (next, rule, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var func = nth_check_1.default(rule);
        if (func === boolbase_1.falseFunc)
            return boolbase_1.falseFunc;
        if (func === boolbase_1.trueFunc)
            return getChildFunc(next, adapter);
        return function nthLastChild(elem) {
            var siblings = adapter.getSiblings(elem);
            var pos = 0;
            for (var i = siblings.length - 1; i >= 0; i--) {
                if (equals(elem, siblings[i]))
                    break;
                if (adapter.isTag(siblings[i])) {
                    pos++;
                }
            }
            return func(pos) && next(elem);
        };
    },
    "nth-of-type": function (next, rule, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var func = nth_check_1.default(rule);
        if (func === boolbase_1.falseFunc)
            return boolbase_1.falseFunc;
        if (func === boolbase_1.trueFunc)
            return getChildFunc(next, adapter);
        return function nthOfType(elem) {
            var siblings = adapter.getSiblings(elem);
            var pos = 0;
            for (var i = 0; i < siblings.length; i++) {
                var currentSibling = siblings[i];
                if (equals(elem, currentSibling))
                    break;
                if (adapter.isTag(currentSibling) &&
                    adapter.getName(currentSibling) === adapter.getName(elem)) {
                    pos++;
                }
            }
            return func(pos) && next(elem);
        };
    },
    "nth-last-of-type": function (next, rule, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var func = nth_check_1.default(rule);
        if (func === boolbase_1.falseFunc)
            return boolbase_1.falseFunc;
        if (func === boolbase_1.trueFunc)
            return getChildFunc(next, adapter);
        return function nthLastOfType(elem) {
            var siblings = adapter.getSiblings(elem);
            var pos = 0;
            for (var i = siblings.length - 1; i >= 0; i--) {
                var currentSibling = siblings[i];
                if (equals(elem, currentSibling))
                    break;
                if (adapter.isTag(currentSibling) &&
                    adapter.getName(currentSibling) === adapter.getName(elem)) {
                    pos++;
                }
            }
            return func(pos) && next(elem);
        };
    },
    // TODO determine the actual root element
    root: function (next, _rule, _a) {
        var adapter = _a.adapter;
        return function (elem) {
            var parent = adapter.getParent(elem);
            return (parent == null || !adapter.isTag(parent)) && next(elem);
        };
    },
    scope: function (next, rule, options, context) {
        var equals = options.equals;
        if (!context || context.length === 0) {
            // Equivalent to :root
            return exports.filters.root(next, rule, options);
        }
        if (context.length === 1) {
            // NOTE: can't be unpacked, as :has uses this for side-effects
            return function (elem) { return equals(context[0], elem) && next(elem); };
        }
        return function (elem) { return context.includes(elem) && next(elem); };
    },
    // JQuery extensions (others follow as pseudos)
    checkbox: getAttribFunc("type", "checkbox"),
    file: getAttribFunc("type", "file"),
    password: getAttribFunc("type", "password"),
    radio: getAttribFunc("type", "radio"),
    reset: getAttribFunc("type", "reset"),
    image: getAttribFunc("type", "image"),
    submit: getAttribFunc("type", "submit"),
    // Dynamic state pseudos. These depend on optional Adapter methods.
    hover: function (next, _rule, _a) {
        var adapter = _a.adapter;
        var isHovered = adapter.isHovered;
        if (typeof isHovered !== "function") {
            return boolbase_1.falseFunc;
        }
        return function hover(elem) {
            return isHovered(elem) && next(elem);
        };
    },
    visited: function (next, _rule, _a) {
        var adapter = _a.adapter;
        var isVisited = adapter.isVisited;
        if (typeof isVisited !== "function") {
            return boolbase_1.falseFunc;
        }
        return function visited(elem) {
            return isVisited(elem) && next(elem);
        };
    },
    active: function (next, _rule, _a) {
        var adapter = _a.adapter;
        var isActive = adapter.isActive;
        if (typeof isActive !== "function") {
            return boolbase_1.falseFunc;
        }
        return function active(elem) {
            return isActive(elem) && next(elem);
        };
    },
};


/***/ }),

/***/ 89312:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.compilePseudoSelector = exports.pseudos = exports.filters = void 0;
/*
 * Pseudo selectors
 *
 * Pseudo selectors are available in three forms:
 *
 * 1. Filters are called when the selector is compiled and return a function
 *  that has to return either false, or the results of `next()`.
 * 2. Pseudos are called on execution. They have to return a boolean.
 * 3. Subselects work like filters, but have an embedded selector that will be run separately.
 *
 * Filters are great if you want to do some pre-processing, or change the call order
 * of `next()` and your code.
 * Pseudos should be used to implement simple checks.
 */
var boolbase_1 = __nccwpck_require__(44159);
var filters_1 = __nccwpck_require__(51686);
Object.defineProperty(exports, "filters", ({ enumerable: true, get: function () { return filters_1.filters; } }));
var pseudos_1 = __nccwpck_require__(8952);
Object.defineProperty(exports, "pseudos", ({ enumerable: true, get: function () { return pseudos_1.pseudos; } }));
var subselects_1 = __nccwpck_require__(15813);
// FIXME This is pretty hacky
var reCSS3 = /^(?:(?:nth|last|first|only)-(?:child|of-type)|root|empty|(?:en|dis)abled|checked|not)$/;
function compilePseudoSelector(next, selector, options, context, compileToken) {
    var name = selector.name, data = selector.data;
    if (options.strict && !reCSS3.test(name)) {
        throw new Error(":" + name + " isn't part of CSS3");
    }
    if (Array.isArray(data)) {
        return subselects_1.subselects[name](next, data, options, context, compileToken);
    }
    if (name in filters_1.filters) {
        return filters_1.filters[name](next, data, options, context);
    }
    if (name in pseudos_1.pseudos) {
        var pseudo_1 = pseudos_1.pseudos[name];
        pseudos_1.verifyPseudoArgs(pseudo_1, name, data);
        return pseudo_1 === boolbase_1.falseFunc
            ? boolbase_1.falseFunc
            : next === boolbase_1.trueFunc
                ? function (elem) { return pseudo_1(elem, options, data); }
                : function (elem) { return pseudo_1(elem, options, data) && next(elem); };
    }
    throw new Error("unmatched pseudo-class :" + name);
}
exports.compilePseudoSelector = compilePseudoSelector;


/***/ }),

/***/ 8952:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.verifyPseudoArgs = exports.pseudos = void 0;
var isLinkTag = namePseudo(["a", "area", "link"]);
// While filters are precompiled, pseudos get called when they are needed
exports.pseudos = {
    empty: function (elem, _a) {
        var adapter = _a.adapter;
        return !adapter.getChildren(elem).some(function (elem) {
            // FIXME: `getText` call is potentially expensive.
            return adapter.isTag(elem) || adapter.getText(elem) !== "";
        });
    },
    "first-child": function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var firstChild = adapter
            .getSiblings(elem)
            .find(function (elem) { return adapter.isTag(elem); });
        return firstChild != null && equals(elem, firstChild);
    },
    "last-child": function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var siblings = adapter.getSiblings(elem);
        for (var i = siblings.length - 1; i >= 0; i--) {
            if (equals(elem, siblings[i]))
                return true;
            if (adapter.isTag(siblings[i]))
                break;
        }
        return false;
    },
    "first-of-type": function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var siblings = adapter.getSiblings(elem);
        var elemName = adapter.getName(elem);
        for (var i = 0; i < siblings.length; i++) {
            var currentSibling = siblings[i];
            if (equals(elem, currentSibling))
                return true;
            if (adapter.isTag(currentSibling) &&
                adapter.getName(currentSibling) === elemName) {
                break;
            }
        }
        return false;
    },
    "last-of-type": function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var siblings = adapter.getSiblings(elem);
        var elemName = adapter.getName(elem);
        for (var i = siblings.length - 1; i >= 0; i--) {
            var currentSibling = siblings[i];
            if (equals(elem, currentSibling))
                return true;
            if (adapter.isTag(currentSibling) &&
                adapter.getName(currentSibling) === elemName) {
                break;
            }
        }
        return false;
    },
    "only-of-type": function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        var elemName = adapter.getName(elem);
        return adapter
            .getSiblings(elem)
            .every(function (sibling) {
            return equals(elem, sibling) ||
                !adapter.isTag(sibling) ||
                adapter.getName(sibling) !== elemName;
        });
    },
    "only-child": function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        return adapter
            .getSiblings(elem)
            .every(function (sibling) { return equals(elem, sibling) || !adapter.isTag(sibling); });
    },
    // :matches(a, area, link)[href]
    "any-link": function (elem, options) {
        return (isLinkTag(elem, options) && options.adapter.hasAttrib(elem, "href"));
    },
    // :any-link:not(:visited)
    link: function (elem, options) {
        var _a, _b;
        return (((_b = (_a = options.adapter).isVisited) === null || _b === void 0 ? void 0 : _b.call(_a, elem)) !== true &&
            exports.pseudos["any-link"](elem, options));
    },
    /*
     * Forms
     * to consider: :target
     */
    // :matches([selected], select:not([multiple]):not(> option[selected]) > option:first-of-type)
    selected: function (elem, _a) {
        var adapter = _a.adapter, equals = _a.equals;
        if (adapter.hasAttrib(elem, "selected"))
            return true;
        else if (adapter.getName(elem) !== "option")
            return false;
        // The first <option> in a <select> is also selected
        var parent = adapter.getParent(elem);
        if (!parent ||
            !adapter.isTag(parent) ||
            adapter.getName(parent) !== "select" ||
            adapter.hasAttrib(parent, "multiple")) {
            return false;
        }
        var siblings = adapter.getChildren(parent);
        var sawElem = false;
        for (var i = 0; i < siblings.length; i++) {
            var currentSibling = siblings[i];
            if (adapter.isTag(currentSibling)) {
                if (equals(elem, currentSibling)) {
                    sawElem = true;
                }
                else if (!sawElem) {
                    return false;
                }
                else if (adapter.hasAttrib(currentSibling, "selected")) {
                    return false;
                }
            }
        }
        return sawElem;
    },
    /*
     * https://html.spec.whatwg.org/multipage/scripting.html#disabled-elements
     * :matches(
     *   :matches(button, input, select, textarea, menuitem, optgroup, option)[disabled],
     *   optgroup[disabled] > option),
     *  fieldset[disabled] * //TODO not child of first <legend>
     * )
     */
    disabled: function (elem, _a) {
        var adapter = _a.adapter;
        return adapter.hasAttrib(elem, "disabled");
    },
    enabled: function (elem, _a) {
        var adapter = _a.adapter;
        return !adapter.hasAttrib(elem, "disabled");
    },
    // :matches(:matches(:radio, :checkbox)[checked], :selected) (TODO menuitem)
    checked: function (elem, options) {
        return (options.adapter.hasAttrib(elem, "checked") ||
            exports.pseudos.selected(elem, options));
    },
    // :matches(input, select, textarea)[required]
    required: function (elem, _a) {
        var adapter = _a.adapter;
        return adapter.hasAttrib(elem, "required");
    },
    // :matches(input, select, textarea):not([required])
    optional: function (elem, _a) {
        var adapter = _a.adapter;
        return !adapter.hasAttrib(elem, "required");
    },
    // JQuery extensions
    // :not(:empty)
    parent: function (elem, options) {
        return !exports.pseudos.empty(elem, options);
    },
    // :matches(h1, h2, h3, h4, h5, h6)
    header: namePseudo(["h1", "h2", "h3", "h4", "h5", "h6"]),
    // :matches(button, input[type=button])
    button: function (elem, _a) {
        var adapter = _a.adapter;
        var name = adapter.getName(elem);
        return (name === "button" ||
            (name === "input" &&
                adapter.getAttributeValue(elem, "type") === "button"));
    },
    // :matches(input, textarea, select, button)
    input: namePseudo(["input", "textarea", "select", "button"]),
    // `input:matches(:not([type!='']), [type='text' i])`
    text: function (elem, _a) {
        var adapter = _a.adapter;
        var type = adapter.getAttributeValue(elem, "type");
        return (adapter.getName(elem) === "input" &&
            (!type || type.toLowerCase() === "text"));
    },
};
function namePseudo(names) {
    if (typeof Set !== "undefined") {
        var nameSet_1 = new Set(names);
        return function (elem, _a) {
            var adapter = _a.adapter;
            return nameSet_1.has(adapter.getName(elem));
        };
    }
    return function (elem, _a) {
        var adapter = _a.adapter;
        return names.includes(adapter.getName(elem));
    };
}
function verifyPseudoArgs(func, name, subselect) {
    if (subselect === null) {
        if (func.length > 2 && name !== "scope") {
            throw new Error("pseudo-selector :" + name + " requires an argument");
        }
    }
    else {
        if (func.length === 2) {
            throw new Error("pseudo-selector :" + name + " doesn't have any arguments");
        }
    }
}
exports.verifyPseudoArgs = verifyPseudoArgs;


/***/ }),

/***/ 15813:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __spreadArrays = (this && this.__spreadArrays) || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.subselects = exports.getNextSiblings = exports.ensureIsTag = exports.PLACEHOLDER_ELEMENT = void 0;
var boolbase_1 = __nccwpck_require__(44159);
var procedure_1 = __nccwpck_require__(47396);
/** Used as a placeholder for :has. Will be replaced with the actual element. */
exports.PLACEHOLDER_ELEMENT = {};
function containsTraversal(t) {
    return t.some(procedure_1.isTraversal);
}
function ensureIsTag(next, adapter) {
    if (next === boolbase_1.falseFunc)
        return next;
    return function (elem) { return adapter.isTag(elem) && next(elem); };
}
exports.ensureIsTag = ensureIsTag;
function getNextSiblings(elem, adapter) {
    var siblings = adapter.getSiblings(elem);
    if (siblings.length <= 1)
        return [];
    var elemIndex = siblings.indexOf(elem);
    if (elemIndex < 0 || elemIndex === siblings.length - 1)
        return [];
    return siblings.slice(elemIndex + 1).filter(adapter.isTag);
}
exports.getNextSiblings = getNextSiblings;
/*
 * :not, :has and :matches have to compile selectors
 * doing this in src/pseudos.ts would lead to circular dependencies,
 * so we add them here
 */
exports.subselects = {
    /**
     * `:is` is an alias for `:matches`.
     */
    is: function (next, token, options, context, compileToken) {
        return exports.subselects.matches(next, token, options, context, compileToken);
    },
    matches: function (next, token, options, context, compileToken) {
        var opts = {
            xmlMode: !!options.xmlMode,
            strict: !!options.strict,
            adapter: options.adapter,
            equals: options.equals,
            rootFunc: next,
        };
        return compileToken(token, opts, context);
    },
    not: function (next, token, options, context, compileToken) {
        var opts = {
            xmlMode: !!options.xmlMode,
            strict: !!options.strict,
            adapter: options.adapter,
            equals: options.equals,
        };
        if (opts.strict) {
            if (token.length > 1 || token.some(containsTraversal)) {
                throw new Error("complex selectors in :not aren't allowed in strict mode");
            }
        }
        var func = compileToken(token, opts, context);
        if (func === boolbase_1.falseFunc)
            return next;
        if (func === boolbase_1.trueFunc)
            return boolbase_1.falseFunc;
        return function not(elem) {
            return !func(elem) && next(elem);
        };
    },
    has: function (next, subselect, options, _context, compileToken) {
        var adapter = options.adapter;
        var opts = {
            xmlMode: !!options.xmlMode,
            strict: !!options.strict,
            adapter: adapter,
            equals: options.equals,
        };
        // @ts-expect-error Uses an array as a pointer to the current element (side effects)
        var context = subselect.some(containsTraversal)
            ? [exports.PLACEHOLDER_ELEMENT]
            : undefined;
        var compiled = compileToken(subselect, opts, context);
        if (compiled === boolbase_1.falseFunc)
            return boolbase_1.falseFunc;
        if (compiled === boolbase_1.trueFunc) {
            return function (elem) {
                return adapter.getChildren(elem).some(adapter.isTag) && next(elem);
            };
        }
        var hasElement = ensureIsTag(compiled, adapter);
        var _a = compiled.shouldTestNextSiblings, shouldTestNextSiblings = _a === void 0 ? false : _a;
        /*
         * `shouldTestNextSiblings` will only be true if the query starts with
         * a traversal (sibling or adjacent). That means we will always have a context.
         */
        if (context) {
            return function (elem) {
                context[0] = elem;
                var childs = adapter.getChildren(elem);
                var nextElements = shouldTestNextSiblings
                    ? __spreadArrays(childs, getNextSiblings(elem, adapter)) : childs;
                return (next(elem) && adapter.existsOne(hasElement, nextElements));
            };
        }
        return function (elem) {
            return next(elem) &&
                adapter.existsOne(hasElement, adapter.getChildren(elem));
        };
    },
};


/***/ }),

/***/ 57320:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
var procedure_1 = __nccwpck_require__(47396);
var attributes = {
    exists: 10,
    equals: 8,
    not: 7,
    start: 6,
    end: 6,
    any: 5,
    hyphen: 4,
    element: 4,
};
/**
 * Sort the parts of the passed selector,
 * as there is potential for optimization
 * (some types of selectors are faster than others)
 *
 * @param arr Selector to sort
 */
function sortByProcedure(arr) {
    var procs = arr.map(getProcedure);
    for (var i = 1; i < arr.length; i++) {
        var procNew = procs[i];
        if (procNew < 0)
            continue;
        for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) {
            var token = arr[j + 1];
            arr[j + 1] = arr[j];
            arr[j] = token;
            procs[j + 1] = procs[j];
            procs[j] = procNew;
        }
    }
}
exports.default = sortByProcedure;
function getProcedure(token) {
    var proc = procedure_1.procedure[token.type];
    if (token.type === "attribute") {
        proc = attributes[token.action];
        if (proc === attributes.equals && token.name === "id") {
            // Prefer ID selectors (eg. #ID)
            proc = 9;
        }
        if (token.ignoreCase) {
            /*
             * IgnoreCase adds some overhead, prefer "normal" token
             * this is a binary operation, to ensure it's still an int
             */
            proc >>= 1;
        }
    }
    else if (token.type === "pseudo") {
        if (!token.data) {
            proc = 3;
        }
        else if (token.name === "has" || token.name === "contains") {
            proc = 0; // Expensive in any case
        }
        else if (Array.isArray(token.data)) {
            // "matches" and "not"
            proc = 0;
            for (var i = 0; i < token.data.length; i++) {
                // TODO better handling of complex selectors
                if (token.data[i].length !== 1)
                    continue;
                var cur = getProcedure(token.data[i][0]);
                // Avoid executing :has or :contains
                if (cur === 0) {
                    proc = 0;
                    break;
                }
                if (cur > proc)
                    proc = cur;
            }
            if (token.data.length > 1 && proc > 0)
                proc -= 1;
        }
        else {
            proc = 1;
        }
    }
    return proc;
}


/***/ }),

/***/ 67355:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const mdnAtrules = __nccwpck_require__(53523);
const mdnProperties = __nccwpck_require__(95863);
const mdnSyntaxes = __nccwpck_require__(49023);
const patch = __nccwpck_require__(15909);
const extendSyntax = /^\s*\|\s*/;

function preprocessAtrules(dict) {
    const result = Object.create(null);

    for (const atruleName in dict) {
        const atrule = dict[atruleName];
        let descriptors = null;

        if (atrule.descriptors) {
            descriptors = Object.create(null);

            for (const descriptor in atrule.descriptors) {
                descriptors[descriptor] = atrule.descriptors[descriptor].syntax;
            }
        }

        result[atruleName.substr(1)] = {
            prelude: atrule.syntax.trim().match(/^@\S+\s+([^;\{]*)/)[1].trim() || null,
            descriptors
        };
    }

    return result;
}

function patchDictionary(dict, patchDict) {
    const result = {};

    // copy all syntaxes for an original dict
    for (const key in dict) {
        result[key] = dict[key].syntax || dict[key];
    }

    // apply a patch
    for (const key in patchDict) {
        if (key in dict) {
            if (patchDict[key].syntax) {
                result[key] = extendSyntax.test(patchDict[key].syntax)
                    ? result[key] + ' ' + patchDict[key].syntax.trim()
                    : patchDict[key].syntax;
            } else {
                delete result[key];
            }
        } else {
            if (patchDict[key].syntax) {
                result[key] = patchDict[key].syntax.replace(extendSyntax, '');
            }
        }
    }

    return result;
}

function unpackSyntaxes(dict) {
    const result = {};

    for (const key in dict) {
        result[key] = dict[key].syntax;
    }

    return result;
}

function patchAtrules(dict, patchDict) {
    const result = {};

    // copy all syntaxes for an original dict
    for (const key in dict) {
        const patchDescriptors = (patchDict[key] && patchDict[key].descriptors) || null;

        result[key] = {
            prelude: key in patchDict && 'prelude' in patchDict[key]
                ? patchDict[key].prelude
                : dict[key].prelude || null,
            descriptors: dict[key].descriptors
                ? patchDictionary(dict[key].descriptors, patchDescriptors || {})
                : patchDescriptors && unpackSyntaxes(patchDescriptors)
        };
    }

    // apply a patch
    for (const key in patchDict) {
        if (!hasOwnProperty.call(dict, key)) {
            result[key] = {
                prelude: patchDict[key].prelude || null,
                descriptors: patchDict[key].descriptors && unpackSyntaxes(patchDict[key].descriptors)
            };
        }
    }

    return result;
}

module.exports = {
    types: patchDictionary(mdnSyntaxes, patch.syntaxes),
    atrules: patchAtrules(preprocessAtrules(mdnAtrules), patch.atrules),
    properties: patchDictionary(mdnProperties, patch.properties)
};


/***/ }),

/***/ 11282:
/***/ ((module) => {

//
//                              list
//                            ┌──────â”
//             ┌──────────────┼─head │
//             │              │ tail─┼──────────────â”
//             │              └──────┘              │
//             â–¼                                    â–¼
//            item        item        item        item
//          ┌──────┠   ┌──────┠   ┌──────┠   ┌──────â”
//  null ◀──┼─prev │◀───┼─prev │◀───┼─prev │◀───┼─prev │
//          │ next─┼───▶│ next─┼───▶│ next─┼───▶│ next─┼──▶ null
//          ├──────┤    ├──────┤    ├──────┤    ├──────┤
//          │ data │    │ data │    │ data │    │ data │
//          └──────┘    └──────┘    └──────┘    └──────┘
//

function createItem(data) {
    return {
        prev: null,
        next: null,
        data: data
    };
}

function allocateCursor(node, prev, next) {
    var cursor;

    if (cursors !== null) {
        cursor = cursors;
        cursors = cursors.cursor;
        cursor.prev = prev;
        cursor.next = next;
        cursor.cursor = node.cursor;
    } else {
        cursor = {
            prev: prev,
            next: next,
            cursor: node.cursor
        };
    }

    node.cursor = cursor;

    return cursor;
}

function releaseCursor(node) {
    var cursor = node.cursor;

    node.cursor = cursor.cursor;
    cursor.prev = null;
    cursor.next = null;
    cursor.cursor = cursors;
    cursors = cursor;
}

var cursors = null;
var List = function() {
    this.cursor = null;
    this.head = null;
    this.tail = null;
};

List.createItem = createItem;
List.prototype.createItem = createItem;

List.prototype.updateCursors = function(prevOld, prevNew, nextOld, nextNew) {
    var cursor = this.cursor;

    while (cursor !== null) {
        if (cursor.prev === prevOld) {
            cursor.prev = prevNew;
        }

        if (cursor.next === nextOld) {
            cursor.next = nextNew;
        }

        cursor = cursor.cursor;
    }
};

List.prototype.getSize = function() {
    var size = 0;
    var cursor = this.head;

    while (cursor) {
        size++;
        cursor = cursor.next;
    }

    return size;
};

List.prototype.fromArray = function(array) {
    var cursor = null;

    this.head = null;

    for (var i = 0; i < array.length; i++) {
        var item = createItem(array[i]);

        if (cursor !== null) {
            cursor.next = item;
        } else {
            this.head = item;
        }

        item.prev = cursor;
        cursor = item;
    }

    this.tail = cursor;

    return this;
};

List.prototype.toArray = function() {
    var cursor = this.head;
    var result = [];

    while (cursor) {
        result.push(cursor.data);
        cursor = cursor.next;
    }

    return result;
};

List.prototype.toJSON = List.prototype.toArray;

List.prototype.isEmpty = function() {
    return this.head === null;
};

List.prototype.first = function() {
    return this.head && this.head.data;
};

List.prototype.last = function() {
    return this.tail && this.tail.data;
};

List.prototype.each = function(fn, context) {
    var item;

    if (context === undefined) {
        context = this;
    }

    // push cursor
    var cursor = allocateCursor(this, null, this.head);

    while (cursor.next !== null) {
        item = cursor.next;
        cursor.next = item.next;

        fn.call(context, item.data, item, this);
    }

    // pop cursor
    releaseCursor(this);
};

List.prototype.forEach = List.prototype.each;

List.prototype.eachRight = function(fn, context) {
    var item;

    if (context === undefined) {
        context = this;
    }

    // push cursor
    var cursor = allocateCursor(this, this.tail, null);

    while (cursor.prev !== null) {
        item = cursor.prev;
        cursor.prev = item.prev;

        fn.call(context, item.data, item, this);
    }

    // pop cursor
    releaseCursor(this);
};

List.prototype.forEachRight = List.prototype.eachRight;

List.prototype.reduce = function(fn, initialValue, context) {
    var item;

    if (context === undefined) {
        context = this;
    }

    // push cursor
    var cursor = allocateCursor(this, null, this.head);
    var acc = initialValue;

    while (cursor.next !== null) {
        item = cursor.next;
        cursor.next = item.next;

        acc = fn.call(context, acc, item.data, item, this);
    }

    // pop cursor
    releaseCursor(this);

    return acc;
};

List.prototype.reduceRight = function(fn, initialValue, context) {
    var item;

    if (context === undefined) {
        context = this;
    }

    // push cursor
    var cursor = allocateCursor(this, this.tail, null);
    var acc = initialValue;

    while (cursor.prev !== null) {
        item = cursor.prev;
        cursor.prev = item.prev;

        acc = fn.call(context, acc, item.data, item, this);
    }

    // pop cursor
    releaseCursor(this);

    return acc;
};

List.prototype.nextUntil = function(start, fn, context) {
    if (start === null) {
        return;
    }

    var item;

    if (context === undefined) {
        context = this;
    }

    // push cursor
    var cursor = allocateCursor(this, null, start);

    while (cursor.next !== null) {
        item = cursor.next;
        cursor.next = item.next;

        if (fn.call(context, item.data, item, this)) {
            break;
        }
    }

    // pop cursor
    releaseCursor(this);
};

List.prototype.prevUntil = function(start, fn, context) {
    if (start === null) {
        return;
    }

    var item;

    if (context === undefined) {
        context = this;
    }

    // push cursor
    var cursor = allocateCursor(this, start, null);

    while (cursor.prev !== null) {
        item = cursor.prev;
        cursor.prev = item.prev;

        if (fn.call(context, item.data, item, this)) {
            break;
        }
    }

    // pop cursor
    releaseCursor(this);
};

List.prototype.some = function(fn, context) {
    var cursor = this.head;

    if (context === undefined) {
        context = this;
    }

    while (cursor !== null) {
        if (fn.call(context, cursor.data, cursor, this)) {
            return true;
        }

        cursor = cursor.next;
    }

    return false;
};

List.prototype.map = function(fn, context) {
    var result = new List();
    var cursor = this.head;

    if (context === undefined) {
        context = this;
    }

    while (cursor !== null) {
        result.appendData(fn.call(context, cursor.data, cursor, this));
        cursor = cursor.next;
    }

    return result;
};

List.prototype.filter = function(fn, context) {
    var result = new List();
    var cursor = this.head;

    if (context === undefined) {
        context = this;
    }

    while (cursor !== null) {
        if (fn.call(context, cursor.data, cursor, this)) {
            result.appendData(cursor.data);
        }
        cursor = cursor.next;
    }

    return result;
};

List.prototype.clear = function() {
    this.head = null;
    this.tail = null;
};

List.prototype.copy = function() {
    var result = new List();
    var cursor = this.head;

    while (cursor !== null) {
        result.insert(createItem(cursor.data));
        cursor = cursor.next;
    }

    return result;
};

List.prototype.prepend = function(item) {
    //      head
    //    ^
    // item
    this.updateCursors(null, item, this.head, item);

    // insert to the beginning of the list
    if (this.head !== null) {
        // new item <- first item
        this.head.prev = item;

        // new item -> first item
        item.next = this.head;
    } else {
        // if list has no head, then it also has no tail
        // in this case tail points to the new item
        this.tail = item;
    }

    // head always points to new item
    this.head = item;

    return this;
};

List.prototype.prependData = function(data) {
    return this.prepend(createItem(data));
};

List.prototype.append = function(item) {
    return this.insert(item);
};

List.prototype.appendData = function(data) {
    return this.insert(createItem(data));
};

List.prototype.insert = function(item, before) {
    if (before !== undefined && before !== null) {
        // prev   before
        //      ^
        //     item
        this.updateCursors(before.prev, item, before, item);

        if (before.prev === null) {
            // insert to the beginning of list
            if (this.head !== before) {
                throw new Error('before doesn\'t belong to list');
            }

            // since head points to before therefore list doesn't empty
            // no need to check tail
            this.head = item;
            before.prev = item;
            item.next = before;

            this.updateCursors(null, item);
        } else {

            // insert between two items
            before.prev.next = item;
            item.prev = before.prev;

            before.prev = item;
            item.next = before;
        }
    } else {
        // tail
        //      ^
        //      item
        this.updateCursors(this.tail, item, null, item);

        // insert to the ending of the list
        if (this.tail !== null) {
            // last item -> new item
            this.tail.next = item;

            // last item <- new item
            item.prev = this.tail;
        } else {
            // if list has no tail, then it also has no head
            // in this case head points to new item
            this.head = item;
        }

        // tail always points to new item
        this.tail = item;
    }

    return this;
};

List.prototype.insertData = function(data, before) {
    return this.insert(createItem(data), before);
};

List.prototype.remove = function(item) {
    //      item
    //       ^
    // prev     next
    this.updateCursors(item, item.prev, item, item.next);

    if (item.prev !== null) {
        item.prev.next = item.next;
    } else {
        if (this.head !== item) {
            throw new Error('item doesn\'t belong to list');
        }

        this.head = item.next;
    }

    if (item.next !== null) {
        item.next.prev = item.prev;
    } else {
        if (this.tail !== item) {
            throw new Error('item doesn\'t belong to list');
        }

        this.tail = item.prev;
    }

    item.prev = null;
    item.next = null;

    return item;
};

List.prototype.push = function(data) {
    this.insert(createItem(data));
};

List.prototype.pop = function() {
    if (this.tail !== null) {
        return this.remove(this.tail);
    }
};

List.prototype.unshift = function(data) {
    this.prepend(createItem(data));
};

List.prototype.shift = function() {
    if (this.head !== null) {
        return this.remove(this.head);
    }
};

List.prototype.prependList = function(list) {
    return this.insertList(list, this.head);
};

List.prototype.appendList = function(list) {
    return this.insertList(list);
};

List.prototype.insertList = function(list, before) {
    // ignore empty lists
    if (list.head === null) {
        return this;
    }

    if (before !== undefined && before !== null) {
        this.updateCursors(before.prev, list.tail, before, list.head);

        // insert in the middle of dist list
        if (before.prev !== null) {
            // before.prev <-> list.head
            before.prev.next = list.head;
            list.head.prev = before.prev;
        } else {
            this.head = list.head;
        }

        before.prev = list.tail;
        list.tail.next = before;
    } else {
        this.updateCursors(this.tail, list.tail, null, list.head);

        // insert to end of the list
        if (this.tail !== null) {
            // if destination list has a tail, then it also has a head,
            // but head doesn't change

            // dest tail -> source head
            this.tail.next = list.head;

            // dest tail <- source head
            list.head.prev = this.tail;
        } else {
            // if list has no a tail, then it also has no a head
            // in this case points head to new item
            this.head = list.head;
        }

        // tail always start point to new item
        this.tail = list.tail;
    }

    list.head = null;
    list.tail = null;

    return this;
};

List.prototype.replace = function(oldItem, newItemOrList) {
    if ('head' in newItemOrList) {
        this.insertList(newItemOrList, oldItem);
    } else {
        this.insert(newItemOrList, oldItem);
    }

    this.remove(oldItem);
};

module.exports = List;


/***/ }),

/***/ 77634:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var adoptBuffer = __nccwpck_require__(63156);
var isBOM = __nccwpck_require__(69549).isBOM;

var N = 10;
var F = 12;
var R = 13;

function computeLinesAndColumns(host, source) {
    var sourceLength = source.length;
    var lines = adoptBuffer(host.lines, sourceLength); // +1
    var line = host.startLine;
    var columns = adoptBuffer(host.columns, sourceLength);
    var column = host.startColumn;
    var startOffset = source.length > 0 ? isBOM(source.charCodeAt(0)) : 0;

    for (var i = startOffset; i < sourceLength; i++) { // -1
        var code = source.charCodeAt(i);

        lines[i] = line;
        columns[i] = column++;

        if (code === N || code === R || code === F) {
            if (code === R && i + 1 < sourceLength && source.charCodeAt(i + 1) === N) {
                i++;
                lines[i] = line;
                columns[i] = column;
            }

            line++;
            column = 1;
        }
    }

    lines[i] = line;
    columns[i] = column;

    host.lines = lines;
    host.columns = columns;
}

var OffsetToLocation = function() {
    this.lines = null;
    this.columns = null;
    this.linesAndColumnsComputed = false;
};

OffsetToLocation.prototype = {
    setSource: function(source, startOffset, startLine, startColumn) {
        this.source = source;
        this.startOffset = typeof startOffset === 'undefined' ? 0 : startOffset;
        this.startLine = typeof startLine === 'undefined' ? 1 : startLine;
        this.startColumn = typeof startColumn === 'undefined' ? 1 : startColumn;
        this.linesAndColumnsComputed = false;
    },

    ensureLinesAndColumnsComputed: function() {
        if (!this.linesAndColumnsComputed) {
            computeLinesAndColumns(this, this.source);
            this.linesAndColumnsComputed = true;
        }
    },
    getLocation: function(offset, filename) {
        this.ensureLinesAndColumnsComputed();

        return {
            source: filename,
            offset: this.startOffset + offset,
            line: this.lines[offset],
            column: this.columns[offset]
        };
    },
    getLocationRange: function(start, end, filename) {
        this.ensureLinesAndColumnsComputed();

        return {
            source: filename,
            start: {
                offset: this.startOffset + start,
                line: this.lines[start],
                column: this.columns[start]
            },
            end: {
                offset: this.startOffset + end,
                line: this.lines[end],
                column: this.columns[end]
            }
        };
    }
};

module.exports = OffsetToLocation;


/***/ }),

/***/ 83981:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var createCustomError = __nccwpck_require__(20195);
var MAX_LINE_LENGTH = 100;
var OFFSET_CORRECTION = 60;
var TAB_REPLACEMENT = '    ';

function sourceFragment(error, extraLines) {
    function processLines(start, end) {
        return lines.slice(start, end).map(function(line, idx) {
            var num = String(start + idx + 1);

            while (num.length < maxNumLength) {
                num = ' ' + num;
            }

            return num + ' |' + line;
        }).join('\n');
    }

    var lines = error.source.split(/\r\n?|\n|\f/);
    var line = error.line;
    var column = error.column;
    var startLine = Math.max(1, line - extraLines) - 1;
    var endLine = Math.min(line + extraLines, lines.length + 1);
    var maxNumLength = Math.max(4, String(endLine).length) + 1;
    var cutLeft = 0;

    // column correction according to replaced tab before column
    column += (TAB_REPLACEMENT.length - 1) * (lines[line - 1].substr(0, column - 1).match(/\t/g) || []).length;

    if (column > MAX_LINE_LENGTH) {
        cutLeft = column - OFFSET_CORRECTION + 3;
        column = OFFSET_CORRECTION - 2;
    }

    for (var i = startLine; i <= endLine; i++) {
        if (i >= 0 && i < lines.length) {
            lines[i] = lines[i].replace(/\t/g, TAB_REPLACEMENT);
            lines[i] =
                (cutLeft > 0 && lines[i].length > cutLeft ? '\u2026' : '') +
                lines[i].substr(cutLeft, MAX_LINE_LENGTH - 2) +
                (lines[i].length > cutLeft + MAX_LINE_LENGTH - 1 ? '\u2026' : '');
        }
    }

    return [
        processLines(startLine, line),
        new Array(column + maxNumLength + 2).join('-') + '^',
        processLines(line, endLine)
    ].filter(Boolean).join('\n');
}

var SyntaxError = function(message, source, offset, line, column) {
    var error = createCustomError('SyntaxError', message);

    error.source = source;
    error.offset = offset;
    error.line = line;
    error.column = column;

    error.sourceFragment = function(extraLines) {
        return sourceFragment(error, isNaN(extraLines) ? 0 : extraLines);
    };
    Object.defineProperty(error, 'formattedMessage', {
        get: function() {
            return (
                'Parse error: ' + error.message + '\n' +
                sourceFragment(error, 2)
            );
        }
    });

    // for backward capability
    error.parseError = {
        offset: offset,
        line: line,
        column: column
    };

    return error;
};

module.exports = SyntaxError;


/***/ }),

/***/ 89490:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var constants = __nccwpck_require__(62478);
var TYPE = constants.TYPE;
var NAME = constants.NAME;

var utils = __nccwpck_require__(29292);
var cmpStr = utils.cmpStr;

var EOF = TYPE.EOF;
var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;

var OFFSET_MASK = 0x00FFFFFF;
var TYPE_SHIFT = 24;

var TokenStream = function() {
    this.offsetAndType = null;
    this.balance = null;

    this.reset();
};

TokenStream.prototype = {
    reset: function() {
        this.eof = false;
        this.tokenIndex = -1;
        this.tokenType = 0;
        this.tokenStart = this.firstCharOffset;
        this.tokenEnd = this.firstCharOffset;
    },

    lookupType: function(offset) {
        offset += this.tokenIndex;

        if (offset < this.tokenCount) {
            return this.offsetAndType[offset] >> TYPE_SHIFT;
        }

        return EOF;
    },
    lookupOffset: function(offset) {
        offset += this.tokenIndex;

        if (offset < this.tokenCount) {
            return this.offsetAndType[offset - 1] & OFFSET_MASK;
        }

        return this.source.length;
    },
    lookupValue: function(offset, referenceStr) {
        offset += this.tokenIndex;

        if (offset < this.tokenCount) {
            return cmpStr(
                this.source,
                this.offsetAndType[offset - 1] & OFFSET_MASK,
                this.offsetAndType[offset] & OFFSET_MASK,
                referenceStr
            );
        }

        return false;
    },
    getTokenStart: function(tokenIndex) {
        if (tokenIndex === this.tokenIndex) {
            return this.tokenStart;
        }

        if (tokenIndex > 0) {
            return tokenIndex < this.tokenCount
                ? this.offsetAndType[tokenIndex - 1] & OFFSET_MASK
                : this.offsetAndType[this.tokenCount] & OFFSET_MASK;
        }

        return this.firstCharOffset;
    },

    // TODO: -> skipUntilBalanced
    getRawLength: function(startToken, mode) {
        var cursor = startToken;
        var balanceEnd;
        var offset = this.offsetAndType[Math.max(cursor - 1, 0)] & OFFSET_MASK;
        var type;

        loop:
        for (; cursor < this.tokenCount; cursor++) {
            balanceEnd = this.balance[cursor];

            // stop scanning on balance edge that points to offset before start token
            if (balanceEnd < startToken) {
                break loop;
            }

            type = this.offsetAndType[cursor] >> TYPE_SHIFT;

            // check token is stop type
            switch (mode(type, this.source, offset)) {
                case 1:
                    break loop;

                case 2:
                    cursor++;
                    break loop;

                default:
                    // fast forward to the end of balanced block
                    if (this.balance[balanceEnd] === cursor) {
                        cursor = balanceEnd;
                    }

                    offset = this.offsetAndType[cursor] & OFFSET_MASK;
            }
        }

        return cursor - this.tokenIndex;
    },
    isBalanceEdge: function(pos) {
        return this.balance[this.tokenIndex] < pos;
    },
    isDelim: function(code, offset) {
        if (offset) {
            return (
                this.lookupType(offset) === TYPE.Delim &&
                this.source.charCodeAt(this.lookupOffset(offset)) === code
            );
        }

        return (
            this.tokenType === TYPE.Delim &&
            this.source.charCodeAt(this.tokenStart) === code
        );
    },

    getTokenValue: function() {
        return this.source.substring(this.tokenStart, this.tokenEnd);
    },
    getTokenLength: function() {
        return this.tokenEnd - this.tokenStart;
    },
    substrToCursor: function(start) {
        return this.source.substring(start, this.tokenStart);
    },

    skipWS: function() {
        for (var i = this.tokenIndex, skipTokenCount = 0; i < this.tokenCount; i++, skipTokenCount++) {
            if ((this.offsetAndType[i] >> TYPE_SHIFT) !== WHITESPACE) {
                break;
            }
        }

        if (skipTokenCount > 0) {
            this.skip(skipTokenCount);
        }
    },
    skipSC: function() {
        while (this.tokenType === WHITESPACE || this.tokenType === COMMENT) {
            this.next();
        }
    },
    skip: function(tokenCount) {
        var next = this.tokenIndex + tokenCount;

        if (next < this.tokenCount) {
            this.tokenIndex = next;
            this.tokenStart = this.offsetAndType[next - 1] & OFFSET_MASK;
            next = this.offsetAndType[next];
            this.tokenType = next >> TYPE_SHIFT;
            this.tokenEnd = next & OFFSET_MASK;
        } else {
            this.tokenIndex = this.tokenCount;
            this.next();
        }
    },
    next: function() {
        var next = this.tokenIndex + 1;

        if (next < this.tokenCount) {
            this.tokenIndex = next;
            this.tokenStart = this.tokenEnd;
            next = this.offsetAndType[next];
            this.tokenType = next >> TYPE_SHIFT;
            this.tokenEnd = next & OFFSET_MASK;
        } else {
            this.tokenIndex = this.tokenCount;
            this.eof = true;
            this.tokenType = EOF;
            this.tokenStart = this.tokenEnd = this.source.length;
        }
    },

    forEachToken(fn) {
        for (var i = 0, offset = this.firstCharOffset; i < this.tokenCount; i++) {
            var start = offset;
            var item = this.offsetAndType[i];
            var end = item & OFFSET_MASK;
            var type = item >> TYPE_SHIFT;

            offset = end;

            fn(type, start, end, i);
        }
    },

    dump() {
        var tokens = new Array(this.tokenCount);

        this.forEachToken((type, start, end, index) => {
            tokens[index] = {
                idx: index,
                type: NAME[type],
                chunk: this.source.substring(start, end),
                balance: this.balance[index]
            };
        });

        return tokens;
    }
};

module.exports = TokenStream;


/***/ }),

/***/ 63156:
/***/ ((module) => {

var MIN_SIZE = 16 * 1024;
var SafeUint32Array = typeof Uint32Array !== 'undefined' ? Uint32Array : Array; // fallback on Array when TypedArray is not supported

module.exports = function adoptBuffer(buffer, size) {
    if (buffer === null || buffer.length < size) {
        return new SafeUint32Array(Math.max(size + 1024, MIN_SIZE));
    }

    return buffer;
};


/***/ }),

/***/ 19719:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(11282);

module.exports = function createConvertors(walk) {
    return {
        fromPlainObject: function(ast) {
            walk(ast, {
                enter: function(node) {
                    if (node.children && node.children instanceof List === false) {
                        node.children = new List().fromArray(node.children);
                    }
                }
            });

            return ast;
        },
        toPlainObject: function(ast) {
            walk(ast, {
                leave: function(node) {
                    if (node.children && node.children instanceof List) {
                        node.children = node.children.toArray();
                    }
                }
            });

            return ast;
        }
    };
};


/***/ }),

/***/ 5929:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var createCustomError = __nccwpck_require__(20195);

module.exports = function SyntaxError(message, input, offset) {
    var error = createCustomError('SyntaxError', message);

    error.input = input;
    error.offset = offset;
    error.rawMessage = message;
    error.message = error.rawMessage + '\n' +
        '  ' + error.input + '\n' +
        '--' + new Array((error.offset || error.input.length) + 1).join('-') + '^';

    return error;
};


/***/ }),

/***/ 79590:
/***/ ((module) => {

function noop(value) {
    return value;
}

function generateMultiplier(multiplier) {
    if (multiplier.min === 0 && multiplier.max === 0) {
        return '*';
    }

    if (multiplier.min === 0 && multiplier.max === 1) {
        return '?';
    }

    if (multiplier.min === 1 && multiplier.max === 0) {
        return multiplier.comma ? '#' : '+';
    }

    if (multiplier.min === 1 && multiplier.max === 1) {
        return '';
    }

    return (
        (multiplier.comma ? '#' : '') +
        (multiplier.min === multiplier.max
            ? '{' + multiplier.min + '}'
            : '{' + multiplier.min + ',' + (multiplier.max !== 0 ? multiplier.max : '') + '}'
        )
    );
}

function generateTypeOpts(node) {
    switch (node.type) {
        case 'Range':
            return (
                ' [' +
                (node.min === null ? '-∞' : node.min) +
                ',' +
                (node.max === null ? '∞' : node.max) +
                ']'
            );

        default:
            throw new Error('Unknown node type `' + node.type + '`');
    }
}

function generateSequence(node, decorate, forceBraces, compact) {
    var combinator = node.combinator === ' ' || compact ? node.combinator : ' ' + node.combinator + ' ';
    var result = node.terms.map(function(term) {
        return generate(term, decorate, forceBraces, compact);
    }).join(combinator);

    if (node.explicit || forceBraces) {
        result = (compact || result[0] === ',' ? '[' : '[ ') + result + (compact ? ']' : ' ]');
    }

    return result;
}

function generate(node, decorate, forceBraces, compact) {
    var result;

    switch (node.type) {
        case 'Group':
            result =
                generateSequence(node, decorate, forceBraces, compact) +
                (node.disallowEmpty ? '!' : '');
            break;

        case 'Multiplier':
            // return since node is a composition
            return (
                generate(node.term, decorate, forceBraces, compact) +
                decorate(generateMultiplier(node), node)
            );

        case 'Type':
            result = '<' + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : '') + '>';
            break;

        case 'Property':
            result = '<\'' + node.name + '\'>';
            break;

        case 'Keyword':
            result = node.name;
            break;

        case 'AtKeyword':
            result = '@' + node.name;
            break;

        case 'Function':
            result = node.name + '(';
            break;

        case 'String':
        case 'Token':
            result = node.value;
            break;

        case 'Comma':
            result = ',';
            break;

        default:
            throw new Error('Unknown node type `' + node.type + '`');
    }

    return decorate(result, node);
}

module.exports = function(node, options) {
    var decorate = noop;
    var forceBraces = false;
    var compact = false;

    if (typeof options === 'function') {
        decorate = options;
    } else if (options) {
        forceBraces = Boolean(options.forceBraces);
        compact = Boolean(options.compact);
        if (typeof options.decorate === 'function') {
            decorate = options.decorate;
        }
    }

    return generate(node, decorate, forceBraces, compact);
};


/***/ }),

/***/ 32267:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    SyntaxError: __nccwpck_require__(5929),
    parse: __nccwpck_require__(50362),
    generate: __nccwpck_require__(79590),
    walk: __nccwpck_require__(62692)
};


/***/ }),

/***/ 50362:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var Tokenizer = __nccwpck_require__(77377);
var TAB = 9;
var N = 10;
var F = 12;
var R = 13;
var SPACE = 32;
var EXCLAMATIONMARK = 33;    // !
var NUMBERSIGN = 35;         // #
var AMPERSAND = 38;          // &
var APOSTROPHE = 39;         // '
var LEFTPARENTHESIS = 40;    // (
var RIGHTPARENTHESIS = 41;   // )
var ASTERISK = 42;           // *
var PLUSSIGN = 43;           // +
var COMMA = 44;              // ,
var HYPERMINUS = 45;         // -
var LESSTHANSIGN = 60;       // <
var GREATERTHANSIGN = 62;    // >
var QUESTIONMARK = 63;       // ?
var COMMERCIALAT = 64;       // @
var LEFTSQUAREBRACKET = 91;  // [
var RIGHTSQUAREBRACKET = 93; // ]
var LEFTCURLYBRACKET = 123;  // {
var VERTICALLINE = 124;      // |
var RIGHTCURLYBRACKET = 125; // }
var INFINITY = 8734;         // ∞
var NAME_CHAR = createCharMap(function(ch) {
    return /[a-zA-Z0-9\-]/.test(ch);
});
var COMBINATOR_PRECEDENCE = {
    ' ': 1,
    '&&': 2,
    '||': 3,
    '|': 4
};

function createCharMap(fn) {
    var array = typeof Uint32Array === 'function' ? new Uint32Array(128) : new Array(128);
    for (var i = 0; i < 128; i++) {
        array[i] = fn(String.fromCharCode(i)) ? 1 : 0;
    }
    return array;
}

function scanSpaces(tokenizer) {
    return tokenizer.substringToPos(
        tokenizer.findWsEnd(tokenizer.pos)
    );
}

function scanWord(tokenizer) {
    var end = tokenizer.pos;

    for (; end < tokenizer.str.length; end++) {
        var code = tokenizer.str.charCodeAt(end);
        if (code >= 128 || NAME_CHAR[code] === 0) {
            break;
        }
    }

    if (tokenizer.pos === end) {
        tokenizer.error('Expect a keyword');
    }

    return tokenizer.substringToPos(end);
}

function scanNumber(tokenizer) {
    var end = tokenizer.pos;

    for (; end < tokenizer.str.length; end++) {
        var code = tokenizer.str.charCodeAt(end);
        if (code < 48 || code > 57) {
            break;
        }
    }

    if (tokenizer.pos === end) {
        tokenizer.error('Expect a number');
    }

    return tokenizer.substringToPos(end);
}

function scanString(tokenizer) {
    var end = tokenizer.str.indexOf('\'', tokenizer.pos + 1);

    if (end === -1) {
        tokenizer.pos = tokenizer.str.length;
        tokenizer.error('Expect an apostrophe');
    }

    return tokenizer.substringToPos(end + 1);
}

function readMultiplierRange(tokenizer) {
    var min = null;
    var max = null;

    tokenizer.eat(LEFTCURLYBRACKET);

    min = scanNumber(tokenizer);

    if (tokenizer.charCode() === COMMA) {
        tokenizer.pos++;
        if (tokenizer.charCode() !== RIGHTCURLYBRACKET) {
            max = scanNumber(tokenizer);
        }
    } else {
        max = min;
    }

    tokenizer.eat(RIGHTCURLYBRACKET);

    return {
        min: Number(min),
        max: max ? Number(max) : 0
    };
}

function readMultiplier(tokenizer) {
    var range = null;
    var comma = false;

    switch (tokenizer.charCode()) {
        case ASTERISK:
            tokenizer.pos++;

            range = {
                min: 0,
                max: 0
            };

            break;

        case PLUSSIGN:
            tokenizer.pos++;

            range = {
                min: 1,
                max: 0
            };

            break;

        case QUESTIONMARK:
            tokenizer.pos++;

            range = {
                min: 0,
                max: 1
            };

            break;

        case NUMBERSIGN:
            tokenizer.pos++;

            comma = true;

            if (tokenizer.charCode() === LEFTCURLYBRACKET) {
                range = readMultiplierRange(tokenizer);
            } else {
                range = {
                    min: 1,
                    max: 0
                };
            }

            break;

        case LEFTCURLYBRACKET:
            range = readMultiplierRange(tokenizer);
            break;

        default:
            return null;
    }

    return {
        type: 'Multiplier',
        comma: comma,
        min: range.min,
        max: range.max,
        term: null
    };
}

function maybeMultiplied(tokenizer, node) {
    var multiplier = readMultiplier(tokenizer);

    if (multiplier !== null) {
        multiplier.term = node;
        return multiplier;
    }

    return node;
}

function maybeToken(tokenizer) {
    var ch = tokenizer.peek();

    if (ch === '') {
        return null;
    }

    return {
        type: 'Token',
        value: ch
    };
}

function readProperty(tokenizer) {
    var name;

    tokenizer.eat(LESSTHANSIGN);
    tokenizer.eat(APOSTROPHE);

    name = scanWord(tokenizer);

    tokenizer.eat(APOSTROPHE);
    tokenizer.eat(GREATERTHANSIGN);

    return maybeMultiplied(tokenizer, {
        type: 'Property',
        name: name
    });
}

// https://drafts.csswg.org/css-values-3/#numeric-ranges
// 4.1. Range Restrictions and Range Definition Notation
//
// Range restrictions can be annotated in the numeric type notation using CSS bracketed
// range notation—[min,max]—within the angle brackets, after the identifying keyword,
// indicating a closed range between (and including) min and max.
// For example, <integer [0, 10]> indicates an integer between 0 and 10, inclusive.
function readTypeRange(tokenizer) {
    // use null for Infinity to make AST format JSON serializable/deserializable
    var min = null; // -Infinity
    var max = null; // Infinity
    var sign = 1;

    tokenizer.eat(LEFTSQUAREBRACKET);

    if (tokenizer.charCode() === HYPERMINUS) {
        tokenizer.peek();
        sign = -1;
    }

    if (sign == -1 && tokenizer.charCode() === INFINITY) {
        tokenizer.peek();
    } else {
        min = sign * Number(scanNumber(tokenizer));
    }

    scanSpaces(tokenizer);
    tokenizer.eat(COMMA);
    scanSpaces(tokenizer);

    if (tokenizer.charCode() === INFINITY) {
        tokenizer.peek();
    } else {
        sign = 1;

        if (tokenizer.charCode() === HYPERMINUS) {
            tokenizer.peek();
            sign = -1;
        }

        max = sign * Number(scanNumber(tokenizer));
    }

    tokenizer.eat(RIGHTSQUAREBRACKET);

    // If no range is indicated, either by using the bracketed range notation
    // or in the property description, then [−∞,∞] is assumed.
    if (min === null && max === null) {
        return null;
    }

    return {
        type: 'Range',
        min: min,
        max: max
    };
}

function readType(tokenizer) {
    var name;
    var opts = null;

    tokenizer.eat(LESSTHANSIGN);
    name = scanWord(tokenizer);

    if (tokenizer.charCode() === LEFTPARENTHESIS &&
        tokenizer.nextCharCode() === RIGHTPARENTHESIS) {
        tokenizer.pos += 2;
        name += '()';
    }

    if (tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos)) === LEFTSQUAREBRACKET) {
        scanSpaces(tokenizer);
        opts = readTypeRange(tokenizer);
    }

    tokenizer.eat(GREATERTHANSIGN);

    return maybeMultiplied(tokenizer, {
        type: 'Type',
        name: name,
        opts: opts
    });
}

function readKeywordOrFunction(tokenizer) {
    var name;

    name = scanWord(tokenizer);

    if (tokenizer.charCode() === LEFTPARENTHESIS) {
        tokenizer.pos++;

        return {
            type: 'Function',
            name: name
        };
    }

    return maybeMultiplied(tokenizer, {
        type: 'Keyword',
        name: name
    });
}

function regroupTerms(terms, combinators) {
    function createGroup(terms, combinator) {
        return {
            type: 'Group',
            terms: terms,
            combinator: combinator,
            disallowEmpty: false,
            explicit: false
        };
    }

    combinators = Object.keys(combinators).sort(function(a, b) {
        return COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b];
    });

    while (combinators.length > 0) {
        var combinator = combinators.shift();
        for (var i = 0, subgroupStart = 0; i < terms.length; i++) {
            var term = terms[i];
            if (term.type === 'Combinator') {
                if (term.value === combinator) {
                    if (subgroupStart === -1) {
                        subgroupStart = i - 1;
                    }
                    terms.splice(i, 1);
                    i--;
                } else {
                    if (subgroupStart !== -1 && i - subgroupStart > 1) {
                        terms.splice(
                            subgroupStart,
                            i - subgroupStart,
                            createGroup(terms.slice(subgroupStart, i), combinator)
                        );
                        i = subgroupStart + 1;
                    }
                    subgroupStart = -1;
                }
            }
        }

        if (subgroupStart !== -1 && combinators.length) {
            terms.splice(
                subgroupStart,
                i - subgroupStart,
                createGroup(terms.slice(subgroupStart, i), combinator)
            );
        }
    }

    return combinator;
}

function readImplicitGroup(tokenizer) {
    var terms = [];
    var combinators = {};
    var token;
    var prevToken = null;
    var prevTokenPos = tokenizer.pos;

    while (token = peek(tokenizer)) {
        if (token.type !== 'Spaces') {
            if (token.type === 'Combinator') {
                // check for combinator in group beginning and double combinator sequence
                if (prevToken === null || prevToken.type === 'Combinator') {
                    tokenizer.pos = prevTokenPos;
                    tokenizer.error('Unexpected combinator');
                }

                combinators[token.value] = true;
            } else if (prevToken !== null && prevToken.type !== 'Combinator') {
                combinators[' '] = true;  // a b
                terms.push({
                    type: 'Combinator',
                    value: ' '
                });
            }

            terms.push(token);
            prevToken = token;
            prevTokenPos = tokenizer.pos;
        }
    }

    // check for combinator in group ending
    if (prevToken !== null && prevToken.type === 'Combinator') {
        tokenizer.pos -= prevTokenPos;
        tokenizer.error('Unexpected combinator');
    }

    return {
        type: 'Group',
        terms: terms,
        combinator: regroupTerms(terms, combinators) || ' ',
        disallowEmpty: false,
        explicit: false
    };
}

function readGroup(tokenizer) {
    var result;

    tokenizer.eat(LEFTSQUAREBRACKET);
    result = readImplicitGroup(tokenizer);
    tokenizer.eat(RIGHTSQUAREBRACKET);

    result.explicit = true;

    if (tokenizer.charCode() === EXCLAMATIONMARK) {
        tokenizer.pos++;
        result.disallowEmpty = true;
    }

    return result;
}

function peek(tokenizer) {
    var code = tokenizer.charCode();

    if (code < 128 && NAME_CHAR[code] === 1) {
        return readKeywordOrFunction(tokenizer);
    }

    switch (code) {
        case RIGHTSQUAREBRACKET:
            // don't eat, stop scan a group
            break;

        case LEFTSQUAREBRACKET:
            return maybeMultiplied(tokenizer, readGroup(tokenizer));

        case LESSTHANSIGN:
            return tokenizer.nextCharCode() === APOSTROPHE
                ? readProperty(tokenizer)
                : readType(tokenizer);

        case VERTICALLINE:
            return {
                type: 'Combinator',
                value: tokenizer.substringToPos(
                    tokenizer.nextCharCode() === VERTICALLINE
                        ? tokenizer.pos + 2
                        : tokenizer.pos + 1
                )
            };

        case AMPERSAND:
            tokenizer.pos++;
            tokenizer.eat(AMPERSAND);

            return {
                type: 'Combinator',
                value: '&&'
            };

        case COMMA:
            tokenizer.pos++;
            return {
                type: 'Comma'
            };

        case APOSTROPHE:
            return maybeMultiplied(tokenizer, {
                type: 'String',
                value: scanString(tokenizer)
            });

        case SPACE:
        case TAB:
        case N:
        case R:
        case F:
            return {
                type: 'Spaces',
                value: scanSpaces(tokenizer)
            };

        case COMMERCIALAT:
            code = tokenizer.nextCharCode();

            if (code < 128 && NAME_CHAR[code] === 1) {
                tokenizer.pos++;
                return {
                    type: 'AtKeyword',
                    name: scanWord(tokenizer)
                };
            }

            return maybeToken(tokenizer);

        case ASTERISK:
        case PLUSSIGN:
        case QUESTIONMARK:
        case NUMBERSIGN:
        case EXCLAMATIONMARK:
            // prohibited tokens (used as a multiplier start)
            break;

        case LEFTCURLYBRACKET:
            // LEFTCURLYBRACKET is allowed since mdn/data uses it w/o quoting
            // check next char isn't a number, because it's likely a disjoined multiplier
            code = tokenizer.nextCharCode();

            if (code < 48 || code > 57) {
                return maybeToken(tokenizer);
            }

            break;

        default:
            return maybeToken(tokenizer);
    }
}

function parse(source) {
    var tokenizer = new Tokenizer(source);
    var result = readImplicitGroup(tokenizer);

    if (tokenizer.pos !== source.length) {
        tokenizer.error('Unexpected input');
    }

    // reduce redundant groups with single group term
    if (result.terms.length === 1 && result.terms[0].type === 'Group') {
        result = result.terms[0];
    }

    return result;
}

// warm up parse to elimitate code branches that never execute
// fix soft deoptimizations (insufficient type feedback)
parse('[a&&<b>#|<\'c\'>*||e() f{2} /,(% g#{1,2} h{2,})]!');

module.exports = parse;


/***/ }),

/***/ 77377:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var SyntaxError = __nccwpck_require__(5929);

var TAB = 9;
var N = 10;
var F = 12;
var R = 13;
var SPACE = 32;

var Tokenizer = function(str) {
    this.str = str;
    this.pos = 0;
};

Tokenizer.prototype = {
    charCodeAt: function(pos) {
        return pos < this.str.length ? this.str.charCodeAt(pos) : 0;
    },
    charCode: function() {
        return this.charCodeAt(this.pos);
    },
    nextCharCode: function() {
        return this.charCodeAt(this.pos + 1);
    },
    nextNonWsCode: function(pos) {
        return this.charCodeAt(this.findWsEnd(pos));
    },
    findWsEnd: function(pos) {
        for (; pos < this.str.length; pos++) {
            var code = this.str.charCodeAt(pos);
            if (code !== R && code !== N && code !== F && code !== SPACE && code !== TAB) {
                break;
            }
        }

        return pos;
    },
    substringToPos: function(end) {
        return this.str.substring(this.pos, this.pos = end);
    },
    eat: function(code) {
        if (this.charCode() !== code) {
            this.error('Expect `' + String.fromCharCode(code) + '`');
        }

        this.pos++;
    },
    peek: function() {
        return this.pos < this.str.length ? this.str.charAt(this.pos++) : '';
    },
    error: function(message) {
        throw new SyntaxError(message, this.str, this.pos);
    }
};

module.exports = Tokenizer;


/***/ }),

/***/ 62692:
/***/ ((module) => {

var noop = function() {};

function ensureFunction(value) {
    return typeof value === 'function' ? value : noop;
}

module.exports = function(node, options, context) {
    function walk(node) {
        enter.call(context, node);

        switch (node.type) {
            case 'Group':
                node.terms.forEach(walk);
                break;

            case 'Multiplier':
                walk(node.term);
                break;

            case 'Type':
            case 'Property':
            case 'Keyword':
            case 'AtKeyword':
            case 'Function':
            case 'String':
            case 'Token':
            case 'Comma':
                break;

            default:
                throw new Error('Unknown type: ' + node.type);
        }

        leave.call(context, node);
    }

    var enter = noop;
    var leave = noop;

    if (typeof options === 'function') {
        enter = options;
    } else if (options) {
        enter = ensureFunction(options.enter);
        leave = ensureFunction(options.leave);
    }

    if (enter === noop && leave === noop) {
        throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function');
    }

    walk(node, context);
};


/***/ }),

/***/ 37703:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var sourceMap = __nccwpck_require__(68345);
var hasOwnProperty = Object.prototype.hasOwnProperty;

function processChildren(node, delimeter) {
    var list = node.children;
    var prev = null;

    if (typeof delimeter !== 'function') {
        list.forEach(this.node, this);
    } else {
        list.forEach(function(node) {
            if (prev !== null) {
                delimeter.call(this, prev);
            }

            this.node(node);
            prev = node;
        }, this);
    }
}

module.exports = function createGenerator(config) {
    function processNode(node) {
        if (hasOwnProperty.call(types, node.type)) {
            types[node.type].call(this, node);
        } else {
            throw new Error('Unknown node type: ' + node.type);
        }
    }

    var types = {};

    if (config.node) {
        for (var name in config.node) {
            types[name] = config.node[name].generate;
        }
    }

    return function(node, options) {
        var buffer = '';
        var handlers = {
            children: processChildren,
            node: processNode,
            chunk: function(chunk) {
                buffer += chunk;
            },
            result: function() {
                return buffer;
            }
        };

        if (options) {
            if (typeof options.decorator === 'function') {
                handlers = options.decorator(handlers);
            }

            if (options.sourceMap) {
                handlers = sourceMap(handlers);
            }
        }

        handlers.node(node);

        return handlers.result();
    };
};


/***/ }),

/***/ 68345:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var SourceMapGenerator = __nccwpck_require__(66558)/* .SourceMapGenerator */ .h;
var trackNodes = {
    Atrule: true,
    Selector: true,
    Declaration: true
};

module.exports = function generateSourceMap(handlers) {
    var map = new SourceMapGenerator();
    var line = 1;
    var column = 0;
    var generated = {
        line: 1,
        column: 0
    };
    var original = {
        line: 0, // should be zero to add first mapping
        column: 0
    };
    var sourceMappingActive = false;
    var activatedGenerated = {
        line: 1,
        column: 0
    };
    var activatedMapping = {
        generated: activatedGenerated
    };

    var handlersNode = handlers.node;
    handlers.node = function(node) {
        if (node.loc && node.loc.start && trackNodes.hasOwnProperty(node.type)) {
            var nodeLine = node.loc.start.line;
            var nodeColumn = node.loc.start.column - 1;

            if (original.line !== nodeLine ||
                original.column !== nodeColumn) {
                original.line = nodeLine;
                original.column = nodeColumn;

                generated.line = line;
                generated.column = column;

                if (sourceMappingActive) {
                    sourceMappingActive = false;
                    if (generated.line !== activatedGenerated.line ||
                        generated.column !== activatedGenerated.column) {
                        map.addMapping(activatedMapping);
                    }
                }

                sourceMappingActive = true;
                map.addMapping({
                    source: node.loc.source,
                    original: original,
                    generated: generated
                });
            }
        }

        handlersNode.call(this, node);

        if (sourceMappingActive && trackNodes.hasOwnProperty(node.type)) {
            activatedGenerated.line = line;
            activatedGenerated.column = column;
        }
    };

    var handlersChunk = handlers.chunk;
    handlers.chunk = function(chunk) {
        for (var i = 0; i < chunk.length; i++) {
            if (chunk.charCodeAt(i) === 10) { // \n
                line++;
                column = 0;
            } else {
                column++;
            }
        }

        handlersChunk(chunk);
    };

    var handlersResult = handlers.result;
    handlers.result = function() {
        if (sourceMappingActive) {
            map.addMapping(activatedMapping);
        }

        return {
            css: handlersResult(),
            map: map
        };
    };

    return handlers;
};


/***/ }),

/***/ 65035:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(40469);


/***/ }),

/***/ 77906:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var SyntaxReferenceError = __nccwpck_require__(83974).SyntaxReferenceError;
var SyntaxMatchError = __nccwpck_require__(83974).SyntaxMatchError;
var names = __nccwpck_require__(87602);
var generic = __nccwpck_require__(20452);
var parse = __nccwpck_require__(50362);
var generate = __nccwpck_require__(79590);
var walk = __nccwpck_require__(62692);
var prepareTokens = __nccwpck_require__(81595);
var buildMatchGraph = __nccwpck_require__(79987).buildMatchGraph;
var matchAsTree = __nccwpck_require__(22092).matchAsTree;
var trace = __nccwpck_require__(78078);
var search = __nccwpck_require__(33036);
var getStructureFromConfig = __nccwpck_require__(20846).getStructureFromConfig;
var cssWideKeywords = buildMatchGraph('inherit | initial | unset');
var cssWideKeywordsWithExpression = buildMatchGraph('inherit | initial | unset | <-ms-legacy-expression>');

function dumpMapSyntax(map, compact, syntaxAsAst) {
    var result = {};

    for (var name in map) {
        if (map[name].syntax) {
            result[name] = syntaxAsAst
                ? map[name].syntax
                : generate(map[name].syntax, { compact: compact });
        }
    }

    return result;
}

function dumpAtruleMapSyntax(map, compact, syntaxAsAst) {
    const result = {};

    for (const [name, atrule] of Object.entries(map)) {
        result[name] = {
            prelude: atrule.prelude && (
                syntaxAsAst
                    ? atrule.prelude.syntax
                    : generate(atrule.prelude.syntax, { compact })
            ),
            descriptors: atrule.descriptors && dumpMapSyntax(atrule.descriptors, compact, syntaxAsAst)
        };
    }

    return result;
}

function valueHasVar(tokens) {
    for (var i = 0; i < tokens.length; i++) {
        if (tokens[i].value.toLowerCase() === 'var(') {
            return true;
        }
    }

    return false;
}

function buildMatchResult(match, error, iterations) {
    return {
        matched: match,
        iterations: iterations,
        error: error,
        getTrace: trace.getTrace,
        isType: trace.isType,
        isProperty: trace.isProperty,
        isKeyword: trace.isKeyword
    };
}

function matchSyntax(lexer, syntax, value, useCommon) {
    var tokens = prepareTokens(value, lexer.syntax);
    var result;

    if (valueHasVar(tokens)) {
        return buildMatchResult(null, new Error('Matching for a tree with var() is not supported'));
    }

    if (useCommon) {
        result = matchAsTree(tokens, lexer.valueCommonSyntax, lexer);
    }

    if (!useCommon || !result.match) {
        result = matchAsTree(tokens, syntax.match, lexer);
        if (!result.match) {
            return buildMatchResult(
                null,
                new SyntaxMatchError(result.reason, syntax.syntax, value, result),
                result.iterations
            );
        }
    }

    return buildMatchResult(result.match, null, result.iterations);
}

var Lexer = function(config, syntax, structure) {
    this.valueCommonSyntax = cssWideKeywords;
    this.syntax = syntax;
    this.generic = false;
    this.atrules = {};
    this.properties = {};
    this.types = {};
    this.structure = structure || getStructureFromConfig(config);

    if (config) {
        if (config.types) {
            for (var name in config.types) {
                this.addType_(name, config.types[name]);
            }
        }

        if (config.generic) {
            this.generic = true;
            for (var name in generic) {
                this.addType_(name, generic[name]);
            }
        }

        if (config.atrules) {
            for (var name in config.atrules) {
                this.addAtrule_(name, config.atrules[name]);
            }
        }

        if (config.properties) {
            for (var name in config.properties) {
                this.addProperty_(name, config.properties[name]);
            }
        }
    }
};

Lexer.prototype = {
    structure: {},
    checkStructure: function(ast) {
        function collectWarning(node, message) {
            warns.push({
                node: node,
                message: message
            });
        }

        var structure = this.structure;
        var warns = [];

        this.syntax.walk(ast, function(node) {
            if (structure.hasOwnProperty(node.type)) {
                structure[node.type].check(node, collectWarning);
            } else {
                collectWarning(node, 'Unknown node type `' + node.type + '`');
            }
        });

        return warns.length ? warns : false;
    },

    createDescriptor: function(syntax, type, name, parent = null) {
        var ref = {
            type: type,
            name: name
        };
        var descriptor = {
            type: type,
            name: name,
            parent: parent,
            syntax: null,
            match: null
        };

        if (typeof syntax === 'function') {
            descriptor.match = buildMatchGraph(syntax, ref);
        } else {
            if (typeof syntax === 'string') {
                // lazy parsing on first access
                Object.defineProperty(descriptor, 'syntax', {
                    get: function() {
                        Object.defineProperty(descriptor, 'syntax', {
                            value: parse(syntax)
                        });

                        return descriptor.syntax;
                    }
                });
            } else {
                descriptor.syntax = syntax;
            }

            // lazy graph build on first access
            Object.defineProperty(descriptor, 'match', {
                get: function() {
                    Object.defineProperty(descriptor, 'match', {
                        value: buildMatchGraph(descriptor.syntax, ref)
                    });

                    return descriptor.match;
                }
            });
        }

        return descriptor;
    },
    addAtrule_: function(name, syntax) {
        if (!syntax) {
            return;
        }

        this.atrules[name] = {
            type: 'Atrule',
            name: name,
            prelude: syntax.prelude ? this.createDescriptor(syntax.prelude, 'AtrulePrelude', name) : null,
            descriptors: syntax.descriptors
                ? Object.keys(syntax.descriptors).reduce((res, descName) => {
                    res[descName] = this.createDescriptor(syntax.descriptors[descName], 'AtruleDescriptor', descName, name);
                    return res;
                }, {})
                : null
        };
    },
    addProperty_: function(name, syntax) {
        if (!syntax) {
            return;
        }

        this.properties[name] = this.createDescriptor(syntax, 'Property', name);
    },
    addType_: function(name, syntax) {
        if (!syntax) {
            return;
        }

        this.types[name] = this.createDescriptor(syntax, 'Type', name);

        if (syntax === generic['-ms-legacy-expression']) {
            this.valueCommonSyntax = cssWideKeywordsWithExpression;
        }
    },

    checkAtruleName: function(atruleName) {
        if (!this.getAtrule(atruleName)) {
            return new SyntaxReferenceError('Unknown at-rule', '@' + atruleName);
        }
    },
    checkAtrulePrelude: function(atruleName, prelude) {
        let error = this.checkAtruleName(atruleName);

        if (error) {
            return error;
        }

        var atrule = this.getAtrule(atruleName);

        if (!atrule.prelude && prelude) {
            return new SyntaxError('At-rule `@' + atruleName + '` should not contain a prelude');
        }

        if (atrule.prelude && !prelude) {
            return new SyntaxError('At-rule `@' + atruleName + '` should contain a prelude');
        }
    },
    checkAtruleDescriptorName: function(atruleName, descriptorName) {
        let error = this.checkAtruleName(atruleName);

        if (error) {
            return error;
        }

        var atrule = this.getAtrule(atruleName);
        var descriptor = names.keyword(descriptorName);

        if (!atrule.descriptors) {
            return new SyntaxError('At-rule `@' + atruleName + '` has no known descriptors');
        }

        if (!atrule.descriptors[descriptor.name] &&
            !atrule.descriptors[descriptor.basename]) {
            return new SyntaxReferenceError('Unknown at-rule descriptor', descriptorName);
        }
    },
    checkPropertyName: function(propertyName) {
        var property = names.property(propertyName);

        // don't match syntax for a custom property
        if (property.custom) {
            return new Error('Lexer matching doesn\'t applicable for custom properties');
        }

        if (!this.getProperty(propertyName)) {
            return new SyntaxReferenceError('Unknown property', propertyName);
        }
    },

    matchAtrulePrelude: function(atruleName, prelude) {
        var error = this.checkAtrulePrelude(atruleName, prelude);

        if (error) {
            return buildMatchResult(null, error);
        }

        if (!prelude) {
            return buildMatchResult(null, null);
        }

        return matchSyntax(this, this.getAtrule(atruleName).prelude, prelude, false);
    },
    matchAtruleDescriptor: function(atruleName, descriptorName, value) {
        var error = this.checkAtruleDescriptorName(atruleName, descriptorName);

        if (error) {
            return buildMatchResult(null, error);
        }

        var atrule = this.getAtrule(atruleName);
        var descriptor = names.keyword(descriptorName);

        return matchSyntax(this, atrule.descriptors[descriptor.name] || atrule.descriptors[descriptor.basename], value, false);
    },
    matchDeclaration: function(node) {
        if (node.type !== 'Declaration') {
            return buildMatchResult(null, new Error('Not a Declaration node'));
        }

        return this.matchProperty(node.property, node.value);
    },
    matchProperty: function(propertyName, value) {
        var error = this.checkPropertyName(propertyName);

        if (error) {
            return buildMatchResult(null, error);
        }

        return matchSyntax(this, this.getProperty(propertyName), value, true);
    },
    matchType: function(typeName, value) {
        var typeSyntax = this.getType(typeName);

        if (!typeSyntax) {
            return buildMatchResult(null, new SyntaxReferenceError('Unknown type', typeName));
        }

        return matchSyntax(this, typeSyntax, value, false);
    },
    match: function(syntax, value) {
        if (typeof syntax !== 'string' && (!syntax || !syntax.type)) {
            return buildMatchResult(null, new SyntaxReferenceError('Bad syntax'));
        }

        if (typeof syntax === 'string' || !syntax.match) {
            syntax = this.createDescriptor(syntax, 'Type', 'anonymous');
        }

        return matchSyntax(this, syntax, value, false);
    },

    findValueFragments: function(propertyName, value, type, name) {
        return search.matchFragments(this, value, this.matchProperty(propertyName, value), type, name);
    },
    findDeclarationValueFragments: function(declaration, type, name) {
        return search.matchFragments(this, declaration.value, this.matchDeclaration(declaration), type, name);
    },
    findAllFragments: function(ast, type, name) {
        var result = [];

        this.syntax.walk(ast, {
            visit: 'Declaration',
            enter: function(declaration) {
                result.push.apply(result, this.findDeclarationValueFragments(declaration, type, name));
            }.bind(this)
        });

        return result;
    },

    getAtrule: function(atruleName, fallbackBasename = true) {
        var atrule = names.keyword(atruleName);
        var atruleEntry = atrule.vendor && fallbackBasename
            ? this.atrules[atrule.name] || this.atrules[atrule.basename]
            : this.atrules[atrule.name];

        return atruleEntry || null;
    },
    getAtrulePrelude: function(atruleName, fallbackBasename = true) {
        const atrule = this.getAtrule(atruleName, fallbackBasename);

        return atrule && atrule.prelude || null;
    },
    getAtruleDescriptor: function(atruleName, name) {
        return this.atrules.hasOwnProperty(atruleName) && this.atrules.declarators
            ? this.atrules[atruleName].declarators[name] || null
            : null;
    },
    getProperty: function(propertyName, fallbackBasename = true) {
        var property = names.property(propertyName);
        var propertyEntry = property.vendor && fallbackBasename
            ? this.properties[property.name] || this.properties[property.basename]
            : this.properties[property.name];

        return propertyEntry || null;
    },
    getType: function(name) {
        return this.types.hasOwnProperty(name) ? this.types[name] : null;
    },

    validate: function() {
        function validate(syntax, name, broken, descriptor) {
            if (broken.hasOwnProperty(name)) {
                return broken[name];
            }

            broken[name] = false;
            if (descriptor.syntax !== null) {
                walk(descriptor.syntax, function(node) {
                    if (node.type !== 'Type' && node.type !== 'Property') {
                        return;
                    }

                    var map = node.type === 'Type' ? syntax.types : syntax.properties;
                    var brokenMap = node.type === 'Type' ? brokenTypes : brokenProperties;

                    if (!map.hasOwnProperty(node.name) || validate(syntax, node.name, brokenMap, map[node.name])) {
                        broken[name] = true;
                    }
                }, this);
            }
        }

        var brokenTypes = {};
        var brokenProperties = {};

        for (var key in this.types) {
            validate(this, key, brokenTypes, this.types[key]);
        }

        for (var key in this.properties) {
            validate(this, key, brokenProperties, this.properties[key]);
        }

        brokenTypes = Object.keys(brokenTypes).filter(function(name) {
            return brokenTypes[name];
        });
        brokenProperties = Object.keys(brokenProperties).filter(function(name) {
            return brokenProperties[name];
        });

        if (brokenTypes.length || brokenProperties.length) {
            return {
                types: brokenTypes,
                properties: brokenProperties
            };
        }

        return null;
    },
    dump: function(syntaxAsAst, pretty) {
        return {
            generic: this.generic,
            types: dumpMapSyntax(this.types, !pretty, syntaxAsAst),
            properties: dumpMapSyntax(this.properties, !pretty, syntaxAsAst),
            atrules: dumpAtruleMapSyntax(this.atrules, !pretty, syntaxAsAst)
        };
    },
    toString: function() {
        return JSON.stringify(this.dump());
    }
};

module.exports = Lexer;


/***/ }),

/***/ 83974:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const createCustomError = __nccwpck_require__(20195);
const generate = __nccwpck_require__(79590);
const defaultLoc = { offset: 0, line: 1, column: 1 };

function locateMismatch(matchResult, node) {
    const tokens = matchResult.tokens;
    const longestMatch = matchResult.longestMatch;
    const mismatchNode = longestMatch < tokens.length ? tokens[longestMatch].node || null : null;
    const badNode = mismatchNode !== node ? mismatchNode : null;
    let mismatchOffset = 0;
    let mismatchLength = 0;
    let entries = 0;
    let css = '';
    let start;
    let end;

    for (let i = 0; i < tokens.length; i++) {
        const token = tokens[i].value;

        if (i === longestMatch) {
            mismatchLength = token.length;
            mismatchOffset = css.length;
        }

        if (badNode !== null && tokens[i].node === badNode) {
            if (i <= longestMatch) {
                entries++;
            } else {
                entries = 0;
            }
        }

        css += token;
    }

    if (longestMatch === tokens.length || entries > 1) { // last
        start = fromLoc(badNode || node, 'end') || buildLoc(defaultLoc, css);
        end = buildLoc(start);
    } else {
        start = fromLoc(badNode, 'start') ||
            buildLoc(fromLoc(node, 'start') || defaultLoc, css.slice(0, mismatchOffset));
        end = fromLoc(badNode, 'end') ||
            buildLoc(start, css.substr(mismatchOffset, mismatchLength));
    }

    return {
        css,
        mismatchOffset,
        mismatchLength,
        start,
        end
    };
}

function fromLoc(node, point) {
    const value = node && node.loc && node.loc[point];

    if (value) {
        return 'line' in value ? buildLoc(value) : value;
    }

    return null;
}

function buildLoc({ offset, line, column }, extra) {
    const loc = {
        offset,
        line,
        column
    };

    if (extra) {
        const lines = extra.split(/\n|\r\n?|\f/);

        loc.offset += extra.length;
        loc.line += lines.length - 1;
        loc.column = lines.length === 1 ? loc.column + extra.length : lines.pop().length + 1;
    }

    return loc;
}

const SyntaxReferenceError = function(type, referenceName) {
    const error = createCustomError(
        'SyntaxReferenceError',
        type + (referenceName ? ' `' + referenceName + '`' : '')
    );

    error.reference = referenceName;

    return error;
};

const SyntaxMatchError = function(message, syntax, node, matchResult) {
    const error = createCustomError('SyntaxMatchError', message);
    const {
        css,
        mismatchOffset,
        mismatchLength,
        start,
        end
    } = locateMismatch(matchResult, node);

    error.rawMessage = message;
    error.syntax = syntax ? generate(syntax) : '<generic>';
    error.css = css;
    error.mismatchOffset = mismatchOffset;
    error.mismatchLength = mismatchLength;
    error.message = message + '\n' +
        '  syntax: ' + error.syntax + '\n' +
        '   value: ' + (css || '<empty string>') + '\n' +
        '  --------' + new Array(error.mismatchOffset + 1).join('-') + '^';

    Object.assign(error, start);
    error.loc = {
        source: (node && node.loc && node.loc.source) || '<unknown>',
        start,
        end
    };

    return error;
};

module.exports = {
    SyntaxReferenceError,
    SyntaxMatchError
};


/***/ }),

/***/ 45220:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var isDigit = __nccwpck_require__(69549).isDigit;
var cmpChar = __nccwpck_require__(69549).cmpChar;
var TYPE = __nccwpck_require__(69549).TYPE;

var DELIM = TYPE.Delim;
var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var IDENT = TYPE.Ident;
var NUMBER = TYPE.Number;
var DIMENSION = TYPE.Dimension;
var PLUSSIGN = 0x002B;    // U+002B PLUS SIGN (+)
var HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-)
var N = 0x006E;           // U+006E LATIN SMALL LETTER N (n)
var DISALLOW_SIGN = true;
var ALLOW_SIGN = false;

function isDelim(token, code) {
    return token !== null && token.type === DELIM && token.value.charCodeAt(0) === code;
}

function skipSC(token, offset, getNextToken) {
    while (token !== null && (token.type === WHITESPACE || token.type === COMMENT)) {
        token = getNextToken(++offset);
    }

    return offset;
}

function checkInteger(token, valueOffset, disallowSign, offset) {
    if (!token) {
        return 0;
    }

    var code = token.value.charCodeAt(valueOffset);

    if (code === PLUSSIGN || code === HYPHENMINUS) {
        if (disallowSign) {
            // Number sign is not allowed
            return 0;
        }
        valueOffset++;
    }

    for (; valueOffset < token.value.length; valueOffset++) {
        if (!isDigit(token.value.charCodeAt(valueOffset))) {
            // Integer is expected
            return 0;
        }
    }

    return offset + 1;
}

// ... <signed-integer>
// ... ['+' | '-'] <signless-integer>
function consumeB(token, offset_, getNextToken) {
    var sign = false;
    var offset = skipSC(token, offset_, getNextToken);

    token = getNextToken(offset);

    if (token === null) {
        return offset_;
    }

    if (token.type !== NUMBER) {
        if (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS)) {
            sign = true;
            offset = skipSC(getNextToken(++offset), offset, getNextToken);
            token = getNextToken(offset);

            if (token === null && token.type !== NUMBER) {
                return 0;
            }
        } else {
            return offset_;
        }
    }

    if (!sign) {
        var code = token.value.charCodeAt(0);
        if (code !== PLUSSIGN && code !== HYPHENMINUS) {
            // Number sign is expected
            return 0;
        }
    }

    return checkInteger(token, sign ? 0 : 1, sign, offset);
}

// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb
module.exports = function anPlusB(token, getNextToken) {
    /* eslint-disable brace-style*/
    var offset = 0;

    if (!token) {
        return 0;
    }

    // <integer>
    if (token.type === NUMBER) {
        return checkInteger(token, 0, ALLOW_SIGN, offset); // b
    }

    // -n
    // -n <signed-integer>
    // -n ['+' | '-'] <signless-integer>
    // -n- <signless-integer>
    // <dashndashdigit-ident>
    else if (token.type === IDENT && token.value.charCodeAt(0) === HYPHENMINUS) {
        // expect 1st char is N
        if (!cmpChar(token.value, 1, N)) {
            return 0;
        }

        switch (token.value.length) {
            // -n
            // -n <signed-integer>
            // -n ['+' | '-'] <signless-integer>
            case 2:
                return consumeB(getNextToken(++offset), offset, getNextToken);

            // -n- <signless-integer>
            case 3:
                if (token.value.charCodeAt(2) !== HYPHENMINUS) {
                    return 0;
                }

                offset = skipSC(getNextToken(++offset), offset, getNextToken);
                token = getNextToken(offset);

                return checkInteger(token, 0, DISALLOW_SIGN, offset);

            // <dashndashdigit-ident>
            default:
                if (token.value.charCodeAt(2) !== HYPHENMINUS) {
                    return 0;
                }

                return checkInteger(token, 3, DISALLOW_SIGN, offset);
        }
    }

    // '+'? n
    // '+'? n <signed-integer>
    // '+'? n ['+' | '-'] <signless-integer>
    // '+'? n- <signless-integer>
    // '+'? <ndashdigit-ident>
    else if (token.type === IDENT || (isDelim(token, PLUSSIGN) && getNextToken(offset + 1).type === IDENT)) {
        // just ignore a plus
        if (token.type !== IDENT) {
            token = getNextToken(++offset);
        }

        if (token === null || !cmpChar(token.value, 0, N)) {
            return 0;
        }

        switch (token.value.length) {
            // '+'? n
            // '+'? n <signed-integer>
            // '+'? n ['+' | '-'] <signless-integer>
            case 1:
                return consumeB(getNextToken(++offset), offset, getNextToken);

            // '+'? n- <signless-integer>
            case 2:
                if (token.value.charCodeAt(1) !== HYPHENMINUS) {
                    return 0;
                }

                offset = skipSC(getNextToken(++offset), offset, getNextToken);
                token = getNextToken(offset);

                return checkInteger(token, 0, DISALLOW_SIGN, offset);

            // '+'? <ndashdigit-ident>
            default:
                if (token.value.charCodeAt(1) !== HYPHENMINUS) {
                    return 0;
                }

                return checkInteger(token, 2, DISALLOW_SIGN, offset);
        }
    }

    // <ndashdigit-dimension>
    // <ndash-dimension> <signless-integer>
    // <n-dimension>
    // <n-dimension> <signed-integer>
    // <n-dimension> ['+' | '-'] <signless-integer>
    else if (token.type === DIMENSION) {
        var code = token.value.charCodeAt(0);
        var sign = code === PLUSSIGN || code === HYPHENMINUS ? 1 : 0;

        for (var i = sign; i < token.value.length; i++) {
            if (!isDigit(token.value.charCodeAt(i))) {
                break;
            }
        }

        if (i === sign) {
            // Integer is expected
            return 0;
        }

        if (!cmpChar(token.value, i, N)) {
            return 0;
        }

        // <n-dimension>
        // <n-dimension> <signed-integer>
        // <n-dimension> ['+' | '-'] <signless-integer>
        if (i + 1 === token.value.length) {
            return consumeB(getNextToken(++offset), offset, getNextToken);
        } else {
            if (token.value.charCodeAt(i + 1) !== HYPHENMINUS) {
                return 0;
            }

            // <ndash-dimension> <signless-integer>
            if (i + 2 === token.value.length) {
                offset = skipSC(getNextToken(++offset), offset, getNextToken);
                token = getNextToken(offset);

                return checkInteger(token, 0, DISALLOW_SIGN, offset);
            }
            // <ndashdigit-dimension>
            else {
                return checkInteger(token, i + 2, DISALLOW_SIGN, offset);
            }
        }
    }

    return 0;
};


/***/ }),

/***/ 48752:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var isHexDigit = __nccwpck_require__(69549).isHexDigit;
var cmpChar = __nccwpck_require__(69549).cmpChar;
var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var DELIM = TYPE.Delim;
var NUMBER = TYPE.Number;
var DIMENSION = TYPE.Dimension;
var PLUSSIGN = 0x002B;     // U+002B PLUS SIGN (+)
var HYPHENMINUS = 0x002D;  // U+002D HYPHEN-MINUS (-)
var QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?)
var U = 0x0075;            // U+0075 LATIN SMALL LETTER U (u)

function isDelim(token, code) {
    return token !== null && token.type === DELIM && token.value.charCodeAt(0) === code;
}

function startsWith(token, code) {
    return token.value.charCodeAt(0) === code;
}

function hexSequence(token, offset, allowDash) {
    for (var pos = offset, hexlen = 0; pos < token.value.length; pos++) {
        var code = token.value.charCodeAt(pos);

        if (code === HYPHENMINUS && allowDash && hexlen !== 0) {
            if (hexSequence(token, offset + hexlen + 1, false) > 0) {
                return 6; // dissallow following question marks
            }

            return 0; // dash at the ending of a hex sequence is not allowed
        }

        if (!isHexDigit(code)) {
            return 0; // not a hex digit
        }

        if (++hexlen > 6) {
            return 0; // too many hex digits
        };
    }

    return hexlen;
}

function withQuestionMarkSequence(consumed, length, getNextToken) {
    if (!consumed) {
        return 0; // nothing consumed
    }

    while (isDelim(getNextToken(length), QUESTIONMARK)) {
        if (++consumed > 6) {
            return 0; // too many question marks
        }

        length++;
    }

    return length;
}

// https://drafts.csswg.org/css-syntax/#urange
// Informally, the <urange> production has three forms:
// U+0001
//      Defines a range consisting of a single code point, in this case the code point "1".
// U+0001-00ff
//      Defines a range of codepoints between the first and the second value, in this case
//      the range between "1" and "ff" (255 in decimal) inclusive.
// U+00??
//      Defines a range of codepoints where the "?" characters range over all hex digits,
//      in this case defining the same as the value U+0000-00ff.
// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit).
//
// <urange> =
//   u '+' <ident-token> '?'* |
//   u <dimension-token> '?'* |
//   u <number-token> '?'* |
//   u <number-token> <dimension-token> |
//   u <number-token> <number-token> |
//   u '+' '?'+
module.exports = function urange(token, getNextToken) {
    var length = 0;

    // should start with `u` or `U`
    if (token === null || token.type !== IDENT || !cmpChar(token.value, 0, U)) {
        return 0;
    }

    token = getNextToken(++length);
    if (token === null) {
        return 0;
    }

    // u '+' <ident-token> '?'*
    // u '+' '?'+
    if (isDelim(token, PLUSSIGN)) {
        token = getNextToken(++length);
        if (token === null) {
            return 0;
        }

        if (token.type === IDENT) {
            // u '+' <ident-token> '?'*
            return withQuestionMarkSequence(hexSequence(token, 0, true), ++length, getNextToken);
        }

        if (isDelim(token, QUESTIONMARK)) {
            // u '+' '?'+
            return withQuestionMarkSequence(1, ++length, getNextToken);
        }

        // Hex digit or question mark is expected
        return 0;
    }

    // u <number-token> '?'*
    // u <number-token> <dimension-token>
    // u <number-token> <number-token>
    if (token.type === NUMBER) {
        if (!startsWith(token, PLUSSIGN)) {
            return 0;
        }

        var consumedHexLength = hexSequence(token, 1, true);
        if (consumedHexLength === 0) {
            return 0;
        }

        token = getNextToken(++length);
        if (token === null) {
            // u <number-token> <eof>
            return length;
        }

        if (token.type === DIMENSION || token.type === NUMBER) {
            // u <number-token> <dimension-token>
            // u <number-token> <number-token>
            if (!startsWith(token, HYPHENMINUS) || !hexSequence(token, 1, false)) {
                return 0;
            }

            return length + 1;
        }

        // u <number-token> '?'*
        return withQuestionMarkSequence(consumedHexLength, length, getNextToken);
    }

    // u <dimension-token> '?'*
    if (token.type === DIMENSION) {
        if (!startsWith(token, PLUSSIGN)) {
            return 0;
        }

        return withQuestionMarkSequence(hexSequence(token, 1, true), ++length, getNextToken);
    }

    return 0;
};


/***/ }),

/***/ 20452:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var tokenizer = __nccwpck_require__(69549);
var isIdentifierStart = tokenizer.isIdentifierStart;
var isHexDigit = tokenizer.isHexDigit;
var isDigit = tokenizer.isDigit;
var cmpStr = tokenizer.cmpStr;
var consumeNumber = tokenizer.consumeNumber;
var TYPE = tokenizer.TYPE;
var anPlusB = __nccwpck_require__(45220);
var urange = __nccwpck_require__(48752);

var cssWideKeywords = ['unset', 'initial', 'inherit'];
var calcFunctionNames = ['calc(', '-moz-calc(', '-webkit-calc('];

// https://www.w3.org/TR/css-values-3/#lengths
var LENGTH = {
    // absolute length units
    'px': true,
    'mm': true,
    'cm': true,
    'in': true,
    'pt': true,
    'pc': true,
    'q': true,

    // relative length units
    'em': true,
    'ex': true,
    'ch': true,
    'rem': true,

    // viewport-percentage lengths
    'vh': true,
    'vw': true,
    'vmin': true,
    'vmax': true,
    'vm': true
};

var ANGLE = {
    'deg': true,
    'grad': true,
    'rad': true,
    'turn': true
};

var TIME = {
    's': true,
    'ms': true
};

var FREQUENCY = {
    'hz': true,
    'khz': true
};

// https://www.w3.org/TR/css-values-3/#resolution (https://drafts.csswg.org/css-values/#resolution)
var RESOLUTION = {
    'dpi': true,
    'dpcm': true,
    'dppx': true,
    'x': true      // https://github.com/w3c/csswg-drafts/issues/461
};

// https://drafts.csswg.org/css-grid/#fr-unit
var FLEX = {
    'fr': true
};

// https://www.w3.org/TR/css3-speech/#mixing-props-voice-volume
var DECIBEL = {
    'db': true
};

// https://www.w3.org/TR/css3-speech/#voice-props-voice-pitch
var SEMITONES = {
    'st': true
};

// safe char code getter
function charCode(str, index) {
    return index < str.length ? str.charCodeAt(index) : 0;
}

function eqStr(actual, expected) {
    return cmpStr(actual, 0, actual.length, expected);
}

function eqStrAny(actual, expected) {
    for (var i = 0; i < expected.length; i++) {
        if (eqStr(actual, expected[i])) {
            return true;
        }
    }

    return false;
}

// IE postfix hack, i.e. 123\0 or 123px\9
function isPostfixIeHack(str, offset) {
    if (offset !== str.length - 2) {
        return false;
    }

    return (
        str.charCodeAt(offset) === 0x005C &&  // U+005C REVERSE SOLIDUS (\)
        isDigit(str.charCodeAt(offset + 1))
    );
}

function outOfRange(opts, value, numEnd) {
    if (opts && opts.type === 'Range') {
        var num = Number(
            numEnd !== undefined && numEnd !== value.length
                ? value.substr(0, numEnd)
                : value
        );

        if (isNaN(num)) {
            return true;
        }

        if (opts.min !== null && num < opts.min) {
            return true;
        }

        if (opts.max !== null && num > opts.max) {
            return true;
        }
    }

    return false;
}

function consumeFunction(token, getNextToken) {
    var startIdx = token.index;
    var length = 0;

    // balanced token consuming
    do {
        length++;

        if (token.balance <= startIdx) {
            break;
        }
    } while (token = getNextToken(length));

    return length;
}

// TODO: implement
// can be used wherever <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> values are allowed
// https://drafts.csswg.org/css-values/#calc-notation
function calc(next) {
    return function(token, getNextToken, opts) {
        if (token === null) {
            return 0;
        }

        if (token.type === TYPE.Function && eqStrAny(token.value, calcFunctionNames)) {
            return consumeFunction(token, getNextToken);
        }

        return next(token, getNextToken, opts);
    };
}

function tokenType(expectedTokenType) {
    return function(token) {
        if (token === null || token.type !== expectedTokenType) {
            return 0;
        }

        return 1;
    };
}

function func(name) {
    name = name + '(';

    return function(token, getNextToken) {
        if (token !== null && eqStr(token.value, name)) {
            return consumeFunction(token, getNextToken);
        }

        return 0;
    };
}

// =========================
// Complex types
//

// https://drafts.csswg.org/css-values-4/#custom-idents
// 4.2. Author-defined Identifiers: the <custom-ident> type
// Some properties accept arbitrary author-defined identifiers as a component value.
// This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier
// that would not be misinterpreted as a pre-defined keyword in that property’s value definition.
//
// See also: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident
function customIdent(token) {
    if (token === null || token.type !== TYPE.Ident) {
        return 0;
    }

    var name = token.value.toLowerCase();

    // The CSS-wide keywords are not valid <custom-ident>s
    if (eqStrAny(name, cssWideKeywords)) {
        return 0;
    }

    // The default keyword is reserved and is also not a valid <custom-ident>
    if (eqStr(name, 'default')) {
        return 0;
    }

    // TODO: ignore property specific keywords (as described https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident)
    // Specifications using <custom-ident> must specify clearly what other keywords
    // are excluded from <custom-ident>, if any—for example by saying that any pre-defined keywords
    // in that property’s value definition are excluded. Excluded keywords are excluded
    // in all ASCII case permutations.

    return 1;
}

// https://drafts.csswg.org/css-variables/#typedef-custom-property-name
// A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo.
// The <custom-property-name> production corresponds to this: it’s defined as any valid identifier
// that starts with two dashes, except -- itself, which is reserved for future use by CSS.
// NOTE: Current implementation treat `--` as a valid name since most (all?) major browsers treat it as valid.
function customPropertyName(token) {
    // ... defined as any valid identifier
    if (token === null || token.type !== TYPE.Ident) {
        return 0;
    }

    // ... that starts with two dashes (U+002D HYPHEN-MINUS)
    if (charCode(token.value, 0) !== 0x002D || charCode(token.value, 1) !== 0x002D) {
        return 0;
    }

    return 1;
}

// https://drafts.csswg.org/css-color-4/#hex-notation
// The syntax of a <hex-color> is a <hash-token> token whose value consists of 3, 4, 6, or 8 hexadecimal digits.
// In other words, a hex color is written as a hash character, "#", followed by some number of digits 0-9 or
// letters a-f (the case of the letters doesn’t matter - #00ff00 is identical to #00FF00).
function hexColor(token) {
    if (token === null || token.type !== TYPE.Hash) {
        return 0;
    }

    var length = token.value.length;

    // valid values (length): #rgb (4), #rgba (5), #rrggbb (7), #rrggbbaa (9)
    if (length !== 4 && length !== 5 && length !== 7 && length !== 9) {
        return 0;
    }

    for (var i = 1; i < length; i++) {
        if (!isHexDigit(token.value.charCodeAt(i))) {
            return 0;
        }
    }

    return 1;
}

function idSelector(token) {
    if (token === null || token.type !== TYPE.Hash) {
        return 0;
    }

    if (!isIdentifierStart(charCode(token.value, 1), charCode(token.value, 2), charCode(token.value, 3))) {
        return 0;
    }

    return 1;
}

// https://drafts.csswg.org/css-syntax/#any-value
// It represents the entirety of what a valid declaration can have as its value.
function declarationValue(token, getNextToken) {
    if (!token) {
        return 0;
    }

    var length = 0;
    var level = 0;
    var startIdx = token.index;

    // The <declaration-value> production matches any sequence of one or more tokens,
    // so long as the sequence ...
    scan:
    do {
        switch (token.type) {
            // ... does not contain <bad-string-token>, <bad-url-token>,
            case TYPE.BadString:
            case TYPE.BadUrl:
                break scan;

            // ... unmatched <)-token>, <]-token>, or <}-token>,
            case TYPE.RightCurlyBracket:
            case TYPE.RightParenthesis:
            case TYPE.RightSquareBracket:
                if (token.balance > token.index || token.balance < startIdx) {
                    break scan;
                }

                level--;
                break;

            // ... or top-level <semicolon-token> tokens
            case TYPE.Semicolon:
                if (level === 0) {
                    break scan;
                }

                break;

            // ... or <delim-token> tokens with a value of "!"
            case TYPE.Delim:
                if (token.value === '!' && level === 0) {
                    break scan;
                }

                break;

            case TYPE.Function:
            case TYPE.LeftParenthesis:
            case TYPE.LeftSquareBracket:
            case TYPE.LeftCurlyBracket:
                level++;
                break;
        }

        length++;

        // until balance closing
        if (token.balance <= startIdx) {
            break;
        }
    } while (token = getNextToken(length));

    return length;
}

// https://drafts.csswg.org/css-syntax/#any-value
// The <any-value> production is identical to <declaration-value>, but also
// allows top-level <semicolon-token> tokens and <delim-token> tokens
// with a value of "!". It represents the entirety of what valid CSS can be in any context.
function anyValue(token, getNextToken) {
    if (!token) {
        return 0;
    }

    var startIdx = token.index;
    var length = 0;

    // The <any-value> production matches any sequence of one or more tokens,
    // so long as the sequence ...
    scan:
    do {
        switch (token.type) {
            // ... does not contain <bad-string-token>, <bad-url-token>,
            case TYPE.BadString:
            case TYPE.BadUrl:
                break scan;

            // ... unmatched <)-token>, <]-token>, or <}-token>,
            case TYPE.RightCurlyBracket:
            case TYPE.RightParenthesis:
            case TYPE.RightSquareBracket:
                if (token.balance > token.index || token.balance < startIdx) {
                    break scan;
                }

                break;
        }

        length++;

        // until balance closing
        if (token.balance <= startIdx) {
            break;
        }
    } while (token = getNextToken(length));

    return length;
}

// =========================
// Dimensions
//

function dimension(type) {
    return function(token, getNextToken, opts) {
        if (token === null || token.type !== TYPE.Dimension) {
            return 0;
        }

        var numberEnd = consumeNumber(token.value, 0);

        // check unit
        if (type !== null) {
            // check for IE postfix hack, i.e. 123px\0 or 123px\9
            var reverseSolidusOffset = token.value.indexOf('\\', numberEnd);
            var unit = reverseSolidusOffset === -1 || !isPostfixIeHack(token.value, reverseSolidusOffset)
                ? token.value.substr(numberEnd)
                : token.value.substring(numberEnd, reverseSolidusOffset);

            if (type.hasOwnProperty(unit.toLowerCase()) === false) {
                return 0;
            }
        }

        // check range if specified
        if (outOfRange(opts, token.value, numberEnd)) {
            return 0;
        }

        return 1;
    };
}

// =========================
// Percentage
//

// §5.5. Percentages: the <percentage> type
// https://drafts.csswg.org/css-values-4/#percentages
function percentage(token, getNextToken, opts) {
    // ... corresponds to the <percentage-token> production
    if (token === null || token.type !== TYPE.Percentage) {
        return 0;
    }

    // check range if specified
    if (outOfRange(opts, token.value, token.value.length - 1)) {
        return 0;
    }

    return 1;
}

// =========================
// Numeric
//

// https://drafts.csswg.org/css-values-4/#numbers
// The value <zero> represents a literal number with the value 0. Expressions that merely
// evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>;
// only literal <number-token>s do.
function zero(next) {
    if (typeof next !== 'function') {
        next = function() {
            return 0;
        };
    }

    return function(token, getNextToken, opts) {
        if (token !== null && token.type === TYPE.Number) {
            if (Number(token.value) === 0) {
                return 1;
            }
        }

        return next(token, getNextToken, opts);
    };
}

// § 5.3. Real Numbers: the <number> type
// https://drafts.csswg.org/css-values-4/#numbers
// Number values are denoted by <number>, and represent real numbers, possibly with a fractional component.
// ... It corresponds to the <number-token> production
function number(token, getNextToken, opts) {
    if (token === null) {
        return 0;
    }

    var numberEnd = consumeNumber(token.value, 0);
    var isNumber = numberEnd === token.value.length;
    if (!isNumber && !isPostfixIeHack(token.value, numberEnd)) {
        return 0;
    }

    // check range if specified
    if (outOfRange(opts, token.value, numberEnd)) {
        return 0;
    }

    return 1;
}

// §5.2. Integers: the <integer> type
// https://drafts.csswg.org/css-values-4/#integers
function integer(token, getNextToken, opts) {
    // ... corresponds to a subset of the <number-token> production
    if (token === null || token.type !== TYPE.Number) {
        return 0;
    }

    // The first digit of an integer may be immediately preceded by `-` or `+` to indicate the integer’s sign.
    var i = token.value.charCodeAt(0) === 0x002B ||       // U+002B PLUS SIGN (+)
            token.value.charCodeAt(0) === 0x002D ? 1 : 0; // U+002D HYPHEN-MINUS (-)

    // When written literally, an integer is one or more decimal digits 0 through 9 ...
    for (; i < token.value.length; i++) {
        if (!isDigit(token.value.charCodeAt(i))) {
            return 0;
        }
    }

    // check range if specified
    if (outOfRange(opts, token.value, i)) {
        return 0;
    }

    return 1;
}

module.exports = {
    // token types
    'ident-token': tokenType(TYPE.Ident),
    'function-token': tokenType(TYPE.Function),
    'at-keyword-token': tokenType(TYPE.AtKeyword),
    'hash-token': tokenType(TYPE.Hash),
    'string-token': tokenType(TYPE.String),
    'bad-string-token': tokenType(TYPE.BadString),
    'url-token': tokenType(TYPE.Url),
    'bad-url-token': tokenType(TYPE.BadUrl),
    'delim-token': tokenType(TYPE.Delim),
    'number-token': tokenType(TYPE.Number),
    'percentage-token': tokenType(TYPE.Percentage),
    'dimension-token': tokenType(TYPE.Dimension),
    'whitespace-token': tokenType(TYPE.WhiteSpace),
    'CDO-token': tokenType(TYPE.CDO),
    'CDC-token': tokenType(TYPE.CDC),
    'colon-token': tokenType(TYPE.Colon),
    'semicolon-token': tokenType(TYPE.Semicolon),
    'comma-token': tokenType(TYPE.Comma),
    '[-token': tokenType(TYPE.LeftSquareBracket),
    ']-token': tokenType(TYPE.RightSquareBracket),
    '(-token': tokenType(TYPE.LeftParenthesis),
    ')-token': tokenType(TYPE.RightParenthesis),
    '{-token': tokenType(TYPE.LeftCurlyBracket),
    '}-token': tokenType(TYPE.RightCurlyBracket),

    // token type aliases
    'string': tokenType(TYPE.String),
    'ident': tokenType(TYPE.Ident),

    // complex types
    'custom-ident': customIdent,
    'custom-property-name': customPropertyName,
    'hex-color': hexColor,
    'id-selector': idSelector, // element( <id-selector> )
    'an-plus-b': anPlusB,
    'urange': urange,
    'declaration-value': declarationValue,
    'any-value': anyValue,

    // dimensions
    'dimension': calc(dimension(null)),
    'angle': calc(dimension(ANGLE)),
    'decibel': calc(dimension(DECIBEL)),
    'frequency': calc(dimension(FREQUENCY)),
    'flex': calc(dimension(FLEX)),
    'length': calc(zero(dimension(LENGTH))),
    'resolution': calc(dimension(RESOLUTION)),
    'semitones': calc(dimension(SEMITONES)),
    'time': calc(dimension(TIME)),

    // percentage
    'percentage': calc(percentage),

    // numeric
    'zero': zero(),
    'number': calc(number),
    'integer': calc(integer),

    // old IE stuff
    '-ms-legacy-expression': func('expression')
};


/***/ }),

/***/ 79987:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var parse = __nccwpck_require__(50362);

var MATCH = { type: 'Match' };
var MISMATCH = { type: 'Mismatch' };
var DISALLOW_EMPTY = { type: 'DisallowEmpty' };
var LEFTPARENTHESIS = 40;  // (
var RIGHTPARENTHESIS = 41; // )

function createCondition(match, thenBranch, elseBranch) {
    // reduce node count
    if (thenBranch === MATCH && elseBranch === MISMATCH) {
        return match;
    }

    if (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) {
        return match;
    }

    if (match.type === 'If' && match.else === MISMATCH && thenBranch === MATCH) {
        thenBranch = match.then;
        match = match.match;
    }

    return {
        type: 'If',
        match: match,
        then: thenBranch,
        else: elseBranch
    };
}

function isFunctionType(name) {
    return (
        name.length > 2 &&
        name.charCodeAt(name.length - 2) === LEFTPARENTHESIS &&
        name.charCodeAt(name.length - 1) === RIGHTPARENTHESIS
    );
}

function isEnumCapatible(term) {
    return (
        term.type === 'Keyword' ||
        term.type === 'AtKeyword' ||
        term.type === 'Function' ||
        term.type === 'Type' && isFunctionType(term.name)
    );
}

function buildGroupMatchGraph(combinator, terms, atLeastOneTermMatched) {
    switch (combinator) {
        case ' ':
            // Juxtaposing components means that all of them must occur, in the given order.
            //
            // a b c
            // =
            // match a
            //   then match b
            //     then match c
            //       then MATCH
            //       else MISMATCH
            //     else MISMATCH
            //   else MISMATCH
            var result = MATCH;

            for (var i = terms.length - 1; i >= 0; i--) {
                var term = terms[i];

                result = createCondition(
                    term,
                    result,
                    MISMATCH
                );
            };

            return result;

        case '|':
            // A bar (|) separates two or more alternatives: exactly one of them must occur.
            //
            // a | b | c
            // =
            // match a
            //   then MATCH
            //   else match b
            //     then MATCH
            //     else match c
            //       then MATCH
            //       else MISMATCH

            var result = MISMATCH;
            var map = null;

            for (var i = terms.length - 1; i >= 0; i--) {
                var term = terms[i];

                // reduce sequence of keywords into a Enum
                if (isEnumCapatible(term)) {
                    if (map === null && i > 0 && isEnumCapatible(terms[i - 1])) {
                        map = Object.create(null);
                        result = createCondition(
                            {
                                type: 'Enum',
                                map: map
                            },
                            MATCH,
                            result
                        );
                    }

                    if (map !== null) {
                        var key = (isFunctionType(term.name) ? term.name.slice(0, -1) : term.name).toLowerCase();
                        if (key in map === false) {
                            map[key] = term;
                            continue;
                        }
                    }
                }

                map = null;

                // create a new conditonal node
                result = createCondition(
                    term,
                    MATCH,
                    result
                );
            };

            return result;

        case '&&':
            // A double ampersand (&&) separates two or more components,
            // all of which must occur, in any order.

            // Use MatchOnce for groups with a large number of terms,
            // since &&-groups produces at least N!-node trees
            if (terms.length > 5) {
                return {
                    type: 'MatchOnce',
                    terms: terms,
                    all: true
                };
            }

            // Use a combination tree for groups with small number of terms
            //
            // a && b && c
            // =
            // match a
            //   then [b && c]
            //   else match b
            //     then [a && c]
            //     else match c
            //       then [a && b]
            //       else MISMATCH
            //
            // a && b
            // =
            // match a
            //   then match b
            //     then MATCH
            //     else MISMATCH
            //   else match b
            //     then match a
            //       then MATCH
            //       else MISMATCH
            //     else MISMATCH
            var result = MISMATCH;

            for (var i = terms.length - 1; i >= 0; i--) {
                var term = terms[i];
                var thenClause;

                if (terms.length > 1) {
                    thenClause = buildGroupMatchGraph(
                        combinator,
                        terms.filter(function(newGroupTerm) {
                            return newGroupTerm !== term;
                        }),
                        false
                    );
                } else {
                    thenClause = MATCH;
                }

                result = createCondition(
                    term,
                    thenClause,
                    result
                );
            };

            return result;

        case '||':
            // A double bar (||) separates two or more options:
            // one or more of them must occur, in any order.

            // Use MatchOnce for groups with a large number of terms,
            // since ||-groups produces at least N!-node trees
            if (terms.length > 5) {
                return {
                    type: 'MatchOnce',
                    terms: terms,
                    all: false
                };
            }

            // Use a combination tree for groups with small number of terms
            //
            // a || b || c
            // =
            // match a
            //   then [b || c]
            //   else match b
            //     then [a || c]
            //     else match c
            //       then [a || b]
            //       else MISMATCH
            //
            // a || b
            // =
            // match a
            //   then match b
            //     then MATCH
            //     else MATCH
            //   else match b
            //     then match a
            //       then MATCH
            //       else MATCH
            //     else MISMATCH
            var result = atLeastOneTermMatched ? MATCH : MISMATCH;

            for (var i = terms.length - 1; i >= 0; i--) {
                var term = terms[i];
                var thenClause;

                if (terms.length > 1) {
                    thenClause = buildGroupMatchGraph(
                        combinator,
                        terms.filter(function(newGroupTerm) {
                            return newGroupTerm !== term;
                        }),
                        true
                    );
                } else {
                    thenClause = MATCH;
                }

                result = createCondition(
                    term,
                    thenClause,
                    result
                );
            };

            return result;
    }
}

function buildMultiplierMatchGraph(node) {
    var result = MATCH;
    var matchTerm = buildMatchGraph(node.term);

    if (node.max === 0) {
        // disable repeating of empty match to prevent infinite loop
        matchTerm = createCondition(
            matchTerm,
            DISALLOW_EMPTY,
            MISMATCH
        );

        // an occurrence count is not limited, make a cycle;
        // to collect more terms on each following matching mismatch
        result = createCondition(
            matchTerm,
            null, // will be a loop
            MISMATCH
        );

        result.then = createCondition(
            MATCH,
            MATCH,
            result // make a loop
        );

        if (node.comma) {
            result.then.else = createCondition(
                { type: 'Comma', syntax: node },
                result,
                MISMATCH
            );
        }
    } else {
        // create a match node chain for [min .. max] interval with optional matches
        for (var i = node.min || 1; i <= node.max; i++) {
            if (node.comma && result !== MATCH) {
                result = createCondition(
                    { type: 'Comma', syntax: node },
                    result,
                    MISMATCH
                );
            }

            result = createCondition(
                matchTerm,
                createCondition(
                    MATCH,
                    MATCH,
                    result
                ),
                MISMATCH
            );
        }
    }

    if (node.min === 0) {
        // allow zero match
        result = createCondition(
            MATCH,
            MATCH,
            result
        );
    } else {
        // create a match node chain to collect [0 ... min - 1] required matches
        for (var i = 0; i < node.min - 1; i++) {
            if (node.comma && result !== MATCH) {
                result = createCondition(
                    { type: 'Comma', syntax: node },
                    result,
                    MISMATCH
                );
            }

            result = createCondition(
                matchTerm,
                result,
                MISMATCH
            );
        }
    }

    return result;
}

function buildMatchGraph(node) {
    if (typeof node === 'function') {
        return {
            type: 'Generic',
            fn: node
        };
    }

    switch (node.type) {
        case 'Group':
            var result = buildGroupMatchGraph(
                node.combinator,
                node.terms.map(buildMatchGraph),
                false
            );

            if (node.disallowEmpty) {
                result = createCondition(
                    result,
                    DISALLOW_EMPTY,
                    MISMATCH
                );
            }

            return result;

        case 'Multiplier':
            return buildMultiplierMatchGraph(node);

        case 'Type':
        case 'Property':
            return {
                type: node.type,
                name: node.name,
                syntax: node
            };

        case 'Keyword':
            return {
                type: node.type,
                name: node.name.toLowerCase(),
                syntax: node
            };

        case 'AtKeyword':
            return {
                type: node.type,
                name: '@' + node.name.toLowerCase(),
                syntax: node
            };

        case 'Function':
            return {
                type: node.type,
                name: node.name.toLowerCase() + '(',
                syntax: node
            };

        case 'String':
            // convert a one char length String to a Token
            if (node.value.length === 3) {
                return {
                    type: 'Token',
                    value: node.value.charAt(1),
                    syntax: node
                };
            }

            // otherwise use it as is
            return {
                type: node.type,
                value: node.value.substr(1, node.value.length - 2).replace(/\\'/g, '\''),
                syntax: node
            };

        case 'Token':
            return {
                type: node.type,
                value: node.value,
                syntax: node
            };

        case 'Comma':
            return {
                type: node.type,
                syntax: node
            };

        default:
            throw new Error('Unknown node type:', node.type);
    }
}

module.exports = {
    MATCH: MATCH,
    MISMATCH: MISMATCH,
    DISALLOW_EMPTY: DISALLOW_EMPTY,
    buildMatchGraph: function(syntaxTree, ref) {
        if (typeof syntaxTree === 'string') {
            syntaxTree = parse(syntaxTree);
        }

        return {
            type: 'MatchGraph',
            match: buildMatchGraph(syntaxTree),
            syntax: ref || null,
            source: syntaxTree
        };
    }
};


/***/ }),

/***/ 22092:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var hasOwnProperty = Object.prototype.hasOwnProperty;
var matchGraph = __nccwpck_require__(79987);
var MATCH = matchGraph.MATCH;
var MISMATCH = matchGraph.MISMATCH;
var DISALLOW_EMPTY = matchGraph.DISALLOW_EMPTY;
var TYPE = __nccwpck_require__(62478).TYPE;

var STUB = 0;
var TOKEN = 1;
var OPEN_SYNTAX = 2;
var CLOSE_SYNTAX = 3;

var EXIT_REASON_MATCH = 'Match';
var EXIT_REASON_MISMATCH = 'Mismatch';
var EXIT_REASON_ITERATION_LIMIT = 'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)';

var ITERATION_LIMIT = 15000;
var totalIterationCount = 0;

function reverseList(list) {
    var prev = null;
    var next = null;
    var item = list;

    while (item !== null) {
        next = item.prev;
        item.prev = prev;
        prev = item;
        item = next;
    }

    return prev;
}

function areStringsEqualCaseInsensitive(testStr, referenceStr) {
    if (testStr.length !== referenceStr.length) {
        return false;
    }

    for (var i = 0; i < testStr.length; i++) {
        var testCode = testStr.charCodeAt(i);
        var referenceCode = referenceStr.charCodeAt(i);

        // testCode.toLowerCase() for U+0041 LATIN CAPITAL LETTER A (A) .. U+005A LATIN CAPITAL LETTER Z (Z).
        if (testCode >= 0x0041 && testCode <= 0x005A) {
            testCode = testCode | 32;
        }

        if (testCode !== referenceCode) {
            return false;
        }
    }

    return true;
}

function isContextEdgeDelim(token) {
    if (token.type !== TYPE.Delim) {
        return false;
    }

    // Fix matching for unicode-range: U+30??, U+FF00-FF9F
    // Probably we need to check out previous match instead
    return token.value !== '?';
}

function isCommaContextStart(token) {
    if (token === null) {
        return true;
    }

    return (
        token.type === TYPE.Comma ||
        token.type === TYPE.Function ||
        token.type === TYPE.LeftParenthesis ||
        token.type === TYPE.LeftSquareBracket ||
        token.type === TYPE.LeftCurlyBracket ||
        isContextEdgeDelim(token)
    );
}

function isCommaContextEnd(token) {
    if (token === null) {
        return true;
    }

    return (
        token.type === TYPE.RightParenthesis ||
        token.type === TYPE.RightSquareBracket ||
        token.type === TYPE.RightCurlyBracket ||
        token.type === TYPE.Delim
    );
}

function internalMatch(tokens, state, syntaxes) {
    function moveToNextToken() {
        do {
            tokenIndex++;
            token = tokenIndex < tokens.length ? tokens[tokenIndex] : null;
        } while (token !== null && (token.type === TYPE.WhiteSpace || token.type === TYPE.Comment));
    }

    function getNextToken(offset) {
        var nextIndex = tokenIndex + offset;

        return nextIndex < tokens.length ? tokens[nextIndex] : null;
    }

    function stateSnapshotFromSyntax(nextState, prev) {
        return {
            nextState: nextState,
            matchStack: matchStack,
            syntaxStack: syntaxStack,
            thenStack: thenStack,
            tokenIndex: tokenIndex,
            prev: prev
        };
    }

    function pushThenStack(nextState) {
        thenStack = {
            nextState: nextState,
            matchStack: matchStack,
            syntaxStack: syntaxStack,
            prev: thenStack
        };
    }

    function pushElseStack(nextState) {
        elseStack = stateSnapshotFromSyntax(nextState, elseStack);
    }

    function addTokenToMatch() {
        matchStack = {
            type: TOKEN,
            syntax: state.syntax,
            token: token,
            prev: matchStack
        };

        moveToNextToken();
        syntaxStash = null;

        if (tokenIndex > longestMatch) {
            longestMatch = tokenIndex;
        }
    }

    function openSyntax() {
        syntaxStack = {
            syntax: state.syntax,
            opts: state.syntax.opts || (syntaxStack !== null && syntaxStack.opts) || null,
            prev: syntaxStack
        };

        matchStack = {
            type: OPEN_SYNTAX,
            syntax: state.syntax,
            token: matchStack.token,
            prev: matchStack
        };
    }

    function closeSyntax() {
        if (matchStack.type === OPEN_SYNTAX) {
            matchStack = matchStack.prev;
        } else {
            matchStack = {
                type: CLOSE_SYNTAX,
                syntax: syntaxStack.syntax,
                token: matchStack.token,
                prev: matchStack
            };
        }

        syntaxStack = syntaxStack.prev;
    }

    var syntaxStack = null;
    var thenStack = null;
    var elseStack = null;

    // null – stashing allowed, nothing stashed
    // false – stashing disabled, nothing stashed
    // anithing else – fail stashable syntaxes, some syntax stashed
    var syntaxStash = null;

    var iterationCount = 0; // count iterations and prevent infinite loop
    var exitReason = null;

    var token = null;
    var tokenIndex = -1;
    var longestMatch = 0;
    var matchStack = {
        type: STUB,
        syntax: null,
        token: null,
        prev: null
    };

    moveToNextToken();

    while (exitReason === null && ++iterationCount < ITERATION_LIMIT) {
        // function mapList(list, fn) {
        //     var result = [];
        //     while (list) {
        //         result.unshift(fn(list));
        //         list = list.prev;
        //     }
        //     return result;
        // }
        // console.log('--\n',
        //     '#' + iterationCount,
        //     require('util').inspect({
        //         match: mapList(matchStack, x => x.type === TOKEN ? x.token && x.token.value : x.syntax ? ({ [OPEN_SYNTAX]: '<', [CLOSE_SYNTAX]: '</' }[x.type] || x.type) + '!' + x.syntax.name : null),
        //         token: token && token.value,
        //         tokenIndex,
        //         syntax: syntax.type + (syntax.id ? ' #' + syntax.id : '')
        //     }, { depth: null })
        // );
        switch (state.type) {
            case 'Match':
                if (thenStack === null) {
                    // turn to MISMATCH when some tokens left unmatched
                    if (token !== null) {
                        // doesn't mismatch if just one token left and it's an IE hack
                        if (tokenIndex !== tokens.length - 1 || (token.value !== '\\0' && token.value !== '\\9')) {
                            state = MISMATCH;
                            break;
                        }
                    }

                    // break the main loop, return a result - MATCH
                    exitReason = EXIT_REASON_MATCH;
                    break;
                }

                // go to next syntax (`then` branch)
                state = thenStack.nextState;

                // check match is not empty
                if (state === DISALLOW_EMPTY) {
                    if (thenStack.matchStack === matchStack) {
                        state = MISMATCH;
                        break;
                    } else {
                        state = MATCH;
                    }
                }

                // close syntax if needed
                while (thenStack.syntaxStack !== syntaxStack) {
                    closeSyntax();
                }

                // pop stack
                thenStack = thenStack.prev;
                break;

            case 'Mismatch':
                // when some syntax is stashed
                if (syntaxStash !== null && syntaxStash !== false) {
                    // there is no else branches or a branch reduce match stack
                    if (elseStack === null || tokenIndex > elseStack.tokenIndex) {
                        // restore state from the stash
                        elseStack = syntaxStash;
                        syntaxStash = false; // disable stashing
                    }
                } else if (elseStack === null) {
                    // no else branches -> break the main loop
                    // return a result - MISMATCH
                    exitReason = EXIT_REASON_MISMATCH;
                    break;
                }

                // go to next syntax (`else` branch)
                state = elseStack.nextState;

                // restore all the rest stack states
                thenStack = elseStack.thenStack;
                syntaxStack = elseStack.syntaxStack;
                matchStack = elseStack.matchStack;
                tokenIndex = elseStack.tokenIndex;
                token = tokenIndex < tokens.length ? tokens[tokenIndex] : null;

                // pop stack
                elseStack = elseStack.prev;
                break;

            case 'MatchGraph':
                state = state.match;
                break;

            case 'If':
                // IMPORTANT: else stack push must go first,
                // since it stores the state of thenStack before changes
                if (state.else !== MISMATCH) {
                    pushElseStack(state.else);
                }

                if (state.then !== MATCH) {
                    pushThenStack(state.then);
                }

                state = state.match;
                break;

            case 'MatchOnce':
                state = {
                    type: 'MatchOnceBuffer',
                    syntax: state,
                    index: 0,
                    mask: 0
                };
                break;

            case 'MatchOnceBuffer':
                var terms = state.syntax.terms;

                if (state.index === terms.length) {
                    // no matches at all or it's required all terms to be matched
                    if (state.mask === 0 || state.syntax.all) {
                        state = MISMATCH;
                        break;
                    }

                    // a partial match is ok
                    state = MATCH;
                    break;
                }

                // all terms are matched
                if (state.mask === (1 << terms.length) - 1) {
                    state = MATCH;
                    break;
                }

                for (; state.index < terms.length; state.index++) {
                    var matchFlag = 1 << state.index;

                    if ((state.mask & matchFlag) === 0) {
                        // IMPORTANT: else stack push must go first,
                        // since it stores the state of thenStack before changes
                        pushElseStack(state);
                        pushThenStack({
                            type: 'AddMatchOnce',
                            syntax: state.syntax,
                            mask: state.mask | matchFlag
                        });

                        // match
                        state = terms[state.index++];
                        break;
                    }
                }
                break;

            case 'AddMatchOnce':
                state = {
                    type: 'MatchOnceBuffer',
                    syntax: state.syntax,
                    index: 0,
                    mask: state.mask
                };
                break;

            case 'Enum':
                if (token !== null) {
                    var name = token.value.toLowerCase();

                    // drop \0 and \9 hack from keyword name
                    if (name.indexOf('\\') !== -1) {
                        name = name.replace(/\\[09].*$/, '');
                    }

                    if (hasOwnProperty.call(state.map, name)) {
                        state = state.map[name];
                        break;
                    }
                }

                state = MISMATCH;
                break;

            case 'Generic':
                var opts = syntaxStack !== null ? syntaxStack.opts : null;
                var lastTokenIndex = tokenIndex + Math.floor(state.fn(token, getNextToken, opts));

                if (!isNaN(lastTokenIndex) && lastTokenIndex > tokenIndex) {
                    while (tokenIndex < lastTokenIndex) {
                        addTokenToMatch();
                    }

                    state = MATCH;
                } else {
                    state = MISMATCH;
                }

                break;

            case 'Type':
            case 'Property':
                var syntaxDict = state.type === 'Type' ? 'types' : 'properties';
                var dictSyntax = hasOwnProperty.call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : null;

                if (!dictSyntax || !dictSyntax.match) {
                    throw new Error(
                        'Bad syntax reference: ' +
                        (state.type === 'Type'
                            ? '<' + state.name + '>'
                            : '<\'' + state.name + '\'>')
                    );
                }

                // stash a syntax for types with low priority
                if (syntaxStash !== false && token !== null && state.type === 'Type') {
                    var lowPriorityMatching =
                        // https://drafts.csswg.org/css-values-4/#custom-idents
                        // When parsing positionally-ambiguous keywords in a property value, a <custom-ident> production
                        // can only claim the keyword if no other unfulfilled production can claim it.
                        (state.name === 'custom-ident' && token.type === TYPE.Ident) ||

                        // https://drafts.csswg.org/css-values-4/#lengths
                        // ... if a `0` could be parsed as either a <number> or a <length> in a property (such as line-height),
                        // it must parse as a <number>
                        (state.name === 'length' && token.value === '0');

                    if (lowPriorityMatching) {
                        if (syntaxStash === null) {
                            syntaxStash = stateSnapshotFromSyntax(state, elseStack);
                        }

                        state = MISMATCH;
                        break;
                    }
                }

                openSyntax();
                state = dictSyntax.match;
                break;

            case 'Keyword':
                var name = state.name;

                if (token !== null) {
                    var keywordName = token.value;

                    // drop \0 and \9 hack from keyword name
                    if (keywordName.indexOf('\\') !== -1) {
                        keywordName = keywordName.replace(/\\[09].*$/, '');
                    }

                    if (areStringsEqualCaseInsensitive(keywordName, name)) {
                        addTokenToMatch();
                        state = MATCH;
                        break;
                    }
                }

                state = MISMATCH;
                break;

            case 'AtKeyword':
            case 'Function':
                if (token !== null && areStringsEqualCaseInsensitive(token.value, state.name)) {
                    addTokenToMatch();
                    state = MATCH;
                    break;
                }

                state = MISMATCH;
                break;

            case 'Token':
                if (token !== null && token.value === state.value) {
                    addTokenToMatch();
                    state = MATCH;
                    break;
                }

                state = MISMATCH;
                break;

            case 'Comma':
                if (token !== null && token.type === TYPE.Comma) {
                    if (isCommaContextStart(matchStack.token)) {
                        state = MISMATCH;
                    } else {
                        addTokenToMatch();
                        state = isCommaContextEnd(token) ? MISMATCH : MATCH;
                    }
                } else {
                    state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? MATCH : MISMATCH;
                }

                break;

            case 'String':
                var string = '';

                for (var lastTokenIndex = tokenIndex; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) {
                    string += tokens[lastTokenIndex].value;
                }

                if (areStringsEqualCaseInsensitive(string, state.value)) {
                    while (tokenIndex < lastTokenIndex) {
                        addTokenToMatch();
                    }

                    state = MATCH;
                } else {
                    state = MISMATCH;
                }

                break;

            default:
                throw new Error('Unknown node type: ' + state.type);
        }
    }

    totalIterationCount += iterationCount;

    switch (exitReason) {
        case null:
            console.warn('[csstree-match] BREAK after ' + ITERATION_LIMIT + ' iterations');
            exitReason = EXIT_REASON_ITERATION_LIMIT;
            matchStack = null;
            break;

        case EXIT_REASON_MATCH:
            while (syntaxStack !== null) {
                closeSyntax();
            }
            break;

        default:
            matchStack = null;
    }

    return {
        tokens: tokens,
        reason: exitReason,
        iterations: iterationCount,
        match: matchStack,
        longestMatch: longestMatch
    };
}

function matchAsList(tokens, matchGraph, syntaxes) {
    var matchResult = internalMatch(tokens, matchGraph, syntaxes || {});

    if (matchResult.match !== null) {
        var item = reverseList(matchResult.match).prev;

        matchResult.match = [];

        while (item !== null) {
            switch (item.type) {
                case STUB:
                    break;

                case OPEN_SYNTAX:
                case CLOSE_SYNTAX:
                    matchResult.match.push({
                        type: item.type,
                        syntax: item.syntax
                    });
                    break;

                default:
                    matchResult.match.push({
                        token: item.token.value,
                        node: item.token.node
                    });
                    break;
            }

            item = item.prev;
        }
    }

    return matchResult;
}

function matchAsTree(tokens, matchGraph, syntaxes) {
    var matchResult = internalMatch(tokens, matchGraph, syntaxes || {});

    if (matchResult.match === null) {
        return matchResult;
    }

    var item = matchResult.match;
    var host = matchResult.match = {
        syntax: matchGraph.syntax || null,
        match: []
    };
    var hostStack = [host];

    // revert a list and start with 2nd item since 1st is a stub item
    item = reverseList(item).prev;

    // build a tree
    while (item !== null) {
        switch (item.type) {
            case OPEN_SYNTAX:
                host.match.push(host = {
                    syntax: item.syntax,
                    match: []
                });
                hostStack.push(host);
                break;

            case CLOSE_SYNTAX:
                hostStack.pop();
                host = hostStack[hostStack.length - 1];
                break;

            default:
                host.match.push({
                    syntax: item.syntax || null,
                    token: item.token.value,
                    node: item.token.node
                });
        }

        item = item.prev;
    }

    return matchResult;
}

module.exports = {
    matchAsList: matchAsList,
    matchAsTree: matchAsTree,
    getTotalIterationCount: function() {
        return totalIterationCount;
    }
};


/***/ }),

/***/ 81595:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var tokenize = __nccwpck_require__(69549);
var TokenStream = __nccwpck_require__(89490);
var tokenStream = new TokenStream();
var astToTokens = {
    decorator: function(handlers) {
        var curNode = null;
        var prev = { len: 0, node: null };
        var nodes = [prev];
        var buffer = '';

        return {
            children: handlers.children,
            node: function(node) {
                var tmp = curNode;
                curNode = node;
                handlers.node.call(this, node);
                curNode = tmp;
            },
            chunk: function(chunk) {
                buffer += chunk;
                if (prev.node !== curNode) {
                    nodes.push({
                        len: chunk.length,
                        node: curNode
                    });
                } else {
                    prev.len += chunk.length;
                }
            },
            result: function() {
                return prepareTokens(buffer, nodes);
            }
        };
    }
};

function prepareTokens(str, nodes) {
    var tokens = [];
    var nodesOffset = 0;
    var nodesIndex = 0;
    var currentNode = nodes ? nodes[nodesIndex].node : null;

    tokenize(str, tokenStream);

    while (!tokenStream.eof) {
        if (nodes) {
            while (nodesIndex < nodes.length && nodesOffset + nodes[nodesIndex].len <= tokenStream.tokenStart) {
                nodesOffset += nodes[nodesIndex++].len;
                currentNode = nodes[nodesIndex].node;
            }
        }

        tokens.push({
            type: tokenStream.tokenType,
            value: tokenStream.getTokenValue(),
            index: tokenStream.tokenIndex, // TODO: remove it, temporary solution
            balance: tokenStream.balance[tokenStream.tokenIndex], // TODO: remove it, temporary solution
            node: currentNode
        });
        tokenStream.next();
        // console.log({ ...tokens[tokens.length - 1], node: undefined });
    }

    return tokens;
}

module.exports = function(value, syntax) {
    if (typeof value === 'string') {
        return prepareTokens(value, null);
    }

    return syntax.generate(value, astToTokens);
};


/***/ }),

/***/ 33036:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(11282);

function getFirstMatchNode(matchNode) {
    if ('node' in matchNode) {
        return matchNode.node;
    }

    return getFirstMatchNode(matchNode.match[0]);
}

function getLastMatchNode(matchNode) {
    if ('node' in matchNode) {
        return matchNode.node;
    }

    return getLastMatchNode(matchNode.match[matchNode.match.length - 1]);
}

function matchFragments(lexer, ast, match, type, name) {
    function findFragments(matchNode) {
        if (matchNode.syntax !== null &&
            matchNode.syntax.type === type &&
            matchNode.syntax.name === name) {
            var start = getFirstMatchNode(matchNode);
            var end = getLastMatchNode(matchNode);

            lexer.syntax.walk(ast, function(node, item, list) {
                if (node === start) {
                    var nodes = new List();

                    do {
                        nodes.appendData(item.data);

                        if (item.data === end) {
                            break;
                        }

                        item = item.next;
                    } while (item !== null);

                    fragments.push({
                        parent: list,
                        nodes: nodes
                    });
                }
            });
        }

        if (Array.isArray(matchNode.match)) {
            matchNode.match.forEach(findFragments);
        }
    }

    var fragments = [];

    if (match.matched !== null) {
        findFragments(match.matched);
    }

    return fragments;
}

module.exports = {
    matchFragments: matchFragments
};


/***/ }),

/***/ 20846:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(11282);
var hasOwnProperty = Object.prototype.hasOwnProperty;

function isValidNumber(value) {
    // Number.isInteger(value) && value >= 0
    return (
        typeof value === 'number' &&
        isFinite(value) &&
        Math.floor(value) === value &&
        value >= 0
    );
}

function isValidLocation(loc) {
    return (
        Boolean(loc) &&
        isValidNumber(loc.offset) &&
        isValidNumber(loc.line) &&
        isValidNumber(loc.column)
    );
}

function createNodeStructureChecker(type, fields) {
    return function checkNode(node, warn) {
        if (!node || node.constructor !== Object) {
            return warn(node, 'Type of node should be an Object');
        }

        for (var key in node) {
            var valid = true;

            if (hasOwnProperty.call(node, key) === false) {
                continue;
            }

            if (key === 'type') {
                if (node.type !== type) {
                    warn(node, 'Wrong node type `' + node.type + '`, expected `' + type + '`');
                }
            } else if (key === 'loc') {
                if (node.loc === null) {
                    continue;
                } else if (node.loc && node.loc.constructor === Object) {
                    if (typeof node.loc.source !== 'string') {
                        key += '.source';
                    } else if (!isValidLocation(node.loc.start)) {
                        key += '.start';
                    } else if (!isValidLocation(node.loc.end)) {
                        key += '.end';
                    } else {
                        continue;
                    }
                }

                valid = false;
            } else if (fields.hasOwnProperty(key)) {
                for (var i = 0, valid = false; !valid && i < fields[key].length; i++) {
                    var fieldType = fields[key][i];

                    switch (fieldType) {
                        case String:
                            valid = typeof node[key] === 'string';
                            break;

                        case Boolean:
                            valid = typeof node[key] === 'boolean';
                            break;

                        case null:
                            valid = node[key] === null;
                            break;

                        default:
                            if (typeof fieldType === 'string') {
                                valid = node[key] && node[key].type === fieldType;
                            } else if (Array.isArray(fieldType)) {
                                valid = node[key] instanceof List;
                            }
                    }
                }
            } else {
                warn(node, 'Unknown field `' + key + '` for ' + type + ' node type');
            }

            if (!valid) {
                warn(node, 'Bad value for `' + type + '.' + key + '`');
            }
        }

        for (var key in fields) {
            if (hasOwnProperty.call(fields, key) &&
                hasOwnProperty.call(node, key) === false) {
                warn(node, 'Field `' + type + '.' + key + '` is missed');
            }
        }
    };
}

function processStructure(name, nodeType) {
    var structure = nodeType.structure;
    var fields = {
        type: String,
        loc: true
    };
    var docs = {
        type: '"' + name + '"'
    };

    for (var key in structure) {
        if (hasOwnProperty.call(structure, key) === false) {
            continue;
        }

        var docsTypes = [];
        var fieldTypes = fields[key] = Array.isArray(structure[key])
            ? structure[key].slice()
            : [structure[key]];

        for (var i = 0; i < fieldTypes.length; i++) {
            var fieldType = fieldTypes[i];
            if (fieldType === String || fieldType === Boolean) {
                docsTypes.push(fieldType.name);
            } else if (fieldType === null) {
                docsTypes.push('null');
            } else if (typeof fieldType === 'string') {
                docsTypes.push('<' + fieldType + '>');
            } else if (Array.isArray(fieldType)) {
                docsTypes.push('List'); // TODO: use type enum
            } else {
                throw new Error('Wrong value `' + fieldType + '` in `' + name + '.' + key + '` structure definition');
            }
        }

        docs[key] = docsTypes.join(' | ');
    }

    return {
        docs: docs,
        check: createNodeStructureChecker(name, fields)
    };
}

module.exports = {
    getStructureFromConfig: function(config) {
        var structure = {};

        if (config.node) {
            for (var name in config.node) {
                if (hasOwnProperty.call(config.node, name)) {
                    var nodeType = config.node[name];

                    if (nodeType.structure) {
                        structure[name] = processStructure(name, nodeType);
                    } else {
                        throw new Error('Missed `structure` field in `' + name + '` node type definition');
                    }
                }
            }
        }

        return structure;
    }
};


/***/ }),

/***/ 78078:
/***/ ((module) => {

function getTrace(node) {
    function shouldPutToTrace(syntax) {
        if (syntax === null) {
            return false;
        }

        return (
            syntax.type === 'Type' ||
            syntax.type === 'Property' ||
            syntax.type === 'Keyword'
        );
    }

    function hasMatch(matchNode) {
        if (Array.isArray(matchNode.match)) {
            // use for-loop for better perfomance
            for (var i = 0; i < matchNode.match.length; i++) {
                if (hasMatch(matchNode.match[i])) {
                    if (shouldPutToTrace(matchNode.syntax)) {
                        result.unshift(matchNode.syntax);
                    }

                    return true;
                }
            }
        } else if (matchNode.node === node) {
            result = shouldPutToTrace(matchNode.syntax)
                ? [matchNode.syntax]
                : [];

            return true;
        }

        return false;
    }

    var result = null;

    if (this.matched !== null) {
        hasMatch(this.matched);
    }

    return result;
}

function testNode(match, node, fn) {
    var trace = getTrace.call(match, node);

    if (trace === null) {
        return false;
    }

    return trace.some(fn);
}

function isType(node, type) {
    return testNode(this, node, function(matchNode) {
        return matchNode.type === 'Type' && matchNode.name === type;
    });
}

function isProperty(node, property) {
    return testNode(this, node, function(matchNode) {
        return matchNode.type === 'Property' && matchNode.name === property;
    });
}

function isKeyword(node) {
    return testNode(this, node, function(matchNode) {
        return matchNode.type === 'Keyword';
    });
}

module.exports = {
    getTrace: getTrace,
    isType: isType,
    isProperty: isProperty,
    isKeyword: isKeyword
};


/***/ }),

/***/ 25569:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var OffsetToLocation = __nccwpck_require__(77634);
var SyntaxError = __nccwpck_require__(83981);
var TokenStream = __nccwpck_require__(89490);
var List = __nccwpck_require__(11282);
var tokenize = __nccwpck_require__(69549);
var constants = __nccwpck_require__(62478);
var { findWhiteSpaceStart, cmpStr } = __nccwpck_require__(29292);
var sequence = __nccwpck_require__(74263);
var noop = function() {};

var TYPE = constants.TYPE;
var NAME = constants.NAME;
var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var IDENT = TYPE.Ident;
var FUNCTION = TYPE.Function;
var URL = TYPE.Url;
var HASH = TYPE.Hash;
var PERCENTAGE = TYPE.Percentage;
var NUMBER = TYPE.Number;
var NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#)
var NULL = 0;

function createParseContext(name) {
    return function() {
        return this[name]();
    };
}

function processConfig(config) {
    var parserConfig = {
        context: {},
        scope: {},
        atrule: {},
        pseudo: {}
    };

    if (config.parseContext) {
        for (var name in config.parseContext) {
            switch (typeof config.parseContext[name]) {
                case 'function':
                    parserConfig.context[name] = config.parseContext[name];
                    break;

                case 'string':
                    parserConfig.context[name] = createParseContext(config.parseContext[name]);
                    break;
            }
        }
    }

    if (config.scope) {
        for (var name in config.scope) {
            parserConfig.scope[name] = config.scope[name];
        }
    }

    if (config.atrule) {
        for (var name in config.atrule) {
            var atrule = config.atrule[name];

            if (atrule.parse) {
                parserConfig.atrule[name] = atrule.parse;
            }
        }
    }

    if (config.pseudo) {
        for (var name in config.pseudo) {
            var pseudo = config.pseudo[name];

            if (pseudo.parse) {
                parserConfig.pseudo[name] = pseudo.parse;
            }
        }
    }

    if (config.node) {
        for (var name in config.node) {
            parserConfig[name] = config.node[name].parse;
        }
    }

    return parserConfig;
}

module.exports = function createParser(config) {
    var parser = {
        scanner: new TokenStream(),
        locationMap: new OffsetToLocation(),

        filename: '<unknown>',
        needPositions: false,
        onParseError: noop,
        onParseErrorThrow: false,
        parseAtrulePrelude: true,
        parseRulePrelude: true,
        parseValue: true,
        parseCustomProperty: false,

        readSequence: sequence,

        createList: function() {
            return new List();
        },
        createSingleNodeList: function(node) {
            return new List().appendData(node);
        },
        getFirstListNode: function(list) {
            return list && list.first();
        },
        getLastListNode: function(list) {
            return list.last();
        },

        parseWithFallback: function(consumer, fallback) {
            var startToken = this.scanner.tokenIndex;

            try {
                return consumer.call(this);
            } catch (e) {
                if (this.onParseErrorThrow) {
                    throw e;
                }

                var fallbackNode = fallback.call(this, startToken);

                this.onParseErrorThrow = true;
                this.onParseError(e, fallbackNode);
                this.onParseErrorThrow = false;

                return fallbackNode;
            }
        },

        lookupNonWSType: function(offset) {
            do {
                var type = this.scanner.lookupType(offset++);
                if (type !== WHITESPACE) {
                    return type;
                }
            } while (type !== NULL);

            return NULL;
        },

        eat: function(tokenType) {
            if (this.scanner.tokenType !== tokenType) {
                var offset = this.scanner.tokenStart;
                var message = NAME[tokenType] + ' is expected';

                // tweak message and offset
                switch (tokenType) {
                    case IDENT:
                        // when identifier is expected but there is a function or url
                        if (this.scanner.tokenType === FUNCTION || this.scanner.tokenType === URL) {
                            offset = this.scanner.tokenEnd - 1;
                            message = 'Identifier is expected but function found';
                        } else {
                            message = 'Identifier is expected';
                        }
                        break;

                    case HASH:
                        if (this.scanner.isDelim(NUMBERSIGN)) {
                            this.scanner.next();
                            offset++;
                            message = 'Name is expected';
                        }
                        break;

                    case PERCENTAGE:
                        if (this.scanner.tokenType === NUMBER) {
                            offset = this.scanner.tokenEnd;
                            message = 'Percent sign is expected';
                        }
                        break;

                    default:
                        // when test type is part of another token show error for current position + 1
                        // e.g. eat(HYPHENMINUS) will fail on "-foo", but pointing on "-" is odd
                        if (this.scanner.source.charCodeAt(this.scanner.tokenStart) === tokenType) {
                            offset = offset + 1;
                        }
                }

                this.error(message, offset);
            }

            this.scanner.next();
        },

        consume: function(tokenType) {
            var value = this.scanner.getTokenValue();

            this.eat(tokenType);

            return value;
        },
        consumeFunctionName: function() {
            var name = this.scanner.source.substring(this.scanner.tokenStart, this.scanner.tokenEnd - 1);

            this.eat(FUNCTION);

            return name;
        },

        getLocation: function(start, end) {
            if (this.needPositions) {
                return this.locationMap.getLocationRange(
                    start,
                    end,
                    this.filename
                );
            }

            return null;
        },
        getLocationFromList: function(list) {
            if (this.needPositions) {
                var head = this.getFirstListNode(list);
                var tail = this.getLastListNode(list);
                return this.locationMap.getLocationRange(
                    head !== null ? head.loc.start.offset - this.locationMap.startOffset : this.scanner.tokenStart,
                    tail !== null ? tail.loc.end.offset - this.locationMap.startOffset : this.scanner.tokenStart,
                    this.filename
                );
            }

            return null;
        },

        error: function(message, offset) {
            var location = typeof offset !== 'undefined' && offset < this.scanner.source.length
                ? this.locationMap.getLocation(offset)
                : this.scanner.eof
                    ? this.locationMap.getLocation(findWhiteSpaceStart(this.scanner.source, this.scanner.source.length - 1))
                    : this.locationMap.getLocation(this.scanner.tokenStart);

            throw new SyntaxError(
                message || 'Unexpected input',
                this.scanner.source,
                location.offset,
                location.line,
                location.column
            );
        }
    };

    config = processConfig(config || {});
    for (var key in config) {
        parser[key] = config[key];
    }

    return function(source, options) {
        options = options || {};

        var context = options.context || 'default';
        var onComment = options.onComment;
        var ast;

        tokenize(source, parser.scanner);
        parser.locationMap.setSource(
            source,
            options.offset,
            options.line,
            options.column
        );

        parser.filename = options.filename || '<unknown>';
        parser.needPositions = Boolean(options.positions);
        parser.onParseError = typeof options.onParseError === 'function' ? options.onParseError : noop;
        parser.onParseErrorThrow = false;
        parser.parseAtrulePrelude = 'parseAtrulePrelude' in options ? Boolean(options.parseAtrulePrelude) : true;
        parser.parseRulePrelude = 'parseRulePrelude' in options ? Boolean(options.parseRulePrelude) : true;
        parser.parseValue = 'parseValue' in options ? Boolean(options.parseValue) : true;
        parser.parseCustomProperty = 'parseCustomProperty' in options ? Boolean(options.parseCustomProperty) : false;

        if (!parser.context.hasOwnProperty(context)) {
            throw new Error('Unknown context `' + context + '`');
        }

        if (typeof onComment === 'function') {
            parser.scanner.forEachToken((type, start, end) => {
                if (type === COMMENT) {
                    const loc = parser.getLocation(start, end);
                    const value = cmpStr(source, end - 2, end, '*/')
                        ? source.slice(start + 2, end - 2)
                        : source.slice(start + 2, end);

                    onComment(value, loc);
                }
            });
        }

        ast = parser.context[context].call(parser, options);

        if (!parser.scanner.eof) {
            parser.error();
        }

        return ast;
    };
};


/***/ }),

/***/ 74263:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;
var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;

module.exports = function readSequence(recognizer) {
    var children = this.createList();
    var child = null;
    var context = {
        recognizer: recognizer,
        space: null,
        ignoreWS: false,
        ignoreWSAfter: false
    };

    this.scanner.skipSC();

    while (!this.scanner.eof) {
        switch (this.scanner.tokenType) {
            case COMMENT:
                this.scanner.next();
                continue;

            case WHITESPACE:
                if (context.ignoreWS) {
                    this.scanner.next();
                } else {
                    context.space = this.WhiteSpace();
                }
                continue;
        }

        child = recognizer.getNode.call(this, context);

        if (child === undefined) {
            break;
        }

        if (context.space !== null) {
            children.push(context.space);
            context.space = null;
        }

        children.push(child);

        if (context.ignoreWSAfter) {
            context.ignoreWSAfter = false;
            context.ignoreWS = true;
        } else {
            context.ignoreWS = false;
        }
    }

    return children;
};


/***/ }),

/***/ 36469:
/***/ ((module) => {

module.exports = {
    parse: {
        prelude: null,
        block: function() {
            return this.Block(true);
        }
    }
};


/***/ }),

/***/ 47672:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var STRING = TYPE.String;
var IDENT = TYPE.Ident;
var URL = TYPE.Url;
var FUNCTION = TYPE.Function;
var LEFTPARENTHESIS = TYPE.LeftParenthesis;

module.exports = {
    parse: {
        prelude: function() {
            var children = this.createList();

            this.scanner.skipSC();

            switch (this.scanner.tokenType) {
                case STRING:
                    children.push(this.String());
                    break;

                case URL:
                case FUNCTION:
                    children.push(this.Url());
                    break;

                default:
                    this.error('String or url() is expected');
            }

            if (this.lookupNonWSType(0) === IDENT ||
                this.lookupNonWSType(0) === LEFTPARENTHESIS) {
                children.push(this.WhiteSpace());
                children.push(this.MediaQueryList());
            }

            return children;
        },
        block: null
    }
};


/***/ }),

/***/ 62373:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    'font-face': __nccwpck_require__(36469),
    'import': __nccwpck_require__(47672),
    'media': __nccwpck_require__(75317),
    'page': __nccwpck_require__(43092),
    'supports': __nccwpck_require__(82841)
};


/***/ }),

/***/ 75317:
/***/ ((module) => {

module.exports = {
    parse: {
        prelude: function() {
            return this.createSingleNodeList(
                this.MediaQueryList()
            );
        },
        block: function() {
            return this.Block(false);
        }
    }
};


/***/ }),

/***/ 43092:
/***/ ((module) => {

module.exports = {
    parse: {
        prelude: function() {
            return this.createSingleNodeList(
                this.SelectorList()
            );
        },
        block: function() {
            return this.Block(true);
        }
    }
};


/***/ }),

/***/ 82841:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var IDENT = TYPE.Ident;
var FUNCTION = TYPE.Function;
var COLON = TYPE.Colon;
var LEFTPARENTHESIS = TYPE.LeftParenthesis;

function consumeRaw() {
    return this.createSingleNodeList(
        this.Raw(this.scanner.tokenIndex, null, false)
    );
}

function parentheses() {
    this.scanner.skipSC();

    if (this.scanner.tokenType === IDENT &&
        this.lookupNonWSType(1) === COLON) {
        return this.createSingleNodeList(
            this.Declaration()
        );
    }

    return readSequence.call(this);
}

function readSequence() {
    var children = this.createList();
    var space = null;
    var child;

    this.scanner.skipSC();

    scan:
    while (!this.scanner.eof) {
        switch (this.scanner.tokenType) {
            case WHITESPACE:
                space = this.WhiteSpace();
                continue;

            case COMMENT:
                this.scanner.next();
                continue;

            case FUNCTION:
                child = this.Function(consumeRaw, this.scope.AtrulePrelude);
                break;

            case IDENT:
                child = this.Identifier();
                break;

            case LEFTPARENTHESIS:
                child = this.Parentheses(parentheses, this.scope.AtrulePrelude);
                break;

            default:
                break scan;
        }

        if (space !== null) {
            children.push(space);
            space = null;
        }

        children.push(child);
    }

    return children;
}

module.exports = {
    parse: {
        prelude: function() {
            var children = readSequence.call(this);

            if (this.getFirstListNode(children) === null) {
                this.error('Condition is expected');
            }

            return children;
        },
        block: function() {
            return this.Block(false);
        }
    }
};


/***/ }),

/***/ 30447:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var data = __nccwpck_require__(67355);

module.exports = {
    generic: true,
    types: data.types,
    atrules: data.atrules,
    properties: data.properties,
    node: __nccwpck_require__(77057)
};


/***/ }),

/***/ 44185:
/***/ ((module) => {

const hasOwnProperty = Object.prototype.hasOwnProperty;
const shape = {
    generic: true,
    types: appendOrAssign,
    atrules: {
        prelude: appendOrAssignOrNull,
        descriptors: appendOrAssignOrNull
    },
    properties: appendOrAssign,
    parseContext: assign,
    scope: deepAssign,
    atrule: ['parse'],
    pseudo: ['parse'],
    node: ['name', 'structure', 'parse', 'generate', 'walkContext']
};

function isObject(value) {
    return value && value.constructor === Object;
}

function copy(value) {
    return isObject(value)
        ? Object.assign({}, value)
        : value;
}

function assign(dest, src) {
    return Object.assign(dest, src);
}

function deepAssign(dest, src) {
    for (const key in src) {
        if (hasOwnProperty.call(src, key)) {
            if (isObject(dest[key])) {
                deepAssign(dest[key], copy(src[key]));
            } else {
                dest[key] = copy(src[key]);
            }
        }
    }

    return dest;
}

function append(a, b) {
    if (typeof b === 'string' && /^\s*\|/.test(b)) {
        return typeof a === 'string'
            ? a + b
            : b.replace(/^\s*\|\s*/, '');
    }

    return b || null;
}

function appendOrAssign(a, b) {
    if (typeof b === 'string') {
        return append(a, b);
    }

    const result = Object.assign({}, a);
    for (let key in b) {
        if (hasOwnProperty.call(b, key)) {
            result[key] = append(hasOwnProperty.call(a, key) ? a[key] : undefined, b[key]);
        }
    }

    return result;
}

function appendOrAssignOrNull(a, b) {
    const result = appendOrAssign(a, b);

    return !isObject(result) || Object.keys(result).length
        ? result
        : null;
}

function mix(dest, src, shape) {
    for (const key in shape) {
        if (hasOwnProperty.call(shape, key) === false) {
            continue;
        }

        if (shape[key] === true) {
            if (key in src) {
                if (hasOwnProperty.call(src, key)) {
                    dest[key] = copy(src[key]);
                }
            }
        } else if (shape[key]) {
            if (typeof shape[key] === 'function') {
                const fn = shape[key];
                dest[key] = fn({}, dest[key]);
                dest[key] = fn(dest[key] || {}, src[key]);
            } else if (isObject(shape[key])) {
                const result = {};

                for (let name in dest[key]) {
                    result[name] = mix({}, dest[key][name], shape[key]);
                }

                for (let name in src[key]) {
                    result[name] = mix(result[name] || {}, src[key][name], shape[key]);
                }

                dest[key] = result;
            } else if (Array.isArray(shape[key])) {
                const res = {};
                const innerShape = shape[key].reduce(function(s, k) {
                    s[k] = true;
                    return s;
                }, {});

                for (const [name, value] of Object.entries(dest[key] || {})) {
                    res[name] = {};
                    if (value) {
                        mix(res[name], value, innerShape);
                    }
                }

                for (const name in src[key]) {
                    if (hasOwnProperty.call(src[key], name)) {
                        if (!res[name]) {
                            res[name] = {};
                        }

                        if (src[key] && src[key][name]) {
                            mix(res[name], src[key][name], innerShape);
                        }
                    }
                }

                dest[key] = res;
            }
        }
    }
    return dest;
}

module.exports = (dest, src) => mix(dest, src, shape);


/***/ }),

/***/ 60918:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    parseContext: {
        default: 'StyleSheet',
        stylesheet: 'StyleSheet',
        atrule: 'Atrule',
        atrulePrelude: function(options) {
            return this.AtrulePrelude(options.atrule ? String(options.atrule) : null);
        },
        mediaQueryList: 'MediaQueryList',
        mediaQuery: 'MediaQuery',
        rule: 'Rule',
        selectorList: 'SelectorList',
        selector: 'Selector',
        block: function() {
            return this.Block(true);
        },
        declarationList: 'DeclarationList',
        declaration: 'Declaration',
        value: 'Value'
    },
    scope: __nccwpck_require__(90326),
    atrule: __nccwpck_require__(62373),
    pseudo: __nccwpck_require__(84575),
    node: __nccwpck_require__(77057)
};


/***/ }),

/***/ 24524:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    node: __nccwpck_require__(77057)
};


/***/ }),

/***/ 73189:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

var List = __nccwpck_require__(11282);
var SyntaxError = __nccwpck_require__(83981);
var TokenStream = __nccwpck_require__(89490);
var Lexer = __nccwpck_require__(77906);
var definitionSyntax = __nccwpck_require__(32267);
var tokenize = __nccwpck_require__(69549);
var createParser = __nccwpck_require__(25569);
var createGenerator = __nccwpck_require__(37703);
var createConvertor = __nccwpck_require__(19719);
var createWalker = __nccwpck_require__(61090);
var clone = __nccwpck_require__(52404);
var names = __nccwpck_require__(87602);
var mix = __nccwpck_require__(44185);

function createSyntax(config) {
    var parse = createParser(config);
    var walk = createWalker(config);
    var generate = createGenerator(config);
    var convert = createConvertor(walk);

    var syntax = {
        List: List,
        SyntaxError: SyntaxError,
        TokenStream: TokenStream,
        Lexer: Lexer,

        vendorPrefix: names.vendorPrefix,
        keyword: names.keyword,
        property: names.property,
        isCustomProperty: names.isCustomProperty,

        definitionSyntax: definitionSyntax,
        lexer: null,
        createLexer: function(config) {
            return new Lexer(config, syntax, syntax.lexer.structure);
        },

        tokenize: tokenize,
        parse: parse,
        walk: walk,
        generate: generate,

        find: walk.find,
        findLast: walk.findLast,
        findAll: walk.findAll,

        clone: clone,
        fromPlainObject: convert.fromPlainObject,
        toPlainObject: convert.toPlainObject,

        createSyntax: function(config) {
            return createSyntax(mix({}, config));
        },
        fork: function(extension) {
            var base = mix({}, config); // copy of config
            return createSyntax(
                typeof extension === 'function'
                    ? extension(base, Object.assign)
                    : mix(base, extension)
            );
        }
    };

    syntax.lexer = new Lexer({
        generic: true,
        types: config.types,
        atrules: config.atrules,
        properties: config.properties,
        node: config.node
    }, syntax);

    return syntax;
};

exports.create = function(config) {
    return createSyntax(mix({}, config));
};


/***/ }),

/***/ 58575:
/***/ ((module) => {

// legacy IE function
// expression( <any-value> )
module.exports = function() {
    return this.createSingleNodeList(
        this.Raw(this.scanner.tokenIndex, null, false)
    );
};


/***/ }),

/***/ 75724:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;
var rawMode = __nccwpck_require__(81287).mode;

var COMMA = TYPE.Comma;
var WHITESPACE = TYPE.WhiteSpace;

// var( <ident> , <value>? )
module.exports = function() {
    var children = this.createList();

    this.scanner.skipSC();

    // NOTE: Don't check more than a first argument is an ident, rest checks are for lexer
    children.push(this.Identifier());

    this.scanner.skipSC();

    if (this.scanner.tokenType === COMMA) {
        children.push(this.Operator());

        const startIndex = this.scanner.tokenIndex;
        const value = this.parseCustomProperty
            ? this.Value(null)
            : this.Raw(this.scanner.tokenIndex, rawMode.exclamationMarkOrSemicolon, false);

        if (value.type === 'Value' && value.children.isEmpty()) {
            for (let offset = startIndex - this.scanner.tokenIndex; offset <= 0; offset++) {
                if (this.scanner.lookupType(offset) === WHITESPACE) {
                    value.children.appendData({
                        type: 'WhiteSpace',
                        loc: null,
                        value: ' '
                    });
                    break;
                }
            }
        }

        children.push(value);
    }

    return children;
};


/***/ }),

/***/ 40469:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

function merge() {
    var dest = {};

    for (var i = 0; i < arguments.length; i++) {
        var src = arguments[i];
        for (var key in src) {
            dest[key] = src[key];
        }
    }

    return dest;
}

module.exports = __nccwpck_require__(73189).create(
    merge(
        __nccwpck_require__(30447),
        __nccwpck_require__(60918),
        __nccwpck_require__(24524)
    )
);
module.exports.version = __nccwpck_require__(74441).version;


/***/ }),

/***/ 28892:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var cmpChar = __nccwpck_require__(69549).cmpChar;
var isDigit = __nccwpck_require__(69549).isDigit;
var TYPE = __nccwpck_require__(69549).TYPE;

var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var IDENT = TYPE.Ident;
var NUMBER = TYPE.Number;
var DIMENSION = TYPE.Dimension;
var PLUSSIGN = 0x002B;    // U+002B PLUS SIGN (+)
var HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-)
var N = 0x006E;           // U+006E LATIN SMALL LETTER N (n)
var DISALLOW_SIGN = true;
var ALLOW_SIGN = false;

function checkInteger(offset, disallowSign) {
    var pos = this.scanner.tokenStart + offset;
    var code = this.scanner.source.charCodeAt(pos);

    if (code === PLUSSIGN || code === HYPHENMINUS) {
        if (disallowSign) {
            this.error('Number sign is not allowed');
        }
        pos++;
    }

    for (; pos < this.scanner.tokenEnd; pos++) {
        if (!isDigit(this.scanner.source.charCodeAt(pos))) {
            this.error('Integer is expected', pos);
        }
    }
}

function checkTokenIsInteger(disallowSign) {
    return checkInteger.call(this, 0, disallowSign);
}

function expectCharCode(offset, code) {
    if (!cmpChar(this.scanner.source, this.scanner.tokenStart + offset, code)) {
        var msg = '';

        switch (code) {
            case N:
                msg = 'N is expected';
                break;
            case HYPHENMINUS:
                msg = 'HyphenMinus is expected';
                break;
        }

        this.error(msg, this.scanner.tokenStart + offset);
    }
}

// ... <signed-integer>
// ... ['+' | '-'] <signless-integer>
function consumeB() {
    var offset = 0;
    var sign = 0;
    var type = this.scanner.tokenType;

    while (type === WHITESPACE || type === COMMENT) {
        type = this.scanner.lookupType(++offset);
    }

    if (type !== NUMBER) {
        if (this.scanner.isDelim(PLUSSIGN, offset) ||
            this.scanner.isDelim(HYPHENMINUS, offset)) {
            sign = this.scanner.isDelim(PLUSSIGN, offset) ? PLUSSIGN : HYPHENMINUS;

            do {
                type = this.scanner.lookupType(++offset);
            } while (type === WHITESPACE || type === COMMENT);

            if (type !== NUMBER) {
                this.scanner.skip(offset);
                checkTokenIsInteger.call(this, DISALLOW_SIGN);
            }
        } else {
            return null;
        }
    }

    if (offset > 0) {
        this.scanner.skip(offset);
    }

    if (sign === 0) {
        type = this.scanner.source.charCodeAt(this.scanner.tokenStart);
        if (type !== PLUSSIGN && type !== HYPHENMINUS) {
            this.error('Number sign is expected');
        }
    }

    checkTokenIsInteger.call(this, sign !== 0);
    return sign === HYPHENMINUS ? '-' + this.consume(NUMBER) : this.consume(NUMBER);
}

// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb
module.exports = {
    name: 'AnPlusB',
    structure: {
        a: [String, null],
        b: [String, null]
    },
    parse: function() {
        /* eslint-disable brace-style*/
        var start = this.scanner.tokenStart;
        var a = null;
        var b = null;

        // <integer>
        if (this.scanner.tokenType === NUMBER) {
            checkTokenIsInteger.call(this, ALLOW_SIGN);
            b = this.consume(NUMBER);
        }

        // -n
        // -n <signed-integer>
        // -n ['+' | '-'] <signless-integer>
        // -n- <signless-integer>
        // <dashndashdigit-ident>
        else if (this.scanner.tokenType === IDENT && cmpChar(this.scanner.source, this.scanner.tokenStart, HYPHENMINUS)) {
            a = '-1';

            expectCharCode.call(this, 1, N);

            switch (this.scanner.getTokenLength()) {
                // -n
                // -n <signed-integer>
                // -n ['+' | '-'] <signless-integer>
                case 2:
                    this.scanner.next();
                    b = consumeB.call(this);
                    break;

                // -n- <signless-integer>
                case 3:
                    expectCharCode.call(this, 2, HYPHENMINUS);

                    this.scanner.next();
                    this.scanner.skipSC();

                    checkTokenIsInteger.call(this, DISALLOW_SIGN);

                    b = '-' + this.consume(NUMBER);
                    break;

                // <dashndashdigit-ident>
                default:
                    expectCharCode.call(this, 2, HYPHENMINUS);
                    checkInteger.call(this, 3, DISALLOW_SIGN);
                    this.scanner.next();

                    b = this.scanner.substrToCursor(start + 2);
            }
        }

        // '+'? n
        // '+'? n <signed-integer>
        // '+'? n ['+' | '-'] <signless-integer>
        // '+'? n- <signless-integer>
        // '+'? <ndashdigit-ident>
        else if (this.scanner.tokenType === IDENT || (this.scanner.isDelim(PLUSSIGN) && this.scanner.lookupType(1) === IDENT)) {
            var sign = 0;
            a = '1';

            // just ignore a plus
            if (this.scanner.isDelim(PLUSSIGN)) {
                sign = 1;
                this.scanner.next();
            }

            expectCharCode.call(this, 0, N);

            switch (this.scanner.getTokenLength()) {
                // '+'? n
                // '+'? n <signed-integer>
                // '+'? n ['+' | '-'] <signless-integer>
                case 1:
                    this.scanner.next();
                    b = consumeB.call(this);
                    break;

                // '+'? n- <signless-integer>
                case 2:
                    expectCharCode.call(this, 1, HYPHENMINUS);

                    this.scanner.next();
                    this.scanner.skipSC();

                    checkTokenIsInteger.call(this, DISALLOW_SIGN);

                    b = '-' + this.consume(NUMBER);
                    break;

                // '+'? <ndashdigit-ident>
                default:
                    expectCharCode.call(this, 1, HYPHENMINUS);
                    checkInteger.call(this, 2, DISALLOW_SIGN);
                    this.scanner.next();

                    b = this.scanner.substrToCursor(start + sign + 1);
            }
        }

        // <ndashdigit-dimension>
        // <ndash-dimension> <signless-integer>
        // <n-dimension>
        // <n-dimension> <signed-integer>
        // <n-dimension> ['+' | '-'] <signless-integer>
        else if (this.scanner.tokenType === DIMENSION) {
            var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);
            var sign = code === PLUSSIGN || code === HYPHENMINUS;

            for (var i = this.scanner.tokenStart + sign; i < this.scanner.tokenEnd; i++) {
                if (!isDigit(this.scanner.source.charCodeAt(i))) {
                    break;
                }
            }

            if (i === this.scanner.tokenStart + sign) {
                this.error('Integer is expected', this.scanner.tokenStart + sign);
            }

            expectCharCode.call(this, i - this.scanner.tokenStart, N);
            a = this.scanner.source.substring(start, i);

            // <n-dimension>
            // <n-dimension> <signed-integer>
            // <n-dimension> ['+' | '-'] <signless-integer>
            if (i + 1 === this.scanner.tokenEnd) {
                this.scanner.next();
                b = consumeB.call(this);
            } else {
                expectCharCode.call(this, i - this.scanner.tokenStart + 1, HYPHENMINUS);

                // <ndash-dimension> <signless-integer>
                if (i + 2 === this.scanner.tokenEnd) {
                    this.scanner.next();
                    this.scanner.skipSC();
                    checkTokenIsInteger.call(this, DISALLOW_SIGN);
                    b = '-' + this.consume(NUMBER);
                }
                // <ndashdigit-dimension>
                else {
                    checkInteger.call(this, i - this.scanner.tokenStart + 2, DISALLOW_SIGN);
                    this.scanner.next();
                    b = this.scanner.substrToCursor(i + 1);
                }
            }
        } else {
            this.error();
        }

        if (a !== null && a.charCodeAt(0) === PLUSSIGN) {
            a = a.substr(1);
        }

        if (b !== null && b.charCodeAt(0) === PLUSSIGN) {
            b = b.substr(1);
        }

        return {
            type: 'AnPlusB',
            loc: this.getLocation(start, this.scanner.tokenStart),
            a: a,
            b: b
        };
    },
    generate: function(node) {
        var a = node.a !== null && node.a !== undefined;
        var b = node.b !== null && node.b !== undefined;

        if (a) {
            this.chunk(
                node.a === '+1' ? '+n' : // eslint-disable-line operator-linebreak, indent
                node.a ===  '1' ?  'n' : // eslint-disable-line operator-linebreak, indent
                node.a === '-1' ? '-n' : // eslint-disable-line operator-linebreak, indent
                node.a + 'n'             // eslint-disable-line operator-linebreak, indent
            );

            if (b) {
                b = String(node.b);
                if (b.charAt(0) === '-' || b.charAt(0) === '+') {
                    this.chunk(b.charAt(0));
                    this.chunk(b.substr(1));
                } else {
                    this.chunk('+');
                    this.chunk(b);
                }
            }
        } else {
            this.chunk(String(node.b));
        }
    }
};


/***/ }),

/***/ 53778:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;
var rawMode = __nccwpck_require__(81287).mode;

var ATKEYWORD = TYPE.AtKeyword;
var SEMICOLON = TYPE.Semicolon;
var LEFTCURLYBRACKET = TYPE.LeftCurlyBracket;
var RIGHTCURLYBRACKET = TYPE.RightCurlyBracket;

function consumeRaw(startToken) {
    return this.Raw(startToken, rawMode.leftCurlyBracketOrSemicolon, true);
}

function isDeclarationBlockAtrule() {
    for (var offset = 1, type; type = this.scanner.lookupType(offset); offset++) {
        if (type === RIGHTCURLYBRACKET) {
            return true;
        }

        if (type === LEFTCURLYBRACKET ||
            type === ATKEYWORD) {
            return false;
        }
    }

    return false;
}

module.exports = {
    name: 'Atrule',
    structure: {
        name: String,
        prelude: ['AtrulePrelude', 'Raw', null],
        block: ['Block', null]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var name;
        var nameLowerCase;
        var prelude = null;
        var block = null;

        this.eat(ATKEYWORD);

        name = this.scanner.substrToCursor(start + 1);
        nameLowerCase = name.toLowerCase();
        this.scanner.skipSC();

        // parse prelude
        if (this.scanner.eof === false &&
            this.scanner.tokenType !== LEFTCURLYBRACKET &&
            this.scanner.tokenType !== SEMICOLON) {
            if (this.parseAtrulePrelude) {
                prelude = this.parseWithFallback(this.AtrulePrelude.bind(this, name), consumeRaw);

                // turn empty AtrulePrelude into null
                if (prelude.type === 'AtrulePrelude' && prelude.children.head === null) {
                    prelude = null;
                }
            } else {
                prelude = consumeRaw.call(this, this.scanner.tokenIndex);
            }

            this.scanner.skipSC();
        }

        switch (this.scanner.tokenType) {
            case SEMICOLON:
                this.scanner.next();
                break;

            case LEFTCURLYBRACKET:
                if (this.atrule.hasOwnProperty(nameLowerCase) &&
                    typeof this.atrule[nameLowerCase].block === 'function') {
                    block = this.atrule[nameLowerCase].block.call(this);
                } else {
                    // TODO: should consume block content as Raw?
                    block = this.Block(isDeclarationBlockAtrule.call(this));
                }

                break;
        }

        return {
            type: 'Atrule',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: name,
            prelude: prelude,
            block: block
        };
    },
    generate: function(node) {
        this.chunk('@');
        this.chunk(node.name);

        if (node.prelude !== null) {
            this.chunk(' ');
            this.node(node.prelude);
        }

        if (node.block) {
            this.node(node.block);
        } else {
            this.chunk(';');
        }
    },
    walkContext: 'atrule'
};


/***/ }),

/***/ 34161:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var SEMICOLON = TYPE.Semicolon;
var LEFTCURLYBRACKET = TYPE.LeftCurlyBracket;

module.exports = {
    name: 'AtrulePrelude',
    structure: {
        children: [[]]
    },
    parse: function(name) {
        var children = null;

        if (name !== null) {
            name = name.toLowerCase();
        }

        this.scanner.skipSC();

        if (this.atrule.hasOwnProperty(name) &&
            typeof this.atrule[name].prelude === 'function') {
            // custom consumer
            children = this.atrule[name].prelude.call(this);
        } else {
            // default consumer
            children = this.readSequence(this.scope.AtrulePrelude);
        }

        this.scanner.skipSC();

        if (this.scanner.eof !== true &&
            this.scanner.tokenType !== LEFTCURLYBRACKET &&
            this.scanner.tokenType !== SEMICOLON) {
            this.error('Semicolon or block is expected');
        }

        if (children === null) {
            children = this.createList();
        }

        return {
            type: 'AtrulePrelude',
            loc: this.getLocationFromList(children),
            children: children
        };
    },
    generate: function(node) {
        this.children(node);
    },
    walkContext: 'atrulePrelude'
};


/***/ }),

/***/ 53887:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var STRING = TYPE.String;
var COLON = TYPE.Colon;
var LEFTSQUAREBRACKET = TYPE.LeftSquareBracket;
var RIGHTSQUAREBRACKET = TYPE.RightSquareBracket;
var DOLLARSIGN = 0x0024;       // U+0024 DOLLAR SIGN ($)
var ASTERISK = 0x002A;         // U+002A ASTERISK (*)
var EQUALSSIGN = 0x003D;       // U+003D EQUALS SIGN (=)
var CIRCUMFLEXACCENT = 0x005E; // U+005E (^)
var VERTICALLINE = 0x007C;     // U+007C VERTICAL LINE (|)
var TILDE = 0x007E;            // U+007E TILDE (~)

function getAttributeName() {
    if (this.scanner.eof) {
        this.error('Unexpected end of input');
    }

    var start = this.scanner.tokenStart;
    var expectIdent = false;
    var checkColon = true;

    if (this.scanner.isDelim(ASTERISK)) {
        expectIdent = true;
        checkColon = false;
        this.scanner.next();
    } else if (!this.scanner.isDelim(VERTICALLINE)) {
        this.eat(IDENT);
    }

    if (this.scanner.isDelim(VERTICALLINE)) {
        if (this.scanner.source.charCodeAt(this.scanner.tokenStart + 1) !== EQUALSSIGN) {
            this.scanner.next();
            this.eat(IDENT);
        } else if (expectIdent) {
            this.error('Identifier is expected', this.scanner.tokenEnd);
        }
    } else if (expectIdent) {
        this.error('Vertical line is expected');
    }

    if (checkColon && this.scanner.tokenType === COLON) {
        this.scanner.next();
        this.eat(IDENT);
    }

    return {
        type: 'Identifier',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: this.scanner.substrToCursor(start)
    };
}

function getOperator() {
    var start = this.scanner.tokenStart;
    var code = this.scanner.source.charCodeAt(start);

    if (code !== EQUALSSIGN &&        // =
        code !== TILDE &&             // ~=
        code !== CIRCUMFLEXACCENT &&  // ^=
        code !== DOLLARSIGN &&        // $=
        code !== ASTERISK &&          // *=
        code !== VERTICALLINE         // |=
    ) {
        this.error('Attribute selector (=, ~=, ^=, $=, *=, |=) is expected');
    }

    this.scanner.next();

    if (code !== EQUALSSIGN) {
        if (!this.scanner.isDelim(EQUALSSIGN)) {
            this.error('Equal sign is expected');
        }

        this.scanner.next();
    }

    return this.scanner.substrToCursor(start);
}

// '[' <wq-name> ']'
// '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'
module.exports = {
    name: 'AttributeSelector',
    structure: {
        name: 'Identifier',
        matcher: [String, null],
        value: ['String', 'Identifier', null],
        flags: [String, null]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var name;
        var matcher = null;
        var value = null;
        var flags = null;

        this.eat(LEFTSQUAREBRACKET);
        this.scanner.skipSC();

        name = getAttributeName.call(this);
        this.scanner.skipSC();

        if (this.scanner.tokenType !== RIGHTSQUAREBRACKET) {
            // avoid case `[name i]`
            if (this.scanner.tokenType !== IDENT) {
                matcher = getOperator.call(this);

                this.scanner.skipSC();

                value = this.scanner.tokenType === STRING
                    ? this.String()
                    : this.Identifier();

                this.scanner.skipSC();
            }

            // attribute flags
            if (this.scanner.tokenType === IDENT) {
                flags = this.scanner.getTokenValue();
                this.scanner.next();

                this.scanner.skipSC();
            }
        }

        this.eat(RIGHTSQUAREBRACKET);

        return {
            type: 'AttributeSelector',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: name,
            matcher: matcher,
            value: value,
            flags: flags
        };
    },
    generate: function(node) {
        var flagsPrefix = ' ';

        this.chunk('[');
        this.node(node.name);

        if (node.matcher !== null) {
            this.chunk(node.matcher);

            if (node.value !== null) {
                this.node(node.value);

                // space between string and flags is not required
                if (node.value.type === 'String') {
                    flagsPrefix = '';
                }
            }
        }

        if (node.flags !== null) {
            this.chunk(flagsPrefix);
            this.chunk(node.flags);
        }

        this.chunk(']');
    }
};


/***/ }),

/***/ 97800:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;
var rawMode = __nccwpck_require__(81287).mode;

var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var SEMICOLON = TYPE.Semicolon;
var ATKEYWORD = TYPE.AtKeyword;
var LEFTCURLYBRACKET = TYPE.LeftCurlyBracket;
var RIGHTCURLYBRACKET = TYPE.RightCurlyBracket;

function consumeRaw(startToken) {
    return this.Raw(startToken, null, true);
}
function consumeRule() {
    return this.parseWithFallback(this.Rule, consumeRaw);
}
function consumeRawDeclaration(startToken) {
    return this.Raw(startToken, rawMode.semicolonIncluded, true);
}
function consumeDeclaration() {
    if (this.scanner.tokenType === SEMICOLON) {
        return consumeRawDeclaration.call(this, this.scanner.tokenIndex);
    }

    var node = this.parseWithFallback(this.Declaration, consumeRawDeclaration);

    if (this.scanner.tokenType === SEMICOLON) {
        this.scanner.next();
    }

    return node;
}

module.exports = {
    name: 'Block',
    structure: {
        children: [[
            'Atrule',
            'Rule',
            'Declaration'
        ]]
    },
    parse: function(isDeclaration) {
        var consumer = isDeclaration ? consumeDeclaration : consumeRule;

        var start = this.scanner.tokenStart;
        var children = this.createList();

        this.eat(LEFTCURLYBRACKET);

        scan:
        while (!this.scanner.eof) {
            switch (this.scanner.tokenType) {
                case RIGHTCURLYBRACKET:
                    break scan;

                case WHITESPACE:
                case COMMENT:
                    this.scanner.next();
                    break;

                case ATKEYWORD:
                    children.push(this.parseWithFallback(this.Atrule, consumeRaw));
                    break;

                default:
                    children.push(consumer.call(this));
            }
        }

        if (!this.scanner.eof) {
            this.eat(RIGHTCURLYBRACKET);
        }

        return {
            type: 'Block',
            loc: this.getLocation(start, this.scanner.tokenStart),
            children: children
        };
    },
    generate: function(node) {
        this.chunk('{');
        this.children(node, function(prev) {
            if (prev.type === 'Declaration') {
                this.chunk(';');
            }
        });
        this.chunk('}');
    },
    walkContext: 'block'
};


/***/ }),

/***/ 85549:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var LEFTSQUAREBRACKET = TYPE.LeftSquareBracket;
var RIGHTSQUAREBRACKET = TYPE.RightSquareBracket;

module.exports = {
    name: 'Brackets',
    structure: {
        children: [[]]
    },
    parse: function(readSequence, recognizer) {
        var start = this.scanner.tokenStart;
        var children = null;

        this.eat(LEFTSQUAREBRACKET);

        children = readSequence.call(this, recognizer);

        if (!this.scanner.eof) {
            this.eat(RIGHTSQUAREBRACKET);
        }

        return {
            type: 'Brackets',
            loc: this.getLocation(start, this.scanner.tokenStart),
            children: children
        };
    },
    generate: function(node) {
        this.chunk('[');
        this.children(node);
        this.chunk(']');
    }
};


/***/ }),

/***/ 6730:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var CDC = __nccwpck_require__(69549).TYPE.CDC;

module.exports = {
    name: 'CDC',
    structure: [],
    parse: function() {
        var start = this.scanner.tokenStart;

        this.eat(CDC); // -->

        return {
            type: 'CDC',
            loc: this.getLocation(start, this.scanner.tokenStart)
        };
    },
    generate: function() {
        this.chunk('-->');
    }
};


/***/ }),

/***/ 41210:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var CDO = __nccwpck_require__(69549).TYPE.CDO;

module.exports = {
    name: 'CDO',
    structure: [],
    parse: function() {
        var start = this.scanner.tokenStart;

        this.eat(CDO); // <!--

        return {
            type: 'CDO',
            loc: this.getLocation(start, this.scanner.tokenStart)
        };
    },
    generate: function() {
        this.chunk('<!--');
    }
};


/***/ }),

/***/ 19694:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var FULLSTOP = 0x002E; // U+002E FULL STOP (.)

// '.' ident
module.exports = {
    name: 'ClassSelector',
    structure: {
        name: String
    },
    parse: function() {
        if (!this.scanner.isDelim(FULLSTOP)) {
            this.error('Full stop is expected');
        }

        this.scanner.next();

        return {
            type: 'ClassSelector',
            loc: this.getLocation(this.scanner.tokenStart - 1, this.scanner.tokenEnd),
            name: this.consume(IDENT)
        };
    },
    generate: function(node) {
        this.chunk('.');
        this.chunk(node.name);
    }
};


/***/ }),

/***/ 29026:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var PLUSSIGN = 0x002B;        // U+002B PLUS SIGN (+)
var SOLIDUS = 0x002F;         // U+002F SOLIDUS (/)
var GREATERTHANSIGN = 0x003E; // U+003E GREATER-THAN SIGN (>)
var TILDE = 0x007E;           // U+007E TILDE (~)

// + | > | ~ | /deep/
module.exports = {
    name: 'Combinator',
    structure: {
        name: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);

        switch (code) {
            case GREATERTHANSIGN:
            case PLUSSIGN:
            case TILDE:
                this.scanner.next();
                break;

            case SOLIDUS:
                this.scanner.next();

                if (this.scanner.tokenType !== IDENT || this.scanner.lookupValue(0, 'deep') === false) {
                    this.error('Identifier `deep` is expected');
                }

                this.scanner.next();

                if (!this.scanner.isDelim(SOLIDUS)) {
                    this.error('Solidus is expected');
                }

                this.scanner.next();
                break;

            default:
                this.error('Combinator is expected');
        }

        return {
            type: 'Combinator',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: this.scanner.substrToCursor(start)
        };
    },
    generate: function(node) {
        this.chunk(node.name);
    }
};


/***/ }),

/***/ 46018:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var COMMENT = TYPE.Comment;
var ASTERISK = 0x002A;        // U+002A ASTERISK (*)
var SOLIDUS = 0x002F;         // U+002F SOLIDUS (/)

// '/*' .* '*/'
module.exports = {
    name: 'Comment',
    structure: {
        value: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var end = this.scanner.tokenEnd;

        this.eat(COMMENT);

        if ((end - start + 2) >= 2 &&
            this.scanner.source.charCodeAt(end - 2) === ASTERISK &&
            this.scanner.source.charCodeAt(end - 1) === SOLIDUS) {
            end -= 2;
        }

        return {
            type: 'Comment',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: this.scanner.source.substring(start + 2, end)
        };
    },
    generate: function(node) {
        this.chunk('/*');
        this.chunk(node.value);
        this.chunk('*/');
    }
};


/***/ }),

/***/ 78951:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var isCustomProperty = __nccwpck_require__(87602).isCustomProperty;
var TYPE = __nccwpck_require__(69549).TYPE;
var rawMode = __nccwpck_require__(81287).mode;

var IDENT = TYPE.Ident;
var HASH = TYPE.Hash;
var COLON = TYPE.Colon;
var SEMICOLON = TYPE.Semicolon;
var DELIM = TYPE.Delim;
var WHITESPACE = TYPE.WhiteSpace;
var EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!)
var NUMBERSIGN = 0x0023;      // U+0023 NUMBER SIGN (#)
var DOLLARSIGN = 0x0024;      // U+0024 DOLLAR SIGN ($)
var AMPERSAND = 0x0026;       // U+0026 ANPERSAND (&)
var ASTERISK = 0x002A;        // U+002A ASTERISK (*)
var PLUSSIGN = 0x002B;        // U+002B PLUS SIGN (+)
var SOLIDUS = 0x002F;         // U+002F SOLIDUS (/)

function consumeValueRaw(startToken) {
    return this.Raw(startToken, rawMode.exclamationMarkOrSemicolon, true);
}

function consumeCustomPropertyRaw(startToken) {
    return this.Raw(startToken, rawMode.exclamationMarkOrSemicolon, false);
}

function consumeValue() {
    var startValueToken = this.scanner.tokenIndex;
    var value = this.Value();

    if (value.type !== 'Raw' &&
        this.scanner.eof === false &&
        this.scanner.tokenType !== SEMICOLON &&
        this.scanner.isDelim(EXCLAMATIONMARK) === false &&
        this.scanner.isBalanceEdge(startValueToken) === false) {
        this.error();
    }

    return value;
}

module.exports = {
    name: 'Declaration',
    structure: {
        important: [Boolean, String],
        property: String,
        value: ['Value', 'Raw']
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var startToken = this.scanner.tokenIndex;
        var property = readProperty.call(this);
        var customProperty = isCustomProperty(property);
        var parseValue = customProperty ? this.parseCustomProperty : this.parseValue;
        var consumeRaw = customProperty ? consumeCustomPropertyRaw : consumeValueRaw;
        var important = false;
        var value;

        this.scanner.skipSC();
        this.eat(COLON);

        const valueStart = this.scanner.tokenIndex;

        if (!customProperty) {
            this.scanner.skipSC();
        }

        if (parseValue) {
            value = this.parseWithFallback(consumeValue, consumeRaw);
        } else {
            value = consumeRaw.call(this, this.scanner.tokenIndex);
        }

        if (customProperty && value.type === 'Value' && value.children.isEmpty()) {
            for (let offset = valueStart - this.scanner.tokenIndex; offset <= 0; offset++) {
                if (this.scanner.lookupType(offset) === WHITESPACE) {
                    value.children.appendData({
                        type: 'WhiteSpace',
                        loc: null,
                        value: ' '
                    });
                    break;
                }
            }
        }

        if (this.scanner.isDelim(EXCLAMATIONMARK)) {
            important = getImportant.call(this);
            this.scanner.skipSC();
        }

        // Do not include semicolon to range per spec
        // https://drafts.csswg.org/css-syntax/#declaration-diagram

        if (this.scanner.eof === false &&
            this.scanner.tokenType !== SEMICOLON &&
            this.scanner.isBalanceEdge(startToken) === false) {
            this.error();
        }

        return {
            type: 'Declaration',
            loc: this.getLocation(start, this.scanner.tokenStart),
            important: important,
            property: property,
            value: value
        };
    },
    generate: function(node) {
        this.chunk(node.property);
        this.chunk(':');
        this.node(node.value);

        if (node.important) {
            this.chunk(node.important === true ? '!important' : '!' + node.important);
        }
    },
    walkContext: 'declaration'
};

function readProperty() {
    var start = this.scanner.tokenStart;
    var prefix = 0;

    // hacks
    if (this.scanner.tokenType === DELIM) {
        switch (this.scanner.source.charCodeAt(this.scanner.tokenStart)) {
            case ASTERISK:
            case DOLLARSIGN:
            case PLUSSIGN:
            case NUMBERSIGN:
            case AMPERSAND:
                this.scanner.next();
                break;

            // TODO: not sure we should support this hack
            case SOLIDUS:
                this.scanner.next();
                if (this.scanner.isDelim(SOLIDUS)) {
                    this.scanner.next();
                }
                break;
        }
    }

    if (prefix) {
        this.scanner.skip(prefix);
    }

    if (this.scanner.tokenType === HASH) {
        this.eat(HASH);
    } else {
        this.eat(IDENT);
    }

    return this.scanner.substrToCursor(start);
}

// ! ws* important
function getImportant() {
    this.eat(DELIM);
    this.scanner.skipSC();

    var important = this.consume(IDENT);

    // store original value in case it differ from `important`
    // for better original source restoring and hacks like `!ie` support
    return important === 'important' ? true : important;
}


/***/ }),

/***/ 12503:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;
var rawMode = __nccwpck_require__(81287).mode;

var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var SEMICOLON = TYPE.Semicolon;

function consumeRaw(startToken) {
    return this.Raw(startToken, rawMode.semicolonIncluded, true);
}

module.exports = {
    name: 'DeclarationList',
    structure: {
        children: [[
            'Declaration'
        ]]
    },
    parse: function() {
        var children = this.createList();

        scan:
        while (!this.scanner.eof) {
            switch (this.scanner.tokenType) {
                case WHITESPACE:
                case COMMENT:
                case SEMICOLON:
                    this.scanner.next();
                    break;

                default:
                    children.push(this.parseWithFallback(this.Declaration, consumeRaw));
            }
        }

        return {
            type: 'DeclarationList',
            loc: this.getLocationFromList(children),
            children: children
        };
    },
    generate: function(node) {
        this.children(node, function(prev) {
            if (prev.type === 'Declaration') {
                this.chunk(';');
            }
        });
    }
};


/***/ }),

/***/ 22802:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var consumeNumber = __nccwpck_require__(29292).consumeNumber;
var TYPE = __nccwpck_require__(69549).TYPE;

var DIMENSION = TYPE.Dimension;

module.exports = {
    name: 'Dimension',
    structure: {
        value: String,
        unit: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var numberEnd = consumeNumber(this.scanner.source, start);

        this.eat(DIMENSION);

        return {
            type: 'Dimension',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: this.scanner.source.substring(start, numberEnd),
            unit: this.scanner.source.substring(numberEnd, this.scanner.tokenStart)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
        this.chunk(node.unit);
    }
};


/***/ }),

/***/ 16798:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var RIGHTPARENTHESIS = TYPE.RightParenthesis;

// <function-token> <sequence> )
module.exports = {
    name: 'Function',
    structure: {
        name: String,
        children: [[]]
    },
    parse: function(readSequence, recognizer) {
        var start = this.scanner.tokenStart;
        var name = this.consumeFunctionName();
        var nameLowerCase = name.toLowerCase();
        var children;

        children = recognizer.hasOwnProperty(nameLowerCase)
            ? recognizer[nameLowerCase].call(this, recognizer)
            : readSequence.call(this, recognizer);

        if (!this.scanner.eof) {
            this.eat(RIGHTPARENTHESIS);
        }

        return {
            type: 'Function',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: name,
            children: children
        };
    },
    generate: function(node) {
        this.chunk(node.name);
        this.chunk('(');
        this.children(node);
        this.chunk(')');
    },
    walkContext: 'function'
};


/***/ }),

/***/ 19580:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var HASH = TYPE.Hash;

// '#' ident
module.exports = {
    name: 'Hash',
    structure: {
        value: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;

        this.eat(HASH);

        return {
            type: 'Hash',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: this.scanner.substrToCursor(start + 1)
        };
    },
    generate: function(node) {
        this.chunk('#');
        this.chunk(node.value);
    }
};


/***/ }),

/***/ 91895:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var HASH = TYPE.Hash;

// <hash-token>
module.exports = {
    name: 'IdSelector',
    structure: {
        name: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;

        // TODO: check value is an ident
        this.eat(HASH);

        return {
            type: 'IdSelector',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: this.scanner.substrToCursor(start + 1)
        };
    },
    generate: function(node) {
        this.chunk('#');
        this.chunk(node.name);
    }
};


/***/ }),

/***/ 27783:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;

module.exports = {
    name: 'Identifier',
    structure: {
        name: String
    },
    parse: function() {
        return {
            type: 'Identifier',
            loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
            name: this.consume(IDENT)
        };
    },
    generate: function(node) {
        this.chunk(node.name);
    }
};


/***/ }),

/***/ 17602:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var NUMBER = TYPE.Number;
var DIMENSION = TYPE.Dimension;
var LEFTPARENTHESIS = TYPE.LeftParenthesis;
var RIGHTPARENTHESIS = TYPE.RightParenthesis;
var COLON = TYPE.Colon;
var DELIM = TYPE.Delim;

module.exports = {
    name: 'MediaFeature',
    structure: {
        name: String,
        value: ['Identifier', 'Number', 'Dimension', 'Ratio', null]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var name;
        var value = null;

        this.eat(LEFTPARENTHESIS);
        this.scanner.skipSC();

        name = this.consume(IDENT);
        this.scanner.skipSC();

        if (this.scanner.tokenType !== RIGHTPARENTHESIS) {
            this.eat(COLON);
            this.scanner.skipSC();

            switch (this.scanner.tokenType) {
                case NUMBER:
                    if (this.lookupNonWSType(1) === DELIM) {
                        value = this.Ratio();
                    } else {
                        value = this.Number();
                    }

                    break;

                case DIMENSION:
                    value = this.Dimension();
                    break;

                case IDENT:
                    value = this.Identifier();

                    break;

                default:
                    this.error('Number, dimension, ratio or identifier is expected');
            }

            this.scanner.skipSC();
        }

        this.eat(RIGHTPARENTHESIS);

        return {
            type: 'MediaFeature',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: name,
            value: value
        };
    },
    generate: function(node) {
        this.chunk('(');
        this.chunk(node.name);
        if (node.value !== null) {
            this.chunk(':');
            this.node(node.value);
        }
        this.chunk(')');
    }
};


/***/ }),

/***/ 12399:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var IDENT = TYPE.Ident;
var LEFTPARENTHESIS = TYPE.LeftParenthesis;

module.exports = {
    name: 'MediaQuery',
    structure: {
        children: [[
            'Identifier',
            'MediaFeature',
            'WhiteSpace'
        ]]
    },
    parse: function() {
        this.scanner.skipSC();

        var children = this.createList();
        var child = null;
        var space = null;

        scan:
        while (!this.scanner.eof) {
            switch (this.scanner.tokenType) {
                case COMMENT:
                    this.scanner.next();
                    continue;

                case WHITESPACE:
                    space = this.WhiteSpace();
                    continue;

                case IDENT:
                    child = this.Identifier();
                    break;

                case LEFTPARENTHESIS:
                    child = this.MediaFeature();
                    break;

                default:
                    break scan;
            }

            if (space !== null) {
                children.push(space);
                space = null;
            }

            children.push(child);
        }

        if (child === null) {
            this.error('Identifier or parenthesis is expected');
        }

        return {
            type: 'MediaQuery',
            loc: this.getLocationFromList(children),
            children: children
        };
    },
    generate: function(node) {
        this.children(node);
    }
};


/***/ }),

/***/ 98206:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var COMMA = __nccwpck_require__(69549).TYPE.Comma;

module.exports = {
    name: 'MediaQueryList',
    structure: {
        children: [[
            'MediaQuery'
        ]]
    },
    parse: function(relative) {
        var children = this.createList();

        this.scanner.skipSC();

        while (!this.scanner.eof) {
            children.push(this.MediaQuery(relative));

            if (this.scanner.tokenType !== COMMA) {
                break;
            }

            this.scanner.next();
        }

        return {
            type: 'MediaQueryList',
            loc: this.getLocationFromList(children),
            children: children
        };
    },
    generate: function(node) {
        this.children(node, function() {
            this.chunk(',');
        });
    }
};


/***/ }),

/***/ 36949:
/***/ ((module) => {

module.exports = {
    name: 'Nth',
    structure: {
        nth: ['AnPlusB', 'Identifier'],
        selector: ['SelectorList', null]
    },
    parse: function(allowOfClause) {
        this.scanner.skipSC();

        var start = this.scanner.tokenStart;
        var end = start;
        var selector = null;
        var query;

        if (this.scanner.lookupValue(0, 'odd') || this.scanner.lookupValue(0, 'even')) {
            query = this.Identifier();
        } else {
            query = this.AnPlusB();
        }

        this.scanner.skipSC();

        if (allowOfClause && this.scanner.lookupValue(0, 'of')) {
            this.scanner.next();

            selector = this.SelectorList();

            if (this.needPositions) {
                end = this.getLastListNode(selector.children).loc.end.offset;
            }
        } else {
            if (this.needPositions) {
                end = query.loc.end.offset;
            }
        }

        return {
            type: 'Nth',
            loc: this.getLocation(start, end),
            nth: query,
            selector: selector
        };
    },
    generate: function(node) {
        this.node(node.nth);
        if (node.selector !== null) {
            this.chunk(' of ');
            this.node(node.selector);
        }
    }
};


/***/ }),

/***/ 32510:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var NUMBER = __nccwpck_require__(69549).TYPE.Number;

module.exports = {
    name: 'Number',
    structure: {
        value: String
    },
    parse: function() {
        return {
            type: 'Number',
            loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
            value: this.consume(NUMBER)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
    }
};


/***/ }),

/***/ 37098:
/***/ ((module) => {

// '/' | '*' | ',' | ':' | '+' | '-'
module.exports = {
    name: 'Operator',
    structure: {
        value: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;

        this.scanner.next();

        return {
            type: 'Operator',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: this.scanner.substrToCursor(start)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
    }
};


/***/ }),

/***/ 17147:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var LEFTPARENTHESIS = TYPE.LeftParenthesis;
var RIGHTPARENTHESIS = TYPE.RightParenthesis;

module.exports = {
    name: 'Parentheses',
    structure: {
        children: [[]]
    },
    parse: function(readSequence, recognizer) {
        var start = this.scanner.tokenStart;
        var children = null;

        this.eat(LEFTPARENTHESIS);

        children = readSequence.call(this, recognizer);

        if (!this.scanner.eof) {
            this.eat(RIGHTPARENTHESIS);
        }

        return {
            type: 'Parentheses',
            loc: this.getLocation(start, this.scanner.tokenStart),
            children: children
        };
    },
    generate: function(node) {
        this.chunk('(');
        this.children(node);
        this.chunk(')');
    }
};


/***/ }),

/***/ 10862:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var consumeNumber = __nccwpck_require__(29292).consumeNumber;
var TYPE = __nccwpck_require__(69549).TYPE;

var PERCENTAGE = TYPE.Percentage;

module.exports = {
    name: 'Percentage',
    structure: {
        value: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var numberEnd = consumeNumber(this.scanner.source, start);

        this.eat(PERCENTAGE);

        return {
            type: 'Percentage',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: this.scanner.source.substring(start, numberEnd)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
        this.chunk('%');
    }
};


/***/ }),

/***/ 31440:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var FUNCTION = TYPE.Function;
var COLON = TYPE.Colon;
var RIGHTPARENTHESIS = TYPE.RightParenthesis;

// : [ <ident> | <function-token> <any-value>? ) ]
module.exports = {
    name: 'PseudoClassSelector',
    structure: {
        name: String,
        children: [['Raw'], null]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var children = null;
        var name;
        var nameLowerCase;

        this.eat(COLON);

        if (this.scanner.tokenType === FUNCTION) {
            name = this.consumeFunctionName();
            nameLowerCase = name.toLowerCase();

            if (this.pseudo.hasOwnProperty(nameLowerCase)) {
                this.scanner.skipSC();
                children = this.pseudo[nameLowerCase].call(this);
                this.scanner.skipSC();
            } else {
                children = this.createList();
                children.push(
                    this.Raw(this.scanner.tokenIndex, null, false)
                );
            }

            this.eat(RIGHTPARENTHESIS);
        } else {
            name = this.consume(IDENT);
        }

        return {
            type: 'PseudoClassSelector',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: name,
            children: children
        };
    },
    generate: function(node) {
        this.chunk(':');
        this.chunk(node.name);

        if (node.children !== null) {
            this.chunk('(');
            this.children(node);
            this.chunk(')');
        }
    },
    walkContext: 'function'
};


/***/ }),

/***/ 91150:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var FUNCTION = TYPE.Function;
var COLON = TYPE.Colon;
var RIGHTPARENTHESIS = TYPE.RightParenthesis;

// :: [ <ident> | <function-token> <any-value>? ) ]
module.exports = {
    name: 'PseudoElementSelector',
    structure: {
        name: String,
        children: [['Raw'], null]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var children = null;
        var name;
        var nameLowerCase;

        this.eat(COLON);
        this.eat(COLON);

        if (this.scanner.tokenType === FUNCTION) {
            name = this.consumeFunctionName();
            nameLowerCase = name.toLowerCase();

            if (this.pseudo.hasOwnProperty(nameLowerCase)) {
                this.scanner.skipSC();
                children = this.pseudo[nameLowerCase].call(this);
                this.scanner.skipSC();
            } else {
                children = this.createList();
                children.push(
                    this.Raw(this.scanner.tokenIndex, null, false)
                );
            }

            this.eat(RIGHTPARENTHESIS);
        } else {
            name = this.consume(IDENT);
        }

        return {
            type: 'PseudoElementSelector',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: name,
            children: children
        };
    },
    generate: function(node) {
        this.chunk('::');
        this.chunk(node.name);

        if (node.children !== null) {
            this.chunk('(');
            this.children(node);
            this.chunk(')');
        }
    },
    walkContext: 'function'
};


/***/ }),

/***/ 56997:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var isDigit = __nccwpck_require__(69549).isDigit;
var TYPE = __nccwpck_require__(69549).TYPE;

var NUMBER = TYPE.Number;
var DELIM = TYPE.Delim;
var SOLIDUS = 0x002F;  // U+002F SOLIDUS (/)
var FULLSTOP = 0x002E; // U+002E FULL STOP (.)

// Terms of <ratio> should be a positive numbers (not zero or negative)
// (see https://drafts.csswg.org/mediaqueries-3/#values)
// However, -o-min-device-pixel-ratio takes fractional values as a ratio's term
// and this is using by various sites. Therefore we relax checking on parse
// to test a term is unsigned number without an exponent part.
// Additional checking may be applied on lexer validation.
function consumeNumber() {
    this.scanner.skipWS();

    var value = this.consume(NUMBER);

    for (var i = 0; i < value.length; i++) {
        var code = value.charCodeAt(i);
        if (!isDigit(code) && code !== FULLSTOP) {
            this.error('Unsigned number is expected', this.scanner.tokenStart - value.length + i);
        }
    }

    if (Number(value) === 0) {
        this.error('Zero number is not allowed', this.scanner.tokenStart - value.length);
    }

    return value;
}

// <positive-integer> S* '/' S* <positive-integer>
module.exports = {
    name: 'Ratio',
    structure: {
        left: String,
        right: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var left = consumeNumber.call(this);
        var right;

        this.scanner.skipWS();

        if (!this.scanner.isDelim(SOLIDUS)) {
            this.error('Solidus is expected');
        }
        this.eat(DELIM);
        right = consumeNumber.call(this);

        return {
            type: 'Ratio',
            loc: this.getLocation(start, this.scanner.tokenStart),
            left: left,
            right: right
        };
    },
    generate: function(node) {
        this.chunk(node.left);
        this.chunk('/');
        this.chunk(node.right);
    }
};


/***/ }),

/***/ 81287:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var tokenizer = __nccwpck_require__(69549);
var TYPE = tokenizer.TYPE;

var WhiteSpace = TYPE.WhiteSpace;
var Semicolon = TYPE.Semicolon;
var LeftCurlyBracket = TYPE.LeftCurlyBracket;
var Delim = TYPE.Delim;
var EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!)

function getOffsetExcludeWS() {
    if (this.scanner.tokenIndex > 0) {
        if (this.scanner.lookupType(-1) === WhiteSpace) {
            return this.scanner.tokenIndex > 1
                ? this.scanner.getTokenStart(this.scanner.tokenIndex - 1)
                : this.scanner.firstCharOffset;
        }
    }

    return this.scanner.tokenStart;
}

// 0, 0, false
function balanceEnd() {
    return 0;
}

// LEFTCURLYBRACKET, 0, false
function leftCurlyBracket(tokenType) {
    return tokenType === LeftCurlyBracket ? 1 : 0;
}

// LEFTCURLYBRACKET, SEMICOLON, false
function leftCurlyBracketOrSemicolon(tokenType) {
    return tokenType === LeftCurlyBracket || tokenType === Semicolon ? 1 : 0;
}

// EXCLAMATIONMARK, SEMICOLON, false
function exclamationMarkOrSemicolon(tokenType, source, offset) {
    if (tokenType === Delim && source.charCodeAt(offset) === EXCLAMATIONMARK) {
        return 1;
    }

    return tokenType === Semicolon ? 1 : 0;
}

// 0, SEMICOLON, true
function semicolonIncluded(tokenType) {
    return tokenType === Semicolon ? 2 : 0;
}

module.exports = {
    name: 'Raw',
    structure: {
        value: String
    },
    parse: function(startToken, mode, excludeWhiteSpace) {
        var startOffset = this.scanner.getTokenStart(startToken);
        var endOffset;

        this.scanner.skip(
            this.scanner.getRawLength(startToken, mode || balanceEnd)
        );

        if (excludeWhiteSpace && this.scanner.tokenStart > startOffset) {
            endOffset = getOffsetExcludeWS.call(this);
        } else {
            endOffset = this.scanner.tokenStart;
        }

        return {
            type: 'Raw',
            loc: this.getLocation(startOffset, endOffset),
            value: this.scanner.source.substring(startOffset, endOffset)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
    },

    mode: {
        default: balanceEnd,
        leftCurlyBracket: leftCurlyBracket,
        leftCurlyBracketOrSemicolon: leftCurlyBracketOrSemicolon,
        exclamationMarkOrSemicolon: exclamationMarkOrSemicolon,
        semicolonIncluded: semicolonIncluded
    }
};


/***/ }),

/***/ 46902:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;
var rawMode = __nccwpck_require__(81287).mode;

var LEFTCURLYBRACKET = TYPE.LeftCurlyBracket;

function consumeRaw(startToken) {
    return this.Raw(startToken, rawMode.leftCurlyBracket, true);
}

function consumePrelude() {
    var prelude = this.SelectorList();

    if (prelude.type !== 'Raw' &&
        this.scanner.eof === false &&
        this.scanner.tokenType !== LEFTCURLYBRACKET) {
        this.error();
    }

    return prelude;
}

module.exports = {
    name: 'Rule',
    structure: {
        prelude: ['SelectorList', 'Raw'],
        block: ['Block']
    },
    parse: function() {
        var startToken = this.scanner.tokenIndex;
        var startOffset = this.scanner.tokenStart;
        var prelude;
        var block;

        if (this.parseRulePrelude) {
            prelude = this.parseWithFallback(consumePrelude, consumeRaw);
        } else {
            prelude = consumeRaw.call(this, startToken);
        }

        block = this.Block(true);

        return {
            type: 'Rule',
            loc: this.getLocation(startOffset, this.scanner.tokenStart),
            prelude: prelude,
            block: block
        };
    },
    generate: function(node) {
        this.node(node.prelude);
        this.node(node.block);
    },
    walkContext: 'rule'
};


/***/ }),

/***/ 27356:
/***/ ((module) => {

module.exports = {
    name: 'Selector',
    structure: {
        children: [[
            'TypeSelector',
            'IdSelector',
            'ClassSelector',
            'AttributeSelector',
            'PseudoClassSelector',
            'PseudoElementSelector',
            'Combinator',
            'WhiteSpace'
        ]]
    },
    parse: function() {
        var children = this.readSequence(this.scope.Selector);

        // nothing were consumed
        if (this.getFirstListNode(children) === null) {
            this.error('Selector is expected');
        }

        return {
            type: 'Selector',
            loc: this.getLocationFromList(children),
            children: children
        };
    },
    generate: function(node) {
        this.children(node);
    }
};


/***/ }),

/***/ 53563:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var COMMA = TYPE.Comma;

module.exports = {
    name: 'SelectorList',
    structure: {
        children: [[
            'Selector',
            'Raw'
        ]]
    },
    parse: function() {
        var children = this.createList();

        while (!this.scanner.eof) {
            children.push(this.Selector());

            if (this.scanner.tokenType === COMMA) {
                this.scanner.next();
                continue;
            }

            break;
        }

        return {
            type: 'SelectorList',
            loc: this.getLocationFromList(children),
            children: children
        };
    },
    generate: function(node) {
        this.children(node, function() {
            this.chunk(',');
        });
    },
    walkContext: 'selector'
};


/***/ }),

/***/ 72605:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var STRING = __nccwpck_require__(69549).TYPE.String;

module.exports = {
    name: 'String',
    structure: {
        value: String
    },
    parse: function() {
        return {
            type: 'String',
            loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
            value: this.consume(STRING)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
    }
};


/***/ }),

/***/ 9383:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var WHITESPACE = TYPE.WhiteSpace;
var COMMENT = TYPE.Comment;
var ATKEYWORD = TYPE.AtKeyword;
var CDO = TYPE.CDO;
var CDC = TYPE.CDC;
var EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!)

function consumeRaw(startToken) {
    return this.Raw(startToken, null, false);
}

module.exports = {
    name: 'StyleSheet',
    structure: {
        children: [[
            'Comment',
            'CDO',
            'CDC',
            'Atrule',
            'Rule',
            'Raw'
        ]]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var children = this.createList();
        var child;

        scan:
        while (!this.scanner.eof) {
            switch (this.scanner.tokenType) {
                case WHITESPACE:
                    this.scanner.next();
                    continue;

                case COMMENT:
                    // ignore comments except exclamation comments (i.e. /*! .. */) on top level
                    if (this.scanner.source.charCodeAt(this.scanner.tokenStart + 2) !== EXCLAMATIONMARK) {
                        this.scanner.next();
                        continue;
                    }

                    child = this.Comment();
                    break;

                case CDO: // <!--
                    child = this.CDO();
                    break;

                case CDC: // -->
                    child = this.CDC();
                    break;

                // CSS Syntax Module Level 3
                // §2.2 Error handling
                // At the "top level" of a stylesheet, an <at-keyword-token> starts an at-rule.
                case ATKEYWORD:
                    child = this.parseWithFallback(this.Atrule, consumeRaw);
                    break;

                // Anything else starts a qualified rule ...
                default:
                    child = this.parseWithFallback(this.Rule, consumeRaw);
            }

            children.push(child);
        }

        return {
            type: 'StyleSheet',
            loc: this.getLocation(start, this.scanner.tokenStart),
            children: children
        };
    },
    generate: function(node) {
        this.children(node);
    },
    walkContext: 'stylesheet'
};


/***/ }),

/***/ 88050:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var ASTERISK = 0x002A;     // U+002A ASTERISK (*)
var VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|)

function eatIdentifierOrAsterisk() {
    if (this.scanner.tokenType !== IDENT &&
        this.scanner.isDelim(ASTERISK) === false) {
        this.error('Identifier or asterisk is expected');
    }

    this.scanner.next();
}

// ident
// ident|ident
// ident|*
// *
// *|ident
// *|*
// |ident
// |*
module.exports = {
    name: 'TypeSelector',
    structure: {
        name: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;

        if (this.scanner.isDelim(VERTICALLINE)) {
            this.scanner.next();
            eatIdentifierOrAsterisk.call(this);
        } else {
            eatIdentifierOrAsterisk.call(this);

            if (this.scanner.isDelim(VERTICALLINE)) {
                this.scanner.next();
                eatIdentifierOrAsterisk.call(this);
            }
        }

        return {
            type: 'TypeSelector',
            loc: this.getLocation(start, this.scanner.tokenStart),
            name: this.scanner.substrToCursor(start)
        };
    },
    generate: function(node) {
        this.chunk(node.name);
    }
};


/***/ }),

/***/ 23086:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var isHexDigit = __nccwpck_require__(69549).isHexDigit;
var cmpChar = __nccwpck_require__(69549).cmpChar;
var TYPE = __nccwpck_require__(69549).TYPE;
var NAME = __nccwpck_require__(69549).NAME;

var IDENT = TYPE.Ident;
var NUMBER = TYPE.Number;
var DIMENSION = TYPE.Dimension;
var PLUSSIGN = 0x002B;     // U+002B PLUS SIGN (+)
var HYPHENMINUS = 0x002D;  // U+002D HYPHEN-MINUS (-)
var QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?)
var U = 0x0075;            // U+0075 LATIN SMALL LETTER U (u)

function eatHexSequence(offset, allowDash) {
    for (var pos = this.scanner.tokenStart + offset, len = 0; pos < this.scanner.tokenEnd; pos++) {
        var code = this.scanner.source.charCodeAt(pos);

        if (code === HYPHENMINUS && allowDash && len !== 0) {
            if (eatHexSequence.call(this, offset + len + 1, false) === 0) {
                this.error();
            }

            return -1;
        }

        if (!isHexDigit(code)) {
            this.error(
                allowDash && len !== 0
                    ? 'HyphenMinus' + (len < 6 ? ' or hex digit' : '') + ' is expected'
                    : (len < 6 ? 'Hex digit is expected' : 'Unexpected input'),
                pos
            );
        }

        if (++len > 6) {
            this.error('Too many hex digits', pos);
        };
    }

    this.scanner.next();
    return len;
}

function eatQuestionMarkSequence(max) {
    var count = 0;

    while (this.scanner.isDelim(QUESTIONMARK)) {
        if (++count > max) {
            this.error('Too many question marks');
        }

        this.scanner.next();
    }
}

function startsWith(code) {
    if (this.scanner.source.charCodeAt(this.scanner.tokenStart) !== code) {
        this.error(NAME[code] + ' is expected');
    }
}

// https://drafts.csswg.org/css-syntax/#urange
// Informally, the <urange> production has three forms:
// U+0001
//      Defines a range consisting of a single code point, in this case the code point "1".
// U+0001-00ff
//      Defines a range of codepoints between the first and the second value, in this case
//      the range between "1" and "ff" (255 in decimal) inclusive.
// U+00??
//      Defines a range of codepoints where the "?" characters range over all hex digits,
//      in this case defining the same as the value U+0000-00ff.
// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit).
//
// <urange> =
//   u '+' <ident-token> '?'* |
//   u <dimension-token> '?'* |
//   u <number-token> '?'* |
//   u <number-token> <dimension-token> |
//   u <number-token> <number-token> |
//   u '+' '?'+
function scanUnicodeRange() {
    var hexLength = 0;

    // u '+' <ident-token> '?'*
    // u '+' '?'+
    if (this.scanner.isDelim(PLUSSIGN)) {
        this.scanner.next();

        if (this.scanner.tokenType === IDENT) {
            hexLength = eatHexSequence.call(this, 0, true);
            if (hexLength > 0) {
                eatQuestionMarkSequence.call(this, 6 - hexLength);
            }
            return;
        }

        if (this.scanner.isDelim(QUESTIONMARK)) {
            this.scanner.next();
            eatQuestionMarkSequence.call(this, 5);
            return;
        }

        this.error('Hex digit or question mark is expected');
        return;
    }

    // u <number-token> '?'*
    // u <number-token> <dimension-token>
    // u <number-token> <number-token>
    if (this.scanner.tokenType === NUMBER) {
        startsWith.call(this, PLUSSIGN);
        hexLength = eatHexSequence.call(this, 1, true);

        if (this.scanner.isDelim(QUESTIONMARK)) {
            eatQuestionMarkSequence.call(this, 6 - hexLength);
            return;
        }

        if (this.scanner.tokenType === DIMENSION ||
            this.scanner.tokenType === NUMBER) {
            startsWith.call(this, HYPHENMINUS);
            eatHexSequence.call(this, 1, false);
            return;
        }

        return;
    }

    // u <dimension-token> '?'*
    if (this.scanner.tokenType === DIMENSION) {
        startsWith.call(this, PLUSSIGN);
        hexLength = eatHexSequence.call(this, 1, true);

        if (hexLength > 0) {
            eatQuestionMarkSequence.call(this, 6 - hexLength);
        }

        return;
    }

    this.error();
}

module.exports = {
    name: 'UnicodeRange',
    structure: {
        value: String
    },
    parse: function() {
        var start = this.scanner.tokenStart;

        // U or u
        if (!cmpChar(this.scanner.source, start, U)) {
            this.error('U is expected');
        }

        if (!cmpChar(this.scanner.source, start + 1, PLUSSIGN)) {
            this.error('Plus sign is expected');
        }

        this.scanner.next();
        scanUnicodeRange.call(this);

        return {
            type: 'UnicodeRange',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: this.scanner.substrToCursor(start)
        };
    },
    generate: function(node) {
        this.chunk(node.value);
    }
};


/***/ }),

/***/ 37233:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var isWhiteSpace = __nccwpck_require__(69549).isWhiteSpace;
var cmpStr = __nccwpck_require__(69549).cmpStr;
var TYPE = __nccwpck_require__(69549).TYPE;

var FUNCTION = TYPE.Function;
var URL = TYPE.Url;
var RIGHTPARENTHESIS = TYPE.RightParenthesis;

// <url-token> | <function-token> <string> )
module.exports = {
    name: 'Url',
    structure: {
        value: ['String', 'Raw']
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var value;

        switch (this.scanner.tokenType) {
            case URL:
                var rawStart = start + 4;
                var rawEnd = this.scanner.tokenEnd - 1;

                while (rawStart < rawEnd && isWhiteSpace(this.scanner.source.charCodeAt(rawStart))) {
                    rawStart++;
                }

                while (rawStart < rawEnd && isWhiteSpace(this.scanner.source.charCodeAt(rawEnd - 1))) {
                    rawEnd--;
                }

                value = {
                    type: 'Raw',
                    loc: this.getLocation(rawStart, rawEnd),
                    value: this.scanner.source.substring(rawStart, rawEnd)
                };

                this.eat(URL);
                break;

            case FUNCTION:
                if (!cmpStr(this.scanner.source, this.scanner.tokenStart, this.scanner.tokenEnd, 'url(')) {
                    this.error('Function name must be `url`');
                }

                this.eat(FUNCTION);
                this.scanner.skipSC();
                value = this.String();
                this.scanner.skipSC();
                this.eat(RIGHTPARENTHESIS);
                break;

            default:
                this.error('Url or Function is expected');
        }

        return {
            type: 'Url',
            loc: this.getLocation(start, this.scanner.tokenStart),
            value: value
        };
    },
    generate: function(node) {
        this.chunk('url');
        this.chunk('(');
        this.node(node.value);
        this.chunk(')');
    }
};


/***/ }),

/***/ 27575:
/***/ ((module) => {

module.exports = {
    name: 'Value',
    structure: {
        children: [[]]
    },
    parse: function() {
        var start = this.scanner.tokenStart;
        var children = this.readSequence(this.scope.Value);

        return {
            type: 'Value',
            loc: this.getLocation(start, this.scanner.tokenStart),
            children: children
        };
    },
    generate: function(node) {
        this.children(node);
    }
};


/***/ }),

/***/ 96411:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var WHITESPACE = __nccwpck_require__(69549).TYPE.WhiteSpace;
var SPACE = Object.freeze({
    type: 'WhiteSpace',
    loc: null,
    value: ' '
});

module.exports = {
    name: 'WhiteSpace',
    structure: {
        value: String
    },
    parse: function() {
        this.eat(WHITESPACE);
        return SPACE;

        // return {
        //     type: 'WhiteSpace',
        //     loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
        //     value: this.consume(WHITESPACE)
        // };
    },
    generate: function(node) {
        this.chunk(node.value);
    }
};


/***/ }),

/***/ 77057:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    AnPlusB: __nccwpck_require__(28892),
    Atrule: __nccwpck_require__(53778),
    AtrulePrelude: __nccwpck_require__(34161),
    AttributeSelector: __nccwpck_require__(53887),
    Block: __nccwpck_require__(97800),
    Brackets: __nccwpck_require__(85549),
    CDC: __nccwpck_require__(6730),
    CDO: __nccwpck_require__(41210),
    ClassSelector: __nccwpck_require__(19694),
    Combinator: __nccwpck_require__(29026),
    Comment: __nccwpck_require__(46018),
    Declaration: __nccwpck_require__(78951),
    DeclarationList: __nccwpck_require__(12503),
    Dimension: __nccwpck_require__(22802),
    Function: __nccwpck_require__(16798),
    Hash: __nccwpck_require__(19580),
    Identifier: __nccwpck_require__(27783),
    IdSelector: __nccwpck_require__(91895),
    MediaFeature: __nccwpck_require__(17602),
    MediaQuery: __nccwpck_require__(12399),
    MediaQueryList: __nccwpck_require__(98206),
    Nth: __nccwpck_require__(36949),
    Number: __nccwpck_require__(32510),
    Operator: __nccwpck_require__(37098),
    Parentheses: __nccwpck_require__(17147),
    Percentage: __nccwpck_require__(10862),
    PseudoClassSelector: __nccwpck_require__(31440),
    PseudoElementSelector: __nccwpck_require__(91150),
    Ratio: __nccwpck_require__(56997),
    Raw: __nccwpck_require__(81287),
    Rule: __nccwpck_require__(46902),
    Selector: __nccwpck_require__(27356),
    SelectorList: __nccwpck_require__(53563),
    String: __nccwpck_require__(72605),
    StyleSheet: __nccwpck_require__(9383),
    TypeSelector: __nccwpck_require__(88050),
    UnicodeRange: __nccwpck_require__(23086),
    Url: __nccwpck_require__(37233),
    Value: __nccwpck_require__(27575),
    WhiteSpace: __nccwpck_require__(96411)
};


/***/ }),

/***/ 51881:
/***/ ((module) => {

var DISALLOW_OF_CLAUSE = false;

module.exports = {
    parse: function nth() {
        return this.createSingleNodeList(
            this.Nth(DISALLOW_OF_CLAUSE)
        );
    }
};


/***/ }),

/***/ 76779:
/***/ ((module) => {

var ALLOW_OF_CLAUSE = true;

module.exports = {
    parse: function nthWithOfClause() {
        return this.createSingleNodeList(
            this.Nth(ALLOW_OF_CLAUSE)
        );
    }
};


/***/ }),

/***/ 53379:
/***/ ((module) => {

module.exports = {
    parse: function selectorList() {
        return this.createSingleNodeList(
            this.SelectorList()
        );
    }
};


/***/ }),

/***/ 92402:
/***/ ((module) => {

module.exports = {
    parse: function() {
        return this.createSingleNodeList(
            this.Identifier()
        );
    }
};


/***/ }),

/***/ 78313:
/***/ ((module) => {

module.exports = {
    parse: function() {
        return this.createSingleNodeList(
            this.SelectorList()
        );
    }
};


/***/ }),

/***/ 84575:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    'dir': __nccwpck_require__(92402),
    'has': __nccwpck_require__(78313),
    'lang': __nccwpck_require__(41671),
    'matches': __nccwpck_require__(98869),
    'not': __nccwpck_require__(42171),
    'nth-child': __nccwpck_require__(58075),
    'nth-last-child': __nccwpck_require__(95616),
    'nth-last-of-type': __nccwpck_require__(43157),
    'nth-of-type': __nccwpck_require__(22764),
    'slotted': __nccwpck_require__(97891)
};


/***/ }),

/***/ 41671:
/***/ ((module) => {

module.exports = {
    parse: function() {
        return this.createSingleNodeList(
            this.Identifier()
        );
    }
};


/***/ }),

/***/ 98869:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(53379);


/***/ }),

/***/ 42171:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(53379);


/***/ }),

/***/ 58075:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(76779);


/***/ }),

/***/ 95616:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(76779);


/***/ }),

/***/ 43157:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(51881);


/***/ }),

/***/ 22764:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(51881);


/***/ }),

/***/ 97891:
/***/ ((module) => {

module.exports = {
    parse: function compoundSelector() {
        return this.createSingleNodeList(
            this.Selector()
        );
    }
};


/***/ }),

/***/ 35244:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    getNode: __nccwpck_require__(47406)
};


/***/ }),

/***/ 47406:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var cmpChar = __nccwpck_require__(69549).cmpChar;
var cmpStr = __nccwpck_require__(69549).cmpStr;
var TYPE = __nccwpck_require__(69549).TYPE;

var IDENT = TYPE.Ident;
var STRING = TYPE.String;
var NUMBER = TYPE.Number;
var FUNCTION = TYPE.Function;
var URL = TYPE.Url;
var HASH = TYPE.Hash;
var DIMENSION = TYPE.Dimension;
var PERCENTAGE = TYPE.Percentage;
var LEFTPARENTHESIS = TYPE.LeftParenthesis;
var LEFTSQUAREBRACKET = TYPE.LeftSquareBracket;
var COMMA = TYPE.Comma;
var DELIM = TYPE.Delim;
var NUMBERSIGN = 0x0023;  // U+0023 NUMBER SIGN (#)
var ASTERISK = 0x002A;    // U+002A ASTERISK (*)
var PLUSSIGN = 0x002B;    // U+002B PLUS SIGN (+)
var HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-)
var SOLIDUS = 0x002F;     // U+002F SOLIDUS (/)
var U = 0x0075;           // U+0075 LATIN SMALL LETTER U (u)

module.exports = function defaultRecognizer(context) {
    switch (this.scanner.tokenType) {
        case HASH:
            return this.Hash();

        case COMMA:
            context.space = null;
            context.ignoreWSAfter = true;
            return this.Operator();

        case LEFTPARENTHESIS:
            return this.Parentheses(this.readSequence, context.recognizer);

        case LEFTSQUAREBRACKET:
            return this.Brackets(this.readSequence, context.recognizer);

        case STRING:
            return this.String();

        case DIMENSION:
            return this.Dimension();

        case PERCENTAGE:
            return this.Percentage();

        case NUMBER:
            return this.Number();

        case FUNCTION:
            return cmpStr(this.scanner.source, this.scanner.tokenStart, this.scanner.tokenEnd, 'url(')
                ? this.Url()
                : this.Function(this.readSequence, context.recognizer);

        case URL:
            return this.Url();

        case IDENT:
            // check for unicode range, it should start with u+ or U+
            if (cmpChar(this.scanner.source, this.scanner.tokenStart, U) &&
                cmpChar(this.scanner.source, this.scanner.tokenStart + 1, PLUSSIGN)) {
                return this.UnicodeRange();
            } else {
                return this.Identifier();
            }

        case DELIM:
            var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);

            if (code === SOLIDUS ||
                code === ASTERISK ||
                code === PLUSSIGN ||
                code === HYPHENMINUS) {
                return this.Operator(); // TODO: replace with Delim
            }

            // TODO: produce a node with Delim node type

            if (code === NUMBERSIGN) {
                this.error('Hex or identifier is expected', this.scanner.tokenStart + 1);
            }

            break;
    }
};


/***/ }),

/***/ 90326:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    AtrulePrelude: __nccwpck_require__(35244),
    Selector: __nccwpck_require__(37752),
    Value: __nccwpck_require__(68463)
};


/***/ }),

/***/ 37752:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TYPE = __nccwpck_require__(69549).TYPE;

var DELIM = TYPE.Delim;
var IDENT = TYPE.Ident;
var DIMENSION = TYPE.Dimension;
var PERCENTAGE = TYPE.Percentage;
var NUMBER = TYPE.Number;
var HASH = TYPE.Hash;
var COLON = TYPE.Colon;
var LEFTSQUAREBRACKET = TYPE.LeftSquareBracket;
var NUMBERSIGN = 0x0023;      // U+0023 NUMBER SIGN (#)
var ASTERISK = 0x002A;        // U+002A ASTERISK (*)
var PLUSSIGN = 0x002B;        // U+002B PLUS SIGN (+)
var SOLIDUS = 0x002F;         // U+002F SOLIDUS (/)
var FULLSTOP = 0x002E;        // U+002E FULL STOP (.)
var GREATERTHANSIGN = 0x003E; // U+003E GREATER-THAN SIGN (>)
var VERTICALLINE = 0x007C;    // U+007C VERTICAL LINE (|)
var TILDE = 0x007E;           // U+007E TILDE (~)

function getNode(context) {
    switch (this.scanner.tokenType) {
        case LEFTSQUAREBRACKET:
            return this.AttributeSelector();

        case HASH:
            return this.IdSelector();

        case COLON:
            if (this.scanner.lookupType(1) === COLON) {
                return this.PseudoElementSelector();
            } else {
                return this.PseudoClassSelector();
            }

        case IDENT:
            return this.TypeSelector();

        case NUMBER:
        case PERCENTAGE:
            return this.Percentage();

        case DIMENSION:
            // throws when .123ident
            if (this.scanner.source.charCodeAt(this.scanner.tokenStart) === FULLSTOP) {
                this.error('Identifier is expected', this.scanner.tokenStart + 1);
            }
            break;

        case DELIM:
            var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);

            switch (code) {
                case PLUSSIGN:
                case GREATERTHANSIGN:
                case TILDE:
                    context.space = null;
                    context.ignoreWSAfter = true;
                    return this.Combinator();

                case SOLIDUS:  // /deep/
                    return this.Combinator();

                case FULLSTOP:
                    return this.ClassSelector();

                case ASTERISK:
                case VERTICALLINE:
                    return this.TypeSelector();

                case NUMBERSIGN:
                    return this.IdSelector();
            }

            break;
    }
};

module.exports = {
    getNode: getNode
};


/***/ }),

/***/ 68463:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = {
    getNode: __nccwpck_require__(47406),
    'expression': __nccwpck_require__(58575),
    'var': __nccwpck_require__(75724)
};


/***/ }),

/***/ 36157:
/***/ ((module) => {

var EOF = 0;

// https://drafts.csswg.org/css-syntax-3/
// § 4.2. Definitions

// digit
// A code point between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9).
function isDigit(code) {
    return code >= 0x0030 && code <= 0x0039;
}

// hex digit
// A digit, or a code point between U+0041 LATIN CAPITAL LETTER A (A) and U+0046 LATIN CAPITAL LETTER F (F),
// or a code point between U+0061 LATIN SMALL LETTER A (a) and U+0066 LATIN SMALL LETTER F (f).
function isHexDigit(code) {
    return (
        isDigit(code) || // 0 .. 9
        (code >= 0x0041 && code <= 0x0046) || // A .. F
        (code >= 0x0061 && code <= 0x0066)    // a .. f
    );
}

// uppercase letter
// A code point between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z).
function isUppercaseLetter(code) {
    return code >= 0x0041 && code <= 0x005A;
}

// lowercase letter
// A code point between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z).
function isLowercaseLetter(code) {
    return code >= 0x0061 && code <= 0x007A;
}

// letter
// An uppercase letter or a lowercase letter.
function isLetter(code) {
    return isUppercaseLetter(code) || isLowercaseLetter(code);
}

// non-ASCII code point
// A code point with a value equal to or greater than U+0080 <control>.
function isNonAscii(code) {
    return code >= 0x0080;
}

// name-start code point
// A letter, a non-ASCII code point, or U+005F LOW LINE (_).
function isNameStart(code) {
    return isLetter(code) || isNonAscii(code) || code === 0x005F;
}

// name code point
// A name-start code point, a digit, or U+002D HYPHEN-MINUS (-).
function isName(code) {
    return isNameStart(code) || isDigit(code) || code === 0x002D;
}

// non-printable code point
// A code point between U+0000 NULL and U+0008 BACKSPACE, or U+000B LINE TABULATION,
// or a code point between U+000E SHIFT OUT and U+001F INFORMATION SEPARATOR ONE, or U+007F DELETE.
function isNonPrintable(code) {
    return (
        (code >= 0x0000 && code <= 0x0008) ||
        (code === 0x000B) ||
        (code >= 0x000E && code <= 0x001F) ||
        (code === 0x007F)
    );
}

// newline
// U+000A LINE FEED. Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not included in this definition,
// as they are converted to U+000A LINE FEED during preprocessing.
// TODO: we doesn't do a preprocessing, so check a code point for U+000D CARRIAGE RETURN and U+000C FORM FEED
function isNewline(code) {
    return code === 0x000A || code === 0x000D || code === 0x000C;
}

// whitespace
// A newline, U+0009 CHARACTER TABULATION, or U+0020 SPACE.
function isWhiteSpace(code) {
    return isNewline(code) || code === 0x0020 || code === 0x0009;
}

// § 4.3.8. Check if two code points are a valid escape
function isValidEscape(first, second) {
    // If the first code point is not U+005C REVERSE SOLIDUS (\), return false.
    if (first !== 0x005C) {
        return false;
    }

    // Otherwise, if the second code point is a newline or EOF, return false.
    if (isNewline(second) || second === EOF) {
        return false;
    }

    // Otherwise, return true.
    return true;
}

// § 4.3.9. Check if three code points would start an identifier
function isIdentifierStart(first, second, third) {
    // Look at the first code point:

    // U+002D HYPHEN-MINUS
    if (first === 0x002D) {
        // If the second code point is a name-start code point or a U+002D HYPHEN-MINUS,
        // or the second and third code points are a valid escape, return true. Otherwise, return false.
        return (
            isNameStart(second) ||
            second === 0x002D ||
            isValidEscape(second, third)
        );
    }

    // name-start code point
    if (isNameStart(first)) {
        // Return true.
        return true;
    }

    // U+005C REVERSE SOLIDUS (\)
    if (first === 0x005C) {
        // If the first and second code points are a valid escape, return true. Otherwise, return false.
        return isValidEscape(first, second);
    }

    // anything else
    // Return false.
    return false;
}

// § 4.3.10. Check if three code points would start a number
function isNumberStart(first, second, third) {
    // Look at the first code point:

    // U+002B PLUS SIGN (+)
    // U+002D HYPHEN-MINUS (-)
    if (first === 0x002B || first === 0x002D) {
        // If the second code point is a digit, return true.
        if (isDigit(second)) {
            return 2;
        }

        // Otherwise, if the second code point is a U+002E FULL STOP (.)
        // and the third code point is a digit, return true.
        // Otherwise, return false.
        return second === 0x002E && isDigit(third) ? 3 : 0;
    }

    // U+002E FULL STOP (.)
    if (first === 0x002E) {
        // If the second code point is a digit, return true. Otherwise, return false.
        return isDigit(second) ? 2 : 0;
    }

    // digit
    if (isDigit(first)) {
        // Return true.
        return 1;
    }

    // anything else
    // Return false.
    return 0;
}

//
// Misc
//

// detect BOM (https://en.wikipedia.org/wiki/Byte_order_mark)
function isBOM(code) {
    // UTF-16BE
    if (code === 0xFEFF) {
        return 1;
    }

    // UTF-16LE
    if (code === 0xFFFE) {
        return 1;
    }

    return 0;
}

// Fast code category
//
// https://drafts.csswg.org/css-syntax/#tokenizer-definitions
// > non-ASCII code point
// >   A code point with a value equal to or greater than U+0080 <control>
// > name-start code point
// >   A letter, a non-ASCII code point, or U+005F LOW LINE (_).
// > name code point
// >   A name-start code point, a digit, or U+002D HYPHEN-MINUS (-)
// That means only ASCII code points has a special meaning and we define a maps for 0..127 codes only
var CATEGORY = new Array(0x80);
charCodeCategory.Eof = 0x80;
charCodeCategory.WhiteSpace = 0x82;
charCodeCategory.Digit = 0x83;
charCodeCategory.NameStart = 0x84;
charCodeCategory.NonPrintable = 0x85;

for (var i = 0; i < CATEGORY.length; i++) {
    switch (true) {
        case isWhiteSpace(i):
            CATEGORY[i] = charCodeCategory.WhiteSpace;
            break;

        case isDigit(i):
            CATEGORY[i] = charCodeCategory.Digit;
            break;

        case isNameStart(i):
            CATEGORY[i] = charCodeCategory.NameStart;
            break;

        case isNonPrintable(i):
            CATEGORY[i] = charCodeCategory.NonPrintable;
            break;

        default:
            CATEGORY[i] = i || charCodeCategory.Eof;
    }
}

function charCodeCategory(code) {
    return code < 0x80 ? CATEGORY[code] : charCodeCategory.NameStart;
};

module.exports = {
    isDigit: isDigit,
    isHexDigit: isHexDigit,
    isUppercaseLetter: isUppercaseLetter,
    isLowercaseLetter: isLowercaseLetter,
    isLetter: isLetter,
    isNonAscii: isNonAscii,
    isNameStart: isNameStart,
    isName: isName,
    isNonPrintable: isNonPrintable,
    isNewline: isNewline,
    isWhiteSpace: isWhiteSpace,
    isValidEscape: isValidEscape,
    isIdentifierStart: isIdentifierStart,
    isNumberStart: isNumberStart,

    isBOM: isBOM,
    charCodeCategory: charCodeCategory
};


/***/ }),

/***/ 62478:
/***/ ((module) => {

// CSS Syntax Module Level 3
// https://www.w3.org/TR/css-syntax-3/
var TYPE = {
    EOF: 0,                 // <EOF-token>
    Ident: 1,               // <ident-token>
    Function: 2,            // <function-token>
    AtKeyword: 3,           // <at-keyword-token>
    Hash: 4,                // <hash-token>
    String: 5,              // <string-token>
    BadString: 6,           // <bad-string-token>
    Url: 7,                 // <url-token>
    BadUrl: 8,              // <bad-url-token>
    Delim: 9,               // <delim-token>
    Number: 10,             // <number-token>
    Percentage: 11,         // <percentage-token>
    Dimension: 12,          // <dimension-token>
    WhiteSpace: 13,         // <whitespace-token>
    CDO: 14,                // <CDO-token>
    CDC: 15,                // <CDC-token>
    Colon: 16,              // <colon-token>     :
    Semicolon: 17,          // <semicolon-token> ;
    Comma: 18,              // <comma-token>     ,
    LeftSquareBracket: 19,  // <[-token>
    RightSquareBracket: 20, // <]-token>
    LeftParenthesis: 21,    // <(-token>
    RightParenthesis: 22,   // <)-token>
    LeftCurlyBracket: 23,   // <{-token>
    RightCurlyBracket: 24,  // <}-token>
    Comment: 25
};

var NAME = Object.keys(TYPE).reduce(function(result, key) {
    result[TYPE[key]] = key;
    return result;
}, {});

module.exports = {
    TYPE: TYPE,
    NAME: NAME
};


/***/ }),

/***/ 69549:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var TokenStream = __nccwpck_require__(89490);
var adoptBuffer = __nccwpck_require__(63156);

var constants = __nccwpck_require__(62478);
var TYPE = constants.TYPE;

var charCodeDefinitions = __nccwpck_require__(36157);
var isNewline = charCodeDefinitions.isNewline;
var isName = charCodeDefinitions.isName;
var isValidEscape = charCodeDefinitions.isValidEscape;
var isNumberStart = charCodeDefinitions.isNumberStart;
var isIdentifierStart = charCodeDefinitions.isIdentifierStart;
var charCodeCategory = charCodeDefinitions.charCodeCategory;
var isBOM = charCodeDefinitions.isBOM;

var utils = __nccwpck_require__(29292);
var cmpStr = utils.cmpStr;
var getNewlineLength = utils.getNewlineLength;
var findWhiteSpaceEnd = utils.findWhiteSpaceEnd;
var consumeEscaped = utils.consumeEscaped;
var consumeName = utils.consumeName;
var consumeNumber = utils.consumeNumber;
var consumeBadUrlRemnants = utils.consumeBadUrlRemnants;

var OFFSET_MASK = 0x00FFFFFF;
var TYPE_SHIFT = 24;

function tokenize(source, stream) {
    function getCharCode(offset) {
        return offset < sourceLength ? source.charCodeAt(offset) : 0;
    }

    // § 4.3.3. Consume a numeric token
    function consumeNumericToken() {
        // Consume a number and let number be the result.
        offset = consumeNumber(source, offset);

        // If the next 3 input code points would start an identifier, then:
        if (isIdentifierStart(getCharCode(offset), getCharCode(offset + 1), getCharCode(offset + 2))) {
            // Create a <dimension-token> with the same value and type flag as number, and a unit set initially to the empty string.
            // Consume a name. Set the <dimension-token>’s unit to the returned value.
            // Return the <dimension-token>.
            type = TYPE.Dimension;
            offset = consumeName(source, offset);
            return;
        }

        // Otherwise, if the next input code point is U+0025 PERCENTAGE SIGN (%), consume it.
        if (getCharCode(offset) === 0x0025) {
            // Create a <percentage-token> with the same value as number, and return it.
            type = TYPE.Percentage;
            offset++;
            return;
        }

        // Otherwise, create a <number-token> with the same value and type flag as number, and return it.
        type = TYPE.Number;
    }

    // § 4.3.4. Consume an ident-like token
    function consumeIdentLikeToken() {
        const nameStartOffset = offset;

        // Consume a name, and let string be the result.
        offset = consumeName(source, offset);

        // If string’s value is an ASCII case-insensitive match for "url",
        // and the next input code point is U+0028 LEFT PARENTHESIS ((), consume it.
        if (cmpStr(source, nameStartOffset, offset, 'url') && getCharCode(offset) === 0x0028) {
            // While the next two input code points are whitespace, consume the next input code point.
            offset = findWhiteSpaceEnd(source, offset + 1);

            // If the next one or two input code points are U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('),
            // or whitespace followed by U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('),
            // then create a <function-token> with its value set to string and return it.
            if (getCharCode(offset) === 0x0022 ||
                getCharCode(offset) === 0x0027) {
                type = TYPE.Function;
                offset = nameStartOffset + 4;
                return;
            }

            // Otherwise, consume a url token, and return it.
            consumeUrlToken();
            return;
        }

        // Otherwise, if the next input code point is U+0028 LEFT PARENTHESIS ((), consume it.
        // Create a <function-token> with its value set to string and return it.
        if (getCharCode(offset) === 0x0028) {
            type = TYPE.Function;
            offset++;
            return;
        }

        // Otherwise, create an <ident-token> with its value set to string and return it.
        type = TYPE.Ident;
    }

    // § 4.3.5. Consume a string token
    function consumeStringToken(endingCodePoint) {
        // This algorithm may be called with an ending code point, which denotes the code point
        // that ends the string. If an ending code point is not specified,
        // the current input code point is used.
        if (!endingCodePoint) {
            endingCodePoint = getCharCode(offset++);
        }

        // Initially create a <string-token> with its value set to the empty string.
        type = TYPE.String;

        // Repeatedly consume the next input code point from the stream:
        for (; offset < source.length; offset++) {
            var code = source.charCodeAt(offset);

            switch (charCodeCategory(code)) {
                // ending code point
                case endingCodePoint:
                    // Return the <string-token>.
                    offset++;
                    return;

                // EOF
                case charCodeCategory.Eof:
                    // This is a parse error. Return the <string-token>.
                    return;

                // newline
                case charCodeCategory.WhiteSpace:
                    if (isNewline(code)) {
                        // This is a parse error. Reconsume the current input code point,
                        // create a <bad-string-token>, and return it.
                        offset += getNewlineLength(source, offset, code);
                        type = TYPE.BadString;
                        return;
                    }
                    break;

                // U+005C REVERSE SOLIDUS (\)
                case 0x005C:
                    // If the next input code point is EOF, do nothing.
                    if (offset === source.length - 1) {
                        break;
                    }

                    var nextCode = getCharCode(offset + 1);

                    // Otherwise, if the next input code point is a newline, consume it.
                    if (isNewline(nextCode)) {
                        offset += getNewlineLength(source, offset + 1, nextCode);
                    } else if (isValidEscape(code, nextCode)) {
                        // Otherwise, (the stream starts with a valid escape) consume
                        // an escaped code point and append the returned code point to
                        // the <string-token>’s value.
                        offset = consumeEscaped(source, offset) - 1;
                    }
                    break;

                // anything else
                // Append the current input code point to the <string-token>’s value.
            }
        }
    }

    // § 4.3.6. Consume a url token
    // Note: This algorithm assumes that the initial "url(" has already been consumed.
    // This algorithm also assumes that it’s being called to consume an "unquoted" value, like url(foo).
    // A quoted value, like url("foo"), is parsed as a <function-token>. Consume an ident-like token
    // automatically handles this distinction; this algorithm shouldn’t be called directly otherwise.
    function consumeUrlToken() {
        // Initially create a <url-token> with its value set to the empty string.
        type = TYPE.Url;

        // Consume as much whitespace as possible.
        offset = findWhiteSpaceEnd(source, offset);

        // Repeatedly consume the next input code point from the stream:
        for (; offset < source.length; offset++) {
            var code = source.charCodeAt(offset);

            switch (charCodeCategory(code)) {
                // U+0029 RIGHT PARENTHESIS ())
                case 0x0029:
                    // Return the <url-token>.
                    offset++;
                    return;

                // EOF
                case charCodeCategory.Eof:
                    // This is a parse error. Return the <url-token>.
                    return;

                // whitespace
                case charCodeCategory.WhiteSpace:
                    // Consume as much whitespace as possible.
                    offset = findWhiteSpaceEnd(source, offset);

                    // If the next input code point is U+0029 RIGHT PARENTHESIS ()) or EOF,
                    // consume it and return the <url-token>
                    // (if EOF was encountered, this is a parse error);
                    if (getCharCode(offset) === 0x0029 || offset >= source.length) {
                        if (offset < source.length) {
                            offset++;
                        }
                        return;
                    }

                    // otherwise, consume the remnants of a bad url, create a <bad-url-token>,
                    // and return it.
                    offset = consumeBadUrlRemnants(source, offset);
                    type = TYPE.BadUrl;
                    return;

                // U+0022 QUOTATION MARK (")
                // U+0027 APOSTROPHE (')
                // U+0028 LEFT PARENTHESIS (()
                // non-printable code point
                case 0x0022:
                case 0x0027:
                case 0x0028:
                case charCodeCategory.NonPrintable:
                    // This is a parse error. Consume the remnants of a bad url,
                    // create a <bad-url-token>, and return it.
                    offset = consumeBadUrlRemnants(source, offset);
                    type = TYPE.BadUrl;
                    return;

                // U+005C REVERSE SOLIDUS (\)
                case 0x005C:
                    // If the stream starts with a valid escape, consume an escaped code point and
                    // append the returned code point to the <url-token>’s value.
                    if (isValidEscape(code, getCharCode(offset + 1))) {
                        offset = consumeEscaped(source, offset) - 1;
                        break;
                    }

                    // Otherwise, this is a parse error. Consume the remnants of a bad url,
                    // create a <bad-url-token>, and return it.
                    offset = consumeBadUrlRemnants(source, offset);
                    type = TYPE.BadUrl;
                    return;

                // anything else
                // Append the current input code point to the <url-token>’s value.
            }
        }
    }

    if (!stream) {
        stream = new TokenStream();
    }

    // ensure source is a string
    source = String(source || '');

    var sourceLength = source.length;
    var offsetAndType = adoptBuffer(stream.offsetAndType, sourceLength + 1); // +1 because of eof-token
    var balance = adoptBuffer(stream.balance, sourceLength + 1);
    var tokenCount = 0;
    var start = isBOM(getCharCode(0));
    var offset = start;
    var balanceCloseType = 0;
    var balanceStart = 0;
    var balancePrev = 0;

    // https://drafts.csswg.org/css-syntax-3/#consume-token
    // § 4.3.1. Consume a token
    while (offset < sourceLength) {
        var code = source.charCodeAt(offset);
        var type = 0;

        balance[tokenCount] = sourceLength;

        switch (charCodeCategory(code)) {
            // whitespace
            case charCodeCategory.WhiteSpace:
                // Consume as much whitespace as possible. Return a <whitespace-token>.
                type = TYPE.WhiteSpace;
                offset = findWhiteSpaceEnd(source, offset + 1);
                break;

            // U+0022 QUOTATION MARK (")
            case 0x0022:
                // Consume a string token and return it.
                consumeStringToken();
                break;

            // U+0023 NUMBER SIGN (#)
            case 0x0023:
                // If the next input code point is a name code point or the next two input code points are a valid escape, then:
                if (isName(getCharCode(offset + 1)) || isValidEscape(getCharCode(offset + 1), getCharCode(offset + 2))) {
                    // Create a <hash-token>.
                    type = TYPE.Hash;

                    // If the next 3 input code points would start an identifier, set the <hash-token>’s type flag to "id".
                    // if (isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) {
                    //     // TODO: set id flag
                    // }

                    // Consume a name, and set the <hash-token>’s value to the returned string.
                    offset = consumeName(source, offset + 1);

                    // Return the <hash-token>.
                } else {
                    // Otherwise, return a <delim-token> with its value set to the current input code point.
                    type = TYPE.Delim;
                    offset++;
                }

                break;

            // U+0027 APOSTROPHE (')
            case 0x0027:
                // Consume a string token and return it.
                consumeStringToken();
                break;

            // U+0028 LEFT PARENTHESIS (()
            case 0x0028:
                // Return a <(-token>.
                type = TYPE.LeftParenthesis;
                offset++;
                break;

            // U+0029 RIGHT PARENTHESIS ())
            case 0x0029:
                // Return a <)-token>.
                type = TYPE.RightParenthesis;
                offset++;
                break;

            // U+002B PLUS SIGN (+)
            case 0x002B:
                // If the input stream starts with a number, ...
                if (isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
                    // ... reconsume the current input code point, consume a numeric token, and return it.
                    consumeNumericToken();
                } else {
                    // Otherwise, return a <delim-token> with its value set to the current input code point.
                    type = TYPE.Delim;
                    offset++;
                }
                break;

            // U+002C COMMA (,)
            case 0x002C:
                // Return a <comma-token>.
                type = TYPE.Comma;
                offset++;
                break;

            // U+002D HYPHEN-MINUS (-)
            case 0x002D:
                // If the input stream starts with a number, reconsume the current input code point, consume a numeric token, and return it.
                if (isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
                    consumeNumericToken();
                } else {
                    // Otherwise, if the next 2 input code points are U+002D HYPHEN-MINUS U+003E GREATER-THAN SIGN (->), consume them and return a <CDC-token>.
                    if (getCharCode(offset + 1) === 0x002D &&
                        getCharCode(offset + 2) === 0x003E) {
                        type = TYPE.CDC;
                        offset = offset + 3;
                    } else {
                        // Otherwise, if the input stream starts with an identifier, ...
                        if (isIdentifierStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
                            // ... reconsume the current input code point, consume an ident-like token, and return it.
                            consumeIdentLikeToken();
                        } else {
                            // Otherwise, return a <delim-token> with its value set to the current input code point.
                            type = TYPE.Delim;
                            offset++;
                        }
                    }
                }
                break;

            // U+002E FULL STOP (.)
            case 0x002E:
                // If the input stream starts with a number, ...
                if (isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
                    // ... reconsume the current input code point, consume a numeric token, and return it.
                    consumeNumericToken();
                } else {
                    // Otherwise, return a <delim-token> with its value set to the current input code point.
                    type = TYPE.Delim;
                    offset++;
                }

                break;

            // U+002F SOLIDUS (/)
            case 0x002F:
                // If the next two input code point are U+002F SOLIDUS (/) followed by a U+002A ASTERISK (*),
                if (getCharCode(offset + 1) === 0x002A) {
                    // ... consume them and all following code points up to and including the first U+002A ASTERISK (*)
                    // followed by a U+002F SOLIDUS (/), or up to an EOF code point.
                    type = TYPE.Comment;
                    offset = source.indexOf('*/', offset + 2) + 2;
                    if (offset === 1) {
                        offset = source.length;
                    }
                } else {
                    type = TYPE.Delim;
                    offset++;
                }
                break;

            // U+003A COLON (:)
            case 0x003A:
                // Return a <colon-token>.
                type = TYPE.Colon;
                offset++;
                break;

            // U+003B SEMICOLON (;)
            case 0x003B:
                // Return a <semicolon-token>.
                type = TYPE.Semicolon;
                offset++;
                break;

            // U+003C LESS-THAN SIGN (<)
            case 0x003C:
                // If the next 3 input code points are U+0021 EXCLAMATION MARK U+002D HYPHEN-MINUS U+002D HYPHEN-MINUS (!--), ...
                if (getCharCode(offset + 1) === 0x0021 &&
                    getCharCode(offset + 2) === 0x002D &&
                    getCharCode(offset + 3) === 0x002D) {
                    // ... consume them and return a <CDO-token>.
                    type = TYPE.CDO;
                    offset = offset + 4;
                } else {
                    // Otherwise, return a <delim-token> with its value set to the current input code point.
                    type = TYPE.Delim;
                    offset++;
                }

                break;

            // U+0040 COMMERCIAL AT (@)
            case 0x0040:
                // If the next 3 input code points would start an identifier, ...
                if (isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) {
                    // ... consume a name, create an <at-keyword-token> with its value set to the returned value, and return it.
                    type = TYPE.AtKeyword;
                    offset = consumeName(source, offset + 1);
                } else {
                    // Otherwise, return a <delim-token> with its value set to the current input code point.
                    type = TYPE.Delim;
                    offset++;
                }

                break;

            // U+005B LEFT SQUARE BRACKET ([)
            case 0x005B:
                // Return a <[-token>.
                type = TYPE.LeftSquareBracket;
                offset++;
                break;

            // U+005C REVERSE SOLIDUS (\)
            case 0x005C:
                // If the input stream starts with a valid escape, ...
                if (isValidEscape(code, getCharCode(offset + 1))) {
                    // ... reconsume the current input code point, consume an ident-like token, and return it.
                    consumeIdentLikeToken();
                } else {
                    // Otherwise, this is a parse error. Return a <delim-token> with its value set to the current input code point.
                    type = TYPE.Delim;
                    offset++;
                }
                break;

            // U+005D RIGHT SQUARE BRACKET (])
            case 0x005D:
                // Return a <]-token>.
                type = TYPE.RightSquareBracket;
                offset++;
                break;

            // U+007B LEFT CURLY BRACKET ({)
            case 0x007B:
                // Return a <{-token>.
                type = TYPE.LeftCurlyBracket;
                offset++;
                break;

            // U+007D RIGHT CURLY BRACKET (})
            case 0x007D:
                // Return a <}-token>.
                type = TYPE.RightCurlyBracket;
                offset++;
                break;

            // digit
            case charCodeCategory.Digit:
                // Reconsume the current input code point, consume a numeric token, and return it.
                consumeNumericToken();
                break;

            // name-start code point
            case charCodeCategory.NameStart:
                // Reconsume the current input code point, consume an ident-like token, and return it.
                consumeIdentLikeToken();
                break;

            // EOF
            case charCodeCategory.Eof:
                // Return an <EOF-token>.
                break;

            // anything else
            default:
                // Return a <delim-token> with its value set to the current input code point.
                type = TYPE.Delim;
                offset++;
        }

        switch (type) {
            case balanceCloseType:
                balancePrev = balanceStart & OFFSET_MASK;
                balanceStart = balance[balancePrev];
                balanceCloseType = balanceStart >> TYPE_SHIFT;
                balance[tokenCount] = balancePrev;
                balance[balancePrev++] = tokenCount;
                for (; balancePrev < tokenCount; balancePrev++) {
                    if (balance[balancePrev] === sourceLength) {
                        balance[balancePrev] = tokenCount;
                    }
                }
                break;

            case TYPE.LeftParenthesis:
            case TYPE.Function:
                balance[tokenCount] = balanceStart;
                balanceCloseType = TYPE.RightParenthesis;
                balanceStart = (balanceCloseType << TYPE_SHIFT) | tokenCount;
                break;

            case TYPE.LeftSquareBracket:
                balance[tokenCount] = balanceStart;
                balanceCloseType = TYPE.RightSquareBracket;
                balanceStart = (balanceCloseType << TYPE_SHIFT) | tokenCount;
                break;

            case TYPE.LeftCurlyBracket:
                balance[tokenCount] = balanceStart;
                balanceCloseType = TYPE.RightCurlyBracket;
                balanceStart = (balanceCloseType << TYPE_SHIFT) | tokenCount;
                break;
        }

        offsetAndType[tokenCount++] = (type << TYPE_SHIFT) | offset;
    }

    // finalize buffers
    offsetAndType[tokenCount] = (TYPE.EOF << TYPE_SHIFT) | offset; // <EOF-token>
    balance[tokenCount] = sourceLength;
    balance[sourceLength] = sourceLength; // prevents false positive balance match with any token
    while (balanceStart !== 0) {
        balancePrev = balanceStart & OFFSET_MASK;
        balanceStart = balance[balancePrev];
        balance[balancePrev] = sourceLength;
    }

    // update stream
    stream.source = source;
    stream.firstCharOffset = start;
    stream.offsetAndType = offsetAndType;
    stream.tokenCount = tokenCount;
    stream.balance = balance;
    stream.reset();
    stream.next();

    return stream;
}

// extend tokenizer with constants
Object.keys(constants).forEach(function(key) {
    tokenize[key] = constants[key];
});

// extend tokenizer with static methods from utils
Object.keys(charCodeDefinitions).forEach(function(key) {
    tokenize[key] = charCodeDefinitions[key];
});
Object.keys(utils).forEach(function(key) {
    tokenize[key] = utils[key];
});

module.exports = tokenize;


/***/ }),

/***/ 29292:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var charCodeDef = __nccwpck_require__(36157);
var isDigit = charCodeDef.isDigit;
var isHexDigit = charCodeDef.isHexDigit;
var isUppercaseLetter = charCodeDef.isUppercaseLetter;
var isName = charCodeDef.isName;
var isWhiteSpace = charCodeDef.isWhiteSpace;
var isValidEscape = charCodeDef.isValidEscape;

function getCharCode(source, offset) {
    return offset < source.length ? source.charCodeAt(offset) : 0;
}

function getNewlineLength(source, offset, code) {
    if (code === 13 /* \r */ && getCharCode(source, offset + 1) === 10 /* \n */) {
        return 2;
    }

    return 1;
}

function cmpChar(testStr, offset, referenceCode) {
    var code = testStr.charCodeAt(offset);

    // code.toLowerCase() for A..Z
    if (isUppercaseLetter(code)) {
        code = code | 32;
    }

    return code === referenceCode;
}

function cmpStr(testStr, start, end, referenceStr) {
    if (end - start !== referenceStr.length) {
        return false;
    }

    if (start < 0 || end > testStr.length) {
        return false;
    }

    for (var i = start; i < end; i++) {
        var testCode = testStr.charCodeAt(i);
        var referenceCode = referenceStr.charCodeAt(i - start);

        // testCode.toLowerCase() for A..Z
        if (isUppercaseLetter(testCode)) {
            testCode = testCode | 32;
        }

        if (testCode !== referenceCode) {
            return false;
        }
    }

    return true;
}

function findWhiteSpaceStart(source, offset) {
    for (; offset >= 0; offset--) {
        if (!isWhiteSpace(source.charCodeAt(offset))) {
            break;
        }
    }

    return offset + 1;
}

function findWhiteSpaceEnd(source, offset) {
    for (; offset < source.length; offset++) {
        if (!isWhiteSpace(source.charCodeAt(offset))) {
            break;
        }
    }

    return offset;
}

function findDecimalNumberEnd(source, offset) {
    for (; offset < source.length; offset++) {
        if (!isDigit(source.charCodeAt(offset))) {
            break;
        }
    }

    return offset;
}

// § 4.3.7. Consume an escaped code point
function consumeEscaped(source, offset) {
    // It assumes that the U+005C REVERSE SOLIDUS (\) has already been consumed and
    // that the next input code point has already been verified to be part of a valid escape.
    offset += 2;

    // hex digit
    if (isHexDigit(getCharCode(source, offset - 1))) {
        // Consume as many hex digits as possible, but no more than 5.
        // Note that this means 1-6 hex digits have been consumed in total.
        for (var maxOffset = Math.min(source.length, offset + 5); offset < maxOffset; offset++) {
            if (!isHexDigit(getCharCode(source, offset))) {
                break;
            }
        }

        // If the next input code point is whitespace, consume it as well.
        var code = getCharCode(source, offset);
        if (isWhiteSpace(code)) {
            offset += getNewlineLength(source, offset, code);
        }
    }

    return offset;
}

// §4.3.11. Consume a name
// Note: This algorithm does not do the verification of the first few code points that are necessary
// to ensure the returned code points would constitute an <ident-token>. If that is the intended use,
// ensure that the stream starts with an identifier before calling this algorithm.
function consumeName(source, offset) {
    // Let result initially be an empty string.
    // Repeatedly consume the next input code point from the stream:
    for (; offset < source.length; offset++) {
        var code = source.charCodeAt(offset);

        // name code point
        if (isName(code)) {
            // Append the code point to result.
            continue;
        }

        // the stream starts with a valid escape
        if (isValidEscape(code, getCharCode(source, offset + 1))) {
            // Consume an escaped code point. Append the returned code point to result.
            offset = consumeEscaped(source, offset) - 1;
            continue;
        }

        // anything else
        // Reconsume the current input code point. Return result.
        break;
    }

    return offset;
}

// §4.3.12. Consume a number
function consumeNumber(source, offset) {
    var code = source.charCodeAt(offset);

    // 2. If the next input code point is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-),
    // consume it and append it to repr.
    if (code === 0x002B || code === 0x002D) {
        code = source.charCodeAt(offset += 1);
    }

    // 3. While the next input code point is a digit, consume it and append it to repr.
    if (isDigit(code)) {
        offset = findDecimalNumberEnd(source, offset + 1);
        code = source.charCodeAt(offset);
    }

    // 4. If the next 2 input code points are U+002E FULL STOP (.) followed by a digit, then:
    if (code === 0x002E && isDigit(source.charCodeAt(offset + 1))) {
        // 4.1 Consume them.
        // 4.2 Append them to repr.
        code = source.charCodeAt(offset += 2);

        // 4.3 Set type to "number".
        // TODO

        // 4.4 While the next input code point is a digit, consume it and append it to repr.

        offset = findDecimalNumberEnd(source, offset);
    }

    // 5. If the next 2 or 3 input code points are U+0045 LATIN CAPITAL LETTER E (E)
    // or U+0065 LATIN SMALL LETTER E (e), ... , followed by a digit, then:
    if (cmpChar(source, offset, 101 /* e */)) {
        var sign = 0;
        code = source.charCodeAt(offset + 1);

        // ... optionally followed by U+002D HYPHEN-MINUS (-) or U+002B PLUS SIGN (+) ...
        if (code === 0x002D || code === 0x002B) {
            sign = 1;
            code = source.charCodeAt(offset + 2);
        }

        // ... followed by a digit
        if (isDigit(code)) {
            // 5.1 Consume them.
            // 5.2 Append them to repr.

            // 5.3 Set type to "number".
            // TODO

            // 5.4 While the next input code point is a digit, consume it and append it to repr.
            offset = findDecimalNumberEnd(source, offset + 1 + sign + 1);
        }
    }

    return offset;
}

// § 4.3.14. Consume the remnants of a bad url
// ... its sole use is to consume enough of the input stream to reach a recovery point
// where normal tokenizing can resume.
function consumeBadUrlRemnants(source, offset) {
    // Repeatedly consume the next input code point from the stream:
    for (; offset < source.length; offset++) {
        var code = source.charCodeAt(offset);

        // U+0029 RIGHT PARENTHESIS ())
        // EOF
        if (code === 0x0029) {
            // Return.
            offset++;
            break;
        }

        if (isValidEscape(code, getCharCode(source, offset + 1))) {
            // Consume an escaped code point.
            // Note: This allows an escaped right parenthesis ("\)") to be encountered
            // without ending the <bad-url-token>. This is otherwise identical to
            // the "anything else" clause.
            offset = consumeEscaped(source, offset);
        }
    }

    return offset;
}

module.exports = {
    consumeEscaped: consumeEscaped,
    consumeName: consumeName,
    consumeNumber: consumeNumber,
    consumeBadUrlRemnants: consumeBadUrlRemnants,

    cmpChar: cmpChar,
    cmpStr: cmpStr,

    getNewlineLength: getNewlineLength,
    findWhiteSpaceStart: findWhiteSpaceStart,
    findWhiteSpaceEnd: findWhiteSpaceEnd
};


/***/ }),

/***/ 52404:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(11282);

module.exports = function clone(node) {
    var result = {};

    for (var key in node) {
        var value = node[key];

        if (value) {
            if (Array.isArray(value) || value instanceof List) {
                value = value.map(clone);
            } else if (value.constructor === Object) {
                value = clone(value);
            }
        }

        result[key] = value;
    }

    return result;
};


/***/ }),

/***/ 20195:
/***/ ((module) => {

module.exports = function createCustomError(name, message) {
    // use Object.create(), because some VMs prevent setting line/column otherwise
    // (iOS Safari 10 even throws an exception)
    var error = Object.create(SyntaxError.prototype);
    var errorStack = new Error();

    error.name = name;
    error.message = message;

    Object.defineProperty(error, 'stack', {
        get: function() {
            return (errorStack.stack || '').replace(/^(.+\n){1,3}/, name + ': ' + message + '\n');
        }
    });

    return error;
};


/***/ }),

/***/ 87602:
/***/ ((module) => {

var hasOwnProperty = Object.prototype.hasOwnProperty;
var keywords = Object.create(null);
var properties = Object.create(null);
var HYPHENMINUS = 45; // '-'.charCodeAt()

function isCustomProperty(str, offset) {
    offset = offset || 0;

    return str.length - offset >= 2 &&
           str.charCodeAt(offset) === HYPHENMINUS &&
           str.charCodeAt(offset + 1) === HYPHENMINUS;
}

function getVendorPrefix(str, offset) {
    offset = offset || 0;

    // verdor prefix should be at least 3 chars length
    if (str.length - offset >= 3) {
        // vendor prefix starts with hyper minus following non-hyper minus
        if (str.charCodeAt(offset) === HYPHENMINUS &&
            str.charCodeAt(offset + 1) !== HYPHENMINUS) {
            // vendor prefix should contain a hyper minus at the ending
            var secondDashIndex = str.indexOf('-', offset + 2);

            if (secondDashIndex !== -1) {
                return str.substring(offset, secondDashIndex + 1);
            }
        }
    }

    return '';
}

function getKeywordDescriptor(keyword) {
    if (hasOwnProperty.call(keywords, keyword)) {
        return keywords[keyword];
    }

    var name = keyword.toLowerCase();

    if (hasOwnProperty.call(keywords, name)) {
        return keywords[keyword] = keywords[name];
    }

    var custom = isCustomProperty(name, 0);
    var vendor = !custom ? getVendorPrefix(name, 0) : '';

    return keywords[keyword] = Object.freeze({
        basename: name.substr(vendor.length),
        name: name,
        vendor: vendor,
        prefix: vendor,
        custom: custom
    });
}

function getPropertyDescriptor(property) {
    if (hasOwnProperty.call(properties, property)) {
        return properties[property];
    }

    var name = property;
    var hack = property[0];

    if (hack === '/') {
        hack = property[1] === '/' ? '//' : '/';
    } else if (hack !== '_' &&
               hack !== '*' &&
               hack !== '$' &&
               hack !== '#' &&
               hack !== '+' &&
               hack !== '&') {
        hack = '';
    }

    var custom = isCustomProperty(name, hack.length);

    // re-use result when possible (the same as for lower case)
    if (!custom) {
        name = name.toLowerCase();
        if (hasOwnProperty.call(properties, name)) {
            return properties[property] = properties[name];
        }
    }

    var vendor = !custom ? getVendorPrefix(name, hack.length) : '';
    var prefix = name.substr(0, hack.length + vendor.length);

    return properties[property] = Object.freeze({
        basename: name.substr(prefix.length),
        name: name.substr(hack.length),
        hack: hack,
        vendor: vendor,
        prefix: prefix,
        custom: custom
    });
}

module.exports = {
    keyword: getKeywordDescriptor,
    property: getPropertyDescriptor,
    isCustomProperty: isCustomProperty,
    vendorPrefix: getVendorPrefix
};


/***/ }),

/***/ 61090:
/***/ ((module) => {

var hasOwnProperty = Object.prototype.hasOwnProperty;
var noop = function() {};

function ensureFunction(value) {
    return typeof value === 'function' ? value : noop;
}

function invokeForType(fn, type) {
    return function(node, item, list) {
        if (node.type === type) {
            fn.call(this, node, item, list);
        }
    };
}

function getWalkersFromStructure(name, nodeType) {
    var structure = nodeType.structure;
    var walkers = [];

    for (var key in structure) {
        if (hasOwnProperty.call(structure, key) === false) {
            continue;
        }

        var fieldTypes = structure[key];
        var walker = {
            name: key,
            type: false,
            nullable: false
        };

        if (!Array.isArray(structure[key])) {
            fieldTypes = [structure[key]];
        }

        for (var i = 0; i < fieldTypes.length; i++) {
            var fieldType = fieldTypes[i];
            if (fieldType === null) {
                walker.nullable = true;
            } else if (typeof fieldType === 'string') {
                walker.type = 'node';
            } else if (Array.isArray(fieldType)) {
                walker.type = 'list';
            }
        }

        if (walker.type) {
            walkers.push(walker);
        }
    }

    if (walkers.length) {
        return {
            context: nodeType.walkContext,
            fields: walkers
        };
    }

    return null;
}

function getTypesFromConfig(config) {
    var types = {};

    for (var name in config.node) {
        if (hasOwnProperty.call(config.node, name)) {
            var nodeType = config.node[name];

            if (!nodeType.structure) {
                throw new Error('Missed `structure` field in `' + name + '` node type definition');
            }

            types[name] = getWalkersFromStructure(name, nodeType);
        }
    }

    return types;
}

function createTypeIterator(config, reverse) {
    var fields = config.fields.slice();
    var contextName = config.context;
    var useContext = typeof contextName === 'string';

    if (reverse) {
        fields.reverse();
    }

    return function(node, context, walk, walkReducer) {
        var prevContextValue;

        if (useContext) {
            prevContextValue = context[contextName];
            context[contextName] = node;
        }

        for (var i = 0; i < fields.length; i++) {
            var field = fields[i];
            var ref = node[field.name];

            if (!field.nullable || ref) {
                if (field.type === 'list') {
                    var breakWalk = reverse
                        ? ref.reduceRight(walkReducer, false)
                        : ref.reduce(walkReducer, false);

                    if (breakWalk) {
                        return true;
                    }
                } else if (walk(ref)) {
                    return true;
                }
            }
        }

        if (useContext) {
            context[contextName] = prevContextValue;
        }
    };
}

function createFastTraveralMap(iterators) {
    return {
        Atrule: {
            StyleSheet: iterators.StyleSheet,
            Atrule: iterators.Atrule,
            Rule: iterators.Rule,
            Block: iterators.Block
        },
        Rule: {
            StyleSheet: iterators.StyleSheet,
            Atrule: iterators.Atrule,
            Rule: iterators.Rule,
            Block: iterators.Block
        },
        Declaration: {
            StyleSheet: iterators.StyleSheet,
            Atrule: iterators.Atrule,
            Rule: iterators.Rule,
            Block: iterators.Block,
            DeclarationList: iterators.DeclarationList
        }
    };
}

module.exports = function createWalker(config) {
    var types = getTypesFromConfig(config);
    var iteratorsNatural = {};
    var iteratorsReverse = {};
    var breakWalk = Symbol('break-walk');
    var skipNode = Symbol('skip-node');

    for (var name in types) {
        if (hasOwnProperty.call(types, name) && types[name] !== null) {
            iteratorsNatural[name] = createTypeIterator(types[name], false);
            iteratorsReverse[name] = createTypeIterator(types[name], true);
        }
    }

    var fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural);
    var fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse);

    var walk = function(root, options) {
        function walkNode(node, item, list) {
            var enterRet = enter.call(context, node, item, list);

            if (enterRet === breakWalk) {
                debugger;
                return true;
            }

            if (enterRet === skipNode) {
                return false;
            }

            if (iterators.hasOwnProperty(node.type)) {
                if (iterators[node.type](node, context, walkNode, walkReducer)) {
                    return true;
                }
            }

            if (leave.call(context, node, item, list) === breakWalk) {
                return true;
            }

            return false;
        }

        var walkReducer = (ret, data, item, list) => ret || walkNode(data, item, list);
        var enter = noop;
        var leave = noop;
        var iterators = iteratorsNatural;
        var context = {
            break: breakWalk,
            skip: skipNode,

            root: root,
            stylesheet: null,
            atrule: null,
            atrulePrelude: null,
            rule: null,
            selector: null,
            block: null,
            declaration: null,
            function: null
        };

        if (typeof options === 'function') {
            enter = options;
        } else if (options) {
            enter = ensureFunction(options.enter);
            leave = ensureFunction(options.leave);

            if (options.reverse) {
                iterators = iteratorsReverse;
            }

            if (options.visit) {
                if (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) {
                    iterators = options.reverse
                        ? fastTraversalIteratorsReverse[options.visit]
                        : fastTraversalIteratorsNatural[options.visit];
                } else if (!types.hasOwnProperty(options.visit)) {
                    throw new Error('Bad value `' + options.visit + '` for `visit` option (should be: ' + Object.keys(types).join(', ') + ')');
                }

                enter = invokeForType(enter, options.visit);
                leave = invokeForType(leave, options.visit);
            }
        }

        if (enter === noop && leave === noop) {
            throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function');
        }

        walkNode(root);
    };

    walk.break = breakWalk;
    walk.skip = skipNode;

    walk.find = function(ast, fn) {
        var found = null;

        walk(ast, function(node, item, list) {
            if (fn.call(this, node, item, list)) {
                found = node;
                return breakWalk;
            }
        });

        return found;
    };

    walk.findLast = function(ast, fn) {
        var found = null;

        walk(ast, {
            reverse: true,
            enter: function(node, item, list) {
                if (fn.call(this, node, item, list)) {
                    found = node;
                    return breakWalk;
                }
            }
        });

        return found;
    };

    walk.findAll = function(ast, fn) {
        var found = [];

        walk(ast, function(node, item, list) {
            if (fn.call(this, node, item, list)) {
                found.push(node);
            }
        });

        return found;
    };

    return walk;
};


/***/ }),

/***/ 23336:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var util = __nccwpck_require__(84589);
var has = Object.prototype.hasOwnProperty;
var hasNativeMap = typeof Map !== "undefined";

/**
 * A data structure which is a combination of an array and a set. Adding a new
 * member is O(1), testing for membership is O(1), and finding the index of an
 * element is O(1). Removing elements from the set is not supported. Only
 * strings are supported for membership.
 */
function ArraySet() {
  this._array = [];
  this._set = hasNativeMap ? new Map() : Object.create(null);
}

/**
 * Static method for creating ArraySet instances from an existing array.
 */
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
  var set = new ArraySet();
  for (var i = 0, len = aArray.length; i < len; i++) {
    set.add(aArray[i], aAllowDuplicates);
  }
  return set;
};

/**
 * Return how many unique items are in this ArraySet. If duplicates have been
 * added, than those do not count towards the size.
 *
 * @returns Number
 */
ArraySet.prototype.size = function ArraySet_size() {
  return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
};

/**
 * Add the given string to this set.
 *
 * @param String aStr
 */
ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
  var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
  var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
  var idx = this._array.length;
  if (!isDuplicate || aAllowDuplicates) {
    this._array.push(aStr);
  }
  if (!isDuplicate) {
    if (hasNativeMap) {
      this._set.set(aStr, idx);
    } else {
      this._set[sStr] = idx;
    }
  }
};

/**
 * Is the given string a member of this set?
 *
 * @param String aStr
 */
ArraySet.prototype.has = function ArraySet_has(aStr) {
  if (hasNativeMap) {
    return this._set.has(aStr);
  } else {
    var sStr = util.toSetString(aStr);
    return has.call(this._set, sStr);
  }
};

/**
 * What is the index of the given string in the array?
 *
 * @param String aStr
 */
ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
  if (hasNativeMap) {
    var idx = this._set.get(aStr);
    if (idx >= 0) {
        return idx;
    }
  } else {
    var sStr = util.toSetString(aStr);
    if (has.call(this._set, sStr)) {
      return this._set[sStr];
    }
  }

  throw new Error('"' + aStr + '" is not in the set.');
};

/**
 * What is the element at the given index?
 *
 * @param Number aIdx
 */
ArraySet.prototype.at = function ArraySet_at(aIdx) {
  if (aIdx >= 0 && aIdx < this._array.length) {
    return this._array[aIdx];
  }
  throw new Error('No element indexed by ' + aIdx);
};

/**
 * Returns the array representation of this set (which has the proper indices
 * indicated by indexOf). Note that this is a copy of the internal array used
 * for storing the members so that no one can mess with internal state.
 */
ArraySet.prototype.toArray = function ArraySet_toArray() {
  return this._array.slice();
};

exports.I = ArraySet;


/***/ }),

/***/ 67586:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 *
 * Based on the Base 64 VLQ implementation in Closure Compiler:
 * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
 *
 * Copyright 2011 The Closure Compiler Authors. All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above
 *    copyright notice, this list of conditions and the following
 *    disclaimer in the documentation and/or other materials provided
 *    with the distribution.
 *  * Neither the name of Google Inc. nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

var base64 = __nccwpck_require__(61102);

// A single base 64 digit can contain 6 bits of data. For the base 64 variable
// length quantities we use in the source map spec, the first bit is the sign,
// the next four bits are the actual value, and the 6th bit is the
// continuation bit. The continuation bit tells us whether there are more
// digits in this value following this digit.
//
//   Continuation
//   |    Sign
//   |    |
//   V    V
//   101011

var VLQ_BASE_SHIFT = 5;

// binary: 100000
var VLQ_BASE = 1 << VLQ_BASE_SHIFT;

// binary: 011111
var VLQ_BASE_MASK = VLQ_BASE - 1;

// binary: 100000
var VLQ_CONTINUATION_BIT = VLQ_BASE;

/**
 * Converts from a two-complement value to a value where the sign bit is
 * placed in the least significant bit.  For example, as decimals:
 *   1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
 *   2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
 */
function toVLQSigned(aValue) {
  return aValue < 0
    ? ((-aValue) << 1) + 1
    : (aValue << 1) + 0;
}

/**
 * Converts to a two-complement value from a value where the sign bit is
 * placed in the least significant bit.  For example, as decimals:
 *   2 (10 binary) becomes 1, 3 (11 binary) becomes -1
 *   4 (100 binary) becomes 2, 5 (101 binary) becomes -2
 */
function fromVLQSigned(aValue) {
  var isNegative = (aValue & 1) === 1;
  var shifted = aValue >> 1;
  return isNegative
    ? -shifted
    : shifted;
}

/**
 * Returns the base 64 VLQ encoded value.
 */
exports.encode = function base64VLQ_encode(aValue) {
  var encoded = "";
  var digit;

  var vlq = toVLQSigned(aValue);

  do {
    digit = vlq & VLQ_BASE_MASK;
    vlq >>>= VLQ_BASE_SHIFT;
    if (vlq > 0) {
      // There are still more digits in this value, so we must make sure the
      // continuation bit is marked.
      digit |= VLQ_CONTINUATION_BIT;
    }
    encoded += base64.encode(digit);
  } while (vlq > 0);

  return encoded;
};

/**
 * Decodes the next base 64 VLQ value from the given string and returns the
 * value and the rest of the string via the out parameter.
 */
exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
  var strLen = aStr.length;
  var result = 0;
  var shift = 0;
  var continuation, digit;

  do {
    if (aIndex >= strLen) {
      throw new Error("Expected more digits in base 64 VLQ value.");
    }

    digit = base64.decode(aStr.charCodeAt(aIndex++));
    if (digit === -1) {
      throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
    }

    continuation = !!(digit & VLQ_CONTINUATION_BIT);
    digit &= VLQ_BASE_MASK;
    result = result + (digit << shift);
    shift += VLQ_BASE_SHIFT;
  } while (continuation);

  aOutParam.value = fromVLQSigned(result);
  aOutParam.rest = aIndex;
};


/***/ }),

/***/ 61102:
/***/ ((__unused_webpack_module, exports) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');

/**
 * Encode an integer in the range of 0 to 63 to a single base 64 digit.
 */
exports.encode = function (number) {
  if (0 <= number && number < intToCharMap.length) {
    return intToCharMap[number];
  }
  throw new TypeError("Must be between 0 and 63: " + number);
};

/**
 * Decode a single base 64 character code digit to an integer. Returns -1 on
 * failure.
 */
exports.decode = function (charCode) {
  var bigA = 65;     // 'A'
  var bigZ = 90;     // 'Z'

  var littleA = 97;  // 'a'
  var littleZ = 122; // 'z'

  var zero = 48;     // '0'
  var nine = 57;     // '9'

  var plus = 43;     // '+'
  var slash = 47;    // '/'

  var littleOffset = 26;
  var numberOffset = 52;

  // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  if (bigA <= charCode && charCode <= bigZ) {
    return (charCode - bigA);
  }

  // 26 - 51: abcdefghijklmnopqrstuvwxyz
  if (littleA <= charCode && charCode <= littleZ) {
    return (charCode - littleA + littleOffset);
  }

  // 52 - 61: 0123456789
  if (zero <= charCode && charCode <= nine) {
    return (charCode - zero + numberOffset);
  }

  // 62: +
  if (charCode == plus) {
    return 62;
  }

  // 63: /
  if (charCode == slash) {
    return 63;
  }

  // Invalid base64 digit.
  return -1;
};


/***/ }),

/***/ 77336:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2014 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var util = __nccwpck_require__(84589);

/**
 * Determine whether mappingB is after mappingA with respect to generated
 * position.
 */
function generatedPositionAfter(mappingA, mappingB) {
  // Optimized for most common case
  var lineA = mappingA.generatedLine;
  var lineB = mappingB.generatedLine;
  var columnA = mappingA.generatedColumn;
  var columnB = mappingB.generatedColumn;
  return lineB > lineA || lineB == lineA && columnB >= columnA ||
         util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
}

/**
 * A data structure to provide a sorted view of accumulated mappings in a
 * performance conscious manner. It trades a neglibable overhead in general
 * case for a large speedup in case of mappings being added in order.
 */
function MappingList() {
  this._array = [];
  this._sorted = true;
  // Serves as infimum
  this._last = {generatedLine: -1, generatedColumn: 0};
}

/**
 * Iterate through internal items. This method takes the same arguments that
 * `Array.prototype.forEach` takes.
 *
 * NOTE: The order of the mappings is NOT guaranteed.
 */
MappingList.prototype.unsortedForEach =
  function MappingList_forEach(aCallback, aThisArg) {
    this._array.forEach(aCallback, aThisArg);
  };

/**
 * Add the given source mapping.
 *
 * @param Object aMapping
 */
MappingList.prototype.add = function MappingList_add(aMapping) {
  if (generatedPositionAfter(this._last, aMapping)) {
    this._last = aMapping;
    this._array.push(aMapping);
  } else {
    this._sorted = false;
    this._array.push(aMapping);
  }
};

/**
 * Returns the flat, sorted array of mappings. The mappings are sorted by
 * generated position.
 *
 * WARNING: This method returns internal data without copying, for
 * performance. The return value must NOT be mutated, and should be treated as
 * an immutable borrow. If you want to take ownership, you must make your own
 * copy.
 */
MappingList.prototype.toArray = function MappingList_toArray() {
  if (!this._sorted) {
    this._array.sort(util.compareByGeneratedPositionsInflated);
    this._sorted = true;
  }
  return this._array;
};

exports.H = MappingList;


/***/ }),

/***/ 66558:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var base64VLQ = __nccwpck_require__(67586);
var util = __nccwpck_require__(84589);
var ArraySet = __nccwpck_require__(23336)/* .ArraySet */ .I;
var MappingList = __nccwpck_require__(77336)/* .MappingList */ .H;

/**
 * An instance of the SourceMapGenerator represents a source map which is
 * being built incrementally. You may pass an object with the following
 * properties:
 *
 *   - file: The filename of the generated source.
 *   - sourceRoot: A root for all relative URLs in this source map.
 */
function SourceMapGenerator(aArgs) {
  if (!aArgs) {
    aArgs = {};
  }
  this._file = util.getArg(aArgs, 'file', null);
  this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
  this._skipValidation = util.getArg(aArgs, 'skipValidation', false);
  this._sources = new ArraySet();
  this._names = new ArraySet();
  this._mappings = new MappingList();
  this._sourcesContents = null;
}

SourceMapGenerator.prototype._version = 3;

/**
 * Creates a new SourceMapGenerator based on a SourceMapConsumer
 *
 * @param aSourceMapConsumer The SourceMap.
 */
SourceMapGenerator.fromSourceMap =
  function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
    var sourceRoot = aSourceMapConsumer.sourceRoot;
    var generator = new SourceMapGenerator({
      file: aSourceMapConsumer.file,
      sourceRoot: sourceRoot
    });
    aSourceMapConsumer.eachMapping(function (mapping) {
      var newMapping = {
        generated: {
          line: mapping.generatedLine,
          column: mapping.generatedColumn
        }
      };

      if (mapping.source != null) {
        newMapping.source = mapping.source;
        if (sourceRoot != null) {
          newMapping.source = util.relative(sourceRoot, newMapping.source);
        }

        newMapping.original = {
          line: mapping.originalLine,
          column: mapping.originalColumn
        };

        if (mapping.name != null) {
          newMapping.name = mapping.name;
        }
      }

      generator.addMapping(newMapping);
    });
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var sourceRelative = sourceFile;
      if (sourceRoot !== null) {
        sourceRelative = util.relative(sourceRoot, sourceFile);
      }

      if (!generator._sources.has(sourceRelative)) {
        generator._sources.add(sourceRelative);
      }

      var content = aSourceMapConsumer.sourceContentFor(sourceFile);
      if (content != null) {
        generator.setSourceContent(sourceFile, content);
      }
    });
    return generator;
  };

/**
 * Add a single mapping from original source line and column to the generated
 * source's line and column for this source map being created. The mapping
 * object should have the following properties:
 *
 *   - generated: An object with the generated line and column positions.
 *   - original: An object with the original line and column positions.
 *   - source: The original source file (relative to the sourceRoot).
 *   - name: An optional original token name for this mapping.
 */
SourceMapGenerator.prototype.addMapping =
  function SourceMapGenerator_addMapping(aArgs) {
    var generated = util.getArg(aArgs, 'generated');
    var original = util.getArg(aArgs, 'original', null);
    var source = util.getArg(aArgs, 'source', null);
    var name = util.getArg(aArgs, 'name', null);

    if (!this._skipValidation) {
      this._validateMapping(generated, original, source, name);
    }

    if (source != null) {
      source = String(source);
      if (!this._sources.has(source)) {
        this._sources.add(source);
      }
    }

    if (name != null) {
      name = String(name);
      if (!this._names.has(name)) {
        this._names.add(name);
      }
    }

    this._mappings.add({
      generatedLine: generated.line,
      generatedColumn: generated.column,
      originalLine: original != null && original.line,
      originalColumn: original != null && original.column,
      source: source,
      name: name
    });
  };

/**
 * Set the source content for a source file.
 */
SourceMapGenerator.prototype.setSourceContent =
  function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
    var source = aSourceFile;
    if (this._sourceRoot != null) {
      source = util.relative(this._sourceRoot, source);
    }

    if (aSourceContent != null) {
      // Add the source content to the _sourcesContents map.
      // Create a new _sourcesContents map if the property is null.
      if (!this._sourcesContents) {
        this._sourcesContents = Object.create(null);
      }
      this._sourcesContents[util.toSetString(source)] = aSourceContent;
    } else if (this._sourcesContents) {
      // Remove the source file from the _sourcesContents map.
      // If the _sourcesContents map is empty, set the property to null.
      delete this._sourcesContents[util.toSetString(source)];
      if (Object.keys(this._sourcesContents).length === 0) {
        this._sourcesContents = null;
      }
    }
  };

/**
 * Applies the mappings of a sub-source-map for a specific source file to the
 * source map being generated. Each mapping to the supplied source file is
 * rewritten using the supplied source map. Note: The resolution for the
 * resulting mappings is the minimium of this map and the supplied map.
 *
 * @param aSourceMapConsumer The source map to be applied.
 * @param aSourceFile Optional. The filename of the source file.
 *        If omitted, SourceMapConsumer's file property will be used.
 * @param aSourceMapPath Optional. The dirname of the path to the source map
 *        to be applied. If relative, it is relative to the SourceMapConsumer.
 *        This parameter is needed when the two source maps aren't in the same
 *        directory, and the source map to be applied contains relative source
 *        paths. If so, those relative source paths need to be rewritten
 *        relative to the SourceMapGenerator.
 */
SourceMapGenerator.prototype.applySourceMap =
  function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
    var sourceFile = aSourceFile;
    // If aSourceFile is omitted, we will use the file property of the SourceMap
    if (aSourceFile == null) {
      if (aSourceMapConsumer.file == null) {
        throw new Error(
          'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
          'or the source map\'s "file" property. Both were omitted.'
        );
      }
      sourceFile = aSourceMapConsumer.file;
    }
    var sourceRoot = this._sourceRoot;
    // Make "sourceFile" relative if an absolute Url is passed.
    if (sourceRoot != null) {
      sourceFile = util.relative(sourceRoot, sourceFile);
    }
    // Applying the SourceMap can add and remove items from the sources and
    // the names array.
    var newSources = new ArraySet();
    var newNames = new ArraySet();

    // Find mappings for the "sourceFile"
    this._mappings.unsortedForEach(function (mapping) {
      if (mapping.source === sourceFile && mapping.originalLine != null) {
        // Check if it can be mapped by the source map, then update the mapping.
        var original = aSourceMapConsumer.originalPositionFor({
          line: mapping.originalLine,
          column: mapping.originalColumn
        });
        if (original.source != null) {
          // Copy mapping
          mapping.source = original.source;
          if (aSourceMapPath != null) {
            mapping.source = util.join(aSourceMapPath, mapping.source)
          }
          if (sourceRoot != null) {
            mapping.source = util.relative(sourceRoot, mapping.source);
          }
          mapping.originalLine = original.line;
          mapping.originalColumn = original.column;
          if (original.name != null) {
            mapping.name = original.name;
          }
        }
      }

      var source = mapping.source;
      if (source != null && !newSources.has(source)) {
        newSources.add(source);
      }

      var name = mapping.name;
      if (name != null && !newNames.has(name)) {
        newNames.add(name);
      }

    }, this);
    this._sources = newSources;
    this._names = newNames;

    // Copy sourcesContents of applied map.
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var content = aSourceMapConsumer.sourceContentFor(sourceFile);
      if (content != null) {
        if (aSourceMapPath != null) {
          sourceFile = util.join(aSourceMapPath, sourceFile);
        }
        if (sourceRoot != null) {
          sourceFile = util.relative(sourceRoot, sourceFile);
        }
        this.setSourceContent(sourceFile, content);
      }
    }, this);
  };

/**
 * A mapping can have one of the three levels of data:
 *
 *   1. Just the generated position.
 *   2. The Generated position, original position, and original source.
 *   3. Generated and original position, original source, as well as a name
 *      token.
 *
 * To maintain consistency, we validate that any new mapping being added falls
 * in to one of these categories.
 */
SourceMapGenerator.prototype._validateMapping =
  function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
                                              aName) {
    // When aOriginal is truthy but has empty values for .line and .column,
    // it is most likely a programmer error. In this case we throw a very
    // specific error message to try to guide them the right way.
    // For example: https://github.com/Polymer/polymer-bundler/pull/519
    if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
        throw new Error(
            'original.line and original.column are not numbers -- you probably meant to omit ' +
            'the original mapping entirely and only map the generated position. If so, pass ' +
            'null for the original mapping instead of an object with empty or null values.'
        );
    }

    if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
        && aGenerated.line > 0 && aGenerated.column >= 0
        && !aOriginal && !aSource && !aName) {
      // Case 1.
      return;
    }
    else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
             && aOriginal && 'line' in aOriginal && 'column' in aOriginal
             && aGenerated.line > 0 && aGenerated.column >= 0
             && aOriginal.line > 0 && aOriginal.column >= 0
             && aSource) {
      // Cases 2 and 3.
      return;
    }
    else {
      throw new Error('Invalid mapping: ' + JSON.stringify({
        generated: aGenerated,
        source: aSource,
        original: aOriginal,
        name: aName
      }));
    }
  };

/**
 * Serialize the accumulated mappings in to the stream of base 64 VLQs
 * specified by the source map format.
 */
SourceMapGenerator.prototype._serializeMappings =
  function SourceMapGenerator_serializeMappings() {
    var previousGeneratedColumn = 0;
    var previousGeneratedLine = 1;
    var previousOriginalColumn = 0;
    var previousOriginalLine = 0;
    var previousName = 0;
    var previousSource = 0;
    var result = '';
    var next;
    var mapping;
    var nameIdx;
    var sourceIdx;

    var mappings = this._mappings.toArray();
    for (var i = 0, len = mappings.length; i < len; i++) {
      mapping = mappings[i];
      next = ''

      if (mapping.generatedLine !== previousGeneratedLine) {
        previousGeneratedColumn = 0;
        while (mapping.generatedLine !== previousGeneratedLine) {
          next += ';';
          previousGeneratedLine++;
        }
      }
      else {
        if (i > 0) {
          if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
            continue;
          }
          next += ',';
        }
      }

      next += base64VLQ.encode(mapping.generatedColumn
                                 - previousGeneratedColumn);
      previousGeneratedColumn = mapping.generatedColumn;

      if (mapping.source != null) {
        sourceIdx = this._sources.indexOf(mapping.source);
        next += base64VLQ.encode(sourceIdx - previousSource);
        previousSource = sourceIdx;

        // lines are stored 0-based in SourceMap spec version 3
        next += base64VLQ.encode(mapping.originalLine - 1
                                   - previousOriginalLine);
        previousOriginalLine = mapping.originalLine - 1;

        next += base64VLQ.encode(mapping.originalColumn
                                   - previousOriginalColumn);
        previousOriginalColumn = mapping.originalColumn;

        if (mapping.name != null) {
          nameIdx = this._names.indexOf(mapping.name);
          next += base64VLQ.encode(nameIdx - previousName);
          previousName = nameIdx;
        }
      }

      result += next;
    }

    return result;
  };

SourceMapGenerator.prototype._generateSourcesContent =
  function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
    return aSources.map(function (source) {
      if (!this._sourcesContents) {
        return null;
      }
      if (aSourceRoot != null) {
        source = util.relative(aSourceRoot, source);
      }
      var key = util.toSetString(source);
      return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)
        ? this._sourcesContents[key]
        : null;
    }, this);
  };

/**
 * Externalize the source map.
 */
SourceMapGenerator.prototype.toJSON =
  function SourceMapGenerator_toJSON() {
    var map = {
      version: this._version,
      sources: this._sources.toArray(),
      names: this._names.toArray(),
      mappings: this._serializeMappings()
    };
    if (this._file != null) {
      map.file = this._file;
    }
    if (this._sourceRoot != null) {
      map.sourceRoot = this._sourceRoot;
    }
    if (this._sourcesContents) {
      map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
    }

    return map;
  };

/**
 * Render the source map being generated to a string.
 */
SourceMapGenerator.prototype.toString =
  function SourceMapGenerator_toString() {
    return JSON.stringify(this.toJSON());
  };

exports.h = SourceMapGenerator;


/***/ }),

/***/ 84589:
/***/ ((__unused_webpack_module, exports) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

/**
 * This is a helper function for getting values from parameter/options
 * objects.
 *
 * @param args The object we are extracting values from
 * @param name The name of the property we are getting.
 * @param defaultValue An optional value to return if the property is missing
 * from the object. If this is not specified and the property is missing, an
 * error will be thrown.
 */
function getArg(aArgs, aName, aDefaultValue) {
  if (aName in aArgs) {
    return aArgs[aName];
  } else if (arguments.length === 3) {
    return aDefaultValue;
  } else {
    throw new Error('"' + aName + '" is a required argument.');
  }
}
exports.getArg = getArg;

var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
var dataUrlRegexp = /^data:.+\,.+$/;

function urlParse(aUrl) {
  var match = aUrl.match(urlRegexp);
  if (!match) {
    return null;
  }
  return {
    scheme: match[1],
    auth: match[2],
    host: match[3],
    port: match[4],
    path: match[5]
  };
}
exports.urlParse = urlParse;

function urlGenerate(aParsedUrl) {
  var url = '';
  if (aParsedUrl.scheme) {
    url += aParsedUrl.scheme + ':';
  }
  url += '//';
  if (aParsedUrl.auth) {
    url += aParsedUrl.auth + '@';
  }
  if (aParsedUrl.host) {
    url += aParsedUrl.host;
  }
  if (aParsedUrl.port) {
    url += ":" + aParsedUrl.port
  }
  if (aParsedUrl.path) {
    url += aParsedUrl.path;
  }
  return url;
}
exports.urlGenerate = urlGenerate;

/**
 * Normalizes a path, or the path portion of a URL:
 *
 * - Replaces consecutive slashes with one slash.
 * - Removes unnecessary '.' parts.
 * - Removes unnecessary '<dir>/..' parts.
 *
 * Based on code in the Node.js 'path' core module.
 *
 * @param aPath The path or url to normalize.
 */
function normalize(aPath) {
  var path = aPath;
  var url = urlParse(aPath);
  if (url) {
    if (!url.path) {
      return aPath;
    }
    path = url.path;
  }
  var isAbsolute = exports.isAbsolute(path);

  var parts = path.split(/\/+/);
  for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
    part = parts[i];
    if (part === '.') {
      parts.splice(i, 1);
    } else if (part === '..') {
      up++;
    } else if (up > 0) {
      if (part === '') {
        // The first part is blank if the path is absolute. Trying to go
        // above the root is a no-op. Therefore we can remove all '..' parts
        // directly after the root.
        parts.splice(i + 1, up);
        up = 0;
      } else {
        parts.splice(i, 2);
        up--;
      }
    }
  }
  path = parts.join('/');

  if (path === '') {
    path = isAbsolute ? '/' : '.';
  }

  if (url) {
    url.path = path;
    return urlGenerate(url);
  }
  return path;
}
exports.normalize = normalize;

/**
 * Joins two paths/URLs.
 *
 * @param aRoot The root path or URL.
 * @param aPath The path or URL to be joined with the root.
 *
 * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
 *   scheme-relative URL: Then the scheme of aRoot, if any, is prepended
 *   first.
 * - Otherwise aPath is a path. If aRoot is a URL, then its path portion
 *   is updated with the result and aRoot is returned. Otherwise the result
 *   is returned.
 *   - If aPath is absolute, the result is aPath.
 *   - Otherwise the two paths are joined with a slash.
 * - Joining for example 'http://' and 'www.example.com' is also supported.
 */
function join(aRoot, aPath) {
  if (aRoot === "") {
    aRoot = ".";
  }
  if (aPath === "") {
    aPath = ".";
  }
  var aPathUrl = urlParse(aPath);
  var aRootUrl = urlParse(aRoot);
  if (aRootUrl) {
    aRoot = aRootUrl.path || '/';
  }

  // `join(foo, '//www.example.org')`
  if (aPathUrl && !aPathUrl.scheme) {
    if (aRootUrl) {
      aPathUrl.scheme = aRootUrl.scheme;
    }
    return urlGenerate(aPathUrl);
  }

  if (aPathUrl || aPath.match(dataUrlRegexp)) {
    return aPath;
  }

  // `join('http://', 'www.example.com')`
  if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
    aRootUrl.host = aPath;
    return urlGenerate(aRootUrl);
  }

  var joined = aPath.charAt(0) === '/'
    ? aPath
    : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);

  if (aRootUrl) {
    aRootUrl.path = joined;
    return urlGenerate(aRootUrl);
  }
  return joined;
}
exports.join = join;

exports.isAbsolute = function (aPath) {
  return aPath.charAt(0) === '/' || urlRegexp.test(aPath);
};

/**
 * Make a path relative to a URL or another path.
 *
 * @param aRoot The root path or URL.
 * @param aPath The path or URL to be made relative to aRoot.
 */
function relative(aRoot, aPath) {
  if (aRoot === "") {
    aRoot = ".";
  }

  aRoot = aRoot.replace(/\/$/, '');

  // It is possible for the path to be above the root. In this case, simply
  // checking whether the root is a prefix of the path won't work. Instead, we
  // need to remove components from the root one by one, until either we find
  // a prefix that fits, or we run out of components to remove.
  var level = 0;
  while (aPath.indexOf(aRoot + '/') !== 0) {
    var index = aRoot.lastIndexOf("/");
    if (index < 0) {
      return aPath;
    }

    // If the only part of the root that is left is the scheme (i.e. http://,
    // file:///, etc.), one or more slashes (/), or simply nothing at all, we
    // have exhausted all components, so the path is not relative to the root.
    aRoot = aRoot.slice(0, index);
    if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
      return aPath;
    }

    ++level;
  }

  // Make sure we add a "../" for each component we removed from the root.
  return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
}
exports.relative = relative;

var supportsNullProto = (function () {
  var obj = Object.create(null);
  return !('__proto__' in obj);
}());

function identity (s) {
  return s;
}

/**
 * Because behavior goes wacky when you set `__proto__` on objects, we
 * have to prefix all the strings in our set with an arbitrary character.
 *
 * See https://github.com/mozilla/source-map/pull/31 and
 * https://github.com/mozilla/source-map/issues/30
 *
 * @param String aStr
 */
function toSetString(aStr) {
  if (isProtoString(aStr)) {
    return '$' + aStr;
  }

  return aStr;
}
exports.toSetString = supportsNullProto ? identity : toSetString;

function fromSetString(aStr) {
  if (isProtoString(aStr)) {
    return aStr.slice(1);
  }

  return aStr;
}
exports.fromSetString = supportsNullProto ? identity : fromSetString;

function isProtoString(s) {
  if (!s) {
    return false;
  }

  var length = s.length;

  if (length < 9 /* "__proto__".length */) {
    return false;
  }

  if (s.charCodeAt(length - 1) !== 95  /* '_' */ ||
      s.charCodeAt(length - 2) !== 95  /* '_' */ ||
      s.charCodeAt(length - 3) !== 111 /* 'o' */ ||
      s.charCodeAt(length - 4) !== 116 /* 't' */ ||
      s.charCodeAt(length - 5) !== 111 /* 'o' */ ||
      s.charCodeAt(length - 6) !== 114 /* 'r' */ ||
      s.charCodeAt(length - 7) !== 112 /* 'p' */ ||
      s.charCodeAt(length - 8) !== 95  /* '_' */ ||
      s.charCodeAt(length - 9) !== 95  /* '_' */) {
    return false;
  }

  for (var i = length - 10; i >= 0; i--) {
    if (s.charCodeAt(i) !== 36 /* '$' */) {
      return false;
    }
  }

  return true;
}

/**
 * Comparator between two mappings where the original positions are compared.
 *
 * Optionally pass in `true` as `onlyCompareGenerated` to consider two
 * mappings with the same original source/line/column, but different generated
 * line and column the same. Useful when searching for a mapping with a
 * stubbed out mapping.
 */
function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
  var cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0 || onlyCompareOriginal) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByOriginalPositions = compareByOriginalPositions;

/**
 * Comparator between two mappings with deflated source and name indices where
 * the generated positions are compared.
 *
 * Optionally pass in `true` as `onlyCompareGenerated` to consider two
 * mappings with the same generated line and column, but different
 * source/name/original line and column the same. Useful when searching for a
 * mapping with a stubbed out mapping.
 */
function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
  var cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0 || onlyCompareGenerated) {
    return cmp;
  }

  cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;

function strcmp(aStr1, aStr2) {
  if (aStr1 === aStr2) {
    return 0;
  }

  if (aStr1 === null) {
    return 1; // aStr2 !== null
  }

  if (aStr2 === null) {
    return -1; // aStr1 !== null
  }

  if (aStr1 > aStr2) {
    return 1;
  }

  return -1;
}

/**
 * Comparator between two mappings with inflated source and name strings where
 * the generated positions are compared.
 */
function compareByGeneratedPositionsInflated(mappingA, mappingB) {
  var cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;

/**
 * Strip any JSON XSSI avoidance prefix from the string (as documented
 * in the source maps specification), and then parse the string as
 * JSON.
 */
function parseSourceMapInput(str) {
  return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ''));
}
exports.parseSourceMapInput = parseSourceMapInput;

/**
 * Compute the URL of a source given the the source root, the source's
 * URL, and the source map's URL.
 */
function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
  sourceURL = sourceURL || '';

  if (sourceRoot) {
    // This follows what Chrome does.
    if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {
      sourceRoot += '/';
    }
    // The spec says:
    //   Line 4: An optional source root, useful for relocating source
    //   files on a server or removing repeated values in the
    //   “sources†entry.  This value is prepended to the individual
    //   entries in the “source†field.
    sourceURL = sourceRoot + sourceURL;
  }

  // Historically, SourceMapConsumer did not take the sourceMapURL as
  // a parameter.  This mode is still somewhat supported, which is why
  // this code block is conditional.  However, it's preferable to pass
  // the source map URL to SourceMapConsumer, so that this function
  // can implement the source URL resolution algorithm as outlined in
  // the spec.  This block is basically the equivalent of:
  //    new URL(sourceURL, sourceMapURL).toString()
  // ... except it avoids using URL, which wasn't available in the
  // older releases of node still supported by this library.
  //
  // The spec says:
  //   If the sources are not absolute URLs after prepending of the
  //   “sourceRootâ€, the sources are resolved relative to the
  //   SourceMap (like resolving script src in a html document).
  if (sourceMapURL) {
    var parsed = urlParse(sourceMapURL);
    if (!parsed) {
      throw new Error("sourceMapURL could not be parsed");
    }
    if (parsed.path) {
      // Strip the last path component, but keep the "/".
      var index = parsed.path.lastIndexOf('/');
      if (index >= 0) {
        parsed.path = parsed.path.substring(0, index + 1);
      }
    }
    sourceURL = join(urlGenerate(parsed), sourceURL);
  }

  return normalize(sourceURL);
}
exports.computeSourceURL = computeSourceURL;


/***/ }),

/***/ 19218:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.stringify = exports.parse = void 0;
__exportStar(__nccwpck_require__(97751), exports);
var parse_1 = __nccwpck_require__(97751);
Object.defineProperty(exports, "parse", ({ enumerable: true, get: function () { return __importDefault(parse_1).default; } }));
var stringify_1 = __nccwpck_require__(70586);
Object.defineProperty(exports, "stringify", ({ enumerable: true, get: function () { return __importDefault(stringify_1).default; } }));


/***/ }),

/***/ 97751:
/***/ (function(__unused_webpack_module, exports) {

"use strict";

var __spreadArrays = (this && this.__spreadArrays) || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.isTraversal = void 0;
var reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/;
var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi;
// Modified version of https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L87
var reAttr = /^\s*(?:(\*|[-\w]*)\|)?((?:\\.|[\w\u00b0-\uFFFF-])+)\s*(?:(\S?)=\s*(?:(['"])((?:[^\\]|\\[^])*?)\4|(#?(?:\\.|[\w\u00b0-\uFFFF-])*)|)|)\s*([iI])?\]/;
var actionTypes = {
    undefined: "exists",
    "": "equals",
    "~": "element",
    "^": "start",
    $: "end",
    "*": "any",
    "!": "not",
    "|": "hyphen",
};
var Traversals = {
    ">": "child",
    "<": "parent",
    "~": "sibling",
    "+": "adjacent",
};
var attribSelectors = {
    "#": ["id", "equals"],
    ".": ["class", "element"],
};
// Pseudos, whose data property is parsed as well.
var unpackPseudos = new Set([
    "has",
    "not",
    "matches",
    "is",
    "host",
    "host-context",
]);
var traversalNames = new Set(__spreadArrays([
    "descendant"
], Object.keys(Traversals).map(function (k) { return Traversals[k]; })));
/**
 * Checks whether a specific selector is a traversal.
 * This is useful eg. in swapping the order of elements that
 * are not traversals.
 *
 * @param selector Selector to check.
 */
function isTraversal(selector) {
    return traversalNames.has(selector.type);
}
exports.isTraversal = isTraversal;
var stripQuotesFromPseudos = new Set(["contains", "icontains"]);
var quotes = new Set(['"', "'"]);
// Unescape function taken from https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L152
function funescape(_, escaped, escapedWhitespace) {
    var high = parseInt(escaped, 16) - 0x10000;
    // NaN means non-codepoint
    return high !== high || escapedWhitespace
        ? escaped
        : high < 0
            ? // BMP codepoint
                String.fromCharCode(high + 0x10000)
            : // Supplemental Plane codepoint (surrogate pair)
                String.fromCharCode((high >> 10) | 0xd800, (high & 0x3ff) | 0xdc00);
}
function unescapeCSS(str) {
    return str.replace(reEscape, funescape);
}
function isWhitespace(c) {
    return c === " " || c === "\n" || c === "\t" || c === "\f" || c === "\r";
}
/**
 * Parses `selector`, optionally with the passed `options`.
 *
 * @param selector Selector to parse.
 * @param options Options for parsing.
 * @returns Returns a two-dimensional array.
 * The first dimension represents selectors separated by commas (eg. `sub1, sub2`),
 * the second contains the relevant tokens for that selector.
 */
function parse(selector, options) {
    var subselects = [];
    var endIndex = parseSelector(subselects, "" + selector, options, 0);
    if (endIndex < selector.length) {
        throw new Error("Unmatched selector: " + selector.slice(endIndex));
    }
    return subselects;
}
exports.default = parse;
function parseSelector(subselects, selector, options, selectorIndex) {
    var _a, _b;
    if (options === void 0) { options = {}; }
    var tokens = [];
    var sawWS = false;
    function getName(offset) {
        var match = selector.slice(selectorIndex + offset).match(reName);
        if (!match) {
            throw new Error("Expected name, found " + selector.slice(selectorIndex));
        }
        var name = match[0];
        selectorIndex += offset + name.length;
        return unescapeCSS(name);
    }
    function stripWhitespace(offset) {
        while (isWhitespace(selector.charAt(selectorIndex + offset)))
            offset++;
        selectorIndex += offset;
    }
    function isEscaped(pos) {
        var slashCount = 0;
        while (selector.charAt(--pos) === "\\")
            slashCount++;
        return (slashCount & 1) === 1;
    }
    function ensureNotTraversal() {
        if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) {
            throw new Error("Did not expect successive traversals.");
        }
    }
    stripWhitespace(0);
    while (selector !== "") {
        var firstChar = selector.charAt(selectorIndex);
        if (isWhitespace(firstChar)) {
            sawWS = true;
            stripWhitespace(1);
        }
        else if (firstChar in Traversals) {
            ensureNotTraversal();
            tokens.push({ type: Traversals[firstChar] });
            sawWS = false;
            stripWhitespace(1);
        }
        else if (firstChar === ",") {
            if (tokens.length === 0) {
                throw new Error("Empty sub-selector");
            }
            subselects.push(tokens);
            tokens = [];
            sawWS = false;
            stripWhitespace(1);
        }
        else {
            if (sawWS) {
                ensureNotTraversal();
                tokens.push({ type: "descendant" });
                sawWS = false;
            }
            if (firstChar in attribSelectors) {
                var _c = attribSelectors[firstChar], name_1 = _c[0], action = _c[1];
                tokens.push({
                    type: "attribute",
                    name: name_1,
                    action: action,
                    value: getName(1),
                    ignoreCase: false,
                    namespace: null,
                });
            }
            else if (firstChar === "[") {
                var attributeMatch = selector
                    .slice(selectorIndex + 1)
                    .match(reAttr);
                if (!attributeMatch) {
                    throw new Error("Malformed attribute selector: " + selector.slice(selectorIndex));
                }
                var completeSelector = attributeMatch[0], _d = attributeMatch[1], namespace = _d === void 0 ? null : _d, baseName = attributeMatch[2], actionType = attributeMatch[3], _e = attributeMatch[5], quotedValue = _e === void 0 ? "" : _e, _f = attributeMatch[6], value = _f === void 0 ? quotedValue : _f, ignoreCase = attributeMatch[7];
                selectorIndex += completeSelector.length + 1;
                var name_2 = unescapeCSS(baseName);
                if ((_a = options.lowerCaseAttributeNames) !== null && _a !== void 0 ? _a : !options.xmlMode) {
                    name_2 = name_2.toLowerCase();
                }
                tokens.push({
                    type: "attribute",
                    name: name_2,
                    action: actionTypes[actionType],
                    value: unescapeCSS(value),
                    namespace: namespace,
                    ignoreCase: !!ignoreCase,
                });
            }
            else if (firstChar === ":") {
                if (selector.charAt(selectorIndex + 1) === ":") {
                    tokens.push({
                        type: "pseudo-element",
                        name: getName(2).toLowerCase(),
                    });
                    continue;
                }
                var name_3 = getName(1).toLowerCase();
                var data = null;
                if (selector.charAt(selectorIndex) === "(") {
                    if (unpackPseudos.has(name_3)) {
                        if (quotes.has(selector.charAt(selectorIndex + 1))) {
                            throw new Error("Pseudo-selector " + name_3 + " cannot be quoted");
                        }
                        data = [];
                        selectorIndex = parseSelector(data, selector, options, selectorIndex + 1);
                        if (selector.charAt(selectorIndex) !== ")") {
                            throw new Error("Missing closing parenthesis in :" + name_3 + " (" + selector + ")");
                        }
                        selectorIndex += 1;
                    }
                    else {
                        selectorIndex += 1;
                        var start = selectorIndex;
                        var counter = 1;
                        for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) {
                            if (selector.charAt(selectorIndex) === "(" &&
                                !isEscaped(selectorIndex)) {
                                counter++;
                            }
                            else if (selector.charAt(selectorIndex) === ")" &&
                                !isEscaped(selectorIndex)) {
                                counter--;
                            }
                        }
                        if (counter) {
                            throw new Error("Parenthesis not matched");
                        }
                        data = selector.slice(start, selectorIndex - 1);
                        if (stripQuotesFromPseudos.has(name_3)) {
                            var quot = data.charAt(0);
                            if (quot === data.slice(-1) && quotes.has(quot)) {
                                data = data.slice(1, -1);
                            }
                            data = unescapeCSS(data);
                        }
                    }
                }
                tokens.push({ type: "pseudo", name: name_3, data: data });
            }
            else {
                var namespace = null;
                var name_4 = void 0;
                if (firstChar === "*") {
                    selectorIndex += 1;
                    name_4 = "*";
                }
                else if (reName.test(selector.slice(selectorIndex))) {
                    name_4 = getName(0);
                }
                else {
                    /*
                     * We have finished parsing the selector.
                     * Remove descendant tokens at the end if they exist,
                     * and return the last index, so that parsing can be
                     * picked up from here.
                     */
                    if (tokens.length &&
                        tokens[tokens.length - 1].type === "descendant") {
                        tokens.pop();
                    }
                    addToken(subselects, tokens);
                    return selectorIndex;
                }
                if (selector.charAt(selectorIndex) === "|") {
                    namespace = name_4;
                    if (selector.charAt(selectorIndex + 1) === "*") {
                        name_4 = "*";
                        selectorIndex += 2;
                    }
                    else {
                        name_4 = getName(1);
                    }
                }
                if (name_4 === "*") {
                    tokens.push({ type: "universal", namespace: namespace });
                }
                else {
                    if ((_b = options.lowerCaseTags) !== null && _b !== void 0 ? _b : !options.xmlMode) {
                        name_4 = name_4.toLowerCase();
                    }
                    tokens.push({ type: "tag", name: name_4, namespace: namespace });
                }
            }
        }
    }
    addToken(subselects, tokens);
    return selectorIndex;
}
function addToken(subselects, tokens) {
    if (subselects.length > 0 && tokens.length === 0) {
        throw new Error("Empty sub-selector");
    }
    subselects.push(tokens);
}


/***/ }),

/***/ 70586:
/***/ (function(__unused_webpack_module, exports) {

"use strict";

var __spreadArrays = (this && this.__spreadArrays) || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
var actionTypes = {
    equals: "",
    element: "~",
    start: "^",
    end: "$",
    any: "*",
    not: "!",
    hyphen: "|",
};
var charsToEscape = new Set(__spreadArrays(Object.keys(actionTypes)
    .map(function (typeKey) { return actionTypes[typeKey]; })
    .filter(Boolean), [
    ":",
    "[",
    "]",
    " ",
    "\\",
    "(",
    ")",
]));
/**
 * Turns `selector` back into a string.
 *
 * @param selector Selector to stringify.
 */
function stringify(selector) {
    return selector.map(stringifySubselector).join(", ");
}
exports.default = stringify;
function stringifySubselector(token) {
    return token.map(stringifyToken).join("");
}
function stringifyToken(token) {
    switch (token.type) {
        // Simple types
        case "child":
            return " > ";
        case "parent":
            return " < ";
        case "sibling":
            return " ~ ";
        case "adjacent":
            return " + ";
        case "descendant":
            return " ";
        case "universal":
            return getNamespace(token.namespace) + "*";
        case "tag":
            return getNamespacedName(token);
        case "pseudo-element":
            return "::" + escapeName(token.name);
        case "pseudo":
            if (token.data === null)
                return ":" + escapeName(token.name);
            if (typeof token.data === "string") {
                return ":" + escapeName(token.name) + "(" + escapeName(token.data) + ")";
            }
            return ":" + escapeName(token.name) + "(" + stringify(token.data) + ")";
        case "attribute": {
            if (token.name === "id" &&
                token.action === "equals" &&
                !token.ignoreCase &&
                !token.namespace) {
                return "#" + escapeName(token.value);
            }
            if (token.name === "class" &&
                token.action === "element" &&
                !token.ignoreCase &&
                !token.namespace) {
                return "." + escapeName(token.value);
            }
            var name_1 = getNamespacedName(token);
            if (token.action === "exists") {
                return "[" + name_1 + "]";
            }
            return "[" + name_1 + actionTypes[token.action] + "='" + escapeName(token.value) + "'" + (token.ignoreCase ? "i" : "") + "]";
        }
    }
}
function getNamespacedName(token) {
    return "" + getNamespace(token.namespace) + escapeName(token.name);
}
function getNamespace(namespace) {
    return namespace
        ? (namespace === "*" ? "*" : escapeName(namespace)) + "|"
        : "";
}
function escapeName(str) {
    return str
        .split("")
        .map(function (c) { return (charsToEscape.has(c) ? "\\" + c : c); })
        .join("");
}


/***/ }),

/***/ 63120:
/***/ ((module) => {

"use strict";
/*! https://mths.be/cssesc v3.0.0 by @mathias */


var object = {};
var hasOwnProperty = object.hasOwnProperty;
var merge = function merge(options, defaults) {
	if (!options) {
		return defaults;
	}
	var result = {};
	for (var key in defaults) {
		// `if (defaults.hasOwnProperty(key) { … }` is not needed here, since
		// only recognized option names are used.
		result[key] = hasOwnProperty.call(options, key) ? options[key] : defaults[key];
	}
	return result;
};

var regexAnySingleEscape = /[ -,\.\/:-@\[-\^`\{-~]/;
var regexSingleEscape = /[ -,\.\/:-@\[\]\^`\{-~]/;
var regexAlwaysEscape = /['"\\]/;
var regexExcessiveSpaces = /(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g;

// https://mathiasbynens.be/notes/css-escapes#css
var cssesc = function cssesc(string, options) {
	options = merge(options, cssesc.options);
	if (options.quotes != 'single' && options.quotes != 'double') {
		options.quotes = 'single';
	}
	var quote = options.quotes == 'double' ? '"' : '\'';
	var isIdentifier = options.isIdentifier;

	var firstChar = string.charAt(0);
	var output = '';
	var counter = 0;
	var length = string.length;
	while (counter < length) {
		var character = string.charAt(counter++);
		var codePoint = character.charCodeAt();
		var value = void 0;
		// If it’s not a printable ASCII character…
		if (codePoint < 0x20 || codePoint > 0x7E) {
			if (codePoint >= 0xD800 && codePoint <= 0xDBFF && counter < length) {
				// It’s a high surrogate, and there is a next character.
				var extra = string.charCodeAt(counter++);
				if ((extra & 0xFC00) == 0xDC00) {
					// next character is low surrogate
					codePoint = ((codePoint & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000;
				} else {
					// It’s an unmatched surrogate; only append this code unit, in case
					// the next code unit is the high surrogate of a surrogate pair.
					counter--;
				}
			}
			value = '\\' + codePoint.toString(16).toUpperCase() + ' ';
		} else {
			if (options.escapeEverything) {
				if (regexAnySingleEscape.test(character)) {
					value = '\\' + character;
				} else {
					value = '\\' + codePoint.toString(16).toUpperCase() + ' ';
				}
			} else if (/[\t\n\f\r\x0B]/.test(character)) {
				value = '\\' + codePoint.toString(16).toUpperCase() + ' ';
			} else if (character == '\\' || !isIdentifier && (character == '"' && quote == character || character == '\'' && quote == character) || isIdentifier && regexSingleEscape.test(character)) {
				value = '\\' + character;
			} else {
				value = character;
			}
		}
		output += value;
	}

	if (isIdentifier) {
		if (/^-[-\d]/.test(output)) {
			output = '\\-' + output.slice(1);
		} else if (/\d/.test(firstChar)) {
			output = '\\3' + firstChar + ' ' + output.slice(1);
		}
	}

	// Remove spaces after `\HEX` escapes that are not followed by a hex digit,
	// since they’re redundant. Note that this is only possible if the escape
	// sequence isn’t preceded by an odd number of backslashes.
	output = output.replace(regexExcessiveSpaces, function ($0, $1, $2) {
		if ($1 && $1.length % 2) {
			// It’s not safe to remove the space, so don’t.
			return $0;
		}
		// Strip the space.
		return ($1 || '') + $2;
	});

	if (!isIdentifier && options.wrap) {
		return quote + output + quote;
	}
	return output;
};

// Expose default options (so they can be overridden globally).
cssesc.options = {
	'escapeEverything': false,
	'isIdentifier': false,
	'quotes': 'single',
	'wrap': false
};

cssesc.version = '3.0.0';

module.exports = cssesc;


/***/ }),

/***/ 64524:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = defaultPreset;

var _cssDeclarationSorter = _interopRequireDefault(__nccwpck_require__(44102));

var _postcssDiscardComments = _interopRequireDefault(__nccwpck_require__(79475));

var _postcssReduceInitial = _interopRequireDefault(__nccwpck_require__(85512));

var _postcssMinifyGradients = _interopRequireDefault(__nccwpck_require__(33683));

var _postcssSvgo = _interopRequireDefault(__nccwpck_require__(8762));

var _postcssReduceTransforms = _interopRequireDefault(__nccwpck_require__(76245));

var _postcssConvertValues = _interopRequireDefault(__nccwpck_require__(8853));

var _postcssCalc = _interopRequireDefault(__nccwpck_require__(31624));

var _postcssColormin = _interopRequireDefault(__nccwpck_require__(13697));

var _postcssOrderedValues = _interopRequireDefault(__nccwpck_require__(40933));

var _postcssMinifySelectors = _interopRequireDefault(__nccwpck_require__(86506));

var _postcssMinifyParams = _interopRequireDefault(__nccwpck_require__(87496));

var _postcssNormalizeCharset = _interopRequireDefault(__nccwpck_require__(36738));

var _postcssMinifyFontValues = _interopRequireDefault(__nccwpck_require__(20586));

var _postcssNormalizeUrl = _interopRequireDefault(__nccwpck_require__(5791));

var _postcssMergeLonghand = _interopRequireDefault(__nccwpck_require__(51028));

var _postcssDiscardDuplicates = _interopRequireDefault(__nccwpck_require__(28648));

var _postcssDiscardOverridden = _interopRequireDefault(__nccwpck_require__(27467));

var _postcssNormalizeRepeatStyle = _interopRequireDefault(__nccwpck_require__(18073));

var _postcssMergeRules = _interopRequireDefault(__nccwpck_require__(74210));

var _postcssDiscardEmpty = _interopRequireDefault(__nccwpck_require__(94888));

var _postcssUniqueSelectors = _interopRequireDefault(__nccwpck_require__(17998));

var _postcssNormalizeString = _interopRequireDefault(__nccwpck_require__(56031));

var _postcssNormalizePositions = _interopRequireDefault(__nccwpck_require__(40260));

var _postcssNormalizeWhitespace = _interopRequireDefault(__nccwpck_require__(82053));

var _postcssNormalizeUnicode = _interopRequireDefault(__nccwpck_require__(88249));

var _postcssNormalizeDisplayValues = _interopRequireDefault(__nccwpck_require__(65125));

var _postcssNormalizeTimingFunctions = _interopRequireDefault(__nccwpck_require__(72513));

var _cssnanoUtils = __nccwpck_require__(96947);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * @author Ben Briggs
 * @license MIT
 * @module cssnano:preset:default
 * @overview
 *
 * This default preset for cssnano only includes transforms that make no
 * assumptions about your CSS other than what is passed in. In previous
 * iterations of cssnano, assumptions were made about your CSS which caused
 * output to look different in certain use cases, but not others. These
 * transforms have been moved from the defaults to other presets, to make
 * this preset require only minimal configuration.
 */
const defaultOpts = {
  convertValues: {
    length: false
  },
  normalizeCharset: {
    add: false
  },
  cssDeclarationSorter: {
    keepOverrides: true
  }
};

function defaultPreset(opts = {}) {
  const options = Object.assign({}, defaultOpts, opts);
  const plugins = [[_postcssDiscardComments.default, options.discardComments], [_postcssMinifyGradients.default, options.minifyGradients], [_postcssReduceInitial.default, options.reduceInitial], [_postcssSvgo.default, options.svgo], [_postcssNormalizeDisplayValues.default, options.normalizeDisplayValues], [_postcssReduceTransforms.default, options.reduceTransforms], [_postcssColormin.default, options.colormin], [_postcssNormalizeTimingFunctions.default, options.normalizeTimingFunctions], [_postcssCalc.default, options.calc], [_postcssConvertValues.default, options.convertValues], [_postcssOrderedValues.default, options.orderedValues], [_postcssMinifySelectors.default, options.minifySelectors], [_postcssMinifyParams.default, options.minifyParams], [_postcssNormalizeCharset.default, options.normalizeCharset], [_postcssDiscardOverridden.default, options.discardOverridden], [_postcssNormalizeString.default, options.normalizeString], [_postcssNormalizeUnicode.default, options.normalizeUnicode], [_postcssMinifyFontValues.default, options.minifyFontValues], [_postcssNormalizeUrl.default, options.normalizeUrl], [_postcssNormalizeRepeatStyle.default, options.normalizeRepeatStyle], [_postcssNormalizePositions.default, options.normalizePositions], [_postcssNormalizeWhitespace.default, options.normalizeWhitespace], [_postcssMergeLonghand.default, options.mergeLonghand], [_postcssDiscardDuplicates.default, options.discardDuplicates], [_postcssMergeRules.default, options.mergeRules], [_postcssDiscardEmpty.default, options.discardEmpty], [_postcssUniqueSelectors.default, options.uniqueSelectors], [_cssDeclarationSorter.default, options.cssDeclarationSorter], [_cssnanoUtils.rawCache, options.rawCache]];
  return {
    plugins
  };
}

module.exports = exports.default;

/***/ }),

/***/ 11035:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getArguments;

function getArguments(node) {
  return node.nodes.reduce((list, child) => {
    if (child.type !== 'div') {
      list[list.length - 1].push(child);
    } else {
      list.push([]);
    }

    return list;
  }, [[]]);
}

module.exports = exports.default;

/***/ }),

/***/ 24692:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getMatchFactory;

function getMatchFactory(map) {
  return function getMatch(args) {
    const match = args.reduce((list, arg, i) => {
      return list.filter(keyword => keyword[1][i] === arg);
    }, map);

    if (match.length) {
      return match[0][0];
    }

    return false;
  };
}

module.exports = exports.default;

/***/ }),

/***/ 96947:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
Object.defineProperty(exports, "rawCache", ({
  enumerable: true,
  get: function () {
    return _rawCache.default;
  }
}));
Object.defineProperty(exports, "getMatch", ({
  enumerable: true,
  get: function () {
    return _getMatch.default;
  }
}));
Object.defineProperty(exports, "getArguments", ({
  enumerable: true,
  get: function () {
    return _getArguments.default;
  }
}));
Object.defineProperty(exports, "sameParent", ({
  enumerable: true,
  get: function () {
    return _sameParent.default;
  }
}));

var _rawCache = _interopRequireDefault(__nccwpck_require__(98824));

var _getMatch = _interopRequireDefault(__nccwpck_require__(24692));

var _getArguments = _interopRequireDefault(__nccwpck_require__(11035));

var _sameParent = _interopRequireDefault(__nccwpck_require__(7640));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/***/ }),

/***/ 98824:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

const pluginCreator = () => {
  return {
    postcssPlugin: 'cssnano-util-raw-cache',

    OnceExit(css, {
      result
    }) {
      result.root.rawCache = {
        colon: ':',
        indent: '',
        beforeDecl: '',
        beforeRule: '',
        beforeOpen: '',
        beforeClose: '',
        beforeComment: '',
        after: '',
        emptyBody: '',
        commentLeft: '',
        commentRight: ''
      };
    }

  };
};

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 7640:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = sameParent;

/**
 * @param {postcss.ChildNode} nodeA
 * @param {postcss.ChildNode} nodeB
 * @return {boolean}
 */
function checkMatch(nodeA, nodeB) {
  if (nodeA.type === 'atrule' && nodeB.type === 'atrule') {
    return nodeA.params === nodeB.params && nodeA.name.toLowerCase() === nodeB.name.toLowerCase();
  }

  return nodeA.type === nodeB.type;
}
/**
 * @param {postcss.ChildNode} nodeA
 * @param {postcss.ChildNode} nodeB
 * @return {boolean}
 */


function sameParent(nodeA, nodeB) {
  if (!nodeA.parent) {
    // A is orphaned, return if B is orphaned as well
    return !nodeB.parent;
  }

  if (!nodeB.parent) {
    // B is orphaned and A is not
    return false;
  } // Check if parents match


  if (!checkMatch(nodeA.parent, nodeB.parent)) {
    return false;
  } // Check parents' parents


  return sameParent(nodeA.parent, nodeB.parent);
}

module.exports = exports.default;

/***/ }),

/***/ 8313:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _path = _interopRequireDefault(__nccwpck_require__(85622));

var _postcss = _interopRequireDefault(__nccwpck_require__(77001));

var _cosmiconfig = __nccwpck_require__(4066);

var _isResolvable = _interopRequireDefault(__nccwpck_require__(80922));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const cssnano = 'cssnano';
/*
 * preset can be one of four possibilities:
 * preset = 'default'
 * preset = ['default', {}]
 * preset = function <- to be invoked
 * preset = {plugins: []} <- already invoked function
 */

function resolvePreset(preset) {
  let fn, options;

  if (Array.isArray(preset)) {
    fn = preset[0];
    options = preset[1];
  } else {
    fn = preset;
    options = {};
  } // For JS setups where we invoked the preset already


  if (preset.plugins) {
    return preset.plugins;
  } // Provide an alias for the default preset, as it is built-in.


  if (fn === 'default') {
    return __nccwpck_require__(64524)(options).plugins;
  } // For non-JS setups; we'll need to invoke the preset ourselves.


  if (typeof fn === 'function') {
    return fn(options).plugins;
  } // Try loading a preset from node_modules


  if ((0, _isResolvable.default)(fn)) {
    return require(fn)(options).plugins;
  }

  const sugar = `cssnano-preset-${fn}`; // Try loading a preset from node_modules (sugar)

  if ((0, _isResolvable.default)(sugar)) {
    return require(sugar)(options).plugins;
  } // If all else fails, we probably have a typo in the config somewhere


  throw new Error(`Cannot load preset "${fn}". Please check your configuration for errors and try again.`);
}
/*
 * cssnano will look for configuration firstly as options passed
 * directly to it, and failing this it will use cosmiconfig to
 * load an external file.
 */


function resolveConfig(options) {
  if (options.preset) {
    return resolvePreset(options.preset);
  }

  let searchPath = process.cwd();
  let configPath = null;

  if (options.configFile) {
    searchPath = null;
    configPath = _path.default.resolve(process.cwd(), options.configFile);
  }

  const configExplorer = (0, _cosmiconfig.cosmiconfigSync)(cssnano);
  const config = configPath ? configExplorer.load(configPath) : configExplorer.search(searchPath);

  if (config === null) {
    return resolvePreset('default');
  }

  return resolvePreset(config.config.preset || config.config);
}

const cssnanoPlugin = (options = {}) => {
  if (Array.isArray(options.plugins)) {
    if (!options.preset || !options.preset.plugins) {
      options.preset = {
        plugins: []
      };
    }

    options.plugins.forEach(plugin => {
      if (Array.isArray(plugin)) {
        const [pluginDef, opts = {}] = plugin;

        if (typeof pluginDef === 'string' && (0, _isResolvable.default)(pluginDef)) {
          options.preset.plugins.push([require(pluginDef), opts]);
        } else {
          options.preset.plugins.push([pluginDef, opts]);
        }
      } else if (typeof plugin === 'string' && (0, _isResolvable.default)(plugin)) {
        options.preset.plugins.push([require(plugin), {}]);
      } else {
        options.preset.plugins.push([plugin, {}]);
      }
    });
  }

  const plugins = [];
  const nanoPlugins = resolveConfig(options);

  for (const nanoPlugin of nanoPlugins) {
    if (Array.isArray(nanoPlugin)) {
      const [processor, opts] = nanoPlugin;

      if (typeof opts === 'undefined' || typeof opts === 'object' && !opts.exclude || typeof opts === 'boolean' && opts === true) {
        plugins.push(processor(opts));
      }
    } else {
      plugins.push(nanoPlugin);
    }
  }

  return (0, _postcss.default)(plugins);
};

cssnanoPlugin.postcss = true;
var _default = cssnanoPlugin;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 51518:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var resolveKeyword = __nccwpck_require__(65035).keyword;
var { hasNoChildren } = __nccwpck_require__(65721);

module.exports = function cleanAtrule(node, item, list) {
    if (node.block) {
        // otherwise removed at-rule don't prevent @import for removal
        if (this.stylesheet !== null) {
            this.stylesheet.firstAtrulesAllowed = false;
        }

        if (hasNoChildren(node.block)) {
            list.remove(item);
            return;
        }
    }

    switch (node.name) {
        case 'charset':
            if (hasNoChildren(node.prelude)) {
                list.remove(item);
                return;
            }

            // if there is any rule before @charset -> remove it
            if (item.prev) {
                list.remove(item);
                return;
            }

            break;

        case 'import':
            if (this.stylesheet === null || !this.stylesheet.firstAtrulesAllowed) {
                list.remove(item);
                return;
            }

            // if there are some rules that not an @import or @charset before @import
            // remove it
            list.prevUntil(item.prev, function(rule) {
                if (rule.type === 'Atrule') {
                    if (rule.name === 'import' || rule.name === 'charset') {
                        return;
                    }
                }

                this.root.firstAtrulesAllowed = false;
                list.remove(item);
                return true;
            }, this);

            break;

        default:
            var name = resolveKeyword(node.name).basename;
            if (name === 'keyframes' ||
                name === 'media' ||
                name === 'supports') {

                // drop at-rule with no prelude
                if (hasNoChildren(node.prelude) || hasNoChildren(node.block)) {
                    list.remove(item);
                }
            }
    }
};


/***/ }),

/***/ 78344:
/***/ ((module) => {

module.exports = function cleanComment(data, item, list) {
    list.remove(item);
};


/***/ }),

/***/ 51572:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var property = __nccwpck_require__(65035).property;

module.exports = function cleanDeclartion(node, item, list) {
    if (node.value.children && node.value.children.isEmpty()) {
        list.remove(item);
        return;
    }

    if (property(node.property).custom) {
        if (/\S/.test(node.value.value)) {
            node.value.value = node.value.value.trim();
        }
    }
};


/***/ }),

/***/ 29358:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var { isNodeChildrenList } = __nccwpck_require__(65721);

module.exports = function cleanRaw(node, item, list) {
    // raw in stylesheet or block children
    if (isNodeChildrenList(this.stylesheet, list) ||
        isNodeChildrenList(this.block, list)) {
        list.remove(item);
    }
};


/***/ }),

/***/ 65915:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var hasOwnProperty = Object.prototype.hasOwnProperty;
var walk = __nccwpck_require__(65035).walk;
var { hasNoChildren } = __nccwpck_require__(65721);

function cleanUnused(selectorList, usageData) {
    selectorList.children.each(function(selector, item, list) {
        var shouldRemove = false;

        walk(selector, function(node) {
            // ignore nodes in nested selectors
            if (this.selector === null || this.selector === selectorList) {
                switch (node.type) {
                    case 'SelectorList':
                        // TODO: remove toLowerCase when pseudo selectors will be normalized
                        // ignore selectors inside :not()
                        if (this.function === null || this.function.name.toLowerCase() !== 'not') {
                            if (cleanUnused(node, usageData)) {
                                shouldRemove = true;
                            }
                        }
                        break;

                    case 'ClassSelector':
                        if (usageData.whitelist !== null &&
                            usageData.whitelist.classes !== null &&
                            !hasOwnProperty.call(usageData.whitelist.classes, node.name)) {
                            shouldRemove = true;
                        }
                        if (usageData.blacklist !== null &&
                            usageData.blacklist.classes !== null &&
                            hasOwnProperty.call(usageData.blacklist.classes, node.name)) {
                            shouldRemove = true;
                        }
                        break;

                    case 'IdSelector':
                        if (usageData.whitelist !== null &&
                            usageData.whitelist.ids !== null &&
                            !hasOwnProperty.call(usageData.whitelist.ids, node.name)) {
                            shouldRemove = true;
                        }
                        if (usageData.blacklist !== null &&
                            usageData.blacklist.ids !== null &&
                            hasOwnProperty.call(usageData.blacklist.ids, node.name)) {
                            shouldRemove = true;
                        }
                        break;

                    case 'TypeSelector':
                        // TODO: remove toLowerCase when type selectors will be normalized
                        // ignore universal selectors
                        if (node.name.charAt(node.name.length - 1) !== '*') {
                            if (usageData.whitelist !== null &&
                                usageData.whitelist.tags !== null &&
                                !hasOwnProperty.call(usageData.whitelist.tags, node.name.toLowerCase())) {
                                shouldRemove = true;
                            }
                            if (usageData.blacklist !== null &&
                                usageData.blacklist.tags !== null &&
                                hasOwnProperty.call(usageData.blacklist.tags, node.name.toLowerCase())) {
                                shouldRemove = true;
                            }
                        }
                        break;
                }
            }
        });

        if (shouldRemove) {
            list.remove(item);
        }
    });

    return selectorList.children.isEmpty();
}

module.exports = function cleanRule(node, item, list, options) {
    if (hasNoChildren(node.prelude) || hasNoChildren(node.block)) {
        list.remove(item);
        return;
    }

    var usageData = options.usage;

    if (usageData && (usageData.whitelist !== null || usageData.blacklist !== null)) {
        cleanUnused(node.prelude, usageData);

        if (hasNoChildren(node.prelude)) {
            list.remove(item);
            return;
        }
    }
};


/***/ }),

/***/ 54212:
/***/ ((module) => {

// remove useless universal selector
module.exports = function cleanTypeSelector(node, item, list) {
    var name = item.data.name;

    // check it's a non-namespaced universal selector
    if (name !== '*') {
        return;
    }

    // remove when universal selector before other selectors
    var nextType = item.next && item.next.data.type;
    if (nextType === 'IdSelector' ||
        nextType === 'ClassSelector' ||
        nextType === 'AttributeSelector' ||
        nextType === 'PseudoClassSelector' ||
        nextType === 'PseudoElementSelector') {
        list.remove(item);
    }
};


/***/ }),

/***/ 74382:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var { isNodeChildrenList } = __nccwpck_require__(65721);

function isSafeOperator(node) {
    return node.type === 'Operator' && node.value !== '+' && node.value !== '-';
}

module.exports = function cleanWhitespace(node, item, list) {
    // remove when first or last item in sequence
    if (item.next === null || item.prev === null) {
        list.remove(item);
        return;
    }

    // white space in stylesheet or block children
    if (isNodeChildrenList(this.stylesheet, list) ||
        isNodeChildrenList(this.block, list)) {
        list.remove(item);
        return;
    }

    if (item.next.data.type === 'WhiteSpace') {
        list.remove(item);
        return;
    }

    if (isSafeOperator(item.prev.data) || isSafeOperator(item.next.data)) {
        list.remove(item);
        return;
    }
};


/***/ }),

/***/ 29553:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var walk = __nccwpck_require__(65035).walk;
var handlers = {
    Atrule: __nccwpck_require__(51518),
    Comment: __nccwpck_require__(78344),
    Declaration: __nccwpck_require__(51572),
    Raw: __nccwpck_require__(29358),
    Rule: __nccwpck_require__(65915),
    TypeSelector: __nccwpck_require__(54212),
    WhiteSpace: __nccwpck_require__(74382)
};

module.exports = function(ast, options) {
    walk(ast, {
        leave: function(node, item, list) {
            if (handlers.hasOwnProperty(node.type)) {
                handlers[node.type].call(this, node, item, list, options);
            }
        }
    });
};


/***/ }),

/***/ 65721:
/***/ ((module) => {

module.exports = {
    hasNoChildren: function(node) {
        return !node || !node.children || node.children.isEmpty();
    },
    isNodeChildrenList: function(node, list) {
        return node !== null && node.children === list;
    }
};


/***/ }),

/***/ 88637:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(65035).List;
var clone = __nccwpck_require__(65035).clone;
var usageUtils = __nccwpck_require__(29863);
var clean = __nccwpck_require__(29553);
var replace = __nccwpck_require__(57602);
var restructure = __nccwpck_require__(59029);
var walk = __nccwpck_require__(65035).walk;

function readChunk(children, specialComments) {
    var buffer = new List();
    var nonSpaceTokenInBuffer = false;
    var protectedComment;

    children.nextUntil(children.head, function(node, item, list) {
        if (node.type === 'Comment') {
            if (!specialComments || node.value.charAt(0) !== '!') {
                list.remove(item);
                return;
            }

            if (nonSpaceTokenInBuffer || protectedComment) {
                return true;
            }

            list.remove(item);
            protectedComment = node;
            return;
        }

        if (node.type !== 'WhiteSpace') {
            nonSpaceTokenInBuffer = true;
        }

        buffer.insert(list.remove(item));
    });

    return {
        comment: protectedComment,
        stylesheet: {
            type: 'StyleSheet',
            loc: null,
            children: buffer
        }
    };
}

function compressChunk(ast, firstAtrulesAllowed, num, options) {
    options.logger('Compress block #' + num, null, true);

    var seed = 1;

    if (ast.type === 'StyleSheet') {
        ast.firstAtrulesAllowed = firstAtrulesAllowed;
        ast.id = seed++;
    }

    walk(ast, {
        visit: 'Atrule',
        enter: function markScopes(node) {
            if (node.block !== null) {
                node.block.id = seed++;
            }
        }
    });
    options.logger('init', ast);

    // remove redundant
    clean(ast, options);
    options.logger('clean', ast);

    // replace nodes for shortened forms
    replace(ast, options);
    options.logger('replace', ast);

    // structure optimisations
    if (options.restructuring) {
        restructure(ast, options);
    }

    return ast;
}

function getCommentsOption(options) {
    var comments = 'comments' in options ? options.comments : 'exclamation';

    if (typeof comments === 'boolean') {
        comments = comments ? 'exclamation' : false;
    } else if (comments !== 'exclamation' && comments !== 'first-exclamation') {
        comments = false;
    }

    return comments;
}

function getRestructureOption(options) {
    if ('restructure' in options) {
        return options.restructure;
    }

    return 'restructuring' in options ? options.restructuring : true;
}

function wrapBlock(block) {
    return new List().appendData({
        type: 'Rule',
        loc: null,
        prelude: {
            type: 'SelectorList',
            loc: null,
            children: new List().appendData({
                type: 'Selector',
                loc: null,
                children: new List().appendData({
                    type: 'TypeSelector',
                    loc: null,
                    name: 'x'
                })
            })
        },
        block: block
    });
}

module.exports = function compress(ast, options) {
    ast = ast || { type: 'StyleSheet', loc: null, children: new List() };
    options = options || {};

    var compressOptions = {
        logger: typeof options.logger === 'function' ? options.logger : function() {},
        restructuring: getRestructureOption(options),
        forceMediaMerge: Boolean(options.forceMediaMerge),
        usage: options.usage ? usageUtils.buildIndex(options.usage) : false
    };
    var specialComments = getCommentsOption(options);
    var firstAtrulesAllowed = true;
    var input;
    var output = new List();
    var chunk;
    var chunkNum = 1;
    var chunkChildren;

    if (options.clone) {
        ast = clone(ast);
    }

    if (ast.type === 'StyleSheet') {
        input = ast.children;
        ast.children = output;
    } else {
        input = wrapBlock(ast);
    }

    do {
        chunk = readChunk(input, Boolean(specialComments));
        compressChunk(chunk.stylesheet, firstAtrulesAllowed, chunkNum++, compressOptions);
        chunkChildren = chunk.stylesheet.children;

        if (chunk.comment) {
            // add \n before comment if there is another content in output
            if (!output.isEmpty()) {
                output.insert(List.createItem({
                    type: 'Raw',
                    value: '\n'
                }));
            }

            output.insert(List.createItem(chunk.comment));

            // add \n after comment if chunk is not empty
            if (!chunkChildren.isEmpty()) {
                output.insert(List.createItem({
                    type: 'Raw',
                    value: '\n'
                }));
            }
        }

        if (firstAtrulesAllowed && !chunkChildren.isEmpty()) {
            var lastRule = chunkChildren.last();

            if (lastRule.type !== 'Atrule' ||
               (lastRule.name !== 'import' && lastRule.name !== 'charset')) {
                firstAtrulesAllowed = false;
            }
        }

        if (specialComments !== 'exclamation') {
            specialComments = false;
        }

        output.appendList(chunkChildren);
    } while (!input.isEmpty());

    return {
        ast: ast
    };
};


/***/ }),

/***/ 21811:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var csstree = __nccwpck_require__(65035);
var parse = csstree.parse;
var compress = __nccwpck_require__(88637);
var generate = csstree.generate;

function debugOutput(name, options, startTime, data) {
    if (options.debug) {
        console.error('## ' + name + ' done in %d ms\n', Date.now() - startTime);
    }

    return data;
}

function createDefaultLogger(level) {
    var lastDebug;

    return function logger(title, ast) {
        var line = title;

        if (ast) {
            line = '[' + ((Date.now() - lastDebug) / 1000).toFixed(3) + 's] ' + line;
        }

        if (level > 1 && ast) {
            var css = generate(ast);

            // when level 2, limit css to 256 symbols
            if (level === 2 && css.length > 256) {
                css = css.substr(0, 256) + '...';
            }

            line += '\n  ' + css + '\n';
        }

        console.error(line);
        lastDebug = Date.now();
    };
}

function copy(obj) {
    var result = {};

    for (var key in obj) {
        result[key] = obj[key];
    }

    return result;
}

function buildCompressOptions(options) {
    options = copy(options);

    if (typeof options.logger !== 'function' && options.debug) {
        options.logger = createDefaultLogger(options.debug);
    }

    return options;
}

function runHandler(ast, options, handlers) {
    if (!Array.isArray(handlers)) {
        handlers = [handlers];
    }

    handlers.forEach(function(fn) {
        fn(ast, options);
    });
}

function minify(context, source, options) {
    options = options || {};

    var filename = options.filename || '<unknown>';
    var result;

    // parse
    var ast = debugOutput('parsing', options, Date.now(),
        parse(source, {
            context: context,
            filename: filename,
            positions: Boolean(options.sourceMap)
        })
    );

    // before compress handlers
    if (options.beforeCompress) {
        debugOutput('beforeCompress', options, Date.now(),
            runHandler(ast, options, options.beforeCompress)
        );
    }

    // compress
    var compressResult = debugOutput('compress', options, Date.now(),
        compress(ast, buildCompressOptions(options))
    );

    // after compress handlers
    if (options.afterCompress) {
        debugOutput('afterCompress', options, Date.now(),
            runHandler(compressResult, options, options.afterCompress)
        );
    }

    // generate
    if (options.sourceMap) {
        result = debugOutput('generate(sourceMap: true)', options, Date.now(), (function() {
            var tmp = generate(compressResult.ast, { sourceMap: true });
            tmp.map._file = filename; // since other tools can relay on file in source map transform chain
            tmp.map.setSourceContent(filename, source);
            return tmp;
        }()));
    } else {
        result = debugOutput('generate', options, Date.now(), {
            css: generate(compressResult.ast),
            map: null
        });
    }

    return result;
}

function minifyStylesheet(source, options) {
    return minify('stylesheet', source, options);
}

function minifyBlock(source, options) {
    return minify('declarationList', source, options);
}

module.exports = {
    version: __nccwpck_require__(96127)/* .version */ .i8,

    // main methods
    minify: minifyStylesheet,
    minifyBlock: minifyBlock,

    // css syntax parser/walkers/generator/etc
    syntax: Object.assign({
        compress: compress
    }, csstree)
};


/***/ }),

/***/ 17460:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var resolveKeyword = __nccwpck_require__(65035).keyword;
var compressKeyframes = __nccwpck_require__(15539);

module.exports = function(node) {
    // compress @keyframe selectors
    if (resolveKeyword(node.name).basename === 'keyframes') {
        compressKeyframes(node);
    }
};


/***/ }),

/***/ 95389:
/***/ ((module) => {

// Can unquote attribute detection
// Adopted implementation of Mathias Bynens
// https://github.com/mathiasbynens/mothereff.in/blob/master/unquoted-attributes/eff.js
var escapesRx = /\\([0-9A-Fa-f]{1,6})(\r\n|[ \t\n\f\r])?|\\./g;
var blockUnquoteRx = /^(-?\d|--)|[\u0000-\u002c\u002e\u002f\u003A-\u0040\u005B-\u005E\u0060\u007B-\u009f]/;

function canUnquote(value) {
    if (value === '' || value === '-') {
        return;
    }

    // Escapes are valid, so replace them with a valid non-empty string
    value = value.replace(escapesRx, 'a');

    return !blockUnquoteRx.test(value);
}

module.exports = function(node) {
    var attrValue = node.value;

    if (!attrValue || attrValue.type !== 'String') {
        return;
    }

    var unquotedValue = attrValue.value.replace(/^(.)(.*)\1$/, '$2');
    if (canUnquote(unquotedValue)) {
        node.value = {
            type: 'Identifier',
            loc: attrValue.loc,
            name: unquotedValue
        };
    }
};


/***/ }),

/***/ 4770:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var packNumber = __nccwpck_require__(42334).pack;
var MATH_FUNCTIONS = {
    'calc': true,
    'min': true,
    'max': true,
    'clamp': true
};
var LENGTH_UNIT = {
    // absolute length units
    'px': true,
    'mm': true,
    'cm': true,
    'in': true,
    'pt': true,
    'pc': true,

    // relative length units
    'em': true,
    'ex': true,
    'ch': true,
    'rem': true,

    // viewport-percentage lengths
    'vh': true,
    'vw': true,
    'vmin': true,
    'vmax': true,
    'vm': true
};

module.exports = function compressDimension(node, item) {
    var value = packNumber(node.value, item);

    node.value = value;

    if (value === '0' && this.declaration !== null && this.atrulePrelude === null) {
        var unit = node.unit.toLowerCase();

        // only length values can be compressed
        if (!LENGTH_UNIT.hasOwnProperty(unit)) {
            return;
        }

        // issue #362: shouldn't remove unit in -ms-flex since it breaks flex in IE10/11
        // issue #200: shouldn't remove unit in flex since it breaks flex in IE10/11
        if (this.declaration.property === '-ms-flex' ||
            this.declaration.property === 'flex') {
            return;
        }

        // issue #222: don't remove units inside calc
        if (this.function && MATH_FUNCTIONS.hasOwnProperty(this.function.name)) {
            return;
        }

        item.data = {
            type: 'Number',
            loc: node.loc,
            value: value
        };
    }
};


/***/ }),

/***/ 42334:
/***/ ((module) => {

var OMIT_PLUSSIGN = /^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/;
var KEEP_PLUSSIGN = /^([\+\-])?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/;
var unsafeToRemovePlusSignAfter = {
    Dimension: true,
    Hash: true,
    Identifier: true,
    Number: true,
    Raw: true,
    UnicodeRange: true
};

function packNumber(value, item) {
    // omit plus sign only if no prev or prev is safe type
    var regexp = item && item.prev !== null && unsafeToRemovePlusSignAfter.hasOwnProperty(item.prev.data.type)
        ? KEEP_PLUSSIGN
        : OMIT_PLUSSIGN;

    // 100 -> '100'
    // 00100 -> '100'
    // +100 -> '100' (only when safe, e.g. omitting plus sign for 1px+1px leads to single dimension instead of two)
    // -100 -> '-100'
    // 0.123 -> '.123'
    // 0.12300 -> '.123'
    // 0.0 -> ''
    // 0 -> ''
    // -0 -> '-'
    value = String(value).replace(regexp, '$1$2$3');

    if (value === '' || value === '-') {
        value = '0';
    }

    return value;
}

module.exports = function(node, item) {
    node.value = packNumber(node.value, item);
};
module.exports.pack = packNumber;


/***/ }),

/***/ 96215:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var lexer = __nccwpck_require__(65035).lexer;
var packNumber = __nccwpck_require__(42334).pack;
var blacklist = new Set([
    // see https://github.com/jakubpawlowicz/clean-css/issues/957
    'width',
    'min-width',
    'max-width',
    'height',
    'min-height',
    'max-height',

    // issue #410: Don’t remove units in flex-basis value for (-ms-)flex shorthand
    // issue #362: shouldn't remove unit in -ms-flex since it breaks flex in IE10/11
    // issue #200: shouldn't remove unit in flex since it breaks flex in IE10/11
    'flex',
    '-ms-flex'
]);

module.exports = function compressPercentage(node, item) {
    node.value = packNumber(node.value, item);

    if (node.value === '0' && this.declaration && !blacklist.has(this.declaration.property)) {
        // try to convert a number
        item.data = {
            type: 'Number',
            loc: node.loc,
            value: node.value
        };

        // that's ok only when new value matches on length
        if (!lexer.matchDeclaration(this.declaration).isType(item.data, 'length')) {
            // otherwise rollback changes
            item.data = node;
        }
    }
};


/***/ }),

/***/ 96407:
/***/ ((module) => {

module.exports = function(node) {
    var value = node.value;

    // remove escaped newlines, i.e.
    // .a { content: "foo\
    // bar"}
    // ->
    // .a { content: "foobar" }
    value = value.replace(/\\(\r\n|\r|\n|\f)/g, '');

    node.value = value;
};


/***/ }),

/***/ 59176:
/***/ ((module) => {

var UNICODE = '\\\\[0-9a-f]{1,6}(\\r\\n|[ \\n\\r\\t\\f])?';
var ESCAPE = '(' + UNICODE + '|\\\\[^\\n\\r\\f0-9a-fA-F])';
var NONPRINTABLE = '\u0000\u0008\u000b\u000e-\u001f\u007f';
var SAFE_URL = new RegExp('^(' + ESCAPE + '|[^\"\'\\(\\)\\\\\\s' + NONPRINTABLE + '])*$', 'i');

module.exports = function(node) {
    var value = node.value;

    if (value.type !== 'String') {
        return;
    }

    var quote = value.value[0];
    var url = value.value.substr(1, value.value.length - 2);

    // convert `\\` to `/`
    url = url.replace(/\\\\/g, '/');

    // remove quotes when safe
    // https://www.w3.org/TR/css-syntax-3/#url-unquoted-diagram
    if (SAFE_URL.test(url)) {
        node.value = {
            type: 'Raw',
            loc: node.value.loc,
            value: url
        };
    } else {
        // use double quotes if string has no double quotes
        // otherwise use original quotes
        // TODO: make better quote type selection
        node.value.value = url.indexOf('"') === -1 ? '"' + url + '"' : quote + url + quote;
    }
};


/***/ }),

/***/ 66786:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var resolveName = __nccwpck_require__(65035).property;
var handlers = {
    'font': __nccwpck_require__(99479),
    'font-weight': __nccwpck_require__(79997),
    'background': __nccwpck_require__(92239),
    'border': __nccwpck_require__(96346),
    'outline': __nccwpck_require__(96346)
};

module.exports = function compressValue(node) {
    if (!this.declaration) {
        return;
    }

    var property = resolveName(this.declaration.property);

    if (handlers.hasOwnProperty(property.basename)) {
        handlers[property.basename](node);
    }
};


/***/ }),

/***/ 15539:
/***/ ((module) => {

module.exports = function(node) {
    node.block.children.each(function(rule) {
        rule.prelude.children.each(function(simpleselector) {
            simpleselector.children.each(function(data, item) {
                if (data.type === 'Percentage' && data.value === '100') {
                    item.data = {
                        type: 'TypeSelector',
                        loc: data.loc,
                        name: 'to'
                    };
                } else if (data.type === 'TypeSelector' && data.name === 'from') {
                    item.data = {
                        type: 'Percentage',
                        loc: data.loc,
                        value: '0'
                    };
                }
            });
        });
    });
};


/***/ }),

/***/ 16625:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var lexer = __nccwpck_require__(65035).lexer;
var packNumber = __nccwpck_require__(42334).pack;

// http://www.w3.org/TR/css3-color/#svg-color
var NAME_TO_HEX = {
    'aliceblue': 'f0f8ff',
    'antiquewhite': 'faebd7',
    'aqua': '0ff',
    'aquamarine': '7fffd4',
    'azure': 'f0ffff',
    'beige': 'f5f5dc',
    'bisque': 'ffe4c4',
    'black': '000',
    'blanchedalmond': 'ffebcd',
    'blue': '00f',
    'blueviolet': '8a2be2',
    'brown': 'a52a2a',
    'burlywood': 'deb887',
    'cadetblue': '5f9ea0',
    'chartreuse': '7fff00',
    'chocolate': 'd2691e',
    'coral': 'ff7f50',
    'cornflowerblue': '6495ed',
    'cornsilk': 'fff8dc',
    'crimson': 'dc143c',
    'cyan': '0ff',
    'darkblue': '00008b',
    'darkcyan': '008b8b',
    'darkgoldenrod': 'b8860b',
    'darkgray': 'a9a9a9',
    'darkgrey': 'a9a9a9',
    'darkgreen': '006400',
    'darkkhaki': 'bdb76b',
    'darkmagenta': '8b008b',
    'darkolivegreen': '556b2f',
    'darkorange': 'ff8c00',
    'darkorchid': '9932cc',
    'darkred': '8b0000',
    'darksalmon': 'e9967a',
    'darkseagreen': '8fbc8f',
    'darkslateblue': '483d8b',
    'darkslategray': '2f4f4f',
    'darkslategrey': '2f4f4f',
    'darkturquoise': '00ced1',
    'darkviolet': '9400d3',
    'deeppink': 'ff1493',
    'deepskyblue': '00bfff',
    'dimgray': '696969',
    'dimgrey': '696969',
    'dodgerblue': '1e90ff',
    'firebrick': 'b22222',
    'floralwhite': 'fffaf0',
    'forestgreen': '228b22',
    'fuchsia': 'f0f',
    'gainsboro': 'dcdcdc',
    'ghostwhite': 'f8f8ff',
    'gold': 'ffd700',
    'goldenrod': 'daa520',
    'gray': '808080',
    'grey': '808080',
    'green': '008000',
    'greenyellow': 'adff2f',
    'honeydew': 'f0fff0',
    'hotpink': 'ff69b4',
    'indianred': 'cd5c5c',
    'indigo': '4b0082',
    'ivory': 'fffff0',
    'khaki': 'f0e68c',
    'lavender': 'e6e6fa',
    'lavenderblush': 'fff0f5',
    'lawngreen': '7cfc00',
    'lemonchiffon': 'fffacd',
    'lightblue': 'add8e6',
    'lightcoral': 'f08080',
    'lightcyan': 'e0ffff',
    'lightgoldenrodyellow': 'fafad2',
    'lightgray': 'd3d3d3',
    'lightgrey': 'd3d3d3',
    'lightgreen': '90ee90',
    'lightpink': 'ffb6c1',
    'lightsalmon': 'ffa07a',
    'lightseagreen': '20b2aa',
    'lightskyblue': '87cefa',
    'lightslategray': '789',
    'lightslategrey': '789',
    'lightsteelblue': 'b0c4de',
    'lightyellow': 'ffffe0',
    'lime': '0f0',
    'limegreen': '32cd32',
    'linen': 'faf0e6',
    'magenta': 'f0f',
    'maroon': '800000',
    'mediumaquamarine': '66cdaa',
    'mediumblue': '0000cd',
    'mediumorchid': 'ba55d3',
    'mediumpurple': '9370db',
    'mediumseagreen': '3cb371',
    'mediumslateblue': '7b68ee',
    'mediumspringgreen': '00fa9a',
    'mediumturquoise': '48d1cc',
    'mediumvioletred': 'c71585',
    'midnightblue': '191970',
    'mintcream': 'f5fffa',
    'mistyrose': 'ffe4e1',
    'moccasin': 'ffe4b5',
    'navajowhite': 'ffdead',
    'navy': '000080',
    'oldlace': 'fdf5e6',
    'olive': '808000',
    'olivedrab': '6b8e23',
    'orange': 'ffa500',
    'orangered': 'ff4500',
    'orchid': 'da70d6',
    'palegoldenrod': 'eee8aa',
    'palegreen': '98fb98',
    'paleturquoise': 'afeeee',
    'palevioletred': 'db7093',
    'papayawhip': 'ffefd5',
    'peachpuff': 'ffdab9',
    'peru': 'cd853f',
    'pink': 'ffc0cb',
    'plum': 'dda0dd',
    'powderblue': 'b0e0e6',
    'purple': '800080',
    'rebeccapurple': '639',
    'red': 'f00',
    'rosybrown': 'bc8f8f',
    'royalblue': '4169e1',
    'saddlebrown': '8b4513',
    'salmon': 'fa8072',
    'sandybrown': 'f4a460',
    'seagreen': '2e8b57',
    'seashell': 'fff5ee',
    'sienna': 'a0522d',
    'silver': 'c0c0c0',
    'skyblue': '87ceeb',
    'slateblue': '6a5acd',
    'slategray': '708090',
    'slategrey': '708090',
    'snow': 'fffafa',
    'springgreen': '00ff7f',
    'steelblue': '4682b4',
    'tan': 'd2b48c',
    'teal': '008080',
    'thistle': 'd8bfd8',
    'tomato': 'ff6347',
    'turquoise': '40e0d0',
    'violet': 'ee82ee',
    'wheat': 'f5deb3',
    'white': 'fff',
    'whitesmoke': 'f5f5f5',
    'yellow': 'ff0',
    'yellowgreen': '9acd32'
};

var HEX_TO_NAME = {
    '800000': 'maroon',
    '800080': 'purple',
    '808000': 'olive',
    '808080': 'gray',
    '00ffff': 'cyan',
    'f0ffff': 'azure',
    'f5f5dc': 'beige',
    'ffe4c4': 'bisque',
    '000000': 'black',
    '0000ff': 'blue',
    'a52a2a': 'brown',
    'ff7f50': 'coral',
    'ffd700': 'gold',
    '008000': 'green',
    '4b0082': 'indigo',
    'fffff0': 'ivory',
    'f0e68c': 'khaki',
    '00ff00': 'lime',
    'faf0e6': 'linen',
    '000080': 'navy',
    'ffa500': 'orange',
    'da70d6': 'orchid',
    'cd853f': 'peru',
    'ffc0cb': 'pink',
    'dda0dd': 'plum',
    'f00': 'red',
    'ff0000': 'red',
    'fa8072': 'salmon',
    'a0522d': 'sienna',
    'c0c0c0': 'silver',
    'fffafa': 'snow',
    'd2b48c': 'tan',
    '008080': 'teal',
    'ff6347': 'tomato',
    'ee82ee': 'violet',
    'f5deb3': 'wheat',
    'ffffff': 'white',
    'ffff00': 'yellow'
};

function hueToRgb(p, q, t) {
    if (t < 0) {
        t += 1;
    }
    if (t > 1) {
        t -= 1;
    }
    if (t < 1 / 6) {
        return p + (q - p) * 6 * t;
    }
    if (t < 1 / 2) {
        return q;
    }
    if (t < 2 / 3) {
        return p + (q - p) * (2 / 3 - t) * 6;
    }
    return p;
}

function hslToRgb(h, s, l, a) {
    var r;
    var g;
    var b;

    if (s === 0) {
        r = g = b = l; // achromatic
    } else {
        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
        var p = 2 * l - q;

        r = hueToRgb(p, q, h + 1 / 3);
        g = hueToRgb(p, q, h);
        b = hueToRgb(p, q, h - 1 / 3);
    }

    return [
        Math.round(r * 255),
        Math.round(g * 255),
        Math.round(b * 255),
        a
    ];
}

function toHex(value) {
    value = value.toString(16);
    return value.length === 1 ? '0' + value : value;
}

function parseFunctionArgs(functionArgs, count, rgb) {
    var cursor = functionArgs.head;
    var args = [];
    var wasValue = false;

    while (cursor !== null) {
        var node = cursor.data;
        var type = node.type;

        switch (type) {
            case 'Number':
            case 'Percentage':
                if (wasValue) {
                    return;
                }

                wasValue = true;
                args.push({
                    type: type,
                    value: Number(node.value)
                });
                break;

            case 'Operator':
                if (node.value === ',') {
                    if (!wasValue) {
                        return;
                    }
                    wasValue = false;
                } else if (wasValue || node.value !== '+') {
                    return;
                }
                break;

            default:
                // something we couldn't understand
                return;
        }

        cursor = cursor.next;
    }

    if (args.length !== count) {
        // invalid arguments count
        // TODO: remove those tokens
        return;
    }

    if (args.length === 4) {
        if (args[3].type !== 'Number') {
            // 4th argument should be a number
            // TODO: remove those tokens
            return;
        }

        args[3].type = 'Alpha';
    }

    if (rgb) {
        if (args[0].type !== args[1].type || args[0].type !== args[2].type) {
            // invalid color, numbers and percentage shouldn't be mixed
            // TODO: remove those tokens
            return;
        }
    } else {
        if (args[0].type !== 'Number' ||
            args[1].type !== 'Percentage' ||
            args[2].type !== 'Percentage') {
            // invalid color, for hsl values should be: number, percentage, percentage
            // TODO: remove those tokens
            return;
        }

        args[0].type = 'Angle';
    }

    return args.map(function(arg) {
        var value = Math.max(0, arg.value);

        switch (arg.type) {
            case 'Number':
                // fit value to [0..255] range
                value = Math.min(value, 255);
                break;

            case 'Percentage':
                // convert 0..100% to value in [0..255] range
                value = Math.min(value, 100) / 100;

                if (!rgb) {
                    return value;
                }

                value = 255 * value;
                break;

            case 'Angle':
                // fit value to (-360..360) range
                return (((value % 360) + 360) % 360) / 360;

            case 'Alpha':
                // fit value to [0..1] range
                return Math.min(value, 1);
        }

        return Math.round(value);
    });
}

function compressFunction(node, item, list) {
    var functionName = node.name;
    var args;

    if (functionName === 'rgba' || functionName === 'hsla') {
        args = parseFunctionArgs(node.children, 4, functionName === 'rgba');

        if (!args) {
            // something went wrong
            return;
        }

        if (functionName === 'hsla') {
            args = hslToRgb.apply(null, args);
            node.name = 'rgba';
        }

        if (args[3] === 0) {
            // try to replace `rgba(x, x, x, 0)` to `transparent`
            // always replace `rgba(0, 0, 0, 0)` to `transparent`
            // otherwise avoid replacement in gradients since it may break color transition
            // http://stackoverflow.com/questions/11829410/css3-gradient-rendering-issues-from-transparent-to-white
            var scopeFunctionName = this.function && this.function.name;
            if ((args[0] === 0 && args[1] === 0 && args[2] === 0) ||
                !/^(?:to|from|color-stop)$|gradient$/i.test(scopeFunctionName)) {

                item.data = {
                    type: 'Identifier',
                    loc: node.loc,
                    name: 'transparent'
                };

                return;
            }
        }

        if (args[3] !== 1) {
            // replace argument values for normalized/interpolated
            node.children.each(function(node, item, list) {
                if (node.type === 'Operator') {
                    if (node.value !== ',') {
                        list.remove(item);
                    }
                    return;
                }

                item.data = {
                    type: 'Number',
                    loc: node.loc,
                    value: packNumber(args.shift(), null)
                };
            });

            return;
        }

        // otherwise convert to rgb, i.e. rgba(255, 0, 0, 1) -> rgb(255, 0, 0)
        functionName = 'rgb';
    }

    if (functionName === 'hsl') {
        args = args || parseFunctionArgs(node.children, 3, false);

        if (!args) {
            // something went wrong
            return;
        }

        // convert to rgb
        args = hslToRgb.apply(null, args);
        functionName = 'rgb';
    }

    if (functionName === 'rgb') {
        args = args || parseFunctionArgs(node.children, 3, true);

        if (!args) {
            // something went wrong
            return;
        }

        // check if color is not at the end and not followed by space
        var next = item.next;
        if (next && next.data.type !== 'WhiteSpace') {
            list.insert(list.createItem({
                type: 'WhiteSpace',
                value: ' '
            }), next);
        }

        item.data = {
            type: 'Hash',
            loc: node.loc,
            value: toHex(args[0]) + toHex(args[1]) + toHex(args[2])
        };

        compressHex(item.data, item);
    }
}

function compressIdent(node, item) {
    if (this.declaration === null) {
        return;
    }

    var color = node.name.toLowerCase();

    if (NAME_TO_HEX.hasOwnProperty(color) &&
        lexer.matchDeclaration(this.declaration).isType(node, 'color')) {
        var hex = NAME_TO_HEX[color];

        if (hex.length + 1 <= color.length) {
            // replace for shorter hex value
            item.data = {
                type: 'Hash',
                loc: node.loc,
                value: hex
            };
        } else {
            // special case for consistent colors
            if (color === 'grey') {
                color = 'gray';
            }

            // just replace value for lower cased name
            node.name = color;
        }
    }
}

function compressHex(node, item) {
    var color = node.value.toLowerCase();

    // #112233 -> #123
    if (color.length === 6 &&
        color[0] === color[1] &&
        color[2] === color[3] &&
        color[4] === color[5]) {
        color = color[0] + color[2] + color[4];
    }

    if (HEX_TO_NAME[color]) {
        item.data = {
            type: 'Identifier',
            loc: node.loc,
            name: HEX_TO_NAME[color]
        };
    } else {
        node.value = color;
    }
}

module.exports = {
    compressFunction: compressFunction,
    compressIdent: compressIdent,
    compressHex: compressHex
};


/***/ }),

/***/ 57602:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var walk = __nccwpck_require__(65035).walk;
var handlers = {
    Atrule: __nccwpck_require__(17460),
    AttributeSelector: __nccwpck_require__(95389),
    Value: __nccwpck_require__(66786),
    Dimension: __nccwpck_require__(4770),
    Percentage: __nccwpck_require__(96215),
    Number: __nccwpck_require__(42334),
    String: __nccwpck_require__(96407),
    Url: __nccwpck_require__(59176),
    Hash: __nccwpck_require__(16625).compressHex,
    Identifier: __nccwpck_require__(16625).compressIdent,
    Function: __nccwpck_require__(16625).compressFunction
};

module.exports = function(ast) {
    walk(ast, {
        leave: function(node, item, list) {
            if (handlers.hasOwnProperty(node.type)) {
                handlers[node.type].call(this, node, item, list);
            }
        }
    });
};


/***/ }),

/***/ 92239:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(65035).List;

module.exports = function compressBackground(node) {
    function lastType() {
        if (buffer.length) {
            return buffer[buffer.length - 1].type;
        }
    }

    function flush() {
        if (lastType() === 'WhiteSpace') {
            buffer.pop();
        }

        if (!buffer.length) {
            buffer.unshift(
                {
                    type: 'Number',
                    loc: null,
                    value: '0'
                },
                {
                    type: 'WhiteSpace',
                    value: ' '
                },
                {
                    type: 'Number',
                    loc: null,
                    value: '0'
                }
            );
        }

        newValue.push.apply(newValue, buffer);

        buffer = [];
    }

    var newValue = [];
    var buffer = [];

    node.children.each(function(node) {
        if (node.type === 'Operator' && node.value === ',') {
            flush();
            newValue.push(node);
            return;
        }

        // remove defaults
        if (node.type === 'Identifier') {
            if (node.name === 'transparent' ||
                node.name === 'none' ||
                node.name === 'repeat' ||
                node.name === 'scroll') {
                return;
            }
        }

        // don't add redundant spaces
        if (node.type === 'WhiteSpace' && (!buffer.length || lastType() === 'WhiteSpace')) {
            return;
        }

        buffer.push(node);
    });

    flush();
    node.children = new List().fromArray(newValue);
};


/***/ }),

/***/ 96346:
/***/ ((module) => {

function removeItemAndRedundantWhiteSpace(list, item) {
    var prev = item.prev;
    var next = item.next;

    if (next !== null) {
        if (next.data.type === 'WhiteSpace' && (prev === null || prev.data.type === 'WhiteSpace')) {
            list.remove(next);
        }
    } else if (prev !== null && prev.data.type === 'WhiteSpace') {
        list.remove(prev);
    }

    list.remove(item);
}

module.exports = function compressBorder(node) {
    node.children.each(function(node, item, list) {
        if (node.type === 'Identifier' && node.name.toLowerCase() === 'none') {
            if (list.head === list.tail) {
                // replace `none` for zero when `none` is a single term
                item.data = {
                    type: 'Number',
                    loc: node.loc,
                    value: '0'
                };
            } else {
                removeItemAndRedundantWhiteSpace(list, item);
            }
        }
    });
};


/***/ }),

/***/ 79997:
/***/ ((module) => {

module.exports = function compressFontWeight(node) {
    var value = node.children.head.data;

    if (value.type === 'Identifier') {
        switch (value.name) {
            case 'normal':
                node.children.head.data = {
                    type: 'Number',
                    loc: value.loc,
                    value: '400'
                };
                break;
            case 'bold':
                node.children.head.data = {
                    type: 'Number',
                    loc: value.loc,
                    value: '700'
                };
                break;
        }
    }
};


/***/ }),

/***/ 99479:
/***/ ((module) => {

module.exports = function compressFont(node) {
    var list = node.children;

    list.eachRight(function(node, item) {
        if (node.type === 'Identifier') {
            if (node.name === 'bold') {
                item.data = {
                    type: 'Number',
                    loc: node.loc,
                    value: '700'
                };
            } else if (node.name === 'normal') {
                var prev = item.prev;

                if (prev && prev.data.type === 'Operator' && prev.data.value === '/') {
                    this.remove(prev);
                }

                this.remove(item);
            } else if (node.name === 'medium') {
                var next = item.next;

                if (!next || next.data.type !== 'Operator') {
                    this.remove(item);
                }
            }
        }
    });

    // remove redundant spaces
    list.each(function(node, item) {
        if (node.type === 'WhiteSpace') {
            if (!item.prev || !item.next || item.next.data.type === 'WhiteSpace') {
                this.remove(item);
            }
        }
    });

    if (list.isEmpty()) {
        list.insert(list.createItem({
            type: 'Identifier',
            name: 'normal'
        }));
    }
};


/***/ }),

/***/ 76456:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(65035).List;
var resolveKeyword = __nccwpck_require__(65035).keyword;
var hasOwnProperty = Object.prototype.hasOwnProperty;
var walk = __nccwpck_require__(65035).walk;

function addRuleToMap(map, item, list, single) {
    var node = item.data;
    var name = resolveKeyword(node.name).basename;
    var id = node.name.toLowerCase() + '/' + (node.prelude ? node.prelude.id : null);

    if (!hasOwnProperty.call(map, name)) {
        map[name] = Object.create(null);
    }

    if (single) {
        delete map[name][id];
    }

    if (!hasOwnProperty.call(map[name], id)) {
        map[name][id] = new List();
    }

    map[name][id].append(list.remove(item));
}

function relocateAtrules(ast, options) {
    var collected = Object.create(null);
    var topInjectPoint = null;

    ast.children.each(function(node, item, list) {
        if (node.type === 'Atrule') {
            var name = resolveKeyword(node.name).basename;

            switch (name) {
                case 'keyframes':
                    addRuleToMap(collected, item, list, true);
                    return;

                case 'media':
                    if (options.forceMediaMerge) {
                        addRuleToMap(collected, item, list, false);
                        return;
                    }
                    break;
            }

            if (topInjectPoint === null &&
                name !== 'charset' &&
                name !== 'import') {
                topInjectPoint = item;
            }
        } else {
            if (topInjectPoint === null) {
                topInjectPoint = item;
            }
        }
    });

    for (var atrule in collected) {
        for (var id in collected[atrule]) {
            ast.children.insertList(
                collected[atrule][id],
                atrule === 'media' ? null : topInjectPoint
            );
        }
    }
};

function isMediaRule(node) {
    return node.type === 'Atrule' && node.name === 'media';
}

function processAtrule(node, item, list) {
    if (!isMediaRule(node)) {
        return;
    }

    var prev = item.prev && item.prev.data;

    if (!prev || !isMediaRule(prev)) {
        return;
    }

    // merge @media with same query
    if (node.prelude &&
        prev.prelude &&
        node.prelude.id === prev.prelude.id) {
        prev.block.children.appendList(node.block.children);
        list.remove(item);

        // TODO: use it when we can refer to several points in source
        // prev.loc = {
        //     primary: prev.loc,
        //     merged: node.loc
        // };
    }
}

module.exports = function rejoinAtrule(ast, options) {
    relocateAtrules(ast, options);

    walk(ast, {
        visit: 'Atrule',
        reverse: true,
        enter: processAtrule
    });
};


/***/ }),

/***/ 34847:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var walk = __nccwpck_require__(65035).walk;
var utils = __nccwpck_require__(28011);

function processRule(node, item, list) {
    var selectors = node.prelude.children;
    var declarations = node.block.children;

    list.prevUntil(item.prev, function(prev) {
        // skip non-ruleset node if safe
        if (prev.type !== 'Rule') {
            return utils.unsafeToSkipNode.call(selectors, prev);
        }

        var prevSelectors = prev.prelude.children;
        var prevDeclarations = prev.block.children;

        // try to join rulesets with equal pseudo signature
        if (node.pseudoSignature === prev.pseudoSignature) {
            // try to join by selectors
            if (utils.isEqualSelectors(prevSelectors, selectors)) {
                prevDeclarations.appendList(declarations);
                list.remove(item);
                return true;
            }

            // try to join by declarations
            if (utils.isEqualDeclarations(declarations, prevDeclarations)) {
                utils.addSelectors(prevSelectors, selectors);
                list.remove(item);
                return true;
            }
        }

        // go to prev ruleset if has no selector similarities
        return utils.hasSimilarSelectors(selectors, prevSelectors);
    });
}

// NOTE: direction should be left to right, since rulesets merge to left
// ruleset. When direction right to left unmerged rulesets may prevent lookup
// TODO: remove initial merge
module.exports = function initialMergeRule(ast) {
    walk(ast, {
        visit: 'Rule',
        enter: processRule
    });
};


/***/ }),

/***/ 46624:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(65035).List;
var walk = __nccwpck_require__(65035).walk;

function processRule(node, item, list) {
    var selectors = node.prelude.children;

    // generate new rule sets:
    // .a, .b { color: red; }
    // ->
    // .a { color: red; }
    // .b { color: red; }

    // while there are more than 1 simple selector split for rulesets
    while (selectors.head !== selectors.tail) {
        var newSelectors = new List();
        newSelectors.insert(selectors.remove(selectors.head));

        list.insert(list.createItem({
            type: 'Rule',
            loc: node.loc,
            prelude: {
                type: 'SelectorList',
                loc: node.prelude.loc,
                children: newSelectors
            },
            block: {
                type: 'Block',
                loc: node.block.loc,
                children: node.block.children.copy()
            },
            pseudoSignature: node.pseudoSignature
        }), item);
    }
}

module.exports = function disjoinRule(ast) {
    walk(ast, {
        visit: 'Rule',
        reverse: true,
        enter: processRule
    });
};


/***/ }),

/***/ 8563:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(65035).List;
var generate = __nccwpck_require__(65035).generate;
var walk = __nccwpck_require__(65035).walk;

var REPLACE = 1;
var REMOVE = 2;
var TOP = 0;
var RIGHT = 1;
var BOTTOM = 2;
var LEFT = 3;
var SIDES = ['top', 'right', 'bottom', 'left'];
var SIDE = {
    'margin-top': 'top',
    'margin-right': 'right',
    'margin-bottom': 'bottom',
    'margin-left': 'left',

    'padding-top': 'top',
    'padding-right': 'right',
    'padding-bottom': 'bottom',
    'padding-left': 'left',

    'border-top-color': 'top',
    'border-right-color': 'right',
    'border-bottom-color': 'bottom',
    'border-left-color': 'left',
    'border-top-width': 'top',
    'border-right-width': 'right',
    'border-bottom-width': 'bottom',
    'border-left-width': 'left',
    'border-top-style': 'top',
    'border-right-style': 'right',
    'border-bottom-style': 'bottom',
    'border-left-style': 'left'
};
var MAIN_PROPERTY = {
    'margin': 'margin',
    'margin-top': 'margin',
    'margin-right': 'margin',
    'margin-bottom': 'margin',
    'margin-left': 'margin',

    'padding': 'padding',
    'padding-top': 'padding',
    'padding-right': 'padding',
    'padding-bottom': 'padding',
    'padding-left': 'padding',

    'border-color': 'border-color',
    'border-top-color': 'border-color',
    'border-right-color': 'border-color',
    'border-bottom-color': 'border-color',
    'border-left-color': 'border-color',
    'border-width': 'border-width',
    'border-top-width': 'border-width',
    'border-right-width': 'border-width',
    'border-bottom-width': 'border-width',
    'border-left-width': 'border-width',
    'border-style': 'border-style',
    'border-top-style': 'border-style',
    'border-right-style': 'border-style',
    'border-bottom-style': 'border-style',
    'border-left-style': 'border-style'
};

function TRBL(name) {
    this.name = name;
    this.loc = null;
    this.iehack = undefined;
    this.sides = {
        'top': null,
        'right': null,
        'bottom': null,
        'left': null
    };
}

TRBL.prototype.getValueSequence = function(declaration, count) {
    var values = [];
    var iehack = '';
    var hasBadValues = declaration.value.type !== 'Value' || declaration.value.children.some(function(child) {
        var special = false;

        switch (child.type) {
            case 'Identifier':
                switch (child.name) {
                    case '\\0':
                    case '\\9':
                        iehack = child.name;
                        return;

                    case 'inherit':
                    case 'initial':
                    case 'unset':
                    case 'revert':
                        special = child.name;
                        break;
                }
                break;

            case 'Dimension':
                switch (child.unit) {
                    // is not supported until IE11
                    case 'rem':

                    // v* units is too buggy across browsers and better
                    // don't merge values with those units
                    case 'vw':
                    case 'vh':
                    case 'vmin':
                    case 'vmax':
                    case 'vm': // IE9 supporting "vm" instead of "vmin".
                        special = child.unit;
                        break;
                }
                break;

            case 'Hash': // color
            case 'Number':
            case 'Percentage':
                break;

            case 'Function':
                if (child.name === 'var') {
                    return true;
                }

                special = child.name;
                break;

            case 'WhiteSpace':
                return false; // ignore space

            default:
                return true;  // bad value
        }

        values.push({
            node: child,
            special: special,
            important: declaration.important
        });
    });

    if (hasBadValues || values.length > count) {
        return false;
    }

    if (typeof this.iehack === 'string' && this.iehack !== iehack) {
        return false;
    }

    this.iehack = iehack; // move outside

    return values;
};

TRBL.prototype.canOverride = function(side, value) {
    var currentValue = this.sides[side];

    return !currentValue || (value.important && !currentValue.important);
};

TRBL.prototype.add = function(name, declaration) {
    function attemptToAdd() {
        var sides = this.sides;
        var side = SIDE[name];

        if (side) {
            if (side in sides === false) {
                return false;
            }

            var values = this.getValueSequence(declaration, 1);

            if (!values || !values.length) {
                return false;
            }

            // can mix only if specials are equal
            for (var key in sides) {
                if (sides[key] !== null && sides[key].special !== values[0].special) {
                    return false;
                }
            }

            if (!this.canOverride(side, values[0])) {
                return true;
            }

            sides[side] = values[0];
            return true;
        } else if (name === this.name) {
            var values = this.getValueSequence(declaration, 4);

            if (!values || !values.length) {
                return false;
            }

            switch (values.length) {
                case 1:
                    values[RIGHT] = values[TOP];
                    values[BOTTOM] = values[TOP];
                    values[LEFT] = values[TOP];
                    break;

                case 2:
                    values[BOTTOM] = values[TOP];
                    values[LEFT] = values[RIGHT];
                    break;

                case 3:
                    values[LEFT] = values[RIGHT];
                    break;
            }

            // can mix only if specials are equal
            for (var i = 0; i < 4; i++) {
                for (var key in sides) {
                    if (sides[key] !== null && sides[key].special !== values[i].special) {
                        return false;
                    }
                }
            }

            for (var i = 0; i < 4; i++) {
                if (this.canOverride(SIDES[i], values[i])) {
                    sides[SIDES[i]] = values[i];
                }
            }

            return true;
        }
    }

    if (!attemptToAdd.call(this)) {
        return false;
    }

    // TODO: use it when we can refer to several points in source
    // if (this.loc) {
    //     this.loc = {
    //         primary: this.loc,
    //         merged: declaration.loc
    //     };
    // } else {
    //     this.loc = declaration.loc;
    // }
    if (!this.loc) {
        this.loc = declaration.loc;
    }

    return true;
};

TRBL.prototype.isOkToMinimize = function() {
    var top = this.sides.top;
    var right = this.sides.right;
    var bottom = this.sides.bottom;
    var left = this.sides.left;

    if (top && right && bottom && left) {
        var important =
            top.important +
            right.important +
            bottom.important +
            left.important;

        return important === 0 || important === 4;
    }

    return false;
};

TRBL.prototype.getValue = function() {
    var result = new List();
    var sides = this.sides;
    var values = [
        sides.top,
        sides.right,
        sides.bottom,
        sides.left
    ];
    var stringValues = [
        generate(sides.top.node),
        generate(sides.right.node),
        generate(sides.bottom.node),
        generate(sides.left.node)
    ];

    if (stringValues[LEFT] === stringValues[RIGHT]) {
        values.pop();
        if (stringValues[BOTTOM] === stringValues[TOP]) {
            values.pop();
            if (stringValues[RIGHT] === stringValues[TOP]) {
                values.pop();
            }
        }
    }

    for (var i = 0; i < values.length; i++) {
        if (i) {
            result.appendData({ type: 'WhiteSpace', value: ' ' });
        }

        result.appendData(values[i].node);
    }

    if (this.iehack) {
        result.appendData({ type: 'WhiteSpace', value: ' ' });
        result.appendData({
            type: 'Identifier',
            loc: null,
            name: this.iehack
        });
    }

    return {
        type: 'Value',
        loc: null,
        children: result
    };
};

TRBL.prototype.getDeclaration = function() {
    return {
        type: 'Declaration',
        loc: this.loc,
        important: this.sides.top.important,
        property: this.name,
        value: this.getValue()
    };
};

function processRule(rule, shorts, shortDeclarations, lastShortSelector) {
    var declarations = rule.block.children;
    var selector = rule.prelude.children.first().id;

    rule.block.children.eachRight(function(declaration, item) {
        var property = declaration.property;

        if (!MAIN_PROPERTY.hasOwnProperty(property)) {
            return;
        }

        var key = MAIN_PROPERTY[property];
        var shorthand;
        var operation;

        if (!lastShortSelector || selector === lastShortSelector) {
            if (key in shorts) {
                operation = REMOVE;
                shorthand = shorts[key];
            }
        }

        if (!shorthand || !shorthand.add(property, declaration)) {
            operation = REPLACE;
            shorthand = new TRBL(key);

            // if can't parse value ignore it and break shorthand children
            if (!shorthand.add(property, declaration)) {
                lastShortSelector = null;
                return;
            }
        }

        shorts[key] = shorthand;
        shortDeclarations.push({
            operation: operation,
            block: declarations,
            item: item,
            shorthand: shorthand
        });

        lastShortSelector = selector;
    });

    return lastShortSelector;
}

function processShorthands(shortDeclarations, markDeclaration) {
    shortDeclarations.forEach(function(item) {
        var shorthand = item.shorthand;

        if (!shorthand.isOkToMinimize()) {
            return;
        }

        if (item.operation === REPLACE) {
            item.item.data = markDeclaration(shorthand.getDeclaration());
        } else {
            item.block.remove(item.item);
        }
    });
}

module.exports = function restructBlock(ast, indexer) {
    var stylesheetMap = {};
    var shortDeclarations = [];

    walk(ast, {
        visit: 'Rule',
        reverse: true,
        enter: function(node) {
            var stylesheet = this.block || this.stylesheet;
            var ruleId = (node.pseudoSignature || '') + '|' + node.prelude.children.first().id;
            var ruleMap;
            var shorts;

            if (!stylesheetMap.hasOwnProperty(stylesheet.id)) {
                ruleMap = {
                    lastShortSelector: null
                };
                stylesheetMap[stylesheet.id] = ruleMap;
            } else {
                ruleMap = stylesheetMap[stylesheet.id];
            }

            if (ruleMap.hasOwnProperty(ruleId)) {
                shorts = ruleMap[ruleId];
            } else {
                shorts = {};
                ruleMap[ruleId] = shorts;
            }

            ruleMap.lastShortSelector = processRule.call(this, node, shorts, shortDeclarations, ruleMap.lastShortSelector);
        }
    });

    processShorthands(shortDeclarations, indexer.declaration);
};


/***/ }),

/***/ 82286:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var resolveProperty = __nccwpck_require__(65035).property;
var resolveKeyword = __nccwpck_require__(65035).keyword;
var walk = __nccwpck_require__(65035).walk;
var generate = __nccwpck_require__(65035).generate;
var fingerprintId = 1;
var dontRestructure = {
    'src': 1 // https://github.com/afelix/csso/issues/50
};

var DONT_MIX_VALUE = {
    // https://developer.mozilla.org/en-US/docs/Web/CSS/display#Browser_compatibility
    'display': /table|ruby|flex|-(flex)?box$|grid|contents|run-in/i,
    // https://developer.mozilla.org/en/docs/Web/CSS/text-align
    'text-align': /^(start|end|match-parent|justify-all)$/i
};

var SAFE_VALUES = {
    cursor: [
        'auto', 'crosshair', 'default', 'move', 'text', 'wait', 'help',
        'n-resize', 'e-resize', 's-resize', 'w-resize',
        'ne-resize', 'nw-resize', 'se-resize', 'sw-resize',
        'pointer', 'progress', 'not-allowed', 'no-drop', 'vertical-text', 'all-scroll',
        'col-resize', 'row-resize'
    ],
    overflow: [
        'hidden', 'visible', 'scroll', 'auto'
    ],
    position: [
        'static', 'relative', 'absolute', 'fixed'
    ]
};

var NEEDLESS_TABLE = {
    'border-width': ['border'],
    'border-style': ['border'],
    'border-color': ['border'],
    'border-top': ['border'],
    'border-right': ['border'],
    'border-bottom': ['border'],
    'border-left': ['border'],
    'border-top-width': ['border-top', 'border-width', 'border'],
    'border-right-width': ['border-right', 'border-width', 'border'],
    'border-bottom-width': ['border-bottom', 'border-width', 'border'],
    'border-left-width': ['border-left', 'border-width', 'border'],
    'border-top-style': ['border-top', 'border-style', 'border'],
    'border-right-style': ['border-right', 'border-style', 'border'],
    'border-bottom-style': ['border-bottom', 'border-style', 'border'],
    'border-left-style': ['border-left', 'border-style', 'border'],
    'border-top-color': ['border-top', 'border-color', 'border'],
    'border-right-color': ['border-right', 'border-color', 'border'],
    'border-bottom-color': ['border-bottom', 'border-color', 'border'],
    'border-left-color': ['border-left', 'border-color', 'border'],
    'margin-top': ['margin'],
    'margin-right': ['margin'],
    'margin-bottom': ['margin'],
    'margin-left': ['margin'],
    'padding-top': ['padding'],
    'padding-right': ['padding'],
    'padding-bottom': ['padding'],
    'padding-left': ['padding'],
    'font-style': ['font'],
    'font-variant': ['font'],
    'font-weight': ['font'],
    'font-size': ['font'],
    'font-family': ['font'],
    'list-style-type': ['list-style'],
    'list-style-position': ['list-style'],
    'list-style-image': ['list-style']
};

function getPropertyFingerprint(propertyName, declaration, fingerprints) {
    var realName = resolveProperty(propertyName).basename;

    if (realName === 'background') {
        return propertyName + ':' + generate(declaration.value);
    }

    var declarationId = declaration.id;
    var fingerprint = fingerprints[declarationId];

    if (!fingerprint) {
        switch (declaration.value.type) {
            case 'Value':
                var vendorId = '';
                var iehack = '';
                var special = {};
                var raw = false;

                declaration.value.children.each(function walk(node) {
                    switch (node.type) {
                        case 'Value':
                        case 'Brackets':
                        case 'Parentheses':
                            node.children.each(walk);
                            break;

                        case 'Raw':
                            raw = true;
                            break;

                        case 'Identifier':
                            var name = node.name;

                            if (!vendorId) {
                                vendorId = resolveKeyword(name).vendor;
                            }

                            if (/\\[09]/.test(name)) {
                                iehack = RegExp.lastMatch;
                            }

                            if (SAFE_VALUES.hasOwnProperty(realName)) {
                                if (SAFE_VALUES[realName].indexOf(name) === -1) {
                                    special[name] = true;
                                }
                            } else if (DONT_MIX_VALUE.hasOwnProperty(realName)) {
                                if (DONT_MIX_VALUE[realName].test(name)) {
                                    special[name] = true;
                                }
                            }

                            break;

                        case 'Function':
                            var name = node.name;

                            if (!vendorId) {
                                vendorId = resolveKeyword(name).vendor;
                            }

                            if (name === 'rect') {
                                // there are 2 forms of rect:
                                //   rect(<top>, <right>, <bottom>, <left>) - standart
                                //   rect(<top> <right> <bottom> <left>) – backwards compatible syntax
                                // only the same form values can be merged
                                var hasComma = node.children.some(function(node) {
                                    return node.type === 'Operator' && node.value === ',';
                                });
                                if (!hasComma) {
                                    name = 'rect-backward';
                                }
                            }

                            special[name + '()'] = true;

                            // check nested tokens too
                            node.children.each(walk);

                            break;

                        case 'Dimension':
                            var unit = node.unit;

                            if (/\\[09]/.test(unit)) {
                                iehack = RegExp.lastMatch;
                            }

                            switch (unit) {
                                // is not supported until IE11
                                case 'rem':

                                // v* units is too buggy across browsers and better
                                // don't merge values with those units
                                case 'vw':
                                case 'vh':
                                case 'vmin':
                                case 'vmax':
                                case 'vm': // IE9 supporting "vm" instead of "vmin".
                                    special[unit] = true;
                                    break;
                            }
                            break;
                    }
                });

                fingerprint = raw
                    ? '!' + fingerprintId++
                    : '!' + Object.keys(special).sort() + '|' + iehack + vendorId;
                break;

            case 'Raw':
                fingerprint = '!' + declaration.value.value;
                break;

            default:
                fingerprint = generate(declaration.value);
        }

        fingerprints[declarationId] = fingerprint;
    }

    return propertyName + fingerprint;
}

function needless(props, declaration, fingerprints) {
    var property = resolveProperty(declaration.property);

    if (NEEDLESS_TABLE.hasOwnProperty(property.basename)) {
        var table = NEEDLESS_TABLE[property.basename];

        for (var i = 0; i < table.length; i++) {
            var ppre = getPropertyFingerprint(property.prefix + table[i], declaration, fingerprints);
            var prev = props.hasOwnProperty(ppre) ? props[ppre] : null;

            if (prev && (!declaration.important || prev.item.data.important)) {
                return prev;
            }
        }
    }
}

function processRule(rule, item, list, props, fingerprints) {
    var declarations = rule.block.children;

    declarations.eachRight(function(declaration, declarationItem) {
        var property = declaration.property;
        var fingerprint = getPropertyFingerprint(property, declaration, fingerprints);
        var prev = props[fingerprint];

        if (prev && !dontRestructure.hasOwnProperty(property)) {
            if (declaration.important && !prev.item.data.important) {
                props[fingerprint] = {
                    block: declarations,
                    item: declarationItem
                };

                prev.block.remove(prev.item);

                // TODO: use it when we can refer to several points in source
                // declaration.loc = {
                //     primary: declaration.loc,
                //     merged: prev.item.data.loc
                // };
            } else {
                declarations.remove(declarationItem);

                // TODO: use it when we can refer to several points in source
                // prev.item.data.loc = {
                //     primary: prev.item.data.loc,
                //     merged: declaration.loc
                // };
            }
        } else {
            var prev = needless(props, declaration, fingerprints);

            if (prev) {
                declarations.remove(declarationItem);

                // TODO: use it when we can refer to several points in source
                // prev.item.data.loc = {
                //     primary: prev.item.data.loc,
                //     merged: declaration.loc
                // };
            } else {
                declaration.fingerprint = fingerprint;

                props[fingerprint] = {
                    block: declarations,
                    item: declarationItem
                };
            }
        }
    });

    if (declarations.isEmpty()) {
        list.remove(item);
    }
}

module.exports = function restructBlock(ast) {
    var stylesheetMap = {};
    var fingerprints = Object.create(null);

    walk(ast, {
        visit: 'Rule',
        reverse: true,
        enter: function(node, item, list) {
            var stylesheet = this.block || this.stylesheet;
            var ruleId = (node.pseudoSignature || '') + '|' + node.prelude.children.first().id;
            var ruleMap;
            var props;

            if (!stylesheetMap.hasOwnProperty(stylesheet.id)) {
                ruleMap = {};
                stylesheetMap[stylesheet.id] = ruleMap;
            } else {
                ruleMap = stylesheetMap[stylesheet.id];
            }

            if (ruleMap.hasOwnProperty(ruleId)) {
                props = ruleMap[ruleId];
            } else {
                props = {};
                ruleMap[ruleId] = props;
            }

            processRule.call(this, node, item, list, props, fingerprints);
        }
    });
};


/***/ }),

/***/ 28136:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var walk = __nccwpck_require__(65035).walk;
var utils = __nccwpck_require__(28011);

/*
    At this step all rules has single simple selector. We try to join by equal
    declaration blocks to first rule, e.g.

    .a { color: red }
    b { ... }
    .b { color: red }
    ->
    .a, .b { color: red }
    b { ... }
*/

function processRule(node, item, list) {
    var selectors = node.prelude.children;
    var declarations = node.block.children;
    var nodeCompareMarker = selectors.first().compareMarker;
    var skippedCompareMarkers = {};

    list.nextUntil(item.next, function(next, nextItem) {
        // skip non-ruleset node if safe
        if (next.type !== 'Rule') {
            return utils.unsafeToSkipNode.call(selectors, next);
        }

        if (node.pseudoSignature !== next.pseudoSignature) {
            return true;
        }

        var nextFirstSelector = next.prelude.children.head;
        var nextDeclarations = next.block.children;
        var nextCompareMarker = nextFirstSelector.data.compareMarker;

        // if next ruleset has same marked as one of skipped then stop joining
        if (nextCompareMarker in skippedCompareMarkers) {
            return true;
        }

        // try to join by selectors
        if (selectors.head === selectors.tail) {
            if (selectors.first().id === nextFirstSelector.data.id) {
                declarations.appendList(nextDeclarations);
                list.remove(nextItem);
                return;
            }
        }

        // try to join by properties
        if (utils.isEqualDeclarations(declarations, nextDeclarations)) {
            var nextStr = nextFirstSelector.data.id;

            selectors.some(function(data, item) {
                var curStr = data.id;

                if (nextStr < curStr) {
                    selectors.insert(nextFirstSelector, item);
                    return true;
                }

                if (!item.next) {
                    selectors.insert(nextFirstSelector);
                    return true;
                }
            });

            list.remove(nextItem);
            return;
        }

        // go to next ruleset if current one can be skipped (has no equal specificity nor element selector)
        if (nextCompareMarker === nodeCompareMarker) {
            return true;
        }

        skippedCompareMarkers[nextCompareMarker] = true;
    });
}

module.exports = function mergeRule(ast) {
    walk(ast, {
        visit: 'Rule',
        enter: processRule
    });
};


/***/ }),

/***/ 27440:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var List = __nccwpck_require__(65035).List;
var walk = __nccwpck_require__(65035).walk;
var utils = __nccwpck_require__(28011);

function calcSelectorLength(list) {
    var length = 0;

    list.each(function(data) {
        length += data.id.length + 1;
    });

    return length - 1;
}

function calcDeclarationsLength(tokens) {
    var length = 0;

    for (var i = 0; i < tokens.length; i++) {
        length += tokens[i].length;
    }

    return (
        length +          // declarations
        tokens.length - 1 // delimeters
    );
}

function processRule(node, item, list) {
    var avoidRulesMerge = this.block !== null ? this.block.avoidRulesMerge : false;
    var selectors = node.prelude.children;
    var block = node.block;
    var disallowDownMarkers = Object.create(null);
    var allowMergeUp = true;
    var allowMergeDown = true;

    list.prevUntil(item.prev, function(prev, prevItem) {
        var prevBlock = prev.block;
        var prevType = prev.type;

        if (prevType !== 'Rule') {
            var unsafe = utils.unsafeToSkipNode.call(selectors, prev);

            if (!unsafe && prevType === 'Atrule' && prevBlock) {
                walk(prevBlock, {
                    visit: 'Rule',
                    enter: function(node) {
                        node.prelude.children.each(function(data) {
                            disallowDownMarkers[data.compareMarker] = true;
                        });
                    }
                });
            }

            return unsafe;
        }

        var prevSelectors = prev.prelude.children;

        if (node.pseudoSignature !== prev.pseudoSignature) {
            return true;
        }

        allowMergeDown = !prevSelectors.some(function(selector) {
            return selector.compareMarker in disallowDownMarkers;
        });

        // try prev ruleset if simpleselectors has no equal specifity and element selector
        if (!allowMergeDown && !allowMergeUp) {
            return true;
        }

        // try to join by selectors
        if (allowMergeUp && utils.isEqualSelectors(prevSelectors, selectors)) {
            prevBlock.children.appendList(block.children);
            list.remove(item);
            return true;
        }

        // try to join by properties
        var diff = utils.compareDeclarations(block.children, prevBlock.children);

        // console.log(diff.eq, diff.ne1, diff.ne2);

        if (diff.eq.length) {
            if (!diff.ne1.length && !diff.ne2.length) {
                // equal blocks
                if (allowMergeDown) {
                    utils.addSelectors(selectors, prevSelectors);
                    list.remove(prevItem);
                }

                return true;
            } else if (!avoidRulesMerge) { /* probably we don't need to prevent those merges for @keyframes
                                              TODO: need to be checked */

                if (diff.ne1.length && !diff.ne2.length) {
                    // prevBlock is subset block
                    var selectorLength = calcSelectorLength(selectors);
                    var blockLength = calcDeclarationsLength(diff.eq); // declarations length

                    if (allowMergeUp && selectorLength < blockLength) {
                        utils.addSelectors(prevSelectors, selectors);
                        block.children = new List().fromArray(diff.ne1);
                    }
                } else if (!diff.ne1.length && diff.ne2.length) {
                    // node is subset of prevBlock
                    var selectorLength = calcSelectorLength(prevSelectors);
                    var blockLength = calcDeclarationsLength(diff.eq); // declarations length

                    if (allowMergeDown && selectorLength < blockLength) {
                        utils.addSelectors(selectors, prevSelectors);
                        prevBlock.children = new List().fromArray(diff.ne2);
                    }
                } else {
                    // diff.ne1.length && diff.ne2.length
                    // extract equal block
                    var newSelector = {
                        type: 'SelectorList',
                        loc: null,
                        children: utils.addSelectors(prevSelectors.copy(), selectors)
                    };
                    var newBlockLength = calcSelectorLength(newSelector.children) + 2; // selectors length + curly braces length
                    var blockLength = calcDeclarationsLength(diff.eq); // declarations length

                    // create new ruleset if declarations length greater than
                    // ruleset description overhead
                    if (blockLength >= newBlockLength) {
                        var newItem = list.createItem({
                            type: 'Rule',
                            loc: null,
                            prelude: newSelector,
                            block: {
                                type: 'Block',
                                loc: null,
                                children: new List().fromArray(diff.eq)
                            },
                            pseudoSignature: node.pseudoSignature
                        });

                        block.children = new List().fromArray(diff.ne1);
                        prevBlock.children = new List().fromArray(diff.ne2overrided);

                        if (allowMergeUp) {
                            list.insert(newItem, prevItem);
                        } else {
                            list.insert(newItem, item);
                        }

                        return true;
                    }
                }
            }
        }

        if (allowMergeUp) {
            // TODO: disallow up merge only if any property interception only (i.e. diff.ne2overrided.length > 0);
            // await property families to find property interception correctly
            allowMergeUp = !prevSelectors.some(function(prevSelector) {
                return selectors.some(function(selector) {
                    return selector.compareMarker === prevSelector.compareMarker;
                });
            });
        }

        prevSelectors.each(function(data) {
            disallowDownMarkers[data.compareMarker] = true;
        });
    });
}

module.exports = function restructRule(ast) {
    walk(ast, {
        visit: 'Rule',
        reverse: true,
        enter: processRule
    });
};


/***/ }),

/***/ 59029:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var prepare = __nccwpck_require__(98516);
var mergeAtrule = __nccwpck_require__(76456);
var initialMergeRuleset = __nccwpck_require__(34847);
var disjoinRuleset = __nccwpck_require__(46624);
var restructShorthand = __nccwpck_require__(8563);
var restructBlock = __nccwpck_require__(82286);
var mergeRuleset = __nccwpck_require__(28136);
var restructRuleset = __nccwpck_require__(27440);

module.exports = function(ast, options) {
    // prepare ast for restructing
    var indexer = prepare(ast, options);
    options.logger('prepare', ast);

    mergeAtrule(ast, options);
    options.logger('mergeAtrule', ast);

    initialMergeRuleset(ast);
    options.logger('initialMergeRuleset', ast);

    disjoinRuleset(ast);
    options.logger('disjoinRuleset', ast);

    restructShorthand(ast, indexer);
    options.logger('restructShorthand', ast);

    restructBlock(ast);
    options.logger('restructBlock', ast);

    mergeRuleset(ast);
    options.logger('mergeRuleset', ast);

    restructRuleset(ast);
    options.logger('restructRuleset', ast);
};


/***/ }),

/***/ 94072:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var generate = __nccwpck_require__(65035).generate;

function Index() {
    this.seed = 0;
    this.map = Object.create(null);
}

Index.prototype.resolve = function(str) {
    var index = this.map[str];

    if (!index) {
        index = ++this.seed;
        this.map[str] = index;
    }

    return index;
};

module.exports = function createDeclarationIndexer() {
    var ids = new Index();

    return function markDeclaration(node) {
        var id = generate(node);

        node.id = ids.resolve(id);
        node.length = id.length;
        node.fingerprint = null;

        return node;
    };
};


/***/ }),

/***/ 98516:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var resolveKeyword = __nccwpck_require__(65035).keyword;
var walk = __nccwpck_require__(65035).walk;
var generate = __nccwpck_require__(65035).generate;
var createDeclarationIndexer = __nccwpck_require__(94072);
var processSelector = __nccwpck_require__(91753);

module.exports = function prepare(ast, options) {
    var markDeclaration = createDeclarationIndexer();

    walk(ast, {
        visit: 'Rule',
        enter: function processRule(node) {
            node.block.children.each(markDeclaration);
            processSelector(node, options.usage);
        }
    });

    walk(ast, {
        visit: 'Atrule',
        enter: function(node) {
            if (node.prelude) {
                node.prelude.id = null; // pre-init property to avoid multiple hidden class for generate
                node.prelude.id = generate(node.prelude);
            }

            // compare keyframe selectors by its values
            // NOTE: still no clarification about problems with keyframes selector grouping (issue #197)
            if (resolveKeyword(node.name).basename === 'keyframes') {
                node.block.avoidRulesMerge = true;  /* probably we don't need to prevent those merges for @keyframes
                                                       TODO: need to be checked */
                node.block.children.each(function(rule) {
                    rule.prelude.children.each(function(simpleselector) {
                        simpleselector.compareMarker = simpleselector.id;
                    });
                });
            }
        }
    });

    return {
        declaration: markDeclaration
    };
};


/***/ }),

/***/ 91753:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var generate = __nccwpck_require__(65035).generate;
var specificity = __nccwpck_require__(63160);

var nonFreezePseudoElements = {
    'first-letter': true,
    'first-line': true,
    'after': true,
    'before': true
};
var nonFreezePseudoClasses = {
    'link': true,
    'visited': true,
    'hover': true,
    'active': true,
    'first-letter': true,
    'first-line': true,
    'after': true,
    'before': true
};

module.exports = function freeze(node, usageData) {
    var pseudos = Object.create(null);
    var hasPseudo = false;

    node.prelude.children.each(function(simpleSelector) {
        var tagName = '*';
        var scope = 0;

        simpleSelector.children.each(function(node) {
            switch (node.type) {
                case 'ClassSelector':
                    if (usageData && usageData.scopes) {
                        var classScope = usageData.scopes[node.name] || 0;

                        if (scope !== 0 && classScope !== scope) {
                            throw new Error('Selector can\'t has classes from different scopes: ' + generate(simpleSelector));
                        }

                        scope = classScope;
                    }
                    break;

                case 'PseudoClassSelector':
                    var name = node.name.toLowerCase();

                    if (!nonFreezePseudoClasses.hasOwnProperty(name)) {
                        pseudos[':' + name] = true;
                        hasPseudo = true;
                    }
                    break;

                case 'PseudoElementSelector':
                    var name = node.name.toLowerCase();

                    if (!nonFreezePseudoElements.hasOwnProperty(name)) {
                        pseudos['::' + name] = true;
                        hasPseudo = true;
                    }
                    break;

                case 'TypeSelector':
                    tagName = node.name.toLowerCase();
                    break;

                case 'AttributeSelector':
                    if (node.flags) {
                        pseudos['[' + node.flags.toLowerCase() + ']'] = true;
                        hasPseudo = true;
                    }
                    break;

                case 'WhiteSpace':
                case 'Combinator':
                    tagName = '*';
                    break;
            }
        });

        simpleSelector.compareMarker = specificity(simpleSelector).toString();
        simpleSelector.id = null; // pre-init property to avoid multiple hidden class
        simpleSelector.id = generate(simpleSelector);

        if (scope) {
            simpleSelector.compareMarker += ':' + scope;
        }

        if (tagName !== '*') {
            simpleSelector.compareMarker += ',' + tagName;
        }
    });

    // add property to all rule nodes to avoid multiple hidden class
    node.pseudoSignature = hasPseudo && Object.keys(pseudos).sort().join(',');
};


/***/ }),

/***/ 63160:
/***/ ((module) => {

module.exports = function specificity(simpleSelector) {
    var A = 0;
    var B = 0;
    var C = 0;

    simpleSelector.children.each(function walk(node) {
        switch (node.type) {
            case 'SelectorList':
            case 'Selector':
                node.children.each(walk);
                break;

            case 'IdSelector':
                A++;
                break;

            case 'ClassSelector':
            case 'AttributeSelector':
                B++;
                break;

            case 'PseudoClassSelector':
                switch (node.name.toLowerCase()) {
                    case 'not':
                        node.children.each(walk);
                        break;

                    case 'before':
                    case 'after':
                    case 'first-line':
                    case 'first-letter':
                        C++;
                        break;

                    // TODO: support for :nth-*(.. of <SelectorList>), :matches(), :has()
                    default:
                        B++;
                }
                break;

            case 'PseudoElementSelector':
                C++;
                break;

            case 'TypeSelector':
                // ignore universal selector
                if (node.name.charAt(node.name.length - 1) !== '*') {
                    C++;
                }
                break;

        }
    });

    return [A, B, C];
};


/***/ }),

/***/ 28011:
/***/ ((module) => {

var hasOwnProperty = Object.prototype.hasOwnProperty;

function isEqualSelectors(a, b) {
    var cursor1 = a.head;
    var cursor2 = b.head;

    while (cursor1 !== null && cursor2 !== null && cursor1.data.id === cursor2.data.id) {
        cursor1 = cursor1.next;
        cursor2 = cursor2.next;
    }

    return cursor1 === null && cursor2 === null;
}

function isEqualDeclarations(a, b) {
    var cursor1 = a.head;
    var cursor2 = b.head;

    while (cursor1 !== null && cursor2 !== null && cursor1.data.id === cursor2.data.id) {
        cursor1 = cursor1.next;
        cursor2 = cursor2.next;
    }

    return cursor1 === null && cursor2 === null;
}

function compareDeclarations(declarations1, declarations2) {
    var result = {
        eq: [],
        ne1: [],
        ne2: [],
        ne2overrided: []
    };

    var fingerprints = Object.create(null);
    var declarations2hash = Object.create(null);

    for (var cursor = declarations2.head; cursor; cursor = cursor.next)  {
        declarations2hash[cursor.data.id] = true;
    }

    for (var cursor = declarations1.head; cursor; cursor = cursor.next)  {
        var data = cursor.data;

        if (data.fingerprint) {
            fingerprints[data.fingerprint] = data.important;
        }

        if (declarations2hash[data.id]) {
            declarations2hash[data.id] = false;
            result.eq.push(data);
        } else {
            result.ne1.push(data);
        }
    }

    for (var cursor = declarations2.head; cursor; cursor = cursor.next)  {
        var data = cursor.data;

        if (declarations2hash[data.id]) {
            // when declarations1 has an overriding declaration, this is not a difference
            // unless no !important is used on prev and !important is used on the following
            if (!hasOwnProperty.call(fingerprints, data.fingerprint) ||
                (!fingerprints[data.fingerprint] && data.important)) {
                result.ne2.push(data);
            }

            result.ne2overrided.push(data);
        }
    }

    return result;
}

function addSelectors(dest, source) {
    source.each(function(sourceData) {
        var newStr = sourceData.id;
        var cursor = dest.head;

        while (cursor) {
            var nextStr = cursor.data.id;

            if (nextStr === newStr) {
                return;
            }

            if (nextStr > newStr) {
                break;
            }

            cursor = cursor.next;
        }

        dest.insert(dest.createItem(sourceData), cursor);
    });

    return dest;
}

// check if simpleselectors has no equal specificity and element selector
function hasSimilarSelectors(selectors1, selectors2) {
    var cursor1 = selectors1.head;

    while (cursor1 !== null) {
        var cursor2 = selectors2.head;

        while (cursor2 !== null) {
            if (cursor1.data.compareMarker === cursor2.data.compareMarker) {
                return true;
            }

            cursor2 = cursor2.next;
        }

        cursor1 = cursor1.next;
    }

    return false;
}

// test node can't to be skipped
function unsafeToSkipNode(node) {
    switch (node.type) {
        case 'Rule':
            // unsafe skip ruleset with selector similarities
            return hasSimilarSelectors(node.prelude.children, this);

        case 'Atrule':
            // can skip at-rules with blocks
            if (node.block) {
                // unsafe skip at-rule if block contains something unsafe to skip
                return node.block.children.some(unsafeToSkipNode, this);
            }
            break;

        case 'Declaration':
            return false;
    }

    // unsafe by default
    return true;
}

module.exports = {
    isEqualSelectors: isEqualSelectors,
    isEqualDeclarations: isEqualDeclarations,
    compareDeclarations: compareDeclarations,
    addSelectors: addSelectors,
    hasSimilarSelectors: hasSimilarSelectors,
    unsafeToSkipNode: unsafeToSkipNode
};


/***/ }),

/***/ 29863:
/***/ ((module) => {

var hasOwnProperty = Object.prototype.hasOwnProperty;

function buildMap(list, caseInsensitive) {
    var map = Object.create(null);

    if (!Array.isArray(list)) {
        return null;
    }

    for (var i = 0; i < list.length; i++) {
        var name = list[i];

        if (caseInsensitive) {
            name = name.toLowerCase();
        }

        map[name] = true;
    }

    return map;
}

function buildList(data) {
    if (!data) {
        return null;
    }

    var tags = buildMap(data.tags, true);
    var ids = buildMap(data.ids);
    var classes = buildMap(data.classes);

    if (tags === null &&
        ids === null &&
        classes === null) {
        return null;
    }

    return {
        tags: tags,
        ids: ids,
        classes: classes
    };
}

function buildIndex(data) {
    var scopes = false;

    if (data.scopes && Array.isArray(data.scopes)) {
        scopes = Object.create(null);

        for (var i = 0; i < data.scopes.length; i++) {
            var list = data.scopes[i];

            if (!list || !Array.isArray(list)) {
                throw new Error('Wrong usage format');
            }

            for (var j = 0; j < list.length; j++) {
                var name = list[j];

                if (hasOwnProperty.call(scopes, name)) {
                    throw new Error('Class can\'t be used for several scopes: ' + name);
                }

                scopes[name] = i + 1;
            }
        }
    }

    return {
        whitelist: buildList(data),
        blacklist: buildList(data.blacklist),
        scopes: scopes
    };
}

module.exports = {
    buildIndex: buildIndex
};


/***/ }),

/***/ 14802:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.attributeNames = exports.elementNames = void 0;
exports.elementNames = new Map([
    ["altglyph", "altGlyph"],
    ["altglyphdef", "altGlyphDef"],
    ["altglyphitem", "altGlyphItem"],
    ["animatecolor", "animateColor"],
    ["animatemotion", "animateMotion"],
    ["animatetransform", "animateTransform"],
    ["clippath", "clipPath"],
    ["feblend", "feBlend"],
    ["fecolormatrix", "feColorMatrix"],
    ["fecomponenttransfer", "feComponentTransfer"],
    ["fecomposite", "feComposite"],
    ["feconvolvematrix", "feConvolveMatrix"],
    ["fediffuselighting", "feDiffuseLighting"],
    ["fedisplacementmap", "feDisplacementMap"],
    ["fedistantlight", "feDistantLight"],
    ["fedropshadow", "feDropShadow"],
    ["feflood", "feFlood"],
    ["fefunca", "feFuncA"],
    ["fefuncb", "feFuncB"],
    ["fefuncg", "feFuncG"],
    ["fefuncr", "feFuncR"],
    ["fegaussianblur", "feGaussianBlur"],
    ["feimage", "feImage"],
    ["femerge", "feMerge"],
    ["femergenode", "feMergeNode"],
    ["femorphology", "feMorphology"],
    ["feoffset", "feOffset"],
    ["fepointlight", "fePointLight"],
    ["fespecularlighting", "feSpecularLighting"],
    ["fespotlight", "feSpotLight"],
    ["fetile", "feTile"],
    ["feturbulence", "feTurbulence"],
    ["foreignobject", "foreignObject"],
    ["glyphref", "glyphRef"],
    ["lineargradient", "linearGradient"],
    ["radialgradient", "radialGradient"],
    ["textpath", "textPath"],
]);
exports.attributeNames = new Map([
    ["definitionurl", "definitionURL"],
    ["attributename", "attributeName"],
    ["attributetype", "attributeType"],
    ["basefrequency", "baseFrequency"],
    ["baseprofile", "baseProfile"],
    ["calcmode", "calcMode"],
    ["clippathunits", "clipPathUnits"],
    ["diffuseconstant", "diffuseConstant"],
    ["edgemode", "edgeMode"],
    ["filterunits", "filterUnits"],
    ["glyphref", "glyphRef"],
    ["gradienttransform", "gradientTransform"],
    ["gradientunits", "gradientUnits"],
    ["kernelmatrix", "kernelMatrix"],
    ["kernelunitlength", "kernelUnitLength"],
    ["keypoints", "keyPoints"],
    ["keysplines", "keySplines"],
    ["keytimes", "keyTimes"],
    ["lengthadjust", "lengthAdjust"],
    ["limitingconeangle", "limitingConeAngle"],
    ["markerheight", "markerHeight"],
    ["markerunits", "markerUnits"],
    ["markerwidth", "markerWidth"],
    ["maskcontentunits", "maskContentUnits"],
    ["maskunits", "maskUnits"],
    ["numoctaves", "numOctaves"],
    ["pathlength", "pathLength"],
    ["patterncontentunits", "patternContentUnits"],
    ["patterntransform", "patternTransform"],
    ["patternunits", "patternUnits"],
    ["pointsatx", "pointsAtX"],
    ["pointsaty", "pointsAtY"],
    ["pointsatz", "pointsAtZ"],
    ["preservealpha", "preserveAlpha"],
    ["preserveaspectratio", "preserveAspectRatio"],
    ["primitiveunits", "primitiveUnits"],
    ["refx", "refX"],
    ["refy", "refY"],
    ["repeatcount", "repeatCount"],
    ["repeatdur", "repeatDur"],
    ["requiredextensions", "requiredExtensions"],
    ["requiredfeatures", "requiredFeatures"],
    ["specularconstant", "specularConstant"],
    ["specularexponent", "specularExponent"],
    ["spreadmethod", "spreadMethod"],
    ["startoffset", "startOffset"],
    ["stddeviation", "stdDeviation"],
    ["stitchtiles", "stitchTiles"],
    ["surfacescale", "surfaceScale"],
    ["systemlanguage", "systemLanguage"],
    ["tablevalues", "tableValues"],
    ["targetx", "targetX"],
    ["targety", "targetY"],
    ["textlength", "textLength"],
    ["viewbox", "viewBox"],
    ["viewtarget", "viewTarget"],
    ["xchannelselector", "xChannelSelector"],
    ["ychannelselector", "yChannelSelector"],
    ["zoomandpan", "zoomAndPan"],
]);


/***/ }),

/***/ 48621:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
/*
 * Module dependencies
 */
var ElementType = __importStar(__nccwpck_require__(53944));
var entities_1 = __nccwpck_require__(3000);
/**
 * Mixed-case SVG and MathML tags & attributes
 * recognized by the HTML parser.
 *
 * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign
 */
var foreignNames_1 = __nccwpck_require__(14802);
var unencodedElements = new Set([
    "style",
    "script",
    "xmp",
    "iframe",
    "noembed",
    "noframes",
    "plaintext",
    "noscript",
]);
/**
 * Format attributes
 */
function formatAttributes(attributes, opts) {
    if (!attributes)
        return;
    return Object.keys(attributes)
        .map(function (key) {
        var _a, _b;
        var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : "";
        if (opts.xmlMode === "foreign") {
            /* Fix up mixed-case attribute names */
            key = (_b = foreignNames_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;
        }
        if (!opts.emptyAttrs && !opts.xmlMode && value === "") {
            return key;
        }
        return key + "=\"" + (opts.decodeEntities !== false
            ? entities_1.encodeXML(value)
            : value.replace(/"/g, "&quot;")) + "\"";
    })
        .join(" ");
}
/**
 * Self-enclosing tags
 */
var singleTag = new Set([
    "area",
    "base",
    "basefont",
    "br",
    "col",
    "command",
    "embed",
    "frame",
    "hr",
    "img",
    "input",
    "isindex",
    "keygen",
    "link",
    "meta",
    "param",
    "source",
    "track",
    "wbr",
]);
/**
 * Renders a DOM node or an array of DOM nodes to a string.
 *
 * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
 *
 * @param node Node to be rendered.
 * @param options Changes serialization behavior
 */
function render(node, options) {
    if (options === void 0) { options = {}; }
    var nodes = "length" in node ? node : [node];
    var output = "";
    for (var i = 0; i < nodes.length; i++) {
        output += renderNode(nodes[i], options);
    }
    return output;
}
exports.default = render;
function renderNode(node, options) {
    switch (node.type) {
        case ElementType.Root:
            return render(node.children, options);
        case ElementType.Directive:
        case ElementType.Doctype:
            return renderDirective(node);
        case ElementType.Comment:
            return renderComment(node);
        case ElementType.CDATA:
            return renderCdata(node);
        case ElementType.Script:
        case ElementType.Style:
        case ElementType.Tag:
            return renderTag(node, options);
        case ElementType.Text:
            return renderText(node, options);
    }
}
var foreignModeIntegrationPoints = new Set([
    "mi",
    "mo",
    "mn",
    "ms",
    "mtext",
    "annotation-xml",
    "foreignObject",
    "desc",
    "title",
]);
var foreignElements = new Set(["svg", "math"]);
function renderTag(elem, opts) {
    var _a;
    // Handle SVG / MathML in HTML
    if (opts.xmlMode === "foreign") {
        /* Fix up mixed-case element names */
        elem.name = (_a = foreignNames_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;
        /* Exit foreign mode at integration points */
        if (elem.parent &&
            foreignModeIntegrationPoints.has(elem.parent.name)) {
            opts = __assign(__assign({}, opts), { xmlMode: false });
        }
    }
    if (!opts.xmlMode && foreignElements.has(elem.name)) {
        opts = __assign(__assign({}, opts), { xmlMode: "foreign" });
    }
    var tag = "<" + elem.name;
    var attribs = formatAttributes(elem.attribs, opts);
    if (attribs) {
        tag += " " + attribs;
    }
    if (elem.children.length === 0 &&
        (opts.xmlMode
            ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags
                opts.selfClosingTags !== false
            : // User explicitly asked for self-closing tags, even in HTML mode
                opts.selfClosingTags && singleTag.has(elem.name))) {
        if (!opts.xmlMode)
            tag += " ";
        tag += "/>";
    }
    else {
        tag += ">";
        if (elem.children.length > 0) {
            tag += render(elem.children, opts);
        }
        if (opts.xmlMode || !singleTag.has(elem.name)) {
            tag += "</" + elem.name + ">";
        }
    }
    return tag;
}
function renderDirective(elem) {
    return "<" + elem.data + ">";
}
function renderText(elem, opts) {
    var data = elem.data || "";
    // If entities weren't decoded, no need to encode them back
    if (opts.decodeEntities !== false &&
        !(!opts.xmlMode &&
            elem.parent &&
            unencodedElements.has(elem.parent.name))) {
        data = entities_1.encodeXML(data);
    }
    return data;
}
function renderCdata(elem) {
    return "<![CDATA[" + elem.children[0].data + "]]>";
}
function renderComment(elem) {
    return "<!--" + elem.data + "-->";
}


/***/ }),

/***/ 53944:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;
/** Types of elements found in htmlparser2's DOM */
var ElementType;
(function (ElementType) {
    /** Type for the root element of a document */
    ElementType["Root"] = "root";
    /** Type for Text */
    ElementType["Text"] = "text";
    /** Type for <? ... ?> */
    ElementType["Directive"] = "directive";
    /** Type for <!-- ... --> */
    ElementType["Comment"] = "comment";
    /** Type for <script> tags */
    ElementType["Script"] = "script";
    /** Type for <style> tags */
    ElementType["Style"] = "style";
    /** Type for Any tag */
    ElementType["Tag"] = "tag";
    /** Type for <![CDATA[ ... ]]> */
    ElementType["CDATA"] = "cdata";
    /** Type for <!doctype ...> */
    ElementType["Doctype"] = "doctype";
})(ElementType = exports.ElementType || (exports.ElementType = {}));
/**
 * Tests whether an element is a tag or not.
 *
 * @param elem Element to test
 */
function isTag(elem) {
    return (elem.type === ElementType.Tag ||
        elem.type === ElementType.Script ||
        elem.type === ElementType.Style);
}
exports.isTag = isTag;
// Exports for backwards compatibility
/** Type for the root element of a document */
exports.Root = ElementType.Root;
/** Type for Text */
exports.Text = ElementType.Text;
/** Type for <? ... ?> */
exports.Directive = ElementType.Directive;
/** Type for <!-- ... --> */
exports.Comment = ElementType.Comment;
/** Type for <script> tags */
exports.Script = ElementType.Script;
/** Type for <style> tags */
exports.Style = ElementType.Style;
/** Type for Any tag */
exports.Tag = ElementType.Tag;
/** Type for <![CDATA[ ... ]]> */
exports.CDATA = ElementType.CDATA;
/** Type for <!doctype ...> */
exports.Doctype = ElementType.Doctype;


/***/ }),

/***/ 74038:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DomHandler = void 0;
var domelementtype_1 = __nccwpck_require__(53944);
var node_1 = __nccwpck_require__(7822);
__exportStar(__nccwpck_require__(7822), exports);
var reWhitespace = /\s+/g;
// Default options
var defaultOpts = {
    normalizeWhitespace: false,
    withStartIndices: false,
    withEndIndices: false,
};
var DomHandler = /** @class */ (function () {
    /**
     * @param callback Called once parsing has completed.
     * @param options Settings for the handler.
     * @param elementCB Callback whenever a tag is closed.
     */
    function DomHandler(callback, options, elementCB) {
        /** The elements of the DOM */
        this.dom = [];
        /** The root element for the DOM */
        this.root = new node_1.Document(this.dom);
        /** Indicated whether parsing has been completed. */
        this.done = false;
        /** Stack of open tags. */
        this.tagStack = [this.root];
        /** A data node that is still being written to. */
        this.lastNode = null;
        /** Reference to the parser instance. Used for location information. */
        this.parser = null;
        // Make it possible to skip arguments, for backwards-compatibility
        if (typeof options === "function") {
            elementCB = options;
            options = defaultOpts;
        }
        if (typeof callback === "object") {
            options = callback;
            callback = undefined;
        }
        this.callback = callback !== null && callback !== void 0 ? callback : null;
        this.options = options !== null && options !== void 0 ? options : defaultOpts;
        this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;
    }
    DomHandler.prototype.onparserinit = function (parser) {
        this.parser = parser;
    };
    // Resets the handler back to starting state
    DomHandler.prototype.onreset = function () {
        var _a;
        this.dom = [];
        this.root = new node_1.Document(this.dom);
        this.done = false;
        this.tagStack = [this.root];
        this.lastNode = null;
        this.parser = (_a = this.parser) !== null && _a !== void 0 ? _a : null;
    };
    // Signals the handler that parsing is done
    DomHandler.prototype.onend = function () {
        if (this.done)
            return;
        this.done = true;
        this.parser = null;
        this.handleCallback(null);
    };
    DomHandler.prototype.onerror = function (error) {
        this.handleCallback(error);
    };
    DomHandler.prototype.onclosetag = function () {
        this.lastNode = null;
        var elem = this.tagStack.pop();
        if (this.options.withEndIndices) {
            elem.endIndex = this.parser.endIndex;
        }
        if (this.elementCB)
            this.elementCB(elem);
    };
    DomHandler.prototype.onopentag = function (name, attribs) {
        var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;
        var element = new node_1.Element(name, attribs, undefined, type);
        this.addNode(element);
        this.tagStack.push(element);
    };
    DomHandler.prototype.ontext = function (data) {
        var normalizeWhitespace = this.options.normalizeWhitespace;
        var lastNode = this.lastNode;
        if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {
            if (normalizeWhitespace) {
                lastNode.data = (lastNode.data + data).replace(reWhitespace, " ");
            }
            else {
                lastNode.data += data;
            }
        }
        else {
            if (normalizeWhitespace) {
                data = data.replace(reWhitespace, " ");
            }
            var node = new node_1.Text(data);
            this.addNode(node);
            this.lastNode = node;
        }
    };
    DomHandler.prototype.oncomment = function (data) {
        if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {
            this.lastNode.data += data;
            return;
        }
        var node = new node_1.Comment(data);
        this.addNode(node);
        this.lastNode = node;
    };
    DomHandler.prototype.oncommentend = function () {
        this.lastNode = null;
    };
    DomHandler.prototype.oncdatastart = function () {
        var text = new node_1.Text("");
        var node = new node_1.NodeWithChildren(domelementtype_1.ElementType.CDATA, [text]);
        this.addNode(node);
        text.parent = node;
        this.lastNode = text;
    };
    DomHandler.prototype.oncdataend = function () {
        this.lastNode = null;
    };
    DomHandler.prototype.onprocessinginstruction = function (name, data) {
        var node = new node_1.ProcessingInstruction(name, data);
        this.addNode(node);
    };
    DomHandler.prototype.handleCallback = function (error) {
        if (typeof this.callback === "function") {
            this.callback(error, this.dom);
        }
        else if (error) {
            throw error;
        }
    };
    DomHandler.prototype.addNode = function (node) {
        var parent = this.tagStack[this.tagStack.length - 1];
        var previousSibling = parent.children[parent.children.length - 1];
        if (this.options.withStartIndices) {
            node.startIndex = this.parser.startIndex;
        }
        if (this.options.withEndIndices) {
            node.endIndex = this.parser.endIndex;
        }
        parent.children.push(node);
        if (previousSibling) {
            node.prev = previousSibling;
            previousSibling.next = node;
        }
        node.parent = parent;
        this.lastNode = null;
    };
    return DomHandler;
}());
exports.DomHandler = DomHandler;
exports.default = DomHandler;


/***/ }),

/***/ 7822:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
var domelementtype_1 = __nccwpck_require__(53944);
var nodeTypes = new Map([
    [domelementtype_1.ElementType.Tag, 1],
    [domelementtype_1.ElementType.Script, 1],
    [domelementtype_1.ElementType.Style, 1],
    [domelementtype_1.ElementType.Directive, 1],
    [domelementtype_1.ElementType.Text, 3],
    [domelementtype_1.ElementType.CDATA, 4],
    [domelementtype_1.ElementType.Comment, 8],
    [domelementtype_1.ElementType.Root, 9],
]);
/**
 * This object will be used as the prototype for Nodes when creating a
 * DOM-Level-1-compliant structure.
 */
var Node = /** @class */ (function () {
    /**
     *
     * @param type The type of the node.
     */
    function Node(type) {
        this.type = type;
        /** Parent of the node */
        this.parent = null;
        /** Previous sibling */
        this.prev = null;
        /** Next sibling */
        this.next = null;
        /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */
        this.startIndex = null;
        /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */
        this.endIndex = null;
    }
    Object.defineProperty(Node.prototype, "nodeType", {
        // Read-only aliases
        get: function () {
            var _a;
            return (_a = nodeTypes.get(this.type)) !== null && _a !== void 0 ? _a : 1;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Node.prototype, "parentNode", {
        // Read-write aliases for properties
        get: function () {
            return this.parent;
        },
        set: function (parent) {
            this.parent = parent;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Node.prototype, "previousSibling", {
        get: function () {
            return this.prev;
        },
        set: function (prev) {
            this.prev = prev;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Node.prototype, "nextSibling", {
        get: function () {
            return this.next;
        },
        set: function (next) {
            this.next = next;
        },
        enumerable: false,
        configurable: true
    });
    /**
     * Clone this node, and optionally its children.
     *
     * @param recursive Clone child nodes as well.
     * @returns A clone of the node.
     */
    Node.prototype.cloneNode = function (recursive) {
        if (recursive === void 0) { recursive = false; }
        return cloneNode(this, recursive);
    };
    return Node;
}());
exports.Node = Node;
var DataNode = /** @class */ (function (_super) {
    __extends(DataNode, _super);
    /**
     * @param type The type of the node
     * @param data The content of the data node
     */
    function DataNode(type, data) {
        var _this = _super.call(this, type) || this;
        _this.data = data;
        return _this;
    }
    Object.defineProperty(DataNode.prototype, "nodeValue", {
        get: function () {
            return this.data;
        },
        set: function (data) {
            this.data = data;
        },
        enumerable: false,
        configurable: true
    });
    return DataNode;
}(Node));
exports.DataNode = DataNode;
var Text = /** @class */ (function (_super) {
    __extends(Text, _super);
    function Text(data) {
        return _super.call(this, domelementtype_1.ElementType.Text, data) || this;
    }
    return Text;
}(DataNode));
exports.Text = Text;
var Comment = /** @class */ (function (_super) {
    __extends(Comment, _super);
    function Comment(data) {
        return _super.call(this, domelementtype_1.ElementType.Comment, data) || this;
    }
    return Comment;
}(DataNode));
exports.Comment = Comment;
var ProcessingInstruction = /** @class */ (function (_super) {
    __extends(ProcessingInstruction, _super);
    function ProcessingInstruction(name, data) {
        var _this = _super.call(this, domelementtype_1.ElementType.Directive, data) || this;
        _this.name = name;
        return _this;
    }
    return ProcessingInstruction;
}(DataNode));
exports.ProcessingInstruction = ProcessingInstruction;
/**
 * A `Node` that can have children.
 */
var NodeWithChildren = /** @class */ (function (_super) {
    __extends(NodeWithChildren, _super);
    /**
     * @param type Type of the node.
     * @param children Children of the node. Only certain node types can have children.
     */
    function NodeWithChildren(type, children) {
        var _this = _super.call(this, type) || this;
        _this.children = children;
        return _this;
    }
    Object.defineProperty(NodeWithChildren.prototype, "firstChild", {
        // Aliases
        get: function () {
            var _a;
            return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NodeWithChildren.prototype, "lastChild", {
        get: function () {
            return this.children.length > 0
                ? this.children[this.children.length - 1]
                : null;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NodeWithChildren.prototype, "childNodes", {
        get: function () {
            return this.children;
        },
        set: function (children) {
            this.children = children;
        },
        enumerable: false,
        configurable: true
    });
    return NodeWithChildren;
}(Node));
exports.NodeWithChildren = NodeWithChildren;
var Document = /** @class */ (function (_super) {
    __extends(Document, _super);
    function Document(children) {
        return _super.call(this, domelementtype_1.ElementType.Root, children) || this;
    }
    return Document;
}(NodeWithChildren));
exports.Document = Document;
var Element = /** @class */ (function (_super) {
    __extends(Element, _super);
    /**
     * @param name Name of the tag, eg. `div`, `span`.
     * @param attribs Object mapping attribute names to attribute values.
     * @param children Children of the node.
     */
    function Element(name, attribs, children, type) {
        if (children === void 0) { children = []; }
        if (type === void 0) { type = name === "script"
            ? domelementtype_1.ElementType.Script
            : name === "style"
                ? domelementtype_1.ElementType.Style
                : domelementtype_1.ElementType.Tag; }
        var _this = _super.call(this, type, children) || this;
        _this.name = name;
        _this.attribs = attribs;
        return _this;
    }
    Object.defineProperty(Element.prototype, "tagName", {
        // DOM Level 1 aliases
        get: function () {
            return this.name;
        },
        set: function (name) {
            this.name = name;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Element.prototype, "attributes", {
        get: function () {
            var _this = this;
            return Object.keys(this.attribs).map(function (name) {
                var _a, _b;
                return ({
                    name: name,
                    value: _this.attribs[name],
                    namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name],
                    prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name],
                });
            });
        },
        enumerable: false,
        configurable: true
    });
    return Element;
}(NodeWithChildren));
exports.Element = Element;
/**
 * @param node Node to check.
 * @returns `true` if the node is a `Element`, `false` otherwise.
 */
function isTag(node) {
    return domelementtype_1.isTag(node);
}
exports.isTag = isTag;
/**
 * @param node Node to check.
 * @returns `true` if the node has the type `CDATA`, `false` otherwise.
 */
function isCDATA(node) {
    return node.type === domelementtype_1.ElementType.CDATA;
}
exports.isCDATA = isCDATA;
/**
 * @param node Node to check.
 * @returns `true` if the node has the type `Text`, `false` otherwise.
 */
function isText(node) {
    return node.type === domelementtype_1.ElementType.Text;
}
exports.isText = isText;
/**
 * @param node Node to check.
 * @returns `true` if the node has the type `Comment`, `false` otherwise.
 */
function isComment(node) {
    return node.type === domelementtype_1.ElementType.Comment;
}
exports.isComment = isComment;
/**
 * @param node Node to check.
 * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
 */
function isDirective(node) {
    return node.type === domelementtype_1.ElementType.Directive;
}
exports.isDirective = isDirective;
/**
 * @param node Node to check.
 * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
 */
function isDocument(node) {
    return node.type === domelementtype_1.ElementType.Root;
}
exports.isDocument = isDocument;
/**
 * @param node Node to check.
 * @returns `true` if the node is a `NodeWithChildren` (has children), `false` otherwise.
 */
function hasChildren(node) {
    return Object.prototype.hasOwnProperty.call(node, "children");
}
exports.hasChildren = hasChildren;
/**
 * Clone a node, and optionally its children.
 *
 * @param recursive Clone child nodes as well.
 * @returns A clone of the node.
 */
function cloneNode(node, recursive) {
    if (recursive === void 0) { recursive = false; }
    var result;
    if (isText(node)) {
        result = new Text(node.data);
    }
    else if (isComment(node)) {
        result = new Comment(node.data);
    }
    else if (isTag(node)) {
        var children = recursive ? cloneChildren(node.children) : [];
        var clone_1 = new Element(node.name, __assign({}, node.attribs), children);
        children.forEach(function (child) { return (child.parent = clone_1); });
        if (node["x-attribsNamespace"]) {
            clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]);
        }
        if (node["x-attribsPrefix"]) {
            clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]);
        }
        result = clone_1;
    }
    else if (isCDATA(node)) {
        var children = recursive ? cloneChildren(node.children) : [];
        var clone_2 = new NodeWithChildren(domelementtype_1.ElementType.CDATA, children);
        children.forEach(function (child) { return (child.parent = clone_2); });
        result = clone_2;
    }
    else if (isDocument(node)) {
        var children = recursive ? cloneChildren(node.children) : [];
        var clone_3 = new Document(children);
        children.forEach(function (child) { return (child.parent = clone_3); });
        if (node["x-mode"]) {
            clone_3["x-mode"] = node["x-mode"];
        }
        result = clone_3;
    }
    else if (isDirective(node)) {
        var instruction = new ProcessingInstruction(node.name, node.data);
        if (node["x-name"] != null) {
            instruction["x-name"] = node["x-name"];
            instruction["x-publicId"] = node["x-publicId"];
            instruction["x-systemId"] = node["x-systemId"];
        }
        result = instruction;
    }
    else {
        throw new Error("Not implemented yet: " + node.type);
    }
    result.startIndex = node.startIndex;
    result.endIndex = node.endIndex;
    return result;
}
exports.cloneNode = cloneNode;
function cloneChildren(childs) {
    var children = childs.map(function (child) { return cloneNode(child, true); });
    for (var i = 1; i < children.length; i++) {
        children[i].prev = children[i - 1];
        children[i - 1].next = children[i];
    }
    return children;
}


/***/ }),

/***/ 61447:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.uniqueSort = exports.compareDocumentPosition = exports.removeSubsets = void 0;
var domhandler_1 = __nccwpck_require__(74038);
/**
 * Given an array of nodes, remove any member that is contained by another.
 *
 * @param nodes Nodes to filter.
 * @returns Remaining nodes that aren't subtrees of each other.
 */
function removeSubsets(nodes) {
    var idx = nodes.length;
    /*
     * Check if each node (or one of its ancestors) is already contained in the
     * array.
     */
    while (--idx >= 0) {
        var node = nodes[idx];
        /*
         * Remove the node if it is not unique.
         * We are going through the array from the end, so we only
         * have to check nodes that preceed the node under consideration in the array.
         */
        if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {
            nodes.splice(idx, 1);
            continue;
        }
        for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) {
            if (nodes.includes(ancestor)) {
                nodes.splice(idx, 1);
                break;
            }
        }
    }
    return nodes;
}
exports.removeSubsets = removeSubsets;
/**
 * Compare the position of one node against another node in any other document.
 * The return value is a bitmask with the following values:
 *
 * Document order:
 * > There is an ordering, document order, defined on all the nodes in the
 * > document corresponding to the order in which the first character of the
 * > XML representation of each node occurs in the XML representation of the
 * > document after expansion of general entities. Thus, the document element
 * > node will be the first node. Element nodes occur before their children.
 * > Thus, document order orders element nodes in order of the occurrence of
 * > their start-tag in the XML (after expansion of entities). The attribute
 * > nodes of an element occur after the element and before its children. The
 * > relative order of attribute nodes is implementation-dependent./
 *
 * Source:
 * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order
 *
 * @param nodeA The first node to use in the comparison
 * @param nodeB The second node to use in the comparison
 * @returns A bitmask describing the input nodes' relative position.
 *
 * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for
 * a description of these values.
 */
function compareDocumentPosition(nodeA, nodeB) {
    var aParents = [];
    var bParents = [];
    if (nodeA === nodeB) {
        return 0;
    }
    var current = domhandler_1.hasChildren(nodeA) ? nodeA : nodeA.parent;
    while (current) {
        aParents.unshift(current);
        current = current.parent;
    }
    current = domhandler_1.hasChildren(nodeB) ? nodeB : nodeB.parent;
    while (current) {
        bParents.unshift(current);
        current = current.parent;
    }
    var maxIdx = Math.min(aParents.length, bParents.length);
    var idx = 0;
    while (idx < maxIdx && aParents[idx] === bParents[idx]) {
        idx++;
    }
    if (idx === 0) {
        return 1 /* DISCONNECTED */;
    }
    var sharedParent = aParents[idx - 1];
    var siblings = sharedParent.children;
    var aSibling = aParents[idx];
    var bSibling = bParents[idx];
    if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {
        if (sharedParent === nodeB) {
            return 4 /* FOLLOWING */ | 16 /* CONTAINED_BY */;
        }
        return 4 /* FOLLOWING */;
    }
    if (sharedParent === nodeA) {
        return 2 /* PRECEDING */ | 8 /* CONTAINS */;
    }
    return 2 /* PRECEDING */;
}
exports.compareDocumentPosition = compareDocumentPosition;
/**
 * Sort an array of nodes based on their relative position in the document and
 * remove any duplicate nodes. If the array contains nodes that do not belong
 * to the same document, sort order is unspecified.
 *
 * @param nodes Array of DOM nodes.
 * @returns Collection of unique nodes, sorted in document order.
 */
function uniqueSort(nodes) {
    nodes = nodes.filter(function (node, i, arr) { return !arr.includes(node, i + 1); });
    nodes.sort(function (a, b) {
        var relative = compareDocumentPosition(a, b);
        if (relative & 2 /* PRECEDING */) {
            return -1;
        }
        else if (relative & 4 /* FOLLOWING */) {
            return 1;
        }
        return 0;
    });
    return nodes;
}
exports.uniqueSort = uniqueSort;


/***/ }),

/***/ 11754:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0;
__exportStar(__nccwpck_require__(29561), exports);
__exportStar(__nccwpck_require__(79228), exports);
__exportStar(__nccwpck_require__(20177), exports);
__exportStar(__nccwpck_require__(39908), exports);
__exportStar(__nccwpck_require__(72185), exports);
__exportStar(__nccwpck_require__(61447), exports);
var domhandler_1 = __nccwpck_require__(74038);
Object.defineProperty(exports, "isTag", ({ enumerable: true, get: function () { return domhandler_1.isTag; } }));
Object.defineProperty(exports, "isCDATA", ({ enumerable: true, get: function () { return domhandler_1.isCDATA; } }));
Object.defineProperty(exports, "isText", ({ enumerable: true, get: function () { return domhandler_1.isText; } }));
Object.defineProperty(exports, "isComment", ({ enumerable: true, get: function () { return domhandler_1.isComment; } }));
Object.defineProperty(exports, "isDocument", ({ enumerable: true, get: function () { return domhandler_1.isDocument; } }));
Object.defineProperty(exports, "hasChildren", ({ enumerable: true, get: function () { return domhandler_1.hasChildren; } }));


/***/ }),

/***/ 72185:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getElementsByTagType = exports.getElementsByTagName = exports.getElementById = exports.getElements = exports.testElement = void 0;
var domhandler_1 = __nccwpck_require__(74038);
var querying_1 = __nccwpck_require__(39908);
var Checks = {
    tag_name: function (name) {
        if (typeof name === "function") {
            return function (elem) { return domhandler_1.isTag(elem) && name(elem.name); };
        }
        else if (name === "*") {
            return domhandler_1.isTag;
        }
        return function (elem) { return domhandler_1.isTag(elem) && elem.name === name; };
    },
    tag_type: function (type) {
        if (typeof type === "function") {
            return function (elem) { return type(elem.type); };
        }
        return function (elem) { return elem.type === type; };
    },
    tag_contains: function (data) {
        if (typeof data === "function") {
            return function (elem) { return domhandler_1.isText(elem) && data(elem.data); };
        }
        return function (elem) { return domhandler_1.isText(elem) && elem.data === data; };
    },
};
/**
 * @param attrib Attribute to check.
 * @param value Attribute value to look for.
 * @returns A function to check whether the a node has an attribute with a particular value.
 */
function getAttribCheck(attrib, value) {
    if (typeof value === "function") {
        return function (elem) { return domhandler_1.isTag(elem) && value(elem.attribs[attrib]); };
    }
    return function (elem) { return domhandler_1.isTag(elem) && elem.attribs[attrib] === value; };
}
/**
 * @param a First function to combine.
 * @param b Second function to combine.
 * @returns A function taking a node and returning `true` if either
 * of the input functions returns `true` for the node.
 */
function combineFuncs(a, b) {
    return function (elem) { return a(elem) || b(elem); };
}
/**
 * @param options An object describing nodes to look for.
 * @returns A function executing all checks in `options` and returning `true`
 * if any of them match a node.
 */
function compileTest(options) {
    var funcs = Object.keys(options).map(function (key) {
        var value = options[key];
        return key in Checks
            ? Checks[key](value)
            : getAttribCheck(key, value);
    });
    return funcs.length === 0 ? null : funcs.reduce(combineFuncs);
}
/**
 * @param options An object describing nodes to look for.
 * @param node The element to test.
 * @returns Whether the element matches the description in `options`.
 */
function testElement(options, node) {
    var test = compileTest(options);
    return test ? test(node) : true;
}
exports.testElement = testElement;
/**
 * @param options An object describing nodes to look for.
 * @param nodes Nodes to search through.
 * @param recurse Also consider child nodes.
 * @param limit Maximum number of nodes to return.
 * @returns All nodes that match `options`.
 */
function getElements(options, nodes, recurse, limit) {
    if (limit === void 0) { limit = Infinity; }
    var test = compileTest(options);
    return test ? querying_1.filter(test, nodes, recurse, limit) : [];
}
exports.getElements = getElements;
/**
 * @param id The unique ID attribute value to look for.
 * @param nodes Nodes to search through.
 * @param recurse Also consider child nodes.
 * @returns The node with the supplied ID.
 */
function getElementById(id, nodes, recurse) {
    if (recurse === void 0) { recurse = true; }
    if (!Array.isArray(nodes))
        nodes = [nodes];
    return querying_1.findOne(getAttribCheck("id", id), nodes, recurse);
}
exports.getElementById = getElementById;
/**
 * @param tagName Tag name to search for.
 * @param nodes Nodes to search through.
 * @param recurse Also consider child nodes.
 * @param limit Maximum number of nodes to return.
 * @returns All nodes with the supplied `tagName`.
 */
function getElementsByTagName(tagName, nodes, recurse, limit) {
    if (recurse === void 0) { recurse = true; }
    if (limit === void 0) { limit = Infinity; }
    return querying_1.filter(Checks.tag_name(tagName), nodes, recurse, limit);
}
exports.getElementsByTagName = getElementsByTagName;
/**
 * @param type Element type to look for.
 * @param nodes Nodes to search through.
 * @param recurse Also consider child nodes.
 * @param limit Maximum number of nodes to return.
 * @returns All nodes with the supplied `type`.
 */
function getElementsByTagType(type, nodes, recurse, limit) {
    if (recurse === void 0) { recurse = true; }
    if (limit === void 0) { limit = Infinity; }
    return querying_1.filter(Checks.tag_type(type), nodes, recurse, limit);
}
exports.getElementsByTagType = getElementsByTagType;


/***/ }),

/***/ 20177:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.prepend = exports.prependChild = exports.append = exports.appendChild = exports.replaceElement = exports.removeElement = void 0;
/**
 * Remove an element from the dom
 *
 * @param elem The element to be removed
 */
function removeElement(elem) {
    if (elem.prev)
        elem.prev.next = elem.next;
    if (elem.next)
        elem.next.prev = elem.prev;
    if (elem.parent) {
        var childs = elem.parent.children;
        childs.splice(childs.lastIndexOf(elem), 1);
    }
}
exports.removeElement = removeElement;
/**
 * Replace an element in the dom
 *
 * @param elem The element to be replaced
 * @param replacement The element to be added
 */
function replaceElement(elem, replacement) {
    var prev = (replacement.prev = elem.prev);
    if (prev) {
        prev.next = replacement;
    }
    var next = (replacement.next = elem.next);
    if (next) {
        next.prev = replacement;
    }
    var parent = (replacement.parent = elem.parent);
    if (parent) {
        var childs = parent.children;
        childs[childs.lastIndexOf(elem)] = replacement;
    }
}
exports.replaceElement = replaceElement;
/**
 * Append a child to an element.
 *
 * @param elem The element to append to.
 * @param child The element to be added as a child.
 */
function appendChild(elem, child) {
    removeElement(child);
    child.next = null;
    child.parent = elem;
    if (elem.children.push(child) > 1) {
        var sibling = elem.children[elem.children.length - 2];
        sibling.next = child;
        child.prev = sibling;
    }
    else {
        child.prev = null;
    }
}
exports.appendChild = appendChild;
/**
 * Append an element after another.
 *
 * @param elem The element to append after.
 * @param next The element be added.
 */
function append(elem, next) {
    removeElement(next);
    var parent = elem.parent;
    var currNext = elem.next;
    next.next = currNext;
    next.prev = elem;
    elem.next = next;
    next.parent = parent;
    if (currNext) {
        currNext.prev = next;
        if (parent) {
            var childs = parent.children;
            childs.splice(childs.lastIndexOf(currNext), 0, next);
        }
    }
    else if (parent) {
        parent.children.push(next);
    }
}
exports.append = append;
/**
 * Prepend a child to an element.
 *
 * @param elem The element to prepend before.
 * @param child The element to be added as a child.
 */
function prependChild(elem, child) {
    removeElement(child);
    child.parent = elem;
    child.prev = null;
    if (elem.children.unshift(child) !== 1) {
        var sibling = elem.children[1];
        sibling.prev = child;
        child.next = sibling;
    }
    else {
        child.next = null;
    }
}
exports.prependChild = prependChild;
/**
 * Prepend an element before another.
 *
 * @param elem The element to prepend before.
 * @param prev The element be added.
 */
function prepend(elem, prev) {
    removeElement(prev);
    var parent = elem.parent;
    if (parent) {
        var childs = parent.children;
        childs.splice(childs.indexOf(elem), 0, prev);
    }
    if (elem.prev) {
        elem.prev.next = prev;
    }
    prev.parent = parent;
    prev.prev = elem.prev;
    prev.next = elem;
    elem.prev = prev;
}
exports.prepend = prepend;


/***/ }),

/***/ 39908:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.findAll = exports.existsOne = exports.findOne = exports.findOneChild = exports.find = exports.filter = void 0;
var domhandler_1 = __nccwpck_require__(74038);
/**
 * Search a node and its children for nodes passing a test function.
 *
 * @param test Function to test nodes on.
 * @param node Node to search. Will be included in the result set if it matches.
 * @param recurse Also consider child nodes.
 * @param limit Maximum number of nodes to return.
 * @returns All nodes passing `test`.
 */
function filter(test, node, recurse, limit) {
    if (recurse === void 0) { recurse = true; }
    if (limit === void 0) { limit = Infinity; }
    if (!Array.isArray(node))
        node = [node];
    return find(test, node, recurse, limit);
}
exports.filter = filter;
/**
 * Search an array of node and its children for nodes passing a test function.
 *
 * @param test Function to test nodes on.
 * @param nodes Array of nodes to search.
 * @param recurse Also consider child nodes.
 * @param limit Maximum number of nodes to return.
 * @returns All nodes passing `test`.
 */
function find(test, nodes, recurse, limit) {
    var result = [];
    for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
        var elem = nodes_1[_i];
        if (test(elem)) {
            result.push(elem);
            if (--limit <= 0)
                break;
        }
        if (recurse && domhandler_1.hasChildren(elem) && elem.children.length > 0) {
            var children = find(test, elem.children, recurse, limit);
            result.push.apply(result, children);
            limit -= children.length;
            if (limit <= 0)
                break;
        }
    }
    return result;
}
exports.find = find;
/**
 * Finds the first element inside of an array that matches a test function.
 *
 * @param test Function to test nodes on.
 * @param nodes Array of nodes to search.
 * @returns The first node in the array that passes `test`.
 */
function findOneChild(test, nodes) {
    return nodes.find(test);
}
exports.findOneChild = findOneChild;
/**
 * Finds one element in a tree that passes a test.
 *
 * @param test Function to test nodes on.
 * @param nodes Array of nodes to search.
 * @param recurse Also consider child nodes.
 * @returns The first child node that passes `test`.
 */
function findOne(test, nodes, recurse) {
    if (recurse === void 0) { recurse = true; }
    var elem = null;
    for (var i = 0; i < nodes.length && !elem; i++) {
        var checked = nodes[i];
        if (!domhandler_1.isTag(checked)) {
            continue;
        }
        else if (test(checked)) {
            elem = checked;
        }
        else if (recurse && checked.children.length > 0) {
            elem = findOne(test, checked.children);
        }
    }
    return elem;
}
exports.findOne = findOne;
/**
 * @param test Function to test nodes on.
 * @param nodes Array of nodes to search.
 * @returns Whether a tree of nodes contains at least one node passing a test.
 */
function existsOne(test, nodes) {
    return nodes.some(function (checked) {
        return domhandler_1.isTag(checked) &&
            (test(checked) ||
                (checked.children.length > 0 &&
                    existsOne(test, checked.children)));
    });
}
exports.existsOne = existsOne;
/**
 * Search and array of nodes and its children for nodes passing a test function.
 *
 * Same as `find`, only with less options, leading to reduced complexity.
 *
 * @param test Function to test nodes on.
 * @param nodes Array of nodes to search.
 * @returns All nodes passing `test`.
 */
function findAll(test, nodes) {
    var _a;
    var result = [];
    var stack = nodes.filter(domhandler_1.isTag);
    var elem;
    while ((elem = stack.shift())) {
        var children = (_a = elem.children) === null || _a === void 0 ? void 0 : _a.filter(domhandler_1.isTag);
        if (children && children.length > 0) {
            stack.unshift.apply(stack, children);
        }
        if (test(elem))
            result.push(elem);
    }
    return result;
}
exports.findAll = findAll;


/***/ }),

/***/ 29561:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getText = exports.getInnerHTML = exports.getOuterHTML = void 0;
var domhandler_1 = __nccwpck_require__(74038);
var dom_serializer_1 = __importDefault(__nccwpck_require__(48621));
/**
 * @param node Node to get the outer HTML of.
 * @param options Options for serialization.
 * @deprecated Use the `dom-serializer` module directly.
 * @returns `node`'s outer HTML.
 */
function getOuterHTML(node, options) {
    return dom_serializer_1.default(node, options);
}
exports.getOuterHTML = getOuterHTML;
/**
 * @param node Node to get the inner HTML of.
 * @param options Options for serialization.
 * @deprecated Use the `dom-serializer` module directly.
 * @returns `node`'s inner HTML.
 */
function getInnerHTML(node, options) {
    return domhandler_1.hasChildren(node)
        ? node.children.map(function (node) { return getOuterHTML(node, options); }).join("")
        : "";
}
exports.getInnerHTML = getInnerHTML;
/**
 * Get a node's inner text.
 *
 * @param node Node to get the inner text of.
 * @returns `node`'s inner text.
 */
function getText(node) {
    if (Array.isArray(node))
        return node.map(getText).join("");
    if (domhandler_1.isTag(node))
        return node.name === "br" ? "\n" : getText(node.children);
    if (domhandler_1.isCDATA(node))
        return getText(node.children);
    if (domhandler_1.isText(node))
        return node.data;
    return "";
}
exports.getText = getText;


/***/ }),

/***/ 79228:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.prevElementSibling = exports.nextElementSibling = exports.getName = exports.hasAttrib = exports.getAttributeValue = exports.getSiblings = exports.getParent = exports.getChildren = void 0;
var domhandler_1 = __nccwpck_require__(74038);
var emptyArray = [];
/**
 * Get a node's children.
 *
 * @param elem Node to get the children of.
 * @returns `elem`'s children, or an empty array.
 */
function getChildren(elem) {
    var _a;
    return (_a = elem.children) !== null && _a !== void 0 ? _a : emptyArray;
}
exports.getChildren = getChildren;
/**
 * Get a node's parent.
 *
 * @param elem Node to get the parent of.
 * @returns `elem`'s parent node.
 */
function getParent(elem) {
    return elem.parent || null;
}
exports.getParent = getParent;
/**
 * Gets an elements siblings, including the element itself.
 *
 * Attempts to get the children through the element's parent first.
 * If we don't have a parent (the element is a root node),
 * we walk the element's `prev` & `next` to get all remaining nodes.
 *
 * @param elem Element to get the siblings of.
 * @returns `elem`'s siblings.
 */
function getSiblings(elem) {
    var _a, _b;
    var parent = getParent(elem);
    if (parent != null)
        return getChildren(parent);
    var siblings = [elem];
    var prev = elem.prev, next = elem.next;
    while (prev != null) {
        siblings.unshift(prev);
        (_a = prev, prev = _a.prev);
    }
    while (next != null) {
        siblings.push(next);
        (_b = next, next = _b.next);
    }
    return siblings;
}
exports.getSiblings = getSiblings;
/**
 * Gets an attribute from an element.
 *
 * @param elem Element to check.
 * @param name Attribute name to retrieve.
 * @returns The element's attribute value, or `undefined`.
 */
function getAttributeValue(elem, name) {
    var _a;
    return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];
}
exports.getAttributeValue = getAttributeValue;
/**
 * Checks whether an element has an attribute.
 *
 * @param elem Element to check.
 * @param name Attribute name to look for.
 * @returns Returns whether `elem` has the attribute `name`.
 */
function hasAttrib(elem, name) {
    return (elem.attribs != null &&
        Object.prototype.hasOwnProperty.call(elem.attribs, name) &&
        elem.attribs[name] != null);
}
exports.hasAttrib = hasAttrib;
/**
 * Get the tag name of an element.
 *
 * @param elem The element to get the name for.
 * @returns The tag name of `elem`.
 */
function getName(elem) {
    return elem.name;
}
exports.getName = getName;
/**
 * Returns the next element sibling of a node.
 *
 * @param elem The element to get the next sibling of.
 * @returns `elem`'s next sibling that is a tag.
 */
function nextElementSibling(elem) {
    var _a;
    var next = elem.next;
    while (next !== null && !domhandler_1.isTag(next))
        (_a = next, next = _a.next);
    return next;
}
exports.nextElementSibling = nextElementSibling;
/**
 * Returns the previous element sibling of a node.
 *
 * @param elem The element to get the previous sibling of.
 * @returns `elem`'s previous sibling that is a tag.
 */
function prevElementSibling(elem) {
    var _a;
    var prev = elem.prev;
    while (prev !== null && !domhandler_1.isTag(prev))
        (_a = prev, prev = _a.prev);
    return prev;
}
exports.prevElementSibling = prevElementSibling;


/***/ }),

/***/ 46719:
/***/ ((module) => {

module.exports = {
	"0.20": "39",
	"0.21": "41",
	"0.22": "41",
	"0.23": "41",
	"0.24": "41",
	"0.25": "42",
	"0.26": "42",
	"0.27": "43",
	"0.28": "43",
	"0.29": "43",
	"0.30": "44",
	"0.31": "45",
	"0.32": "45",
	"0.33": "45",
	"0.34": "45",
	"0.35": "45",
	"0.36": "47",
	"0.37": "49",
	"1.0": "49",
	"1.1": "50",
	"1.2": "51",
	"1.3": "52",
	"1.4": "53",
	"1.5": "54",
	"1.6": "56",
	"1.7": "58",
	"1.8": "59",
	"2.0": "61",
	"2.1": "61",
	"3.0": "66",
	"3.1": "66",
	"4.0": "69",
	"4.1": "69",
	"4.2": "69",
	"5.0": "73",
	"6.0": "76",
	"6.1": "76",
	"7.0": "78",
	"7.1": "78",
	"7.2": "78",
	"7.3": "78",
	"8.0": "80",
	"8.1": "80",
	"8.2": "80",
	"8.3": "80",
	"8.4": "80",
	"8.5": "80",
	"9.0": "83",
	"9.1": "83",
	"9.2": "83",
	"9.3": "83",
	"9.4": "83",
	"10.0": "85",
	"10.1": "85",
	"10.2": "85",
	"10.3": "85",
	"10.4": "85",
	"11.0": "87",
	"11.1": "87",
	"11.2": "87",
	"11.3": "87",
	"11.4": "87",
	"12.0": "89",
	"13.0": "91",
	"14.0": "92"
};

/***/ }),

/***/ 85107:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;
var entities_json_1 = __importDefault(__nccwpck_require__(84007));
var legacy_json_1 = __importDefault(__nccwpck_require__(17802));
var xml_json_1 = __importDefault(__nccwpck_require__(2228));
var decode_codepoint_1 = __importDefault(__nccwpck_require__(31227));
var strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
exports.decodeXML = getStrictDecoder(xml_json_1.default);
exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);
function getStrictDecoder(map) {
    var replace = getReplacer(map);
    return function (str) { return String(str).replace(strictEntityRe, replace); };
}
var sorter = function (a, b) { return (a < b ? 1 : -1); };
exports.decodeHTML = (function () {
    var legacy = Object.keys(legacy_json_1.default).sort(sorter);
    var keys = Object.keys(entities_json_1.default).sort(sorter);
    for (var i = 0, j = 0; i < keys.length; i++) {
        if (legacy[j] === keys[i]) {
            keys[i] += ";?";
            j++;
        }
        else {
            keys[i] += ";";
        }
    }
    var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g");
    var replace = getReplacer(entities_json_1.default);
    function replacer(str) {
        if (str.substr(-1) !== ";")
            str += ";";
        return replace(str);
    }
    // TODO consider creating a merged map
    return function (str) { return String(str).replace(re, replacer); };
})();
function getReplacer(map) {
    return function replace(str) {
        if (str.charAt(1) === "#") {
            var secondChar = str.charAt(2);
            if (secondChar === "X" || secondChar === "x") {
                return decode_codepoint_1.default(parseInt(str.substr(3), 16));
            }
            return decode_codepoint_1.default(parseInt(str.substr(2), 10));
        }
        // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        return map[str.slice(1, -1)] || str;
    };
}


/***/ }),

/***/ 31227:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
var decode_json_1 = __importDefault(__nccwpck_require__(14589));
// Adapted from https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119
var fromCodePoint = 
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
String.fromCodePoint ||
    function (codePoint) {
        var output = "";
        if (codePoint > 0xffff) {
            codePoint -= 0x10000;
            output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
            codePoint = 0xdc00 | (codePoint & 0x3ff);
        }
        output += String.fromCharCode(codePoint);
        return output;
    };
function decodeCodePoint(codePoint) {
    if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
        return "\uFFFD";
    }
    if (codePoint in decode_json_1.default) {
        codePoint = decode_json_1.default[codePoint];
    }
    return fromCodePoint(codePoint);
}
exports.default = decodeCodePoint;


/***/ }),

/***/ 2006:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;
var xml_json_1 = __importDefault(__nccwpck_require__(2228));
var inverseXML = getInverseObj(xml_json_1.default);
var xmlReplacer = getInverseReplacer(inverseXML);
/**
 * Encodes all non-ASCII characters, as well as characters not valid in XML
 * documents using XML entities.
 *
 * If a character has no equivalent entity, a
 * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
 */
exports.encodeXML = getASCIIEncoder(inverseXML);
var entities_json_1 = __importDefault(__nccwpck_require__(84007));
var inverseHTML = getInverseObj(entities_json_1.default);
var htmlReplacer = getInverseReplacer(inverseHTML);
/**
 * Encodes all entities and non-ASCII characters in the input.
 *
 * This includes characters that are valid ASCII characters in HTML documents.
 * For example `#` will be encoded as `&num;`. To get a more compact output,
 * consider using the `encodeNonAsciiHTML` function.
 *
 * If a character has no equivalent entity, a
 * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
 */
exports.encodeHTML = getInverse(inverseHTML, htmlReplacer);
/**
 * Encodes all non-ASCII characters, as well as characters not valid in HTML
 * documents using HTML entities.
 *
 * If a character has no equivalent entity, a
 * numeric hexadecimal reference (eg. `&#xfc;`) will be used.
 */
exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);
function getInverseObj(obj) {
    return Object.keys(obj)
        .sort()
        .reduce(function (inverse, name) {
        inverse[obj[name]] = "&" + name + ";";
        return inverse;
    }, {});
}
function getInverseReplacer(inverse) {
    var single = [];
    var multiple = [];
    for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {
        var k = _a[_i];
        if (k.length === 1) {
            // Add value to single array
            single.push("\\" + k);
        }
        else {
            // Add value to multiple array
            multiple.push(k);
        }
    }
    // Add ranges to single characters.
    single.sort();
    for (var start = 0; start < single.length - 1; start++) {
        // Find the end of a run of characters
        var end = start;
        while (end < single.length - 1 &&
            single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {
            end += 1;
        }
        var count = 1 + end - start;
        // We want to replace at least three characters
        if (count < 3)
            continue;
        single.splice(start, count, single[start] + "-" + single[end]);
    }
    multiple.unshift("[" + single.join("") + "]");
    return new RegExp(multiple.join("|"), "g");
}
// /[^\0-\x7F]/gu
var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g;
var getCodePoint = 
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
String.prototype.codePointAt != null
    ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
        function (str) { return str.codePointAt(0); }
    : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
        function (c) {
            return (c.charCodeAt(0) - 0xd800) * 0x400 +
                c.charCodeAt(1) -
                0xdc00 +
                0x10000;
        };
function singleCharReplacer(c) {
    return "&#x" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0))
        .toString(16)
        .toUpperCase() + ";";
}
function getInverse(inverse, re) {
    return function (data) {
        return data
            .replace(re, function (name) { return inverse[name]; })
            .replace(reNonASCII, singleCharReplacer);
    };
}
var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g");
/**
 * Encodes all non-ASCII characters, as well as characters not valid in XML
 * documents using numeric hexadecimal reference (eg. `&#xfc;`).
 *
 * Have a look at `escapeUTF8` if you want a more concise output at the expense
 * of reduced transportability.
 *
 * @param data String to escape.
 */
function escape(data) {
    return data.replace(reEscapeChars, singleCharReplacer);
}
exports.escape = escape;
/**
 * Encodes all characters not valid in XML documents using numeric hexadecimal
 * reference (eg. `&#xfc;`).
 *
 * Note that the output will be character-set dependent.
 *
 * @param data String to escape.
 */
function escapeUTF8(data) {
    return data.replace(xmlReplacer, singleCharReplacer);
}
exports.escapeUTF8 = escapeUTF8;
function getASCIIEncoder(obj) {
    return function (data) {
        return data.replace(reEscapeChars, function (c) { return obj[c] || singleCharReplacer(c); });
    };
}


/***/ }),

/***/ 3000:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;
var decode_1 = __nccwpck_require__(85107);
var encode_1 = __nccwpck_require__(2006);
/**
 * Decodes a string with entities.
 *
 * @param data String to decode.
 * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.
 * @deprecated Use `decodeXML` or `decodeHTML` directly.
 */
function decode(data, level) {
    return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);
}
exports.decode = decode;
/**
 * Decodes a string with entities. Does not allow missing trailing semicolons for entities.
 *
 * @param data String to decode.
 * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.
 * @deprecated Use `decodeHTMLStrict` or `decodeXML` directly.
 */
function decodeStrict(data, level) {
    return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);
}
exports.decodeStrict = decodeStrict;
/**
 * Encodes a string with entities.
 *
 * @param data String to encode.
 * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0.
 * @deprecated Use `encodeHTML`, `encodeXML` or `encodeNonAsciiHTML` directly.
 */
function encode(data, level) {
    return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);
}
exports.encode = encode;
var encode_2 = __nccwpck_require__(2006);
Object.defineProperty(exports, "encodeXML", ({ enumerable: true, get: function () { return encode_2.encodeXML; } }));
Object.defineProperty(exports, "encodeHTML", ({ enumerable: true, get: function () { return encode_2.encodeHTML; } }));
Object.defineProperty(exports, "encodeNonAsciiHTML", ({ enumerable: true, get: function () { return encode_2.encodeNonAsciiHTML; } }));
Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return encode_2.escape; } }));
Object.defineProperty(exports, "escapeUTF8", ({ enumerable: true, get: function () { return encode_2.escapeUTF8; } }));
// Legacy aliases (deprecated)
Object.defineProperty(exports, "encodeHTML4", ({ enumerable: true, get: function () { return encode_2.encodeHTML; } }));
Object.defineProperty(exports, "encodeHTML5", ({ enumerable: true, get: function () { return encode_2.encodeHTML; } }));
var decode_2 = __nccwpck_require__(85107);
Object.defineProperty(exports, "decodeXML", ({ enumerable: true, get: function () { return decode_2.decodeXML; } }));
Object.defineProperty(exports, "decodeHTML", ({ enumerable: true, get: function () { return decode_2.decodeHTML; } }));
Object.defineProperty(exports, "decodeHTMLStrict", ({ enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }));
// Legacy aliases (deprecated)
Object.defineProperty(exports, "decodeHTML4", ({ enumerable: true, get: function () { return decode_2.decodeHTML; } }));
Object.defineProperty(exports, "decodeHTML5", ({ enumerable: true, get: function () { return decode_2.decodeHTML; } }));
Object.defineProperty(exports, "decodeHTML4Strict", ({ enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }));
Object.defineProperty(exports, "decodeHTML5Strict", ({ enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } }));
Object.defineProperty(exports, "decodeXMLStrict", ({ enumerable: true, get: function () { return decode_2.decodeXML; } }));


/***/ }),

/***/ 23505:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


var util = __nccwpck_require__(31669);
var isArrayish = __nccwpck_require__(7604);

var errorEx = function errorEx(name, properties) {
	if (!name || name.constructor !== String) {
		properties = name || {};
		name = Error.name;
	}

	var errorExError = function ErrorEXError(message) {
		if (!this) {
			return new ErrorEXError(message);
		}

		message = message instanceof Error
			? message.message
			: (message || this.message);

		Error.call(this, message);
		Error.captureStackTrace(this, errorExError);

		this.name = name;

		Object.defineProperty(this, 'message', {
			configurable: true,
			enumerable: false,
			get: function () {
				var newMessage = message.split(/\r?\n/g);

				for (var key in properties) {
					if (!properties.hasOwnProperty(key)) {
						continue;
					}

					var modifier = properties[key];

					if ('message' in modifier) {
						newMessage = modifier.message(this[key], newMessage) || newMessage;
						if (!isArrayish(newMessage)) {
							newMessage = [newMessage];
						}
					}
				}

				return newMessage.join('\n');
			},
			set: function (v) {
				message = v;
			}
		});

		var overwrittenStack = null;

		var stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');
		var stackGetter = stackDescriptor.get;
		var stackValue = stackDescriptor.value;
		delete stackDescriptor.value;
		delete stackDescriptor.writable;

		stackDescriptor.set = function (newstack) {
			overwrittenStack = newstack;
		};

		stackDescriptor.get = function () {
			var stack = (overwrittenStack || ((stackGetter)
				? stackGetter.call(this)
				: stackValue)).split(/\r?\n+/g);

			// starting in Node 7, the stack builder caches the message.
			// just replace it.
			if (!overwrittenStack) {
				stack[0] = this.name + ': ' + this.message;
			}

			var lineCount = 1;
			for (var key in properties) {
				if (!properties.hasOwnProperty(key)) {
					continue;
				}

				var modifier = properties[key];

				if ('line' in modifier) {
					var line = modifier.line(this[key]);
					if (line) {
						stack.splice(lineCount++, 0, '    ' + line);
					}
				}

				if ('stack' in modifier) {
					modifier.stack(this[key], stack);
				}
			}

			return stack.join('\n');
		};

		Object.defineProperty(this, 'stack', stackDescriptor);
	};

	if (Object.setPrototypeOf) {
		Object.setPrototypeOf(errorExError.prototype, Error.prototype);
		Object.setPrototypeOf(errorExError, Error);
	} else {
		util.inherits(errorExError, Error);
	}

	return errorExError;
};

errorEx.append = function (str, def) {
	return {
		message: function (v, message) {
			v = v || def;

			if (v) {
				message[0] += ' ' + str.replace('%s', v.toString());
			}

			return message;
		}
	};
};

errorEx.line = function (str, def) {
	return {
		line: function (v) {
			v = v || def;

			if (v) {
				return str.replace('%s', v.toString());
			}

			return null;
		}
	};
};

module.exports = errorEx;


/***/ }),

/***/ 85729:
/***/ (function(module) {

/**
 * @license Fraction.js v4.1.1 23/05/2021
 * https://www.xarg.org/2014/03/rational-numbers-in-javascript/
 *
 * Copyright (c) 2021, Robert Eisele (robert@xarg.org)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 **/


/**
 *
 * This class offers the possibility to calculate fractions.
 * You can pass a fraction in different formats. Either as array, as double, as string or as an integer.
 *
 * Array/Object form
 * [ 0 => <nominator>, 1 => <denominator> ]
 * [ n => <nominator>, d => <denominator> ]
 *
 * Integer form
 * - Single integer value
 *
 * Double form
 * - Single double value
 *
 * String form
 * 123.456 - a simple double
 * 123/456 - a string fraction
 * 123.'456' - a double with repeating decimal places
 * 123.(456) - synonym
 * 123.45'6' - a double with repeating last place
 * 123.45(6) - synonym
 *
 * Example:
 *
 * var f = new Fraction("9.4'31'");
 * f.mul([-4, 3]).div(4.9);
 *
 */

(function(root) {

  "use strict";

  // Maximum search depth for cyclic rational numbers. 2000 should be more than enough.
  // Example: 1/7 = 0.(142857) has 6 repeating decimal places.
  // If MAX_CYCLE_LEN gets reduced, long cycles will not be detected and toString() only gets the first 10 digits
  var MAX_CYCLE_LEN = 2000;

  // Parsed data to avoid calling "new" all the time
  var P = {
    "s": 1,
    "n": 0,
    "d": 1
  };

  function createError(name) {

    function errorConstructor() {
      var temp = Error.apply(this, arguments);
      temp['name'] = this['name'] = name;
      this['stack'] = temp['stack'];
      this['message'] = temp['message'];
    }

    /**
     * Error constructor
     *
     * @constructor
     */
    function IntermediateInheritor() { }
    IntermediateInheritor.prototype = Error.prototype;
    errorConstructor.prototype = new IntermediateInheritor();

    return errorConstructor;
  }

  var DivisionByZero = Fraction['DivisionByZero'] = createError('DivisionByZero');
  var InvalidParameter = Fraction['InvalidParameter'] = createError('InvalidParameter');

  function assign(n, s) {

    if (isNaN(n = parseInt(n, 10))) {
      throwInvalidParam();
    }
    return n * s;
  }

  function throwInvalidParam() {
    throw new InvalidParameter();
  }

  function factorize(num) {

    var factors = {};

    var n = num;
    var i = 2;
    var s = 4;

    while (s <= n) {

      while (n % i === 0) {
        n /= i;
        factors[i] = (factors[i] || 0) + 1;
      }
      s += 1 + 2 * i++;
    }

    if (n !== num) {
      if (n > 1)
      factors[n] = (factors[n] || 0) + 1;
    } else {
      factors[num] = (factors[num] || 0) + 1;
    }
    return factors;
  }

  var parse = function(p1, p2) {

    var n = 0, d = 1, s = 1;
    var v = 0, w = 0, x = 0, y = 1, z = 1;

    var A = 0, B = 1;
    var C = 1, D = 1;

    var N = 10000000;
    var M;

    if (p1 === undefined || p1 === null) {
      /* void */
    } else if (p2 !== undefined) {
      n = p1;
      d = p2;
      s = n * d;
    } else
      switch (typeof p1) {

        case "object":
          {
            if ("d" in p1 && "n" in p1) {
              n = p1["n"];
              d = p1["d"];
              if ("s" in p1)
                n *= p1["s"];
            } else if (0 in p1) {
              n = p1[0];
              if (1 in p1)
                d = p1[1];
            } else {
              throwInvalidParam();
            }
            s = n * d;
            break;
          }
        case "number":
          {
            if (p1 < 0) {
              s = p1;
              p1 = -p1;
            }

            if (p1 % 1 === 0) {
              n = p1;
            } else if (p1 > 0) { // check for != 0, scale would become NaN (log(0)), which converges really slow

              if (p1 >= 1) {
                z = Math.pow(10, Math.floor(1 + Math.log(p1) / Math.LN10));
                p1 /= z;
              }

              // Using Farey Sequences
              // http://www.johndcook.com/blog/2010/10/20/best-rational-approximation/

              while (B <= N && D <= N) {
                M = (A + C) / (B + D);

                if (p1 === M) {
                  if (B + D <= N) {
                    n = A + C;
                    d = B + D;
                  } else if (D > B) {
                    n = C;
                    d = D;
                  } else {
                    n = A;
                    d = B;
                  }
                  break;

                } else {

                  if (p1 > M) {
                    A += C;
                    B += D;
                  } else {
                    C += A;
                    D += B;
                  }

                  if (B > N) {
                    n = C;
                    d = D;
                  } else {
                    n = A;
                    d = B;
                  }
                }
              }
              n *= z;
            } else if (isNaN(p1) || isNaN(p2)) {
              d = n = NaN;
            }
            break;
          }
        case "string":
          {
            B = p1.match(/\d+|./g);

            if (B === null)
              throwInvalidParam();

            if (B[A] === '-') {// Check for minus sign at the beginning
              s = -1;
              A++;
            } else if (B[A] === '+') {// Check for plus sign at the beginning
              A++;
            }

            if (B.length === A + 1) { // Check if it's just a simple number "1234"
              w = assign(B[A++], s);
            } else if (B[A + 1] === '.' || B[A] === '.') { // Check if it's a decimal number

              if (B[A] !== '.') { // Handle 0.5 and .5
                v = assign(B[A++], s);
              }
              A++;

              // Check for decimal places
              if (A + 1 === B.length || B[A + 1] === '(' && B[A + 3] === ')' || B[A + 1] === "'" && B[A + 3] === "'") {
                w = assign(B[A], s);
                y = Math.pow(10, B[A].length);
                A++;
              }

              // Check for repeating places
              if (B[A] === '(' && B[A + 2] === ')' || B[A] === "'" && B[A + 2] === "'") {
                x = assign(B[A + 1], s);
                z = Math.pow(10, B[A + 1].length) - 1;
                A += 3;
              }

            } else if (B[A + 1] === '/' || B[A + 1] === ':') { // Check for a simple fraction "123/456" or "123:456"
              w = assign(B[A], s);
              y = assign(B[A + 2], 1);
              A += 3;
            } else if (B[A + 3] === '/' && B[A + 1] === ' ') { // Check for a complex fraction "123 1/2"
              v = assign(B[A], s);
              w = assign(B[A + 2], s);
              y = assign(B[A + 4], 1);
              A += 5;
            }

            if (B.length <= A) { // Check for more tokens on the stack
              d = y * z;
              s = /* void */
              n = x + d * v + z * w;
              break;
            }

            /* Fall through on error */
          }
        default:
          throwInvalidParam();
      }

    if (d === 0) {
      throw new DivisionByZero();
    }

    P["s"] = s < 0 ? -1 : 1;
    P["n"] = Math.abs(n);
    P["d"] = Math.abs(d);
  };

  function modpow(b, e, m) {

    var r = 1;
    for (; e > 0; b = (b * b) % m, e >>= 1) {

      if (e & 1) {
        r = (r * b) % m;
      }
    }
    return r;
  }


  function cycleLen(n, d) {

    for (; d % 2 === 0;
      d /= 2) {
    }

    for (; d % 5 === 0;
      d /= 5) {
    }

    if (d === 1) // Catch non-cyclic numbers
      return 0;

    // If we would like to compute really large numbers quicker, we could make use of Fermat's little theorem:
    // 10^(d-1) % d == 1
    // However, we don't need such large numbers and MAX_CYCLE_LEN should be the capstone,
    // as we want to translate the numbers to strings.

    var rem = 10 % d;
    var t = 1;

    for (; rem !== 1; t++) {
      rem = rem * 10 % d;

      if (t > MAX_CYCLE_LEN)
        return 0; // Returning 0 here means that we don't print it as a cyclic number. It's likely that the answer is `d-1`
    }
    return t;
  }


  function cycleStart(n, d, len) {

    var rem1 = 1;
    var rem2 = modpow(10, len, d);

    for (var t = 0; t < 300; t++) { // s < ~log10(Number.MAX_VALUE)
      // Solve 10^s == 10^(s+t) (mod d)

      if (rem1 === rem2)
        return t;

      rem1 = rem1 * 10 % d;
      rem2 = rem2 * 10 % d;
    }
    return 0;
  }

  function gcd(a, b) {

    if (!a)
      return b;
    if (!b)
      return a;

    while (1) {
      a %= b;
      if (!a)
        return b;
      b %= a;
      if (!b)
        return a;
    }
  };

  /**
   * Module constructor
   *
   * @constructor
   * @param {number|Fraction=} a
   * @param {number=} b
   */
  function Fraction(a, b) {

    if (!(this instanceof Fraction)) {
      return new Fraction(a, b);
    }

    parse(a, b);

    if (Fraction['REDUCE']) {
      a = gcd(P["d"], P["n"]); // Abuse a
    } else {
      a = 1;
    }

    this["s"] = P["s"];
    this["n"] = P["n"] / a;
    this["d"] = P["d"] / a;
  }

  /**
   * Boolean global variable to be able to disable automatic reduction of the fraction
   *
   */
  Fraction['REDUCE'] = 1;

  Fraction.prototype = {

    "s": 1,
    "n": 0,
    "d": 1,

    /**
     * Calculates the absolute value
     *
     * Ex: new Fraction(-4).abs() => 4
     **/
    "abs": function() {

      return new Fraction(this["n"], this["d"]);
    },

    /**
     * Inverts the sign of the current fraction
     *
     * Ex: new Fraction(-4).neg() => 4
     **/
    "neg": function() {

      return new Fraction(-this["s"] * this["n"], this["d"]);
    },

    /**
     * Adds two rational numbers
     *
     * Ex: new Fraction({n: 2, d: 3}).add("14.9") => 467 / 30
     **/
    "add": function(a, b) {

      parse(a, b);
      return new Fraction(
        this["s"] * this["n"] * P["d"] + P["s"] * this["d"] * P["n"],
        this["d"] * P["d"]
      );
    },

    /**
     * Subtracts two rational numbers
     *
     * Ex: new Fraction({n: 2, d: 3}).add("14.9") => -427 / 30
     **/
    "sub": function(a, b) {

      parse(a, b);
      return new Fraction(
        this["s"] * this["n"] * P["d"] - P["s"] * this["d"] * P["n"],
        this["d"] * P["d"]
      );
    },

    /**
     * Multiplies two rational numbers
     *
     * Ex: new Fraction("-17.(345)").mul(3) => 5776 / 111
     **/
    "mul": function(a, b) {

      parse(a, b);
      return new Fraction(
        this["s"] * P["s"] * this["n"] * P["n"],
        this["d"] * P["d"]
      );
    },

    /**
     * Divides two rational numbers
     *
     * Ex: new Fraction("-17.(345)").inverse().div(3)
     **/
    "div": function(a, b) {

      parse(a, b);
      return new Fraction(
        this["s"] * P["s"] * this["n"] * P["d"],
        this["d"] * P["n"]
      );
    },

    /**
     * Clones the actual object
     *
     * Ex: new Fraction("-17.(345)").clone()
     **/
    "clone": function() {
      return new Fraction(this);
    },

    /**
     * Calculates the modulo of two rational numbers - a more precise fmod
     *
     * Ex: new Fraction('4.(3)').mod([7, 8]) => (13/3) % (7/8) = (5/6)
     **/
    "mod": function(a, b) {

      if (isNaN(this['n']) || isNaN(this['d'])) {
        return new Fraction(NaN);
      }

      if (a === undefined) {
        return new Fraction(this["s"] * this["n"] % this["d"], 1);
      }

      parse(a, b);
      if (0 === P["n"] && 0 === this["d"]) {
        Fraction(0, 0); // Throw DivisionByZero
      }

      /*
       * First silly attempt, kinda slow
       *
       return that["sub"]({
       "n": num["n"] * Math.floor((this.n / this.d) / (num.n / num.d)),
       "d": num["d"],
       "s": this["s"]
       });*/

      /*
       * New attempt: a1 / b1 = a2 / b2 * q + r
       * => b2 * a1 = a2 * b1 * q + b1 * b2 * r
       * => (b2 * a1 % a2 * b1) / (b1 * b2)
       */
      return new Fraction(
        this["s"] * (P["d"] * this["n"]) % (P["n"] * this["d"]),
        P["d"] * this["d"]
      );
    },

    /**
     * Calculates the fractional gcd of two rational numbers
     *
     * Ex: new Fraction(5,8).gcd(3,7) => 1/56
     */
    "gcd": function(a, b) {

      parse(a, b);

      // gcd(a / b, c / d) = gcd(a, c) / lcm(b, d)

      return new Fraction(gcd(P["n"], this["n"]) * gcd(P["d"], this["d"]), P["d"] * this["d"]);
    },

    /**
     * Calculates the fractional lcm of two rational numbers
     *
     * Ex: new Fraction(5,8).lcm(3,7) => 15
     */
    "lcm": function(a, b) {

      parse(a, b);

      // lcm(a / b, c / d) = lcm(a, c) / gcd(b, d)

      if (P["n"] === 0 && this["n"] === 0) {
        return new Fraction;
      }
      return new Fraction(P["n"] * this["n"], gcd(P["n"], this["n"]) * gcd(P["d"], this["d"]));
    },

    /**
     * Calculates the ceil of a rational number
     *
     * Ex: new Fraction('4.(3)').ceil() => (5 / 1)
     **/
    "ceil": function(places) {

      places = Math.pow(10, places || 0);

      if (isNaN(this["n"]) || isNaN(this["d"])) {
        return new Fraction(NaN);
      }
      return new Fraction(Math.ceil(places * this["s"] * this["n"] / this["d"]), places);
    },

    /**
     * Calculates the floor of a rational number
     *
     * Ex: new Fraction('4.(3)').floor() => (4 / 1)
     **/
    "floor": function(places) {

      places = Math.pow(10, places || 0);

      if (isNaN(this["n"]) || isNaN(this["d"])) {
        return new Fraction(NaN);
      }
      return new Fraction(Math.floor(places * this["s"] * this["n"] / this["d"]), places);
    },

    /**
     * Rounds a rational numbers
     *
     * Ex: new Fraction('4.(3)').round() => (4 / 1)
     **/
    "round": function(places) {

      places = Math.pow(10, places || 0);

      if (isNaN(this["n"]) || isNaN(this["d"])) {
        return new Fraction(NaN);
      }
      return new Fraction(Math.round(places * this["s"] * this["n"] / this["d"]), places);
    },

    /**
     * Gets the inverse of the fraction, means numerator and denominator are exchanged
     *
     * Ex: new Fraction([-3, 4]).inverse() => -4 / 3
     **/
    "inverse": function() {

      return new Fraction(this["s"] * this["d"], this["n"]);
    },

    /**
     * Calculates the fraction to some rational exponent, if possible
     *
     * Ex: new Fraction(-1,2).pow(-3) => -8
     */
    "pow": function(a, b) {

      parse(a, b);

      // Trivial case when exp is an integer

      if (P['d'] === 1) {

        if (P['s'] < 0) {
          return new Fraction(Math.pow(this['s'] * this["d"], P['n']), Math.pow(this["n"], P['n']));
        } else {
          return new Fraction(Math.pow(this['s'] * this["n"], P['n']), Math.pow(this["d"], P['n']));
        }
      }

      // Negative roots become complex
      //     (-a/b)^(c/d) = x
      // <=> (-1)^(c/d) * (a/b)^(c/d) = x
      // <=> (cos(pi) + i*sin(pi))^(c/d) * (a/b)^(c/d) = x         # rotate 1 by 180°
      // <=> (cos(c*pi/d) + i*sin(c*pi/d)) * (a/b)^(c/d) = x       # DeMoivre's formula in Q ( https://proofwiki.org/wiki/De_Moivre%27s_Formula/Rational_Index )
      // From which follows that only for c=0 the root is non-complex. c/d is a reduced fraction, so that sin(c/dpi)=0 occurs for d=1, which is handled by our trivial case.
      if (this['s'] < 0) return null;

      // Now prime factor n and d
      var N = factorize(this['n']);
      var D = factorize(this['d']);

      // Exponentiate and take root for n and d individually
      var n = 1;
      var d = 1;
      for (var k in N) {
        if (k === '1') continue;
        if (k === '0') {
          n = 0;
          break;
        }
        N[k]*= P['n'];

        if (N[k] % P['d'] === 0) {
          N[k]/= P['d'];
        } else return null;
        n*= Math.pow(k, N[k]);
      }

      for (var k in D) {
        if (k === '1') continue;
        D[k]*= P['n'];

        if (D[k] % P['d'] === 0) {
          D[k]/= P['d'];
        } else return null;
        d*= Math.pow(k, D[k]);
      }

      if (P['s'] < 0) {
        return new Fraction(d, n);
      }
      return new Fraction(n, d);
    },

    /**
     * Check if two rational numbers are the same
     *
     * Ex: new Fraction(19.6).equals([98, 5]);
     **/
    "equals": function(a, b) {

      parse(a, b);
      return this["s"] * this["n"] * P["d"] === P["s"] * P["n"] * this["d"]; // Same as compare() === 0
    },

    /**
     * Check if two rational numbers are the same
     *
     * Ex: new Fraction(19.6).equals([98, 5]);
     **/
    "compare": function(a, b) {

      parse(a, b);
      var t = (this["s"] * this["n"] * P["d"] - P["s"] * P["n"] * this["d"]);
      return (0 < t) - (t < 0);
    },

    "simplify": function(eps) {

      // First naive implementation, needs improvement

      if (isNaN(this['n']) || isNaN(this['d'])) {
        return this;
      }

      var cont = this['abs']()['toContinued']();

      eps = eps || 0.001;

      function rec(a) {
        if (a.length === 1)
          return new Fraction(a[0]);
        return rec(a.slice(1))['inverse']()['add'](a[0]);
      }

      for (var i = 0; i < cont.length; i++) {
        var tmp = rec(cont.slice(0, i + 1));
        if (tmp['sub'](this['abs']())['abs']().valueOf() < eps) {
          return tmp['mul'](this['s']);
        }
      }
      return this;
    },

    /**
     * Check if two rational numbers are divisible
     *
     * Ex: new Fraction(19.6).divisible(1.5);
     */
    "divisible": function(a, b) {

      parse(a, b);
      return !(!(P["n"] * this["d"]) || ((this["n"] * P["d"]) % (P["n"] * this["d"])));
    },

    /**
     * Returns a decimal representation of the fraction
     *
     * Ex: new Fraction("100.'91823'").valueOf() => 100.91823918239183
     **/
    'valueOf': function() {

      return this["s"] * this["n"] / this["d"];
    },

    /**
     * Returns a string-fraction representation of a Fraction object
     *
     * Ex: new Fraction("1.'3'").toFraction() => "4 1/3"
     **/
    'toFraction': function(excludeWhole) {

      var whole, str = "";
      var n = this["n"];
      var d = this["d"];
      if (this["s"] < 0) {
        str += '-';
      }

      if (d === 1) {
        str += n;
      } else {

        if (excludeWhole && (whole = Math.floor(n / d)) > 0) {
          str += whole;
          str += " ";
          n %= d;
        }

        str += n;
        str += '/';
        str += d;
      }
      return str;
    },

    /**
     * Returns a latex representation of a Fraction object
     *
     * Ex: new Fraction("1.'3'").toLatex() => "\frac{4}{3}"
     **/
    'toLatex': function(excludeWhole) {

      var whole, str = "";
      var n = this["n"];
      var d = this["d"];
      if (this["s"] < 0) {
        str += '-';
      }

      if (d === 1) {
        str += n;
      } else {

        if (excludeWhole && (whole = Math.floor(n / d)) > 0) {
          str += whole;
          n %= d;
        }

        str += "\\frac{";
        str += n;
        str += '}{';
        str += d;
        str += '}';
      }
      return str;
    },

    /**
     * Returns an array of continued fraction elements
     *
     * Ex: new Fraction("7/8").toContinued() => [0,1,7]
     */
    'toContinued': function() {

      var t;
      var a = this['n'];
      var b = this['d'];
      var res = [];

      if (isNaN(a) || isNaN(b)) {
        return res;
      }

      do {
        res.push(Math.floor(a / b));
        t = a % b;
        a = b;
        b = t;
      } while (a !== 1);

      return res;
    },

    /**
     * Creates a string representation of a fraction with all digits
     *
     * Ex: new Fraction("100.'91823'").toString() => "100.(91823)"
     **/
    'toString': function(dec) {

      var g;
      var N = this["n"];
      var D = this["d"];

      if (isNaN(N) || isNaN(D)) {
        return "NaN";
      }

      if (!Fraction['REDUCE']) {
        g = gcd(N, D);
        N /= g;
        D /= g;
      }

      dec = dec || 15; // 15 = decimal places when no repetation

      var cycLen = cycleLen(N, D); // Cycle length
      var cycOff = cycleStart(N, D, cycLen); // Cycle start

      var str = this['s'] === -1 ? "-" : "";

      str += N / D | 0;

      N %= D;
      N *= 10;

      if (N)
        str += ".";

      if (cycLen) {

        for (var i = cycOff; i--;) {
          str += N / D | 0;
          N %= D;
          N *= 10;
        }
        str += "(";
        for (var i = cycLen; i--;) {
          str += N / D | 0;
          N %= D;
          N *= 10;
        }
        str += ")";
      } else {
        for (var i = dec; N && i--;) {
          str += N / D | 0;
          N %= D;
          N *= 10;
        }
      }
      return str;
    }
  };

  if (typeof define === "function" && define["amd"]) {
    define([], function() {
      return Fraction;
    });
  } else if (true) {
    Object.defineProperty(Fraction, "__esModule", { 'value': true });
    Fraction['default'] = Fraction;
    Fraction['Fraction'] = Fraction;
    module['exports'] = Fraction;
  } else {}

})(this);


/***/ }),

/***/ 35539:
/***/ ((module) => {

"use strict";
/*!
 * hex-color-regex <https://github.com/regexps/hex-color-regex>
 *
 * Copyright (c) 2015 Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk)
 * Released under the MIT license.
 */



module.exports = function hexColorRegex(opts) {
  opts = opts && typeof opts === 'object' ? opts : {}

  return opts.strict
    ? /^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/i
    : /#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})\b/gi
}


/***/ }),

/***/ 85299:
/***/ ((module) => {

"use strict";


module.exports = function hslRegex(options) {
  options = options || {};

  return options.exact ?
    /^hsl\(\s*(\d+)\s*,\s*(\d*(?:\.\d+)?%)\s*,\s*(\d*(?:\.\d+)?%)\)$/ :
    /hsl\(\s*(\d+)\s*,\s*(\d*(?:\.\d+)?%)\s*,\s*(\d*(?:\.\d+)?%)\)/ig;
}


/***/ }),

/***/ 7145:
/***/ ((module) => {

"use strict";


module.exports = function hslaRegex(options) {
  options = options || {};

  return options.exact ?
    /^hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*(\d*(?:\.\d+)?)\)$/ :
    /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*(\d*(?:\.\d+)?)\)/ig;
}


/***/ }),

/***/ 52714:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

const path = __nccwpck_require__(85622);
const resolveFrom = __nccwpck_require__(22053);
const parentModule = __nccwpck_require__(79069);

module.exports = moduleId => {
	if (typeof moduleId !== 'string') {
		throw new TypeError('Expected a string');
	}

	const parentPath = parentModule(__filename);

	const cwd = parentPath ? path.dirname(parentPath) : __dirname;
	const filePath = resolveFrom(cwd, moduleId);

	const oldModule = require.cache[filePath];
	// Delete itself from module parent
	if (oldModule && oldModule.parent) {
		let i = oldModule.parent.children.length;

		while (i--) {
			if (oldModule.parent.children[i].id === filePath) {
				oldModule.parent.children.splice(i, 1);
			}
		}
	}

	delete require.cache[filePath]; // Delete module from cache

	const parent = require.cache[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step

	return parent === undefined ? require(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require
};


/***/ }),

/***/ 22053:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

const path = __nccwpck_require__(85622);
const Module = __nccwpck_require__(32282);
const fs = __nccwpck_require__(35747);

const resolveFrom = (fromDir, moduleId, silent) => {
	if (typeof fromDir !== 'string') {
		throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``);
	}

	if (typeof moduleId !== 'string') {
		throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);
	}

	try {
		fromDir = fs.realpathSync(fromDir);
	} catch (err) {
		if (err.code === 'ENOENT') {
			fromDir = path.resolve(fromDir);
		} else if (silent) {
			return null;
		} else {
			throw err;
		}
	}

	const fromFile = path.join(fromDir, 'noop.js');

	const resolveFileName = () => Module._resolveFilename(moduleId, {
		id: fromFile,
		filename: fromFile,
		paths: Module._nodeModulePaths(fromDir)
	});

	if (silent) {
		try {
			return resolveFileName();
		} catch (err) {
			return null;
		}
	}

	return resolveFileName();
};

module.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId);
module.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);


/***/ }),

/***/ 34064:
/***/ ((module) => {

"use strict";


module.exports = url => {
	if (typeof url !== 'string') {
		throw new TypeError(`Expected a \`string\`, got \`${typeof url}\``);
	}

	// Don't match Windows paths `c:\`
	if (/^[a-zA-Z]:\\/.test(url)) {
		return false;
	}

	// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
	// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
	return /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(url);
};


/***/ }),

/***/ 7604:
/***/ ((module) => {

"use strict";


module.exports = function isArrayish(obj) {
	if (!obj) {
		return false;
	}

	return obj instanceof Array || Array.isArray(obj) ||
		(obj.length >= 0 && obj.splice instanceof Function);
};


/***/ }),

/***/ 80250:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const isRGB = __nccwpck_require__(58610);
const isRGBA = __nccwpck_require__(58405);
const isHSL = __nccwpck_require__(63402);
const isHSLA = __nccwpck_require__(18604);
const isHex = __nccwpck_require__(44672);
const isCSSColorName = __nccwpck_require__(67380);
const isTransparent = __nccwpck_require__(50647);
const isCSSLengthUnit = __nccwpck_require__(82694);
const isStop = __nccwpck_require__(56625);

function isColor(colorStr) {
  const color =
    isRGB(colorStr) ||
    isRGBA(colorStr) ||
    isHSL(colorStr) ||
    isHSLA(colorStr) ||
    isHex(colorStr) ||
    isCSSColorName(colorStr) ||
    isTransparent(colorStr);

  return color;
}


module.exports = function isColorStop(color, stop) {
  return isColor(color) && isStop(stop);
};
module.exports.isColor = isColor;
module.exports.isRGB = isRGB;
module.exports.isRGBA = isRGBA;
module.exports.isHSL = isHSL;
module.exports.isHSLA = isHSLA;
module.exports.isHex = isHex;
module.exports.isCSSColorName = isCSSColorName;
module.exports.isTransparent = isTransparent;
module.exports.isCSSLengthUnit = isCSSLengthUnit;


/***/ }),

/***/ 67380:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const colorNames = __nccwpck_require__(34600);

function isCSSColorName(str) {
  return !!colorNames[str];
}

module.exports = isCSSColorName;


/***/ }),

/***/ 82694:
/***/ ((module) => {

"use strict";


const lengthArray = [
  'PX',
  'IN',
  'CM',
  'MM',
  'EM',
  'REM',
  'POINTS',
  'PC',
  'EX',
  'CH',
  'VW',
  'VH',
  'VMIN',
  'VMAX',
  '%',
];

function isCSSLengthUnit(unit) {
  return lengthArray.indexOf(unit.toUpperCase()) >= 0;
}

module.exports = isCSSLengthUnit;


/***/ }),

/***/ 63402:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const hslRegex = __nccwpck_require__(85299);

function isHSL(str) {
  return hslRegex({ exact: true }).test(str);
}

module.exports = isHSL;


/***/ }),

/***/ 18604:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const hslaRegex = __nccwpck_require__(7145);

function isHSLA(str) {
  return hslaRegex({ exact: true }).test(str);
}

module.exports = isHSLA;


/***/ }),

/***/ 44672:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const hexRegex = __nccwpck_require__(35539);

function isHex(str) {
  return hexRegex({ exact: true }).test(str);
}

module.exports = isHex;


/***/ }),

/***/ 58610:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const rgbRegex = __nccwpck_require__(8634);

function isRGB(str) {
  return rgbRegex({ exact: true }).test(str);
}

module.exports = isRGB;


/***/ }),

/***/ 58405:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const rgbaRegex = __nccwpck_require__(18001);

function isRgba(str) {
  return rgbaRegex({ exact: true }).test(str);
}

module.exports = isRgba;


/***/ }),

/***/ 56625:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const isCSSLengthUnit = __nccwpck_require__(82694);
const unit = __nccwpck_require__(80585);

function isStop(str) {
  let stop = !str;
  
  if (!stop) {
    const node = unit(str);
    if (node) {
      if (node.number === 0 || (!isNaN(node.number) && isCSSLengthUnit(node.unit))) {
        stop = true;
      }
    } else {
      stop = (/^calc\(\S+\)$/g).test(str);
    }
  }

  return stop;
}

module.exports = isStop;


/***/ }),

/***/ 50647:
/***/ ((module) => {

"use strict";


function isTransparent(str) {
  return str === 'transparent';
}

module.exports = isTransparent;


/***/ }),

/***/ 80585:
/***/ ((module) => {

"use strict";


/**
 * https://github.com/TrySound/postcss-value-parser/blob/fc679a7e17877841ff9fe455722280b65abd4f28/lib/unit.js
 * parse node -> number and unit
 */

const minus = '-'.charCodeAt(0);
const plus = '+'.charCodeAt(0);
const dot = '.'.charCodeAt(0);

module.exports = function unit(value) {
  let pos = 0;
  const length = value.length;
  let dotted = false;
  let containsNumber = false;
  let code;
  let number = '';

  while (pos < length) {
    code = value.charCodeAt(pos);

    if (code >= 48 && code <= 57) {
      number += value[pos];
      containsNumber = true;
    } else if (code === dot) {
      if (dotted) {
        break;
      }
      dotted = true;
      number += value[pos];
    } else if (code === plus || code === minus) {
      if (pos !== 0) {
        break;
      }
      number += value[pos];
    } else {
      break;
    }

    pos += 1;
  }

  return containsNumber ? {
    number,
    unit: value.slice(pos),
  } : false;
};


/***/ }),

/***/ 80922:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


var inspect = __nccwpck_require__(31669).inspect;

module.exports = function isResolvable(moduleId, options) {
	if (typeof moduleId !== 'string') {
		throw new TypeError(inspect(moduleId) + ' is not a string. Expected a valid Node.js module identifier (<string>), for example \'eslint\', \'./index.js\', \'./lib\'.');
	}

	try {
		require.resolve(moduleId, options);
		return true;
	} catch (err) {
		return false;
	}
};


/***/ }),

/***/ 51531:
/***/ ((__unused_webpack_module, exports) => {

// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell
// License: MIT. (See LICENSE.)

Object.defineProperty(exports, "__esModule", ({
  value: true
}))

// This regex comes from regex.coffee, and is inserted here by generate-index.js
// (run `npm run build`).
exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g

exports.matchToToken = function(match) {
  var token = {type: "invalid", value: match[0], closed: undefined}
       if (match[ 1]) token.type = "string" , token.closed = !!(match[3] || match[4])
  else if (match[ 5]) token.type = "comment"
  else if (match[ 6]) token.type = "comment", token.closed = !!match[7]
  else if (match[ 8]) token.type = "regex"
  else if (match[ 9]) token.type = "number"
  else if (match[10]) token.type = "name"
  else if (match[11]) token.type = "punctuator"
  else if (match[12]) token.type = "whitespace"
  return token
}


/***/ }),

/***/ 89062:
/***/ ((module) => {

"use strict";


const hexify = char => {
  const h = char.charCodeAt(0).toString(16).toUpperCase()
  return '0x' + (h.length % 2 ? '0' : '') + h
}

const parseError = (e, txt, context) => {
  if (!txt) {
    return {
      message: e.message + ' while parsing empty string',
      position: 0,
    }
  }
  const badToken = e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i)
  const errIdx = badToken ? +badToken[2]
    : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1
    : null

  const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${
      JSON.stringify(badToken[1])
    } (${hexify(badToken[1])})`)
    : e.message

  if (errIdx !== null && errIdx !== undefined) {
    const start = errIdx <= context ? 0
      : errIdx - context

    const end = errIdx + context >= txt.length ? txt.length
      : errIdx + context

    const slice = (start === 0 ? '' : '...') +
      txt.slice(start, end) +
      (end === txt.length ? '' : '...')

    const near = txt === slice ? '' : 'near '

    return {
      message: msg + ` while parsing ${near}${JSON.stringify(slice)}`,
      position: errIdx,
    }
  } else {
    return {
      message: msg + ` while parsing '${txt.slice(0, context * 2)}'`,
      position: 0,
    }
  }
}

class JSONParseError extends SyntaxError {
  constructor (er, txt, context, caller) {
    context = context || 20
    const metadata = parseError(er, txt, context)
    super(metadata.message)
    Object.assign(this, metadata)
    this.code = 'EJSONPARSE'
    this.systemError = er
    Error.captureStackTrace(this, caller || this.constructor)
  }
  get name () { return this.constructor.name }
  set name (n) {}
  get [Symbol.toStringTag] () { return this.constructor.name }
}

const kIndent = Symbol.for('indent')
const kNewline = Symbol.for('newline')
// only respect indentation if we got a line break, otherwise squash it
// things other than objects and arrays aren't indented, so ignore those
// Important: in both of these regexps, the $1 capture group is the newline
// or undefined, and the $2 capture group is the indent, or undefined.
const formatRE = /^\s*[{\[]((?:\r?\n)+)([\s\t]*)/
const emptyRE = /^(?:\{\}|\[\])((?:\r?\n)+)?$/

const parseJson = (txt, reviver, context) => {
  const parseText = stripBOM(txt)
  context = context || 20
  try {
    // get the indentation so that we can save it back nicely
    // if the file starts with {" then we have an indent of '', ie, none
    // otherwise, pick the indentation of the next line after the first \n
    // If the pattern doesn't match, then it means no indentation.
    // JSON.stringify ignores symbols, so this is reasonably safe.
    // if the string is '{}' or '[]', then use the default 2-space indent.
    const [, newline = '\n', indent = '  '] = parseText.match(emptyRE) ||
      parseText.match(formatRE) ||
      [, '', '']

    const result = JSON.parse(parseText, reviver)
    if (result && typeof result === 'object') {
      result[kNewline] = newline
      result[kIndent] = indent
    }
    return result
  } catch (e) {
    if (typeof txt !== 'string' && !Buffer.isBuffer(txt)) {
      const isEmptyArray = Array.isArray(txt) && txt.length === 0
      throw Object.assign(new TypeError(
        `Cannot parse ${isEmptyArray ? 'an empty array' : String(txt)}`
      ), {
        code: 'EJSONPARSE',
        systemError: e,
      })
    }

    throw new JSONParseError(e, parseText, context, parseJson)
  }
}

// Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
// because the buffer-to-string conversion in `fs.readFileSync()`
// translates it to FEFF, the UTF-16 BOM.
const stripBOM = txt => String(txt).replace(/^\uFEFF/, '')

module.exports = parseJson
parseJson.JSONParseError = JSONParseError

parseJson.noExceptions = (txt, reviver) => {
  try {
    return JSON.parse(stripBOM(txt), reviver)
  } catch (e) {}
}


/***/ }),

/***/ 96309:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

var LF = '\n';
var CR = '\r';
var LinesAndColumns = (function () {
    function LinesAndColumns(string) {
        this.string = string;
        var offsets = [0];
        for (var offset = 0; offset < string.length;) {
            switch (string[offset]) {
                case LF:
                    offset += LF.length;
                    offsets.push(offset);
                    break;
                case CR:
                    offset += CR.length;
                    if (string[offset] === LF) {
                        offset += LF.length;
                    }
                    offsets.push(offset);
                    break;
                default:
                    offset++;
                    break;
            }
        }
        this.offsets = offsets;
    }
    LinesAndColumns.prototype.locationForIndex = function (index) {
        if (index < 0 || index > this.string.length) {
            return null;
        }
        var line = 0;
        var offsets = this.offsets;
        while (offsets[line + 1] <= index) {
            line++;
        }
        var column = index - offsets[line];
        return { line: line, column: column };
    };
    LinesAndColumns.prototype.indexForLocation = function (location) {
        var line = location.line, column = location.column;
        if (line < 0 || line >= this.offsets.length) {
            return null;
        }
        if (column < 0 || column > this.lengthOfLine(line)) {
            return null;
        }
        return this.offsets[line] + column;
    };
    LinesAndColumns.prototype.lengthOfLine = function (line) {
        var offset = this.offsets[line];
        var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1];
        return nextOffset - offset;
    };
    return LinesAndColumns;
}());
exports.__esModule = true;
exports.default = LinesAndColumns;


/***/ }),

/***/ 24538:
/***/ ((module) => {

/**
 * lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */

/** Used as the `TypeError` message for "Functions" methods. */
var FUNC_ERROR_TEXT = 'Expected a function';

/** Used to stand-in for `undefined` hash values. */
var HASH_UNDEFINED = '__lodash_hash_undefined__';

/** `Object#toString` result references. */
var funcTag = '[object Function]',
    genTag = '[object GeneratorFunction]';

/**
 * Used to match `RegExp`
 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
 */
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;

/** Used to detect host constructors (Safari). */
var reIsHostCtor = /^\[object .+?Constructor\]$/;

/** Detect free variable `global` from Node.js. */
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;

/** Detect free variable `self`. */
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;

/** Used as a reference to the global object. */
var root = freeGlobal || freeSelf || Function('return this')();

/**
 * Gets the value at `key` of `object`.
 *
 * @private
 * @param {Object} [object] The object to query.
 * @param {string} key The key of the property to get.
 * @returns {*} Returns the property value.
 */
function getValue(object, key) {
  return object == null ? undefined : object[key];
}

/**
 * Checks if `value` is a host object in IE < 9.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
 */
function isHostObject(value) {
  // Many host objects are `Object` objects that can coerce to strings
  // despite having improperly defined `toString` methods.
  var result = false;
  if (value != null && typeof value.toString != 'function') {
    try {
      result = !!(value + '');
    } catch (e) {}
  }
  return result;
}

/** Used for built-in method references. */
var arrayProto = Array.prototype,
    funcProto = Function.prototype,
    objectProto = Object.prototype;

/** Used to detect overreaching core-js shims. */
var coreJsData = root['__core-js_shared__'];

/** Used to detect methods masquerading as native. */
var maskSrcKey = (function() {
  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
  return uid ? ('Symbol(src)_1.' + uid) : '';
}());

/** Used to resolve the decompiled source of functions. */
var funcToString = funcProto.toString;

/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;

/**
 * Used to resolve the
 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
 * of values.
 */
var objectToString = objectProto.toString;

/** Used to detect if a method is native. */
var reIsNative = RegExp('^' +
  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
);

/** Built-in value references. */
var splice = arrayProto.splice;

/* Built-in method references that are verified to be native. */
var Map = getNative(root, 'Map'),
    nativeCreate = getNative(Object, 'create');

/**
 * Creates a hash object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */
function Hash(entries) {
  var index = -1,
      length = entries ? entries.length : 0;

  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}

/**
 * Removes all key-value entries from the hash.
 *
 * @private
 * @name clear
 * @memberOf Hash
 */
function hashClear() {
  this.__data__ = nativeCreate ? nativeCreate(null) : {};
}

/**
 * Removes `key` and its value from the hash.
 *
 * @private
 * @name delete
 * @memberOf Hash
 * @param {Object} hash The hash to modify.
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */
function hashDelete(key) {
  return this.has(key) && delete this.__data__[key];
}

/**
 * Gets the hash value for `key`.
 *
 * @private
 * @name get
 * @memberOf Hash
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */
function hashGet(key) {
  var data = this.__data__;
  if (nativeCreate) {
    var result = data[key];
    return result === HASH_UNDEFINED ? undefined : result;
  }
  return hasOwnProperty.call(data, key) ? data[key] : undefined;
}

/**
 * Checks if a hash value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf Hash
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function hashHas(key) {
  var data = this.__data__;
  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
}

/**
 * Sets the hash `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf Hash
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the hash instance.
 */
function hashSet(key, value) {
  var data = this.__data__;
  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
  return this;
}

// Add methods to `Hash`.
Hash.prototype.clear = hashClear;
Hash.prototype['delete'] = hashDelete;
Hash.prototype.get = hashGet;
Hash.prototype.has = hashHas;
Hash.prototype.set = hashSet;

/**
 * Creates an list cache object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */
function ListCache(entries) {
  var index = -1,
      length = entries ? entries.length : 0;

  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}

/**
 * Removes all key-value entries from the list cache.
 *
 * @private
 * @name clear
 * @memberOf ListCache
 */
function listCacheClear() {
  this.__data__ = [];
}

/**
 * Removes `key` and its value from the list cache.
 *
 * @private
 * @name delete
 * @memberOf ListCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */
function listCacheDelete(key) {
  var data = this.__data__,
      index = assocIndexOf(data, key);

  if (index < 0) {
    return false;
  }
  var lastIndex = data.length - 1;
  if (index == lastIndex) {
    data.pop();
  } else {
    splice.call(data, index, 1);
  }
  return true;
}

/**
 * Gets the list cache value for `key`.
 *
 * @private
 * @name get
 * @memberOf ListCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */
function listCacheGet(key) {
  var data = this.__data__,
      index = assocIndexOf(data, key);

  return index < 0 ? undefined : data[index][1];
}

/**
 * Checks if a list cache value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf ListCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function listCacheHas(key) {
  return assocIndexOf(this.__data__, key) > -1;
}

/**
 * Sets the list cache `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf ListCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the list cache instance.
 */
function listCacheSet(key, value) {
  var data = this.__data__,
      index = assocIndexOf(data, key);

  if (index < 0) {
    data.push([key, value]);
  } else {
    data[index][1] = value;
  }
  return this;
}

// Add methods to `ListCache`.
ListCache.prototype.clear = listCacheClear;
ListCache.prototype['delete'] = listCacheDelete;
ListCache.prototype.get = listCacheGet;
ListCache.prototype.has = listCacheHas;
ListCache.prototype.set = listCacheSet;

/**
 * Creates a map cache object to store key-value pairs.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */
function MapCache(entries) {
  var index = -1,
      length = entries ? entries.length : 0;

  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}

/**
 * Removes all key-value entries from the map.
 *
 * @private
 * @name clear
 * @memberOf MapCache
 */
function mapCacheClear() {
  this.__data__ = {
    'hash': new Hash,
    'map': new (Map || ListCache),
    'string': new Hash
  };
}

/**
 * Removes `key` and its value from the map.
 *
 * @private
 * @name delete
 * @memberOf MapCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */
function mapCacheDelete(key) {
  return getMapData(this, key)['delete'](key);
}

/**
 * Gets the map value for `key`.
 *
 * @private
 * @name get
 * @memberOf MapCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */
function mapCacheGet(key) {
  return getMapData(this, key).get(key);
}

/**
 * Checks if a map value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf MapCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function mapCacheHas(key) {
  return getMapData(this, key).has(key);
}

/**
 * Sets the map `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf MapCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the map cache instance.
 */
function mapCacheSet(key, value) {
  getMapData(this, key).set(key, value);
  return this;
}

// Add methods to `MapCache`.
MapCache.prototype.clear = mapCacheClear;
MapCache.prototype['delete'] = mapCacheDelete;
MapCache.prototype.get = mapCacheGet;
MapCache.prototype.has = mapCacheHas;
MapCache.prototype.set = mapCacheSet;

/**
 * Gets the index at which the `key` is found in `array` of key-value pairs.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {*} key The key to search for.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */
function assocIndexOf(array, key) {
  var length = array.length;
  while (length--) {
    if (eq(array[length][0], key)) {
      return length;
    }
  }
  return -1;
}

/**
 * The base implementation of `_.isNative` without bad shim checks.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a native function,
 *  else `false`.
 */
function baseIsNative(value) {
  if (!isObject(value) || isMasked(value)) {
    return false;
  }
  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
  return pattern.test(toSource(value));
}

/**
 * Gets the data for `map`.
 *
 * @private
 * @param {Object} map The map to query.
 * @param {string} key The reference key.
 * @returns {*} Returns the map data.
 */
function getMapData(map, key) {
  var data = map.__data__;
  return isKeyable(key)
    ? data[typeof key == 'string' ? 'string' : 'hash']
    : data.map;
}

/**
 * Gets the native function at `key` of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {string} key The key of the method to get.
 * @returns {*} Returns the function if it's native, else `undefined`.
 */
function getNative(object, key) {
  var value = getValue(object, key);
  return baseIsNative(value) ? value : undefined;
}

/**
 * Checks if `value` is suitable for use as unique object key.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
 */
function isKeyable(value) {
  var type = typeof value;
  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
    ? (value !== '__proto__')
    : (value === null);
}

/**
 * Checks if `func` has its source masked.
 *
 * @private
 * @param {Function} func The function to check.
 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
 */
function isMasked(func) {
  return !!maskSrcKey && (maskSrcKey in func);
}

/**
 * Converts `func` to its source code.
 *
 * @private
 * @param {Function} func The function to process.
 * @returns {string} Returns the source code.
 */
function toSource(func) {
  if (func != null) {
    try {
      return funcToString.call(func);
    } catch (e) {}
    try {
      return (func + '');
    } catch (e) {}
  }
  return '';
}

/**
 * Creates a function that memoizes the result of `func`. If `resolver` is
 * provided, it determines the cache key for storing the result based on the
 * arguments provided to the memoized function. By default, the first argument
 * provided to the memoized function is used as the map cache key. The `func`
 * is invoked with the `this` binding of the memoized function.
 *
 * **Note:** The cache is exposed as the `cache` property on the memoized
 * function. Its creation may be customized by replacing the `_.memoize.Cache`
 * constructor with one whose instances implement the
 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
 * method interface of `delete`, `get`, `has`, and `set`.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Function
 * @param {Function} func The function to have its output memoized.
 * @param {Function} [resolver] The function to resolve the cache key.
 * @returns {Function} Returns the new memoized function.
 * @example
 *
 * var object = { 'a': 1, 'b': 2 };
 * var other = { 'c': 3, 'd': 4 };
 *
 * var values = _.memoize(_.values);
 * values(object);
 * // => [1, 2]
 *
 * values(other);
 * // => [3, 4]
 *
 * object.a = 2;
 * values(object);
 * // => [1, 2]
 *
 * // Modify the result cache.
 * values.cache.set(object, ['a', 'b']);
 * values(object);
 * // => ['a', 'b']
 *
 * // Replace `_.memoize.Cache`.
 * _.memoize.Cache = WeakMap;
 */
function memoize(func, resolver) {
  if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
    throw new TypeError(FUNC_ERROR_TEXT);
  }
  var memoized = function() {
    var args = arguments,
        key = resolver ? resolver.apply(this, args) : args[0],
        cache = memoized.cache;

    if (cache.has(key)) {
      return cache.get(key);
    }
    var result = func.apply(this, args);
    memoized.cache = cache.set(key, result);
    return result;
  };
  memoized.cache = new (memoize.Cache || MapCache);
  return memoized;
}

// Assign cache to `_.memoize`.
memoize.Cache = MapCache;

/**
 * Performs a
 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * comparison between two values to determine if they are equivalent.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 * @example
 *
 * var object = { 'a': 1 };
 * var other = { 'a': 1 };
 *
 * _.eq(object, object);
 * // => true
 *
 * _.eq(object, other);
 * // => false
 *
 * _.eq('a', 'a');
 * // => true
 *
 * _.eq('a', Object('a'));
 * // => false
 *
 * _.eq(NaN, NaN);
 * // => true
 */
function eq(value, other) {
  return value === other || (value !== value && other !== other);
}

/**
 * Checks if `value` is classified as a `Function` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
 * @example
 *
 * _.isFunction(_);
 * // => true
 *
 * _.isFunction(/abc/);
 * // => false
 */
function isFunction(value) {
  // The use of `Object#toString` avoids issues with the `typeof` operator
  // in Safari 8-9 which returns 'object' for typed array and other constructors.
  var tag = isObject(value) ? objectToString.call(value) : '';
  return tag == funcTag || tag == genTag;
}

/**
 * Checks if `value` is the
 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
 * @example
 *
 * _.isObject({});
 * // => true
 *
 * _.isObject([1, 2, 3]);
 * // => true
 *
 * _.isObject(_.noop);
 * // => true
 *
 * _.isObject(null);
 * // => false
 */
function isObject(value) {
  var type = typeof value;
  return !!value && (type == 'object' || type == 'function');
}

module.exports = memoize;


/***/ }),

/***/ 78216:
/***/ ((module) => {

/**
 * lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */

/** Used as the size to enable large array optimizations. */
var LARGE_ARRAY_SIZE = 200;

/** Used to stand-in for `undefined` hash values. */
var HASH_UNDEFINED = '__lodash_hash_undefined__';

/** Used as references for various `Number` constants. */
var INFINITY = 1 / 0;

/** `Object#toString` result references. */
var funcTag = '[object Function]',
    genTag = '[object GeneratorFunction]';

/**
 * Used to match `RegExp`
 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
 */
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;

/** Used to detect host constructors (Safari). */
var reIsHostCtor = /^\[object .+?Constructor\]$/;

/** Detect free variable `global` from Node.js. */
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;

/** Detect free variable `self`. */
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;

/** Used as a reference to the global object. */
var root = freeGlobal || freeSelf || Function('return this')();

/**
 * A specialized version of `_.includes` for arrays without support for
 * specifying an index to search from.
 *
 * @private
 * @param {Array} [array] The array to inspect.
 * @param {*} target The value to search for.
 * @returns {boolean} Returns `true` if `target` is found, else `false`.
 */
function arrayIncludes(array, value) {
  var length = array ? array.length : 0;
  return !!length && baseIndexOf(array, value, 0) > -1;
}

/**
 * This function is like `arrayIncludes` except that it accepts a comparator.
 *
 * @private
 * @param {Array} [array] The array to inspect.
 * @param {*} target The value to search for.
 * @param {Function} comparator The comparator invoked per element.
 * @returns {boolean} Returns `true` if `target` is found, else `false`.
 */
function arrayIncludesWith(array, value, comparator) {
  var index = -1,
      length = array ? array.length : 0;

  while (++index < length) {
    if (comparator(value, array[index])) {
      return true;
    }
  }
  return false;
}

/**
 * The base implementation of `_.findIndex` and `_.findLastIndex` without
 * support for iteratee shorthands.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {Function} predicate The function invoked per iteration.
 * @param {number} fromIndex The index to search from.
 * @param {boolean} [fromRight] Specify iterating from right to left.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */
function baseFindIndex(array, predicate, fromIndex, fromRight) {
  var length = array.length,
      index = fromIndex + (fromRight ? 1 : -1);

  while ((fromRight ? index-- : ++index < length)) {
    if (predicate(array[index], index, array)) {
      return index;
    }
  }
  return -1;
}

/**
 * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {*} value The value to search for.
 * @param {number} fromIndex The index to search from.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */
function baseIndexOf(array, value, fromIndex) {
  if (value !== value) {
    return baseFindIndex(array, baseIsNaN, fromIndex);
  }
  var index = fromIndex - 1,
      length = array.length;

  while (++index < length) {
    if (array[index] === value) {
      return index;
    }
  }
  return -1;
}

/**
 * The base implementation of `_.isNaN` without support for number objects.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
 */
function baseIsNaN(value) {
  return value !== value;
}

/**
 * Checks if a cache value for `key` exists.
 *
 * @private
 * @param {Object} cache The cache to query.
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function cacheHas(cache, key) {
  return cache.has(key);
}

/**
 * Gets the value at `key` of `object`.
 *
 * @private
 * @param {Object} [object] The object to query.
 * @param {string} key The key of the property to get.
 * @returns {*} Returns the property value.
 */
function getValue(object, key) {
  return object == null ? undefined : object[key];
}

/**
 * Checks if `value` is a host object in IE < 9.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
 */
function isHostObject(value) {
  // Many host objects are `Object` objects that can coerce to strings
  // despite having improperly defined `toString` methods.
  var result = false;
  if (value != null && typeof value.toString != 'function') {
    try {
      result = !!(value + '');
    } catch (e) {}
  }
  return result;
}

/**
 * Converts `set` to an array of its values.
 *
 * @private
 * @param {Object} set The set to convert.
 * @returns {Array} Returns the values.
 */
function setToArray(set) {
  var index = -1,
      result = Array(set.size);

  set.forEach(function(value) {
    result[++index] = value;
  });
  return result;
}

/** Used for built-in method references. */
var arrayProto = Array.prototype,
    funcProto = Function.prototype,
    objectProto = Object.prototype;

/** Used to detect overreaching core-js shims. */
var coreJsData = root['__core-js_shared__'];

/** Used to detect methods masquerading as native. */
var maskSrcKey = (function() {
  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
  return uid ? ('Symbol(src)_1.' + uid) : '';
}());

/** Used to resolve the decompiled source of functions. */
var funcToString = funcProto.toString;

/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;

/**
 * Used to resolve the
 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
 * of values.
 */
var objectToString = objectProto.toString;

/** Used to detect if a method is native. */
var reIsNative = RegExp('^' +
  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
);

/** Built-in value references. */
var splice = arrayProto.splice;

/* Built-in method references that are verified to be native. */
var Map = getNative(root, 'Map'),
    Set = getNative(root, 'Set'),
    nativeCreate = getNative(Object, 'create');

/**
 * Creates a hash object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */
function Hash(entries) {
  var index = -1,
      length = entries ? entries.length : 0;

  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}

/**
 * Removes all key-value entries from the hash.
 *
 * @private
 * @name clear
 * @memberOf Hash
 */
function hashClear() {
  this.__data__ = nativeCreate ? nativeCreate(null) : {};
}

/**
 * Removes `key` and its value from the hash.
 *
 * @private
 * @name delete
 * @memberOf Hash
 * @param {Object} hash The hash to modify.
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */
function hashDelete(key) {
  return this.has(key) && delete this.__data__[key];
}

/**
 * Gets the hash value for `key`.
 *
 * @private
 * @name get
 * @memberOf Hash
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */
function hashGet(key) {
  var data = this.__data__;
  if (nativeCreate) {
    var result = data[key];
    return result === HASH_UNDEFINED ? undefined : result;
  }
  return hasOwnProperty.call(data, key) ? data[key] : undefined;
}

/**
 * Checks if a hash value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf Hash
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function hashHas(key) {
  var data = this.__data__;
  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
}

/**
 * Sets the hash `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf Hash
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the hash instance.
 */
function hashSet(key, value) {
  var data = this.__data__;
  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
  return this;
}

// Add methods to `Hash`.
Hash.prototype.clear = hashClear;
Hash.prototype['delete'] = hashDelete;
Hash.prototype.get = hashGet;
Hash.prototype.has = hashHas;
Hash.prototype.set = hashSet;

/**
 * Creates an list cache object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */
function ListCache(entries) {
  var index = -1,
      length = entries ? entries.length : 0;

  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}

/**
 * Removes all key-value entries from the list cache.
 *
 * @private
 * @name clear
 * @memberOf ListCache
 */
function listCacheClear() {
  this.__data__ = [];
}

/**
 * Removes `key` and its value from the list cache.
 *
 * @private
 * @name delete
 * @memberOf ListCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */
function listCacheDelete(key) {
  var data = this.__data__,
      index = assocIndexOf(data, key);

  if (index < 0) {
    return false;
  }
  var lastIndex = data.length - 1;
  if (index == lastIndex) {
    data.pop();
  } else {
    splice.call(data, index, 1);
  }
  return true;
}

/**
 * Gets the list cache value for `key`.
 *
 * @private
 * @name get
 * @memberOf ListCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */
function listCacheGet(key) {
  var data = this.__data__,
      index = assocIndexOf(data, key);

  return index < 0 ? undefined : data[index][1];
}

/**
 * Checks if a list cache value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf ListCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function listCacheHas(key) {
  return assocIndexOf(this.__data__, key) > -1;
}

/**
 * Sets the list cache `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf ListCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the list cache instance.
 */
function listCacheSet(key, value) {
  var data = this.__data__,
      index = assocIndexOf(data, key);

  if (index < 0) {
    data.push([key, value]);
  } else {
    data[index][1] = value;
  }
  return this;
}

// Add methods to `ListCache`.
ListCache.prototype.clear = listCacheClear;
ListCache.prototype['delete'] = listCacheDelete;
ListCache.prototype.get = listCacheGet;
ListCache.prototype.has = listCacheHas;
ListCache.prototype.set = listCacheSet;

/**
 * Creates a map cache object to store key-value pairs.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */
function MapCache(entries) {
  var index = -1,
      length = entries ? entries.length : 0;

  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}

/**
 * Removes all key-value entries from the map.
 *
 * @private
 * @name clear
 * @memberOf MapCache
 */
function mapCacheClear() {
  this.__data__ = {
    'hash': new Hash,
    'map': new (Map || ListCache),
    'string': new Hash
  };
}

/**
 * Removes `key` and its value from the map.
 *
 * @private
 * @name delete
 * @memberOf MapCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */
function mapCacheDelete(key) {
  return getMapData(this, key)['delete'](key);
}

/**
 * Gets the map value for `key`.
 *
 * @private
 * @name get
 * @memberOf MapCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */
function mapCacheGet(key) {
  return getMapData(this, key).get(key);
}

/**
 * Checks if a map value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf MapCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */
function mapCacheHas(key) {
  return getMapData(this, key).has(key);
}

/**
 * Sets the map `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf MapCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the map cache instance.
 */
function mapCacheSet(key, value) {
  getMapData(this, key).set(key, value);
  return this;
}

// Add methods to `MapCache`.
MapCache.prototype.clear = mapCacheClear;
MapCache.prototype['delete'] = mapCacheDelete;
MapCache.prototype.get = mapCacheGet;
MapCache.prototype.has = mapCacheHas;
MapCache.prototype.set = mapCacheSet;

/**
 *
 * Creates an array cache object to store unique values.
 *
 * @private
 * @constructor
 * @param {Array} [values] The values to cache.
 */
function SetCache(values) {
  var index = -1,
      length = values ? values.length : 0;

  this.__data__ = new MapCache;
  while (++index < length) {
    this.add(values[index]);
  }
}

/**
 * Adds `value` to the array cache.
 *
 * @private
 * @name add
 * @memberOf SetCache
 * @alias push
 * @param {*} value The value to cache.
 * @returns {Object} Returns the cache instance.
 */
function setCacheAdd(value) {
  this.__data__.set(value, HASH_UNDEFINED);
  return this;
}

/**
 * Checks if `value` is in the array cache.
 *
 * @private
 * @name has
 * @memberOf SetCache
 * @param {*} value The value to search for.
 * @returns {number} Returns `true` if `value` is found, else `false`.
 */
function setCacheHas(value) {
  return this.__data__.has(value);
}

// Add methods to `SetCache`.
SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
SetCache.prototype.has = setCacheHas;

/**
 * Gets the index at which the `key` is found in `array` of key-value pairs.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {*} key The key to search for.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */
function assocIndexOf(array, key) {
  var length = array.length;
  while (length--) {
    if (eq(array[length][0], key)) {
      return length;
    }
  }
  return -1;
}

/**
 * The base implementation of `_.isNative` without bad shim checks.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a native function,
 *  else `false`.
 */
function baseIsNative(value) {
  if (!isObject(value) || isMasked(value)) {
    return false;
  }
  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
  return pattern.test(toSource(value));
}

/**
 * The base implementation of `_.uniqBy` without support for iteratee shorthands.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {Function} [iteratee] The iteratee invoked per element.
 * @param {Function} [comparator] The comparator invoked per element.
 * @returns {Array} Returns the new duplicate free array.
 */
function baseUniq(array, iteratee, comparator) {
  var index = -1,
      includes = arrayIncludes,
      length = array.length,
      isCommon = true,
      result = [],
      seen = result;

  if (comparator) {
    isCommon = false;
    includes = arrayIncludesWith;
  }
  else if (length >= LARGE_ARRAY_SIZE) {
    var set = iteratee ? null : createSet(array);
    if (set) {
      return setToArray(set);
    }
    isCommon = false;
    includes = cacheHas;
    seen = new SetCache;
  }
  else {
    seen = iteratee ? [] : result;
  }
  outer:
  while (++index < length) {
    var value = array[index],
        computed = iteratee ? iteratee(value) : value;

    value = (comparator || value !== 0) ? value : 0;
    if (isCommon && computed === computed) {
      var seenIndex = seen.length;
      while (seenIndex--) {
        if (seen[seenIndex] === computed) {
          continue outer;
        }
      }
      if (iteratee) {
        seen.push(computed);
      }
      result.push(value);
    }
    else if (!includes(seen, computed, comparator)) {
      if (seen !== result) {
        seen.push(computed);
      }
      result.push(value);
    }
  }
  return result;
}

/**
 * Creates a set object of `values`.
 *
 * @private
 * @param {Array} values The values to add to the set.
 * @returns {Object} Returns the new set.
 */
var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
  return new Set(values);
};

/**
 * Gets the data for `map`.
 *
 * @private
 * @param {Object} map The map to query.
 * @param {string} key The reference key.
 * @returns {*} Returns the map data.
 */
function getMapData(map, key) {
  var data = map.__data__;
  return isKeyable(key)
    ? data[typeof key == 'string' ? 'string' : 'hash']
    : data.map;
}

/**
 * Gets the native function at `key` of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {string} key The key of the method to get.
 * @returns {*} Returns the function if it's native, else `undefined`.
 */
function getNative(object, key) {
  var value = getValue(object, key);
  return baseIsNative(value) ? value : undefined;
}

/**
 * Checks if `value` is suitable for use as unique object key.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
 */
function isKeyable(value) {
  var type = typeof value;
  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
    ? (value !== '__proto__')
    : (value === null);
}

/**
 * Checks if `func` has its source masked.
 *
 * @private
 * @param {Function} func The function to check.
 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
 */
function isMasked(func) {
  return !!maskSrcKey && (maskSrcKey in func);
}

/**
 * Converts `func` to its source code.
 *
 * @private
 * @param {Function} func The function to process.
 * @returns {string} Returns the source code.
 */
function toSource(func) {
  if (func != null) {
    try {
      return funcToString.call(func);
    } catch (e) {}
    try {
      return (func + '');
    } catch (e) {}
  }
  return '';
}

/**
 * Creates a duplicate-free version of an array, using
 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * for equality comparisons, in which only the first occurrence of each
 * element is kept.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Array
 * @param {Array} array The array to inspect.
 * @returns {Array} Returns the new duplicate free array.
 * @example
 *
 * _.uniq([2, 1, 2]);
 * // => [2, 1]
 */
function uniq(array) {
  return (array && array.length)
    ? baseUniq(array)
    : [];
}

/**
 * Performs a
 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * comparison between two values to determine if they are equivalent.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 * @example
 *
 * var object = { 'a': 1 };
 * var other = { 'a': 1 };
 *
 * _.eq(object, object);
 * // => true
 *
 * _.eq(object, other);
 * // => false
 *
 * _.eq('a', 'a');
 * // => true
 *
 * _.eq('a', Object('a'));
 * // => false
 *
 * _.eq(NaN, NaN);
 * // => true
 */
function eq(value, other) {
  return value === other || (value !== value && other !== other);
}

/**
 * Checks if `value` is classified as a `Function` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
 * @example
 *
 * _.isFunction(_);
 * // => true
 *
 * _.isFunction(/abc/);
 * // => false
 */
function isFunction(value) {
  // The use of `Object#toString` avoids issues with the `typeof` operator
  // in Safari 8-9 which returns 'object' for typed array and other constructors.
  var tag = isObject(value) ? objectToString.call(value) : '';
  return tag == funcTag || tag == genTag;
}

/**
 * Checks if `value` is the
 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
 * @example
 *
 * _.isObject({});
 * // => true
 *
 * _.isObject([1, 2, 3]);
 * // => true
 *
 * _.isObject(_.noop);
 * // => true
 *
 * _.isObject(null);
 * // => false
 */
function isObject(value) {
  var type = typeof value;
  return !!value && (type == 'object' || type == 'function');
}

/**
 * This method returns `undefined`.
 *
 * @static
 * @memberOf _
 * @since 2.3.0
 * @category Util
 * @example
 *
 * _.times(2, _.noop);
 * // => [undefined, undefined]
 */
function noop() {
  // No operation performed.
}

module.exports = uniq;


/***/ }),

/***/ 24251:
/***/ ((module) => {

"use strict";

module.exports = {
  wrap: wrapRange,
  limit: limitRange,
  validate: validateRange,
  test: testRange,
  curry: curry,
  name: name
};

function wrapRange(min, max, value) {
  var maxLessMin = max - min;
  return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min;
}

function limitRange(min, max, value) {
  return Math.max(min, Math.min(max, value));
}

function validateRange(min, max, value, minExclusive, maxExclusive) {
  if (!testRange(min, max, value, minExclusive, maxExclusive)) {
    throw new Error(value + ' is outside of range [' + min + ',' + max + ')');
  }
  return value;
}

function testRange(min, max, value, minExclusive, maxExclusive) {
  return !(
       value < min ||
       value > max ||
       (maxExclusive && (value === max)) ||
       (minExclusive && (value === min))
  );
}

function name(min, max, minExcl, maxExcl) {
  return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']');
}

function curry(min, max, minExclusive, maxExclusive) {
  var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive);
  return {
    wrap: wrapRange.bind(null, min, max),
    limit: limitRange.bind(null, min, max),
    validate: function(value) {
      return validateRange(min, max, value, minExclusive, maxExclusive);
    },
    test: function(value) {
      return testRange(min, max, value, minExclusive, maxExclusive);
    },
    toString: boundNameFn,
    name: boundNameFn
  };
}


/***/ }),

/***/ 17952:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

// TODO: Use the `URL` global when targeting Node.js 10
const URLParser = typeof URL === 'undefined' ? __nccwpck_require__(78835).URL : URL;

// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
const DATA_URL_DEFAULT_MIME_TYPE = 'text/plain';
const DATA_URL_DEFAULT_CHARSET = 'us-ascii';

const testParameter = (name, filters) => {
	return filters.some(filter => filter instanceof RegExp ? filter.test(name) : filter === name);
};

const normalizeDataURL = (urlString, {stripHash}) => {
	const parts = urlString.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);

	if (!parts) {
		throw new Error(`Invalid URL: ${urlString}`);
	}

	const mediaType = parts[1].split(';');
	const body = parts[2];
	const hash = stripHash ? '' : parts[3];

	let base64 = false;

	if (mediaType[mediaType.length - 1] === 'base64') {
		mediaType.pop();
		base64 = true;
	}

	// Lowercase MIME type
	const mimeType = (mediaType.shift() || '').toLowerCase();
	const attributes = mediaType
		.map(attribute => {
			let [key, value = ''] = attribute.split('=').map(string => string.trim());

			// Lowercase `charset`
			if (key === 'charset') {
				value = value.toLowerCase();

				if (value === DATA_URL_DEFAULT_CHARSET) {
					return '';
				}
			}

			return `${key}${value ? `=${value}` : ''}`;
		})
		.filter(Boolean);

	const normalizedMediaType = [
		...attributes
	];

	if (base64) {
		normalizedMediaType.push('base64');
	}

	if (normalizedMediaType.length !== 0 || (mimeType && mimeType !== DATA_URL_DEFAULT_MIME_TYPE)) {
		normalizedMediaType.unshift(mimeType);
	}

	return `data:${normalizedMediaType.join(';')},${base64 ? body.trim() : body}${hash ? `#${hash}` : ''}`;
};

const normalizeUrl = (urlString, options) => {
	options = {
		defaultProtocol: 'http:',
		normalizeProtocol: true,
		forceHttp: false,
		forceHttps: false,
		stripAuthentication: true,
		stripHash: false,
		stripWWW: true,
		removeQueryParameters: [/^utm_\w+/i],
		removeTrailingSlash: true,
		removeDirectoryIndex: false,
		sortQueryParameters: true,
		...options
	};

	// TODO: Remove this at some point in the future
	if (Reflect.has(options, 'normalizeHttps')) {
		throw new Error('options.normalizeHttps is renamed to options.forceHttp');
	}

	if (Reflect.has(options, 'normalizeHttp')) {
		throw new Error('options.normalizeHttp is renamed to options.forceHttps');
	}

	if (Reflect.has(options, 'stripFragment')) {
		throw new Error('options.stripFragment is renamed to options.stripHash');
	}

	urlString = urlString.trim();

	// Data URL
	if (/^data:/i.test(urlString)) {
		return normalizeDataURL(urlString, options);
	}

	const hasRelativeProtocol = urlString.startsWith('//');
	const isRelativeUrl = !hasRelativeProtocol && /^\.*\//.test(urlString);

	// Prepend protocol
	if (!isRelativeUrl) {
		urlString = urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//, options.defaultProtocol);
	}

	const urlObj = new URLParser(urlString);

	if (options.forceHttp && options.forceHttps) {
		throw new Error('The `forceHttp` and `forceHttps` options cannot be used together');
	}

	if (options.forceHttp && urlObj.protocol === 'https:') {
		urlObj.protocol = 'http:';
	}

	if (options.forceHttps && urlObj.protocol === 'http:') {
		urlObj.protocol = 'https:';
	}

	// Remove auth
	if (options.stripAuthentication) {
		urlObj.username = '';
		urlObj.password = '';
	}

	// Remove hash
	if (options.stripHash) {
		urlObj.hash = '';
	}

	// Remove duplicate slashes if not preceded by a protocol
	if (urlObj.pathname) {
		// TODO: Use the following instead when targeting Node.js 10
		// `urlObj.pathname = urlObj.pathname.replace(/(?<!https?:)\/{2,}/g, '/');`
		urlObj.pathname = urlObj.pathname.replace(/((?!:).|^)\/{2,}/g, (_, p1) => {
			if (/^(?!\/)/g.test(p1)) {
				return `${p1}/`;
			}

			return '/';
		});
	}

	// Decode URI octets
	if (urlObj.pathname) {
		urlObj.pathname = decodeURI(urlObj.pathname);
	}

	// Remove directory index
	if (options.removeDirectoryIndex === true) {
		options.removeDirectoryIndex = [/^index\.[a-z]+$/];
	}

	if (Array.isArray(options.removeDirectoryIndex) && options.removeDirectoryIndex.length > 0) {
		let pathComponents = urlObj.pathname.split('/');
		const lastComponent = pathComponents[pathComponents.length - 1];

		if (testParameter(lastComponent, options.removeDirectoryIndex)) {
			pathComponents = pathComponents.slice(0, pathComponents.length - 1);
			urlObj.pathname = pathComponents.slice(1).join('/') + '/';
		}
	}

	if (urlObj.hostname) {
		// Remove trailing dot
		urlObj.hostname = urlObj.hostname.replace(/\.$/, '');

		// Remove `www.`
		if (options.stripWWW && /^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(urlObj.hostname)) {
			// Each label should be max 63 at length (min: 2).
			// The extension should be max 5 at length (min: 2).
			// Source: https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
			urlObj.hostname = urlObj.hostname.replace(/^www\./, '');
		}
	}

	// Remove query unwanted parameters
	if (Array.isArray(options.removeQueryParameters)) {
		for (const key of [...urlObj.searchParams.keys()]) {
			if (testParameter(key, options.removeQueryParameters)) {
				urlObj.searchParams.delete(key);
			}
		}
	}

	// Sort query parameters
	if (options.sortQueryParameters) {
		urlObj.searchParams.sort();
	}

	if (options.removeTrailingSlash) {
		urlObj.pathname = urlObj.pathname.replace(/\/$/, '');
	}

	// Take advantage of many of the Node `url` normalizations
	urlString = urlObj.toString();

	// Remove ending `/`
	if ((options.removeTrailingSlash || urlObj.pathname === '/') && urlObj.hash === '') {
		urlString = urlString.replace(/\/$/, '');
	}

	// Restore relative protocol, if applicable
	if (hasRelativeProtocol && !options.normalizeProtocol) {
		urlString = urlString.replace(/^http:\/\//, '//');
	}

	// Remove http/https
	if (options.stripProtocol) {
		urlString = urlString.replace(/^(?:https?:)?\/\//, '');
	}

	return urlString;
};

module.exports = normalizeUrl;
// TODO: Remove this for the next major release
module.exports.default = normalizeUrl;


/***/ }),

/***/ 29241:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.compile = void 0;
var boolbase_1 = __nccwpck_require__(44159);
/**
 * Returns a function that checks if an elements index matches the given rule
 * highly optimized to return the fastest solution.
 *
 * @param parsed A tuple [a, b], as returned by `parse`.
 * @returns A highly optimized function that returns whether an index matches the nth-check.
 * @example
 * const check = nthCheck.compile([2, 3]);
 *
 * check(0); // `false`
 * check(1); // `false`
 * check(2); // `true`
 * check(3); // `false`
 * check(4); // `true`
 * check(5); // `false`
 * check(6); // `true`
 */
function compile(parsed) {
    var a = parsed[0];
    // Subtract 1 from `b`, to convert from one- to zero-indexed.
    var b = parsed[1] - 1;
    /*
     * When `b <= 0`, `a * n` won't be lead to any matches for `a < 0`.
     * Besides, the specification states that no elements are
     * matched when `a` and `b` are 0.
     *
     * `b < 0` here as we subtracted 1 from `b` above.
     */
    if (b < 0 && a <= 0)
        return boolbase_1.falseFunc;
    // When `a` is in the range -1..1, it matches any element (so only `b` is checked).
    if (a === -1)
        return function (index) { return index <= b; };
    if (a === 0)
        return function (index) { return index === b; };
    // When `b <= 0` and `a === 1`, they match any element.
    if (a === 1)
        return b < 0 ? boolbase_1.trueFunc : function (index) { return index >= b; };
    /*
     * Otherwise, modulo can be used to check if there is a match.
     *
     * Modulo doesn't care about the sign, so let's use `a`s absolute value.
     */
    var absA = Math.abs(a);
    // Get `b mod a`, + a if this is negative.
    var bMod = ((b % absA) + absA) % absA;
    return a > 1
        ? function (index) { return index >= b && index % absA === bMod; }
        : function (index) { return index <= b && index % absA === bMod; };
}
exports.compile = compile;


/***/ }),

/***/ 51260:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.compile = exports.parse = void 0;
var parse_1 = __nccwpck_require__(57869);
Object.defineProperty(exports, "parse", ({ enumerable: true, get: function () { return parse_1.parse; } }));
var compile_1 = __nccwpck_require__(29241);
Object.defineProperty(exports, "compile", ({ enumerable: true, get: function () { return compile_1.compile; } }));
/**
 * Parses and compiles a formula to a highly optimized function.
 * Combination of `parse` and `compile`.
 *
 * If the formula doesn't match any elements,
 * it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.
 * Otherwise, a function accepting an _index_ is returned, which returns
 * whether or not the passed _index_ matches the formula.
 *
 * Note: The nth-rule starts counting at `1`, the returned function at `0`.
 *
 * @param formula The formula to compile.
 * @example
 * const check = nthCheck("2n+3");
 *
 * check(0); // `false`
 * check(1); // `false`
 * check(2); // `true`
 * check(3); // `false`
 * check(4); // `true`
 * check(5); // `false`
 * check(6); // `true`
 */
function nthCheck(formula) {
    return compile_1.compile(parse_1.parse(formula));
}
exports.default = nthCheck;


/***/ }),

/***/ 57869:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

// Following http://www.w3.org/TR/css3-selectors/#nth-child-pseudo
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.parse = void 0;
// [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]?
var RE_NTH_ELEMENT = /^([+-]?\d*n)?\s*(?:([+-]?)\s*(\d+))?$/;
/**
 * Parses an expression.
 *
 * @throws An `Error` if parsing fails.
 * @returns An array containing the integer step size and the integer offset of the nth rule.
 * @example nthCheck.parse("2n+3"); // returns [2, 3]
 */
function parse(formula) {
    formula = formula.trim().toLowerCase();
    if (formula === "even") {
        return [2, 0];
    }
    else if (formula === "odd") {
        return [2, 1];
    }
    var parsed = formula.match(RE_NTH_ELEMENT);
    if (!parsed) {
        throw new Error("n-th rule couldn't be parsed ('" + formula + "')");
    }
    var a;
    if (parsed[1]) {
        a = parseInt(parsed[1], 10);
        if (isNaN(a)) {
            a = parsed[1].startsWith("-") ? -1 : 1;
        }
    }
    else
        a = 0;
    var b = (parsed[2] === "-" ? -1 : 1) *
        (parsed[3] ? parseInt(parsed[3], 10) : 0);
    return [a, b];
}
exports.parse = parse;


/***/ }),

/***/ 79069:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

const callsites = __nccwpck_require__(5018);

module.exports = filepath => {
	const stacks = callsites();

	if (!filepath) {
		return stacks[2].getFileName();
	}

	let seenVal = false;

	// Skip the first stack as it's this function
	stacks.shift();

	for (const stack of stacks) {
		const parentFilepath = stack.getFileName();

		if (typeof parentFilepath !== 'string') {
			continue;
		}

		if (parentFilepath === filepath) {
			seenVal = true;
			continue;
		}

		// Skip native modules
		if (parentFilepath === 'module.js') {
			continue;
		}

		if (seenVal && parentFilepath !== filepath) {
			return parentFilepath;
		}
	}
};


/***/ }),

/***/ 86615:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";

const errorEx = __nccwpck_require__(23505);
const fallback = __nccwpck_require__(89062);
const {default: LinesAndColumns} = __nccwpck_require__(96309);
const {codeFrameColumns} = __nccwpck_require__(45211);

const JSONError = errorEx('JSONError', {
	fileName: errorEx.append('in %s'),
	codeFrame: errorEx.append('\n\n%s\n')
});

const parseJson = (string, reviver, filename) => {
	if (typeof reviver === 'string') {
		filename = reviver;
		reviver = null;
	}

	try {
		try {
			return JSON.parse(string, reviver);
		} catch (error) {
			fallback(string, reviver);
			throw error;
		}
	} catch (error) {
		error.message = error.message.replace(/\n/g, '');
		const indexMatch = error.message.match(/in JSON at position (\d+) while parsing/);

		const jsonError = new JSONError(error);
		if (filename) {
			jsonError.fileName = filename;
		}

		if (indexMatch && indexMatch.length > 0) {
			const lines = new LinesAndColumns(string);
			const index = Number(indexMatch[1]);
			const location = lines.locationForIndex(index);

			const codeFrame = codeFrameColumns(
				string,
				{start: {line: location.line + 1, column: location.column + 1}},
				{highlightCode: true}
			);

			jsonError.codeFrame = codeFrame;
		}

		throw jsonError;
	}
};

parseJson.JSONError = JSONError;

module.exports = parseJson;


/***/ }),

/***/ 63433:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

const {promisify} = __nccwpck_require__(31669);
const fs = __nccwpck_require__(35747);

async function isType(fsStatType, statsMethodName, filePath) {
	if (typeof filePath !== 'string') {
		throw new TypeError(`Expected a string, got ${typeof filePath}`);
	}

	try {
		const stats = await promisify(fs[fsStatType])(filePath);
		return stats[statsMethodName]();
	} catch (error) {
		if (error.code === 'ENOENT') {
			return false;
		}

		throw error;
	}
}

function isTypeSync(fsStatType, statsMethodName, filePath) {
	if (typeof filePath !== 'string') {
		throw new TypeError(`Expected a string, got ${typeof filePath}`);
	}

	try {
		return fs[fsStatType](filePath)[statsMethodName]();
	} catch (error) {
		if (error.code === 'ENOENT') {
			return false;
		}

		throw error;
	}
}

exports.isFile = isType.bind(null, 'stat', 'isFile');
exports.isDirectory = isType.bind(null, 'stat', 'isDirectory');
exports.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');
exports.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');
exports.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');
exports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');


/***/ }),

/***/ 31624:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _transform = _interopRequireDefault(__nccwpck_require__(23854));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function pluginCreator(opts) {
  const options = Object.assign({
    precision: 5,
    preserve: false,
    warnWhenCannotResolve: false,
    mediaQueries: false,
    selectors: false
  }, opts);
  return {
    postcssPlugin: 'postcss-calc',

    OnceExit(css, {
      result
    }) {
      css.walk(node => {
        const {
          type
        } = node;

        if (type === 'decl') {
          (0, _transform.default)(node, "value", options, result);
        }

        if (type === 'atrule' && options.mediaQueries) {
          (0, _transform.default)(node, "params", options, result);
        }

        if (type === 'rule' && options.selectors) {
          (0, _transform.default)(node, "selector", options, result);
        }
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 65313:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
const conversions = {
  // Absolute length units
  'px': {
    'px': 1,
    'cm': 96 / 2.54,
    'mm': 96 / 25.4,
    'q': 96 / 101.6,
    'in': 96,
    'pt': 96 / 72,
    'pc': 16
  },
  'cm': {
    'px': 2.54 / 96,
    'cm': 1,
    'mm': 0.1,
    'q': 0.025,
    'in': 2.54,
    'pt': 2.54 / 72,
    'pc': 2.54 / 6
  },
  'mm': {
    'px': 25.4 / 96,
    'cm': 10,
    'mm': 1,
    'q': 0.25,
    'in': 25.4,
    'pt': 25.4 / 72,
    'pc': 25.4 / 6
  },
  'q': {
    'px': 101.6 / 96,
    'cm': 40,
    'mm': 4,
    'q': 1,
    'in': 101.6,
    'pt': 101.6 / 72,
    'pc': 101.6 / 6
  },
  'in': {
    'px': 1 / 96,
    'cm': 1 / 2.54,
    'mm': 1 / 25.4,
    'q': 1 / 101.6,
    'in': 1,
    'pt': 1 / 72,
    'pc': 1 / 6
  },
  'pt': {
    'px': 0.75,
    'cm': 72 / 2.54,
    'mm': 72 / 25.4,
    'q': 72 / 101.6,
    'in': 72,
    'pt': 1,
    'pc': 12
  },
  'pc': {
    'px': 0.0625,
    'cm': 6 / 2.54,
    'mm': 6 / 25.4,
    'q': 6 / 101.6,
    'in': 6,
    'pt': 6 / 72,
    'pc': 1
  },
  // Angle units
  'deg': {
    'deg': 1,
    'grad': 0.9,
    'rad': 180 / Math.PI,
    'turn': 360
  },
  'grad': {
    'deg': 400 / 360,
    'grad': 1,
    'rad': 200 / Math.PI,
    'turn': 400
  },
  'rad': {
    'deg': Math.PI / 180,
    'grad': Math.PI / 200,
    'rad': 1,
    'turn': Math.PI * 2
  },
  'turn': {
    'deg': 1 / 360,
    'grad': 0.0025,
    'rad': 0.5 / Math.PI,
    'turn': 1
  },
  // Duration units
  's': {
    's': 1,
    'ms': 0.001
  },
  'ms': {
    's': 1000,
    'ms': 1
  },
  // Frequency units
  'hz': {
    'hz': 1,
    'khz': 1000
  },
  'khz': {
    'hz': 0.001,
    'khz': 1
  },
  // Resolution units
  'dpi': {
    'dpi': 1,
    'dpcm': 1 / 2.54,
    'dppx': 1 / 96
  },
  'dpcm': {
    'dpi': 2.54,
    'dpcm': 1,
    'dppx': 2.54 / 96
  },
  'dppx': {
    'dpi': 96,
    'dpcm': 96 / 2.54,
    'dppx': 1
  }
};

function convertUnit(value, sourceUnit, targetUnit, precision) {
  const sourceUnitNormalized = sourceUnit.toLowerCase();
  const targetUnitNormalized = targetUnit.toLowerCase();

  if (!conversions[targetUnitNormalized]) {
    throw new Error("Cannot convert to " + targetUnit);
  }

  if (!conversions[targetUnitNormalized][sourceUnitNormalized]) {
    throw new Error("Cannot convert from " + sourceUnit + " to " + targetUnit);
  }

  const converted = conversions[targetUnitNormalized][sourceUnitNormalized] * value;

  if (precision !== false) {
    precision = Math.pow(10, parseInt(precision) || 5);
    return Math.round(converted * precision) / precision;
  }

  return converted;
}

var _default = convertUnit;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 28538:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _convertUnit = _interopRequireDefault(__nccwpck_require__(65313));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isValueType(type) {
  switch (type) {
    case 'LengthValue':
    case 'AngleValue':
    case 'TimeValue':
    case 'FrequencyValue':
    case 'ResolutionValue':
    case 'EmValue':
    case 'ExValue':
    case 'ChValue':
    case 'RemValue':
    case 'VhValue':
    case 'VwValue':
    case 'VminValue':
    case 'VmaxValue':
    case 'PercentageValue':
    case 'Number':
      return true;
  }

  return false;
}

function flip(operator) {
  return operator === '+' ? '-' : '+';
}

function isAddSubOperator(operator) {
  return operator === '+' || operator === '-';
}

function collectAddSubItems(preOperator, node, collected, precision) {
  if (!isAddSubOperator(preOperator)) {
    throw new Error(`invalid operator ${preOperator}`);
  }

  const type = node.type;

  if (isValueType(type)) {
    const itemIndex = collected.findIndex(x => x.node.type === type);

    if (itemIndex >= 0) {
      if (node.value === 0) {
        return;
      }

      const {
        left: reducedNode,
        right: current
      } = covertNodesUnits(collected[itemIndex].node, node, precision);

      if (collected[itemIndex].preOperator === '-') {
        collected[itemIndex].preOperator = '+';
        reducedNode.value *= -1;
      }

      if (preOperator === "+") {
        reducedNode.value += current.value;
      } else {
        reducedNode.value -= current.value;
      } // make sure reducedNode.value >= 0


      if (reducedNode.value >= 0) {
        collected[itemIndex] = {
          node: reducedNode,
          preOperator: '+'
        };
      } else {
        reducedNode.value *= -1;
        collected[itemIndex] = {
          node: reducedNode,
          preOperator: '-'
        };
      }
    } else {
      // make sure node.value >= 0
      if (node.value >= 0) {
        collected.push({
          node,
          preOperator
        });
      } else {
        node.value *= -1;
        collected.push({
          node,
          preOperator: flip(preOperator)
        });
      }
    }
  } else if (type === "MathExpression") {
    if (isAddSubOperator(node.operator)) {
      collectAddSubItems(preOperator, node.left, collected, precision);
      const collectRightOperator = preOperator === '-' ? flip(node.operator) : node.operator;
      collectAddSubItems(collectRightOperator, node.right, collected, precision);
    } else {
      // * or /
      const reducedNode = reduce(node, precision); // prevent infinite recursive call

      if (reducedNode.type !== "MathExpression" || isAddSubOperator(reducedNode.operator)) {
        collectAddSubItems(preOperator, reducedNode, collected, precision);
      } else {
        collected.push({
          node: reducedNode,
          preOperator
        });
      }
    }
  } else {
    collected.push({
      node,
      preOperator
    });
  }
}

function reduceAddSubExpression(node, precision) {
  const collected = [];
  collectAddSubItems('+', node, collected, precision);
  const withoutZeroItem = collected.filter(item => !(isValueType(item.node.type) && item.node.value === 0));
  const firstNonZeroItem = withoutZeroItem[0]; // could be undefined
  // prevent producing "calc(-var(--a))" or "calc()"
  // which is invalid css

  if (!firstNonZeroItem || firstNonZeroItem.preOperator === '-' && !isValueType(firstNonZeroItem.node.type)) {
    const firstZeroItem = collected.find(item => isValueType(item.node.type) && item.node.value === 0);
    withoutZeroItem.unshift(firstZeroItem);
  } // make sure the preOperator of the first item is +


  if (withoutZeroItem[0].preOperator === '-' && isValueType(withoutZeroItem[0].node.type)) {
    withoutZeroItem[0].node.value *= -1;
    withoutZeroItem[0].preOperator = '+';
  }

  let root = withoutZeroItem[0].node;

  for (let i = 1; i < withoutZeroItem.length; i++) {
    root = {
      type: 'MathExpression',
      operator: withoutZeroItem[i].preOperator,
      left: root,
      right: withoutZeroItem[i].node
    };
  }

  return root;
}

function reduceDivisionExpression(node) {
  if (!isValueType(node.right.type)) {
    return node;
  }

  if (node.right.type !== 'Number') {
    throw new Error(`Cannot divide by "${node.right.unit}", number expected`);
  }

  return applyNumberDivision(node.left, node.right.value);
} // apply (expr) / number


function applyNumberDivision(node, divisor) {
  if (divisor === 0) {
    throw new Error('Cannot divide by zero');
  }

  if (isValueType(node.type)) {
    node.value /= divisor;
    return node;
  }

  if (node.type === "MathExpression" && isAddSubOperator(node.operator)) {
    // turn (a + b) / num into a/num + b/num
    // is good for further reduction
    // checkout the test case
    // "should reduce division before reducing additions"
    return {
      type: "MathExpression",
      operator: node.operator,
      left: applyNumberDivision(node.left, divisor),
      right: applyNumberDivision(node.right, divisor)
    };
  } // it is impossible to reduce it into a single value
  // .e.g the node contains css variable
  // so we just preserve the division and let browser do it


  return {
    type: "MathExpression",
    operator: '/',
    left: node,
    right: {
      type: "Number",
      value: divisor
    }
  };
}

function reduceMultiplicationExpression(node) {
  // (expr) * number
  if (node.right.type === 'Number') {
    return applyNumberMultiplication(node.left, node.right.value);
  } // number * (expr)


  if (node.left.type === 'Number') {
    return applyNumberMultiplication(node.right, node.left.value);
  }

  return node;
} // apply (expr) / number


function applyNumberMultiplication(node, multiplier) {
  if (isValueType(node.type)) {
    node.value *= multiplier;
    return node;
  }

  if (node.type === "MathExpression" && isAddSubOperator(node.operator)) {
    // turn (a + b) * num into a*num + b*num
    // is good for further reduction
    // checkout the test case
    // "should reduce multiplication before reducing additions"
    return {
      type: "MathExpression",
      operator: node.operator,
      left: applyNumberMultiplication(node.left, multiplier),
      right: applyNumberMultiplication(node.right, multiplier)
    };
  } // it is impossible to reduce it into a single value
  // .e.g the node contains css variable
  // so we just preserve the division and let browser do it


  return {
    type: "MathExpression",
    operator: '*',
    left: node,
    right: {
      type: "Number",
      value: multiplier
    }
  };
}

function covertNodesUnits(left, right, precision) {
  switch (left.type) {
    case 'LengthValue':
    case 'AngleValue':
    case 'TimeValue':
    case 'FrequencyValue':
    case 'ResolutionValue':
      if (right.type === left.type && right.unit && left.unit) {
        const converted = (0, _convertUnit.default)(right.value, right.unit, left.unit, precision);
        right = {
          type: left.type,
          value: converted,
          unit: left.unit
        };
      }

      return {
        left,
        right
      };

    default:
      return {
        left,
        right
      };
  }
}

function reduce(node, precision) {
  if (node.type === "MathExpression") {
    if (isAddSubOperator(node.operator)) {
      // reduceAddSubExpression will call reduce recursively
      return reduceAddSubExpression(node, precision);
    }

    node.left = reduce(node.left, precision);
    node.right = reduce(node.right, precision);

    switch (node.operator) {
      case "/":
        return reduceDivisionExpression(node, precision);

      case "*":
        return reduceMultiplicationExpression(node, precision);
    }

    return node;
  }

  return node;
}

var _default = reduce;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 23297:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = _default;
const order = {
  "*": 0,
  "/": 0,
  "+": 1,
  "-": 1
};

function round(value, prec) {
  if (prec !== false) {
    const precision = Math.pow(10, prec);
    return Math.round(value * precision) / precision;
  }

  return value;
}

function stringify(node, prec) {
  switch (node.type) {
    case "MathExpression":
      {
        const {
          left,
          right,
          operator: op
        } = node;
        let str = "";

        if (left.type === 'MathExpression' && order[op] < order[left.operator]) {
          str += `(${stringify(left, prec)})`;
        } else {
          str += stringify(left, prec);
        }

        str += order[op] ? ` ${node.operator} ` : node.operator;

        if (right.type === 'MathExpression' && order[op] < order[right.operator]) {
          str += `(${stringify(right, prec)})`;
        } else {
          str += stringify(right, prec);
        }

        return str;
      }

    case 'Number':
      return round(node.value, prec);

    case 'Function':
      return node.value;

    default:
      return round(node.value, prec) + node.unit;
  }
}

function _default(calc, node, originalValue, options, result, item) {
  let str = stringify(node, options.precision);
  const shouldPrintCalc = node.type === "MathExpression" || node.type === "Function";

  if (shouldPrintCalc) {
    // if calc expression couldn't be resolved to a single value, re-wrap it as
    // a calc()
    str = `${calc}(${str})`; // if the warnWhenCannotResolve option is on, inform the user that the calc
    // expression could not be resolved to a single value

    if (options.warnWhenCannotResolve) {
      result.warn("Could not reduce expression: " + originalValue, {
        plugin: 'postcss-calc',
        node: item
      });
    }
  }

  return str;
}

module.exports = exports.default;

/***/ }),

/***/ 23854:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _parser = __nccwpck_require__(59561);

var _reducer = _interopRequireDefault(__nccwpck_require__(28538));

var _stringifier = _interopRequireDefault(__nccwpck_require__(23297));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// eslint-disable-next-line import/no-unresolved
const MATCH_CALC = /((?:-(moz|webkit)-)?calc)/i;

function transformValue(value, options, result, item) {
  return (0, _postcssValueParser.default)(value).walk(node => {
    // skip anything which isn't a calc() function
    if (node.type !== 'function' || !MATCH_CALC.test(node.value)) {
      return node;
    } // stringify calc expression and produce an AST


    const contents = _postcssValueParser.default.stringify(node.nodes);

    const ast = _parser.parser.parse(contents); // reduce AST to its simplest form, that is, either to a single value
    // or a simplified calc expression


    const reducedAst = (0, _reducer.default)(ast, options.precision); // stringify AST and write it back

    node.type = 'word';
    node.value = (0, _stringifier.default)(node.value, reducedAst, value, options, result, item);
    return false;
  }).toString();
}

function transformSelector(value, options, result, item) {
  return (0, _postcssSelectorParser.default)(selectors => {
    selectors.walk(node => {
      // attribute value
      // e.g. the "calc(3*3)" part of "div[data-size="calc(3*3)"]"
      if (node.type === 'attribute' && node.value) {
        node.setValue(transformValue(node.value, options, result, item));
      } // tag value
      // e.g. the "calc(3*3)" part of "div:nth-child(2n + calc(3*3))"


      if (node.type === 'tag') {
        node.value = transformValue(node.value, options, result, item);
      }

      return;
    });
  }).processSync(value);
}

var _default = (node, property, options, result) => {
  const value = property === "selector" ? transformSelector(node[property], options, result, node) : transformValue(node[property], options, result, node); // if the preserve option is enabled and the value has changed, write the
  // transformed value into a cloned node which is inserted before the current
  // node, preserving the original value. Otherwise, overwrite the original
  // value.

  if (options.preserve && node[property] !== value) {
    const clone = node.clone();
    clone[property] = value;
    node.parent.insertBefore(node, clone);
  } else {
    node[property] = value;
  }
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 59561:
/***/ ((__unused_webpack_module, exports) => {


/* parser generated by jison 0.6.1-215 */

/*
 * Returns a Parser object of the following structure:
 *
 *  Parser: {
 *    yy: {}     The so-called "shared state" or rather the *source* of it;
 *               the real "shared state" `yy` passed around to
 *               the rule actions, etc. is a derivative/copy of this one,
 *               not a direct reference!
 *  }
 *
 *  Parser.prototype: {
 *    yy: {},
 *    EOF: 1,
 *    TERROR: 2,
 *
 *    trace: function(errorMessage, ...),
 *
 *    JisonParserError: function(msg, hash),
 *
 *    quoteName: function(name),
 *               Helper function which can be overridden by user code later on: put suitable
 *               quotes around literal IDs in a description string.
 *
 *    originalQuoteName: function(name),
 *               The basic quoteName handler provided by JISON.
 *               `cleanupAfterParse()` will clean up and reset `quoteName()` to reference this function
 *               at the end of the `parse()`.
 *
 *    describeSymbol: function(symbol),
 *               Return a more-or-less human-readable description of the given symbol, when
 *               available, or the symbol itself, serving as its own 'description' for lack
 *               of something better to serve up.
 *
 *               Return NULL when the symbol is unknown to the parser.
 *
 *    symbols_: {associative list: name ==> number},
 *    terminals_: {associative list: number ==> name},
 *    nonterminals: {associative list: rule-name ==> {associative list: number ==> rule-alt}},
 *    terminal_descriptions_: (if there are any) {associative list: number ==> description},
 *    productions_: [...],
 *
 *    performAction: function parser__performAction(yytext, yyleng, yylineno, yyloc, yystate, yysp, yyvstack, yylstack, yystack, yysstack),
 *
 *               The function parameters and `this` have the following value/meaning:
 *               - `this`    : reference to the `yyval` internal object, which has members (`$` and `_$`)
 *                             to store/reference the rule value `$$` and location info `@$`.
 *
 *                 One important thing to note about `this` a.k.a. `yyval`: every *reduce* action gets
 *                 to see the same object via the `this` reference, i.e. if you wish to carry custom
 *                 data from one reduce action through to the next within a single parse run, then you
 *                 may get nasty and use `yyval` a.k.a. `this` for storing you own semi-permanent data.
 *
 *                 `this.yy` is a direct reference to the `yy` shared state object.
 *
 *                 `%parse-param`-specified additional `parse()` arguments have been added to this `yy`
 *                 object at `parse()` start and are therefore available to the action code via the
 *                 same named `yy.xxxx` attributes (where `xxxx` represents a identifier name from
 *                 the %parse-param` list.
 *
 *               - `yytext`  : reference to the lexer value which belongs to the last lexer token used
 *                             to match this rule. This is *not* the look-ahead token, but the last token
 *                             that's actually part of this rule.
 *
 *                 Formulated another way, `yytext` is the value of the token immediately preceeding
 *                 the current look-ahead token.
 *                 Caveats apply for rules which don't require look-ahead, such as epsilon rules.
 *
 *               - `yyleng`  : ditto as `yytext`, only now for the lexer.yyleng value.
 *
 *               - `yylineno`: ditto as `yytext`, only now for the lexer.yylineno value.
 *
 *               - `yyloc`   : ditto as `yytext`, only now for the lexer.yylloc lexer token location info.
 *
 *                               WARNING: since jison 0.4.18-186 this entry may be NULL/UNDEFINED instead
 *                               of an empty object when no suitable location info can be provided.
 *
 *               - `yystate` : the current parser state number, used internally for dispatching and
 *                               executing the action code chunk matching the rule currently being reduced.
 *
 *               - `yysp`    : the current state stack position (a.k.a. 'stack pointer')
 *
 *                 This one comes in handy when you are going to do advanced things to the parser
 *                 stacks, all of which are accessible from your action code (see the next entries below).
 *
 *                 Also note that you can access this and other stack index values using the new double-hash
 *                 syntax, i.e. `##$ === ##0 === yysp`, while `##1` is the stack index for all things
 *                 related to the first rule term, just like you have `$1`, `@1` and `#1`.
 *                 This is made available to write very advanced grammar action rules, e.g. when you want
 *                 to investigate the parse state stack in your action code, which would, for example,
 *                 be relevant when you wish to implement error diagnostics and reporting schemes similar
 *                 to the work described here:
 *
 *                 + Pottier, F., 2016. Reachability and error diagnosis in LR(1) automata.
 *                   In Journées Francophones des Languages Applicatifs.
 *
 *                 + Jeffery, C.L., 2003. Generating LR syntax error messages from examples.
 *                   ACM Transactions on Programming Languages and Systems (TOPLAS), 25(5), pp.631–640.
 *
 *               - `yyrulelength`: the current rule's term count, i.e. the number of entries occupied on the stack.
 *
 *                 This one comes in handy when you are going to do advanced things to the parser
 *                 stacks, all of which are accessible from your action code (see the next entries below).
 *
 *               - `yyvstack`: reference to the parser value stack. Also accessed via the `$1` etc.
 *                             constructs.
 *
 *               - `yylstack`: reference to the parser token location stack. Also accessed via
 *                             the `@1` etc. constructs.
 *
 *                             WARNING: since jison 0.4.18-186 this array MAY contain slots which are
 *                             UNDEFINED rather than an empty (location) object, when the lexer/parser
 *                             action code did not provide a suitable location info object when such a
 *                             slot was filled!
 *
 *               - `yystack` : reference to the parser token id stack. Also accessed via the
 *                             `#1` etc. constructs.
 *
 *                 Note: this is a bit of a **white lie** as we can statically decode any `#n` reference to
 *                 its numeric token id value, hence that code wouldn't need the `yystack` but *you* might
 *                 want access this array for your own purposes, such as error analysis as mentioned above!
 *
 *                 Note that this stack stores the current stack of *tokens*, that is the sequence of
 *                 already parsed=reduced *nonterminals* (tokens representing rules) and *terminals*
 *                 (lexer tokens *shifted* onto the stack until the rule they belong to is found and
 *                 *reduced*.
 *
 *               - `yysstack`: reference to the parser state stack. This one carries the internal parser
 *                             *states* such as the one in `yystate`, which are used to represent
 *                             the parser state machine in the *parse table*. *Very* *internal* stuff,
 *                             what can I say? If you access this one, you're clearly doing wicked things
 *
 *               - `...`     : the extra arguments you specified in the `%parse-param` statement in your
 *                             grammar definition file.
 *
 *    table: [...],
 *               State transition table
 *               ----------------------
 *
 *               index levels are:
 *               - `state`  --> hash table
 *               - `symbol` --> action (number or array)
 *
 *                 If the `action` is an array, these are the elements' meaning:
 *                 - index [0]: 1 = shift, 2 = reduce, 3 = accept
 *                 - index [1]: GOTO `state`
 *
 *                 If the `action` is a number, it is the GOTO `state`
 *
 *    defaultActions: {...},
 *
 *    parseError: function(str, hash, ExceptionClass),
 *    yyError: function(str, ...),
 *    yyRecovering: function(),
 *    yyErrOk: function(),
 *    yyClearIn: function(),
 *
 *    constructParseErrorInfo: function(error_message, exception_object, expected_token_set, is_recoverable),
 *               Helper function **which will be set up during the first invocation of the `parse()` method**.
 *               Produces a new errorInfo 'hash object' which can be passed into `parseError()`.
 *               See it's use in this parser kernel in many places; example usage:
 *
 *                   var infoObj = parser.constructParseErrorInfo('fail!', null,
 *                                     parser.collect_expected_token_set(state), true);
 *                   var retVal = parser.parseError(infoObj.errStr, infoObj, parser.JisonParserError);
 *
 *    originalParseError: function(str, hash, ExceptionClass),
 *               The basic `parseError` handler provided by JISON.
 *               `cleanupAfterParse()` will clean up and reset `parseError()` to reference this function
 *               at the end of the `parse()`.
 *
 *    options: { ... parser %options ... },
 *
 *    parse: function(input[, args...]),
 *               Parse the given `input` and return the parsed value (or `true` when none was provided by
 *               the root action, in which case the parser is acting as a *matcher*).
 *               You MAY use the additional `args...` parameters as per `%parse-param` spec of this grammar:
 *               these extra `args...` are added verbatim to the `yy` object reference as member variables.
 *
 *               WARNING:
 *               Parser's additional `args...` parameters (via `%parse-param`) MAY conflict with
 *               any attributes already added to `yy` by the jison run-time;
 *               when such a collision is detected an exception is thrown to prevent the generated run-time
 *               from silently accepting this confusing and potentially hazardous situation!
 *
 *               The lexer MAY add its own set of additional parameters (via the `%parse-param` line in
 *               the lexer section of the grammar spec): these will be inserted in the `yy` shared state
 *               object and any collision with those will be reported by the lexer via a thrown exception.
 *
 *    cleanupAfterParse: function(resultValue, invoke_post_methods, do_not_nuke_errorinfos),
 *               Helper function **which will be set up during the first invocation of the `parse()` method**.
 *               This helper API is invoked at the end of the `parse()` call, unless an exception was thrown
 *               and `%options no-try-catch` has been defined for this grammar: in that case this helper MAY
 *               be invoked by calling user code to ensure the `post_parse` callbacks are invoked and
 *               the internal parser gets properly garbage collected under these particular circumstances.
 *
 *    yyMergeLocationInfo: function(first_index, last_index, first_yylloc, last_yylloc, dont_look_back),
 *               Helper function **which will be set up during the first invocation of the `parse()` method**.
 *               This helper API can be invoked to calculate a spanning `yylloc` location info object.
 *
 *               Note: %epsilon rules MAY specify no `first_index` and `first_yylloc`, in which case
 *               this function will attempt to obtain a suitable location marker by inspecting the location stack
 *               backwards.
 *
 *               For more info see the documentation comment further below, immediately above this function's
 *               implementation.
 *
 *    lexer: {
 *        yy: {...},           A reference to the so-called "shared state" `yy` once
 *                             received via a call to the `.setInput(input, yy)` lexer API.
 *        EOF: 1,
 *        ERROR: 2,
 *        JisonLexerError: function(msg, hash),
 *        parseError: function(str, hash, ExceptionClass),
 *        setInput: function(input, [yy]),
 *        input: function(),
 *        unput: function(str),
 *        more: function(),
 *        reject: function(),
 *        less: function(n),
 *        pastInput: function(n),
 *        upcomingInput: function(n),
 *        showPosition: function(),
 *        test_match: function(regex_match_array, rule_index, ...),
 *        next: function(...),
 *        lex: function(...),
 *        begin: function(condition),
 *        pushState: function(condition),
 *        popState: function(),
 *        topState: function(),
 *        _currentRules: function(),
 *        stateStackSize: function(),
 *        cleanupAfterLex: function()
 *
 *        options: { ... lexer %options ... },
 *
 *        performAction: function(yy, yy_, $avoiding_name_collisions, YY_START, ...),
 *        rules: [...],
 *        conditions: {associative list: name ==> set},
 *    }
 *  }
 *
 *
 *  token location info (@$, _$, etc.): {
 *    first_line: n,
 *    last_line: n,
 *    first_column: n,
 *    last_column: n,
 *    range: [start_number, end_number]
 *               (where the numbers are indexes into the input string, zero-based)
 *  }
 *
 * ---
 *
 * The `parseError` function receives a 'hash' object with these members for lexer and
 * parser errors:
 *
 *  {
 *    text:        (matched text)
 *    token:       (the produced terminal token, if any)
 *    token_id:    (the produced terminal token numeric ID, if any)
 *    line:        (yylineno)
 *    loc:         (yylloc)
 *  }
 *
 * parser (grammar) errors will also provide these additional members:
 *
 *  {
 *    expected:    (array describing the set of expected tokens;
 *                  may be UNDEFINED when we cannot easily produce such a set)
 *    state:       (integer (or array when the table includes grammar collisions);
 *                  represents the current internal state of the parser kernel.
 *                  can, for example, be used to pass to the `collect_expected_token_set()`
 *                  API to obtain the expected token set)
 *    action:      (integer; represents the current internal action which will be executed)
 *    new_state:   (integer; represents the next/planned internal state, once the current
 *                  action has executed)
 *    recoverable: (boolean: TRUE when the parser MAY have an error recovery rule
 *                  available for this particular error)
 *    state_stack: (array: the current parser LALR/LR internal state stack; this can be used,
 *                  for instance, for advanced error analysis and reporting)
 *    value_stack: (array: the current parser LALR/LR internal `$$` value stack; this can be used,
 *                  for instance, for advanced error analysis and reporting)
 *    location_stack: (array: the current parser LALR/LR internal location stack; this can be used,
 *                  for instance, for advanced error analysis and reporting)
 *    yy:          (object: the current parser internal "shared state" `yy`
 *                  as is also available in the rule actions; this can be used,
 *                  for instance, for advanced error analysis and reporting)
 *    lexer:       (reference to the current lexer instance used by the parser)
 *    parser:      (reference to the current parser instance)
 *  }
 *
 * while `this` will reference the current parser instance.
 *
 * When `parseError` is invoked by the lexer, `this` will still reference the related *parser*
 * instance, while these additional `hash` fields will also be provided:
 *
 *  {
 *    lexer:       (reference to the current lexer instance which reported the error)
 *  }
 *
 * When `parseError` is invoked by the parser due to a **JavaScript exception** being fired
 * from either the parser or lexer, `this` will still reference the related *parser*
 * instance, while these additional `hash` fields will also be provided:
 *
 *  {
 *    exception:   (reference to the exception thrown)
 *  }
 *
 * Please do note that in the latter situation, the `expected` field will be omitted as
 * this type of failure is assumed not to be due to *parse errors* but rather due to user
 * action code in either parser or lexer failing unexpectedly.
 *
 * ---
 *
 * You can specify parser options by setting / modifying the `.yy` object of your Parser instance.
 * These options are available:
 *
 * ### options which are global for all parser instances
 *
 *  Parser.pre_parse: function(yy)
 *                 optional: you can specify a pre_parse() function in the chunk following
 *                 the grammar, i.e. after the last `%%`.
 *  Parser.post_parse: function(yy, retval, parseInfo) { return retval; }
 *                 optional: you can specify a post_parse() function in the chunk following
 *                 the grammar, i.e. after the last `%%`. When it does not return any value,
 *                 the parser will return the original `retval`.
 *
 * ### options which can be set up per parser instance
 *
 *  yy: {
 *      pre_parse:  function(yy)
 *                 optional: is invoked before the parse cycle starts (and before the first
 *                 invocation of `lex()`) but immediately after the invocation of
 *                 `parser.pre_parse()`).
 *      post_parse: function(yy, retval, parseInfo) { return retval; }
 *                 optional: is invoked when the parse terminates due to success ('accept')
 *                 or failure (even when exceptions are thrown).
 *                 `retval` contains the return value to be produced by `Parser.parse()`;
 *                 this function can override the return value by returning another.
 *                 When it does not return any value, the parser will return the original
 *                 `retval`.
 *                 This function is invoked immediately before `parser.post_parse()`.
 *
 *      parseError: function(str, hash, ExceptionClass)
 *                 optional: overrides the default `parseError` function.
 *      quoteName: function(name),
 *                 optional: overrides the default `quoteName` function.
 *  }
 *
 *  parser.lexer.options: {
 *      pre_lex:  function()
 *                 optional: is invoked before the lexer is invoked to produce another token.
 *                 `this` refers to the Lexer object.
 *      post_lex: function(token) { return token; }
 *                 optional: is invoked when the lexer has produced a token `token`;
 *                 this function can override the returned token value by returning another.
 *                 When it does not return any (truthy) value, the lexer will return
 *                 the original `token`.
 *                 `this` refers to the Lexer object.
 *
 *      ranges: boolean
 *                 optional: `true` ==> token location info will include a .range[] member.
 *      flex: boolean
 *                 optional: `true` ==> flex-like lexing behaviour where the rules are tested
 *                 exhaustively to find the longest match.
 *      backtrack_lexer: boolean
 *                 optional: `true` ==> lexer regexes are tested in order and for invoked;
 *                 the lexer terminates the scan when a token is returned by the action code.
 *      xregexp: boolean
 *                 optional: `true` ==> lexer rule regexes are "extended regex format" requiring the
 *                 `XRegExp` library. When this `%option` has not been specified at compile time, all lexer
 *                 rule regexes have been written as standard JavaScript RegExp expressions.
 *  }
 */

        
    
            var parser = (function () {


// See also:
// http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/#35881508
// but we keep the prototype.constructor and prototype.name assignment lines too for compatibility
// with userland code which might access the derived class in a 'classic' way.
function JisonParserError(msg, hash) {
    Object.defineProperty(this, 'name', {
        enumerable: false,
        writable: false,
        value: 'JisonParserError'
    });

    if (msg == null) msg = '???';

    Object.defineProperty(this, 'message', {
        enumerable: false,
        writable: true,
        value: msg
    });

    this.hash = hash;

    var stacktrace;
    if (hash && hash.exception instanceof Error) {
        var ex2 = hash.exception;
        this.message = ex2.message || msg;
        stacktrace = ex2.stack;
    }
    if (!stacktrace) {
        if (Error.hasOwnProperty('captureStackTrace')) {        // V8/Chrome engine
            Error.captureStackTrace(this, this.constructor);
        } else {
            stacktrace = (new Error(msg)).stack;
        }
    }
    if (stacktrace) {
        Object.defineProperty(this, 'stack', {
            enumerable: false,
            writable: false,
            value: stacktrace
        });
    }
}

if (typeof Object.setPrototypeOf === 'function') {
    Object.setPrototypeOf(JisonParserError.prototype, Error.prototype);
} else {
    JisonParserError.prototype = Object.create(Error.prototype);
}
JisonParserError.prototype.constructor = JisonParserError;
JisonParserError.prototype.name = 'JisonParserError';




        // helper: reconstruct the productions[] table
        function bp(s) {
            var rv = [];
            var p = s.pop;
            var r = s.rule;
            for (var i = 0, l = p.length; i < l; i++) {
                rv.push([
                    p[i],
                    r[i]
                ]);
            }
            return rv;
        }
    


        // helper: reconstruct the defaultActions[] table
        function bda(s) {
            var rv = {};
            var d = s.idx;
            var g = s.goto;
            for (var i = 0, l = d.length; i < l; i++) {
                var j = d[i];
                rv[j] = g[i];
            }
            return rv;
        }
    


        // helper: reconstruct the 'goto' table
        function bt(s) {
            var rv = [];
            var d = s.len;
            var y = s.symbol;
            var t = s.type;
            var a = s.state;
            var m = s.mode;
            var g = s.goto;
            for (var i = 0, l = d.length; i < l; i++) {
                var n = d[i];
                var q = {};
                for (var j = 0; j < n; j++) {
                    var z = y.shift();
                    switch (t.shift()) {
                    case 2:
                        q[z] = [
                            m.shift(),
                            g.shift()
                        ];
                        break;

                    case 0:
                        q[z] = a.shift();
                        break;

                    default:
                        // type === 1: accept
                        q[z] = [
                            3
                        ];
                    }
                }
                rv.push(q);
            }
            return rv;
        }
    


        // helper: runlength encoding with increment step: code, length: step (default step = 0)
        // `this` references an array
        function s(c, l, a) {
            a = a || 0;
            for (var i = 0; i < l; i++) {
                this.push(c);
                c += a;
            }
        }

        // helper: duplicate sequence from *relative* offset and length.
        // `this` references an array
        function c(i, l) {
            i = this.length - i;
            for (l += i; i < l; i++) {
                this.push(this[i]);
            }
        }

        // helper: unpack an array using helpers and data, all passed in an array argument 'a'.
        function u(a) {
            var rv = [];
            for (var i = 0, l = a.length; i < l; i++) {
                var e = a[i];
                // Is this entry a helper function?
                if (typeof e === 'function') {
                    i++;
                    e.apply(rv, a[i]);
                } else {
                    rv.push(e);
                }
            }
            return rv;
        }
    

var parser = {
    // Code Generator Information Report
    // ---------------------------------
    //
    // Options:
    //
    //   default action mode: ............. ["classic","merge"]
    //   test-compile action mode: ........ "parser:*,lexer:*"
    //   try..catch: ...................... true
    //   default resolve on conflict: ..... true
    //   on-demand look-ahead: ............ false
    //   error recovery token skip maximum: 3
    //   yyerror in parse actions is: ..... NOT recoverable,
    //   yyerror in lexer actions and other non-fatal lexer are:
    //   .................................. NOT recoverable,
    //   debug grammar/output: ............ false
    //   has partial LR conflict upgrade:   true
    //   rudimentary token-stack support:   false
    //   parser table compression mode: ... 2
    //   export debug tables: ............. false
    //   export *all* tables: ............. false
    //   module type: ..................... commonjs
    //   parser engine type: .............. lalr
    //   output main() in the module: ..... true
    //   has user-specified main(): ....... false
    //   has user-specified require()/import modules for main():
    //   .................................. false
    //   number of expected conflicts: .... 0
    //
    //
    // Parser Analysis flags:
    //
    //   no significant actions (parser is a language matcher only):
    //   .................................. false
    //   uses yyleng: ..................... false
    //   uses yylineno: ................... false
    //   uses yytext: ..................... false
    //   uses yylloc: ..................... false
    //   uses ParseError API: ............. false
    //   uses YYERROR: .................... false
    //   uses YYRECOVERING: ............... false
    //   uses YYERROK: .................... false
    //   uses YYCLEARIN: .................. false
    //   tracks rule values: .............. true
    //   assigns rule values: ............. true
    //   uses location tracking: .......... false
    //   assigns location: ................ false
    //   uses yystack: .................... false
    //   uses yysstack: ................... false
    //   uses yysp: ....................... true
    //   uses yyrulelength: ............... false
    //   uses yyMergeLocationInfo API: .... false
    //   has error recovery: .............. false
    //   has error reporting: ............. false
    //
    // --------- END OF REPORT -----------

trace: function no_op_trace() { },
JisonParserError: JisonParserError,
yy: {},
options: {
  type: "lalr",
  hasPartialLrUpgradeOnConflict: true,
  errorRecoveryTokenDiscardCount: 3
},
symbols_: {
  "$accept": 0,
  "$end": 1,
  "ADD": 6,
  "ANGLE": 12,
  "CALC": 3,
  "CHS": 19,
  "DIV": 9,
  "EMS": 17,
  "EOF": 1,
  "EXS": 18,
  "FREQ": 14,
  "FUNCTION": 10,
  "LENGTH": 11,
  "LPAREN": 4,
  "MUL": 8,
  "NUMBER": 26,
  "PERCENTAGE": 25,
  "REMS": 20,
  "RES": 15,
  "RPAREN": 5,
  "SUB": 7,
  "TIME": 13,
  "UNKNOWN_DIMENSION": 16,
  "VHS": 21,
  "VMAXS": 24,
  "VMINS": 23,
  "VWS": 22,
  "dimension": 30,
  "error": 2,
  "expression": 27,
  "function": 29,
  "math_expression": 28,
  "number": 31
},
terminals_: {
  1: "EOF",
  2: "error",
  3: "CALC",
  4: "LPAREN",
  5: "RPAREN",
  6: "ADD",
  7: "SUB",
  8: "MUL",
  9: "DIV",
  10: "FUNCTION",
  11: "LENGTH",
  12: "ANGLE",
  13: "TIME",
  14: "FREQ",
  15: "RES",
  16: "UNKNOWN_DIMENSION",
  17: "EMS",
  18: "EXS",
  19: "CHS",
  20: "REMS",
  21: "VHS",
  22: "VWS",
  23: "VMINS",
  24: "VMAXS",
  25: "PERCENTAGE",
  26: "NUMBER"
},
TERROR: 2,
    EOF: 1,

    // internals: defined here so the object *structure* doesn't get modified by parse() et al,
    // thus helping JIT compilers like Chrome V8.
    originalQuoteName: null,
    originalParseError: null,
    cleanupAfterParse: null,
    constructParseErrorInfo: null,
    yyMergeLocationInfo: null,

    __reentrant_call_depth: 0,      // INTERNAL USE ONLY
    __error_infos: [],              // INTERNAL USE ONLY: the set of parseErrorInfo objects created since the last cleanup
    __error_recovery_infos: [],     // INTERNAL USE ONLY: the set of parseErrorInfo objects created since the last cleanup

    // APIs which will be set up depending on user action code analysis:
    //yyRecovering: 0,
    //yyErrOk: 0,
    //yyClearIn: 0,

    // Helper APIs
    // -----------

    // Helper function which can be overridden by user code later on: put suitable quotes around
    // literal IDs in a description string.
    quoteName: function parser_quoteName(id_str) {
        return '"' + id_str + '"';
    },

    // Return the name of the given symbol (terminal or non-terminal) as a string, when available.
    //
    // Return NULL when the symbol is unknown to the parser.
    getSymbolName: function parser_getSymbolName(symbol) {
        if (this.terminals_[symbol]) {
            return this.terminals_[symbol];
        }

        // Otherwise... this might refer to a RULE token i.e. a non-terminal: see if we can dig that one up.
        //
        // An example of this may be where a rule's action code contains a call like this:
        //
        //      parser.getSymbolName(#$)
        //
        // to obtain a human-readable name of the current grammar rule.
        var s = this.symbols_;
        for (var key in s) {
            if (s[key] === symbol) {
                return key;
            }
        }
        return null;
    },

    // Return a more-or-less human-readable description of the given symbol, when available,
    // or the symbol itself, serving as its own 'description' for lack of something better to serve up.
    //
    // Return NULL when the symbol is unknown to the parser.
    describeSymbol: function parser_describeSymbol(symbol) {
        if (symbol !== this.EOF && this.terminal_descriptions_ && this.terminal_descriptions_[symbol]) {
            return this.terminal_descriptions_[symbol];
        }
        else if (symbol === this.EOF) {
            return 'end of input';
        }
        var id = this.getSymbolName(symbol);
        if (id) {
            return this.quoteName(id);
        }
        return null;
    },

    // Produce a (more or less) human-readable list of expected tokens at the point of failure.
    //
    // The produced list may contain token or token set descriptions instead of the tokens
    // themselves to help turning this output into something that easier to read by humans
    // unless `do_not_describe` parameter is set, in which case a list of the raw, *numeric*,
    // expected terminals and nonterminals is produced.
    //
    // The returned list (array) will not contain any duplicate entries.
    collect_expected_token_set: function parser_collect_expected_token_set(state, do_not_describe) {
        var TERROR = this.TERROR;
        var tokenset = [];
        var check = {};
        // Has this (error?) state been outfitted with a custom expectations description text for human consumption?
        // If so, use that one instead of the less palatable token set.
        if (!do_not_describe && this.state_descriptions_ && this.state_descriptions_[state]) {
            return [
                this.state_descriptions_[state]
            ];
        }
        for (var p in this.table[state]) {
            p = +p;
            if (p !== TERROR) {
                var d = do_not_describe ? p : this.describeSymbol(p);
                if (d && !check[d]) {
                    tokenset.push(d);
                    check[d] = true;        // Mark this token description as already mentioned to prevent outputting duplicate entries.
                }
            }
        }
        return tokenset;
    },
productions_: bp({
  pop: u([
  27,
  s,
  [28, 9],
  29,
  s,
  [30, 17],
  s,
  [31, 3]
]),
  rule: u([
  2,
  4,
  s,
  [3, 5],
  s,
  [1, 19],
  2,
  2,
  c,
  [3, 3]
])
}),
performAction: function parser__PerformAction(yystate /* action[1] */, yysp, yyvstack) {

          /* this == yyval */

          // the JS engine itself can go and remove these statements when `yy` turns out to be unused in any action code!
          var yy = this.yy;
          var yyparser = yy.parser;
          var yylexer = yy.lexer;

          

          switch (yystate) {
case 0:
    /*! Production::    $accept : expression $end */

    // default action (generated by JISON mode classic/merge :: 1,VT,VA,-,-,-,-,-,-):
    this.$ = yyvstack[yysp - 1];
    // END of default action (generated by JISON mode classic/merge :: 1,VT,VA,-,-,-,-,-,-)
    break;

case 1:
    /*! Production::    expression : math_expression EOF */

    // default action (generated by JISON mode classic/merge :: 2,VT,VA,-,-,-,-,-,-):
    this.$ = yyvstack[yysp - 1];
    // END of default action (generated by JISON mode classic/merge :: 2,VT,VA,-,-,-,-,-,-)
    
    
    return yyvstack[yysp - 1];
    break;

case 2:
    /*! Production::    math_expression : CALC LPAREN math_expression RPAREN */
case 7:
    /*! Production::    math_expression : LPAREN math_expression RPAREN */

    this.$ = yyvstack[yysp - 1];
    break;

case 3:
    /*! Production::    math_expression : math_expression ADD math_expression */
case 4:
    /*! Production::    math_expression : math_expression SUB math_expression */
case 5:
    /*! Production::    math_expression : math_expression MUL math_expression */
case 6:
    /*! Production::    math_expression : math_expression DIV math_expression */

    this.$ = { type: 'MathExpression', operator: yyvstack[yysp - 1], left: yyvstack[yysp - 2], right: yyvstack[yysp] };
    break;

case 8:
    /*! Production::    math_expression : function */
case 9:
    /*! Production::    math_expression : dimension */
case 10:
    /*! Production::    math_expression : number */

    this.$ = yyvstack[yysp];
    break;

case 11:
    /*! Production::    function : FUNCTION */

    this.$ = { type: 'Function', value: yyvstack[yysp] };
    break;

case 12:
    /*! Production::    dimension : LENGTH */

    this.$ = { type: 'LengthValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
    break;

case 13:
    /*! Production::    dimension : ANGLE */

    this.$ = { type: 'AngleValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
    break;

case 14:
    /*! Production::    dimension : TIME */

    this.$ = { type: 'TimeValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
    break;

case 15:
    /*! Production::    dimension : FREQ */

    this.$ = { type: 'FrequencyValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
    break;

case 16:
    /*! Production::    dimension : RES */

    this.$ = { type: 'ResolutionValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
    break;

case 17:
    /*! Production::    dimension : UNKNOWN_DIMENSION */

    this.$ = { type: 'UnknownDimension', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
    break;

case 18:
    /*! Production::    dimension : EMS */

    this.$ = { type: 'EmValue', value: parseFloat(yyvstack[yysp]), unit: 'em' };
    break;

case 19:
    /*! Production::    dimension : EXS */

    this.$ = { type: 'ExValue', value: parseFloat(yyvstack[yysp]), unit: 'ex' };
    break;

case 20:
    /*! Production::    dimension : CHS */

    this.$ = { type: 'ChValue', value: parseFloat(yyvstack[yysp]), unit: 'ch' };
    break;

case 21:
    /*! Production::    dimension : REMS */

    this.$ = { type: 'RemValue', value: parseFloat(yyvstack[yysp]), unit: 'rem' };
    break;

case 22:
    /*! Production::    dimension : VHS */

    this.$ = { type: 'VhValue', value: parseFloat(yyvstack[yysp]), unit: 'vh' };
    break;

case 23:
    /*! Production::    dimension : VWS */

    this.$ = { type: 'VwValue', value: parseFloat(yyvstack[yysp]), unit: 'vw' };
    break;

case 24:
    /*! Production::    dimension : VMINS */

    this.$ = { type: 'VminValue', value: parseFloat(yyvstack[yysp]), unit: 'vmin' };
    break;

case 25:
    /*! Production::    dimension : VMAXS */

    this.$ = { type: 'VmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'vmax' };
    break;

case 26:
    /*! Production::    dimension : PERCENTAGE */

    this.$ = { type: 'PercentageValue', value: parseFloat(yyvstack[yysp]), unit: '%' };
    break;

case 27:
    /*! Production::    dimension : ADD dimension */

    var prev = yyvstack[yysp]; this.$ = prev;
    break;

case 28:
    /*! Production::    dimension : SUB dimension */

    var prev = yyvstack[yysp]; prev.value *= -1; this.$ = prev;
    break;

case 29:
    /*! Production::    number : NUMBER */
case 30:
    /*! Production::    number : ADD NUMBER */

    this.$ = { type: 'Number', value: parseFloat(yyvstack[yysp]) };
    break;

case 31:
    /*! Production::    number : SUB NUMBER */

    this.$ = { type: 'Number', value: parseFloat(yyvstack[yysp]) * -1 };
    break;

}
},
table: bt({
  len: u([
  26,
  1,
  5,
  1,
  25,
  s,
  [0, 19],
  19,
  19,
  0,
  0,
  s,
  [25, 5],
  5,
  0,
  0,
  18,
  18,
  0,
  0,
  6,
  6,
  0,
  0,
  c,
  [11, 3]
]),
  symbol: u([
  3,
  4,
  6,
  7,
  s,
  [10, 22, 1],
  1,
  1,
  s,
  [6, 4, 1],
  4,
  c,
  [33, 21],
  c,
  [32, 4],
  6,
  7,
  c,
  [22, 16],
  30,
  c,
  [19, 19],
  c,
  [63, 25],
  c,
  [25, 100],
  s,
  [5, 5, 1],
  c,
  [149, 17],
  c,
  [167, 18],
  30,
  1,
  c,
  [42, 5],
  c,
  [6, 6],
  c,
  [5, 5]
]),
  type: u([
  s,
  [2, 21],
  s,
  [0, 5],
  1,
  s,
  [2, 27],
  s,
  [0, 4],
  c,
  [22, 19],
  c,
  [19, 37],
  c,
  [63, 25],
  c,
  [25, 103],
  c,
  [148, 19],
  c,
  [18, 18]
]),
  state: u([
  1,
  2,
  5,
  6,
  7,
  33,
  c,
  [4, 3],
  34,
  38,
  40,
  c,
  [6, 3],
  41,
  c,
  [4, 3],
  42,
  c,
  [4, 3],
  43,
  c,
  [4, 3],
  44,
  c,
  [22, 5]
]),
  mode: u([
  s,
  [1, 228],
  s,
  [2, 4],
  c,
  [6, 8],
  s,
  [1, 5]
]),
  goto: u([
  3,
  4,
  24,
  25,
  s,
  [8, 16, 1],
  s,
  [26, 7, 1],
  c,
  [27, 21],
  36,
  37,
  c,
  [18, 15],
  35,
  c,
  [18, 17],
  39,
  c,
  [57, 21],
  c,
  [21, 84],
  45,
  c,
  [168, 4],
  c,
  [128, 17],
  c,
  [17, 17],
  s,
  [3, 4],
  30,
  31,
  s,
  [4, 4],
  30,
  31,
  46,
  c,
  [51, 4]
])
}),
defaultActions: bda({
  idx: u([
  s,
  [5, 19, 1],
  26,
  27,
  34,
  35,
  38,
  39,
  42,
  43,
  45,
  46
]),
  goto: u([
  s,
  [8, 19, 1],
  29,
  1,
  27,
  30,
  28,
  31,
  5,
  6,
  7,
  2
])
}),
parseError: function parseError(str, hash, ExceptionClass) {
    if (hash.recoverable) {
        if (typeof this.trace === 'function') {
            this.trace(str);
        }
        hash.destroy();             // destroy... well, *almost*!
    } else {
        if (typeof this.trace === 'function') {
            this.trace(str);
        }
        if (!ExceptionClass) {
            ExceptionClass = this.JisonParserError;
        }
        throw new ExceptionClass(str, hash);
    }
},
parse: function parse(input) {
    var self = this;
    var stack = new Array(128);         // token stack: stores token which leads to state at the same index (column storage)
    var sstack = new Array(128);        // state stack: stores states (column storage)

    var vstack = new Array(128);        // semantic value stack

    var table = this.table;
    var sp = 0;                         // 'stack pointer': index into the stacks


    


    var symbol = 0;



    var TERROR = this.TERROR;
    var EOF = this.EOF;
    var ERROR_RECOVERY_TOKEN_DISCARD_COUNT = (this.options.errorRecoveryTokenDiscardCount | 0) || 3;
    var NO_ACTION = [0, 47 /* === table.length :: ensures that anyone using this new state will fail dramatically! */];

    var lexer;
    if (this.__lexer__) {
        lexer = this.__lexer__;
    } else {
        lexer = this.__lexer__ = Object.create(this.lexer);
    }

    var sharedState_yy = {
        parseError: undefined,
        quoteName: undefined,
        lexer: undefined,
        parser: undefined,
        pre_parse: undefined,
        post_parse: undefined,
        pre_lex: undefined,
        post_lex: undefined      // WARNING: must be written this way for the code expanders to work correctly in both ES5 and ES6 modes!
    };

    var ASSERT;
    if (typeof assert !== 'function') {
        ASSERT = function JisonAssert(cond, msg) {
            if (!cond) {
                throw new Error('assertion failed: ' + (msg || '***'));
            }
        };
    } else {
        ASSERT = assert;
    }

    this.yyGetSharedState = function yyGetSharedState() {
        return sharedState_yy;
    };








    function shallow_copy_noclobber(dst, src) {
        for (var k in src) {
            if (typeof dst[k] === 'undefined' && Object.prototype.hasOwnProperty.call(src, k)) {
                dst[k] = src[k];
            }
        }
    }

    // copy state
    shallow_copy_noclobber(sharedState_yy, this.yy);

    sharedState_yy.lexer = lexer;
    sharedState_yy.parser = this;






    // Does the shared state override the default `parseError` that already comes with this instance?
    if (typeof sharedState_yy.parseError === 'function') {
        this.parseError = function parseErrorAlt(str, hash, ExceptionClass) {
            if (!ExceptionClass) {
                ExceptionClass = this.JisonParserError;
            }
            return sharedState_yy.parseError.call(this, str, hash, ExceptionClass);
        };
    } else {
        this.parseError = this.originalParseError;
    }

    // Does the shared state override the default `quoteName` that already comes with this instance?
    if (typeof sharedState_yy.quoteName === 'function') {
        this.quoteName = function quoteNameAlt(id_str) {
            return sharedState_yy.quoteName.call(this, id_str);
        };
    } else {
        this.quoteName = this.originalQuoteName;
    }

    // set up the cleanup function; make it an API so that external code can re-use this one in case of
    // calamities or when the `%options no-try-catch` option has been specified for the grammar, in which
    // case this parse() API method doesn't come with a `finally { ... }` block any more!
    //
    // NOTE: as this API uses parse() as a closure, it MUST be set again on every parse() invocation,
    //       or else your `sharedState`, etc. references will be *wrong*!
    this.cleanupAfterParse = function parser_cleanupAfterParse(resultValue, invoke_post_methods, do_not_nuke_errorinfos) {
        var rv;

        if (invoke_post_methods) {
            var hash;

            if (sharedState_yy.post_parse || this.post_parse) {
                // create an error hash info instance: we re-use this API in a **non-error situation**
                // as this one delivers all parser internals ready for access by userland code.
                hash = this.constructParseErrorInfo(null /* no error! */, null /* no exception! */, null, false);
            }

            if (sharedState_yy.post_parse) {
                rv = sharedState_yy.post_parse.call(this, sharedState_yy, resultValue, hash);
                if (typeof rv !== 'undefined') resultValue = rv;
            }
            if (this.post_parse) {
                rv = this.post_parse.call(this, sharedState_yy, resultValue, hash);
                if (typeof rv !== 'undefined') resultValue = rv;
            }

            // cleanup:
            if (hash && hash.destroy) {
                hash.destroy();
            }
        }

        if (this.__reentrant_call_depth > 1) return resultValue;        // do not (yet) kill the sharedState when this is a reentrant run.

        // clean up the lingering lexer structures as well:
        if (lexer.cleanupAfterLex) {
            lexer.cleanupAfterLex(do_not_nuke_errorinfos);
        }

        // prevent lingering circular references from causing memory leaks:
        if (sharedState_yy) {
            sharedState_yy.lexer = undefined;
            sharedState_yy.parser = undefined;
            if (lexer.yy === sharedState_yy) {
                lexer.yy = undefined;
            }
        }
        sharedState_yy = undefined;
        this.parseError = this.originalParseError;
        this.quoteName = this.originalQuoteName;

        // nuke the vstack[] array at least as that one will still reference obsoleted user values.
        // To be safe, we nuke the other internal stack columns as well...
        stack.length = 0;               // fastest way to nuke an array without overly bothering the GC
        sstack.length = 0;

        vstack.length = 0;
        sp = 0;

        // nuke the error hash info instances created during this run.
        // Userland code must COPY any data/references
        // in the error hash instance(s) it is more permanently interested in.
        if (!do_not_nuke_errorinfos) {
            for (var i = this.__error_infos.length - 1; i >= 0; i--) {
                var el = this.__error_infos[i];
                if (el && typeof el.destroy === 'function') {
                    el.destroy();
                }
            }
            this.__error_infos.length = 0;


        }

        return resultValue;
    };






































































































































    // NOTE: as this API uses parse() as a closure, it MUST be set again on every parse() invocation,
    //       or else your `lexer`, `sharedState`, etc. references will be *wrong*!
    this.constructParseErrorInfo = function parser_constructParseErrorInfo(msg, ex, expected, recoverable) {
        var pei = {
            errStr: msg,
            exception: ex,
            text: lexer.match,
            value: lexer.yytext,
            token: this.describeSymbol(symbol) || symbol,
            token_id: symbol,
            line: lexer.yylineno,

            expected: expected,
            recoverable: recoverable,
            state: state,
            action: action,
            new_state: newState,
            symbol_stack: stack,
            state_stack: sstack,
            value_stack: vstack,

            stack_pointer: sp,
            yy: sharedState_yy,
            lexer: lexer,
            parser: this,

            // and make sure the error info doesn't stay due to potential
            // ref cycle via userland code manipulations.
            // These would otherwise all be memory leak opportunities!
            //
            // Note that only array and object references are nuked as those
            // constitute the set of elements which can produce a cyclic ref.
            // The rest of the members is kept intact as they are harmless.
            destroy: function destructParseErrorInfo() {
                // remove cyclic references added to error info:
                // info.yy = null;
                // info.lexer = null;
                // info.value = null;
                // info.value_stack = null;
                // ...
                var rec = !!this.recoverable;
                for (var key in this) {
                    if (this.hasOwnProperty(key) && typeof key === 'object') {
                        this[key] = undefined;
                    }
                }
                this.recoverable = rec;
            }
        };
        // track this instance so we can `destroy()` it once we deem it superfluous and ready for garbage collection!
        this.__error_infos.push(pei);
        return pei;
    };













    function getNonTerminalFromCode(symbol) {
        var tokenName = self.getSymbolName(symbol);
        if (!tokenName) {
            tokenName = symbol;
        }
        return tokenName;
    }


    function stdLex() {
        var token = lexer.lex();
        // if token isn't its numeric value, convert
        if (typeof token !== 'number') {
            token = self.symbols_[token] || token;
        }

        return token || EOF;
    }

    function fastLex() {
        var token = lexer.fastLex();
        // if token isn't its numeric value, convert
        if (typeof token !== 'number') {
            token = self.symbols_[token] || token;
        }

        return token || EOF;
    }

    var lex = stdLex;


    var state, action, r, t;
    var yyval = {
        $: true,
        _$: undefined,
        yy: sharedState_yy
    };
    var p;
    var yyrulelen;
    var this_production;
    var newState;
    var retval = false;


    try {
        this.__reentrant_call_depth++;

        lexer.setInput(input, sharedState_yy);

        // NOTE: we *assume* no lexer pre/post handlers are set up *after* 
        // this initial `setInput()` call: hence we can now check and decide
        // whether we'll go with the standard, slower, lex() API or the
        // `fast_lex()` one:
        if (typeof lexer.canIUse === 'function') {
            var lexerInfo = lexer.canIUse();
            if (lexerInfo.fastLex && typeof fastLex === 'function') {
                lex = fastLex;
            }
        } 



        vstack[sp] = null;
        sstack[sp] = 0;
        stack[sp] = 0;
        ++sp;





        if (this.pre_parse) {
            this.pre_parse.call(this, sharedState_yy);
        }
        if (sharedState_yy.pre_parse) {
            sharedState_yy.pre_parse.call(this, sharedState_yy);
        }

        newState = sstack[sp - 1];
        for (;;) {
            // retrieve state number from top of stack
            state = newState;               // sstack[sp - 1];

            // use default actions if available
            if (this.defaultActions[state]) {
                action = 2;
                newState = this.defaultActions[state];
            } else {
                // The single `==` condition below covers both these `===` comparisons in a single
                // operation:
                //
                //     if (symbol === null || typeof symbol === 'undefined') ...
                if (!symbol) {
                    symbol = lex();
                }
                // read action for current state and first input
                t = (table[state] && table[state][symbol]) || NO_ACTION;
                newState = t[1];
                action = t[0];











                // handle parse error
                if (!action) {
                    var errStr;
                    var errSymbolDescr = (this.describeSymbol(symbol) || symbol);
                    var expected = this.collect_expected_token_set(state);

                    // Report error
                    if (typeof lexer.yylineno === 'number') {
                        errStr = 'Parse error on line ' + (lexer.yylineno + 1) + ': ';
                    } else {
                        errStr = 'Parse error: ';
                    }
                    if (typeof lexer.showPosition === 'function') {
                        errStr += '\n' + lexer.showPosition(79 - 10, 10) + '\n';
                    }
                    if (expected.length) {
                        errStr += 'Expecting ' + expected.join(', ') + ', got unexpected ' + errSymbolDescr;
                    } else {
                        errStr += 'Unexpected ' + errSymbolDescr;
                    }
                    // we cannot recover from the error!
                    p = this.constructParseErrorInfo(errStr, null, expected, false);
                    r = this.parseError(p.errStr, p, this.JisonParserError);
                    if (typeof r !== 'undefined') {
                        retval = r;
                    }
                    break;
                }


            }










            switch (action) {
            // catch misc. parse failures:
            default:
                // this shouldn't happen, unless resolve defaults are off
                if (action instanceof Array) {
                    p = this.constructParseErrorInfo('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol, null, null, false);
                    r = this.parseError(p.errStr, p, this.JisonParserError);
                    if (typeof r !== 'undefined') {
                        retval = r;
                    }
                    break;
                }
                // Another case of better safe than sorry: in case state transitions come out of another error recovery process
                // or a buggy LUT (LookUp Table):
                p = this.constructParseErrorInfo('Parsing halted. No viable error recovery approach available due to internal system failure.', null, null, false);
                r = this.parseError(p.errStr, p, this.JisonParserError);
                if (typeof r !== 'undefined') {
                    retval = r;
                }
                break;

            // shift:
            case 1:
                stack[sp] = symbol;
                vstack[sp] = lexer.yytext;

                sstack[sp] = newState; // push state

                ++sp;
                symbol = 0;




                // Pick up the lexer details for the current symbol as that one is not 'look-ahead' any more:




                continue;

            // reduce:
            case 2:



                this_production = this.productions_[newState - 1];  // `this.productions_[]` is zero-based indexed while states start from 1 upwards...
                yyrulelen = this_production[1];










                r = this.performAction.call(yyval, newState, sp - 1, vstack);

                if (typeof r !== 'undefined') {
                    retval = r;
                    break;
                }

                // pop off stack
                sp -= yyrulelen;

                // don't overwrite the `symbol` variable: use a local var to speed things up:
                var ntsymbol = this_production[0];    // push nonterminal (reduce)
                stack[sp] = ntsymbol;
                vstack[sp] = yyval.$;

                // goto new state = table[STATE][NONTERMINAL]
                newState = table[sstack[sp - 1]][ntsymbol];
                sstack[sp] = newState;
                ++sp;









                continue;

            // accept:
            case 3:
                if (sp !== -2) {
                    retval = true;
                    // Return the `$accept` rule's `$$` result, if available.
                    //
                    // Also note that JISON always adds this top-most `$accept` rule (with implicit,
                    // default, action):
                    //
                    //     $accept: <startSymbol> $end
                    //                  %{ $$ = $1; @$ = @1; %}
                    //
                    // which, combined with the parse kernel's `$accept` state behaviour coded below,
                    // will produce the `$$` value output of the <startSymbol> rule as the parse result,
                    // IFF that result is *not* `undefined`. (See also the parser kernel code.)
                    //
                    // In code:
                    //
                    //                  %{
                    //                      @$ = @1;            // if location tracking support is included
                    //                      if (typeof $1 !== 'undefined')
                    //                          return $1;
                    //                      else
                    //                          return true;           // the default parse result if the rule actions don't produce anything
                    //                  %}
                    sp--;
                    if (typeof vstack[sp] !== 'undefined') {
                        retval = vstack[sp];
                    }
                }
                break;
            }

            // break out of loop: we accept or fail with error
            break;
        }
    } catch (ex) {
        // report exceptions through the parseError callback too, but keep the exception intact
        // if it is a known parser or lexer error which has been thrown by parseError() already:
        if (ex instanceof this.JisonParserError) {
            throw ex;
        }
        else if (lexer && typeof lexer.JisonLexerError === 'function' && ex instanceof lexer.JisonLexerError) {
            throw ex;
        }

        p = this.constructParseErrorInfo('Parsing aborted due to exception.', ex, null, false);
        retval = false;
        r = this.parseError(p.errStr, p, this.JisonParserError);
        if (typeof r !== 'undefined') {
            retval = r;
        }
    } finally {
        retval = this.cleanupAfterParse(retval, true, true);
        this.__reentrant_call_depth--;
    }   // /finally

    return retval;
}
};
parser.originalParseError = parser.parseError;
parser.originalQuoteName = parser.quoteName;
/* lexer generated by jison-lex 0.6.1-215 */

/*
 * Returns a Lexer object of the following structure:
 *
 *  Lexer: {
 *    yy: {}     The so-called "shared state" or rather the *source* of it;
 *               the real "shared state" `yy` passed around to
 *               the rule actions, etc. is a direct reference!
 *
 *               This "shared context" object was passed to the lexer by way of 
 *               the `lexer.setInput(str, yy)` API before you may use it.
 *
 *               This "shared context" object is passed to the lexer action code in `performAction()`
 *               so userland code in the lexer actions may communicate with the outside world 
 *               and/or other lexer rules' actions in more or less complex ways.
 *
 *  }
 *
 *  Lexer.prototype: {
 *    EOF: 1,
 *    ERROR: 2,
 *
 *    yy:        The overall "shared context" object reference.
 *
 *    JisonLexerError: function(msg, hash),
 *
 *    performAction: function lexer__performAction(yy, yyrulenumber, YY_START),
 *
 *               The function parameters and `this` have the following value/meaning:
 *               - `this`    : reference to the `lexer` instance. 
 *                               `yy_` is an alias for `this` lexer instance reference used internally.
 *
 *               - `yy`      : a reference to the `yy` "shared state" object which was passed to the lexer
 *                             by way of the `lexer.setInput(str, yy)` API before.
 *
 *                             Note:
 *                             The extra arguments you specified in the `%parse-param` statement in your
 *                             **parser** grammar definition file are passed to the lexer via this object
 *                             reference as member variables.
 *
 *               - `yyrulenumber`   : index of the matched lexer rule (regex), used internally.
 *
 *               - `YY_START`: the current lexer "start condition" state.
 *
 *    parseError: function(str, hash, ExceptionClass),
 *
 *    constructLexErrorInfo: function(error_message, is_recoverable),
 *               Helper function.
 *               Produces a new errorInfo 'hash object' which can be passed into `parseError()`.
 *               See it's use in this lexer kernel in many places; example usage:
 *
 *                   var infoObj = lexer.constructParseErrorInfo('fail!', true);
 *                   var retVal = lexer.parseError(infoObj.errStr, infoObj, lexer.JisonLexerError);
 *
 *    options: { ... lexer %options ... },
 *
 *    lex: function(),
 *               Produce one token of lexed input, which was passed in earlier via the `lexer.setInput()` API.
 *               You MAY use the additional `args...` parameters as per `%parse-param` spec of the **lexer** grammar:
 *               these extra `args...` are added verbatim to the `yy` object reference as member variables.
 *
 *               WARNING:
 *               Lexer's additional `args...` parameters (via lexer's `%parse-param`) MAY conflict with
 *               any attributes already added to `yy` by the **parser** or the jison run-time; 
 *               when such a collision is detected an exception is thrown to prevent the generated run-time 
 *               from silently accepting this confusing and potentially hazardous situation! 
 *
 *    cleanupAfterLex: function(do_not_nuke_errorinfos),
 *               Helper function.
 *
 *               This helper API is invoked when the **parse process** has completed: it is the responsibility
 *               of the **parser** (or the calling userland code) to invoke this method once cleanup is desired. 
 *
 *               This helper may be invoked by user code to ensure the internal lexer gets properly garbage collected.
 *
 *    setInput: function(input, [yy]),
 *
 *
 *    input: function(),
 *
 *
 *    unput: function(str),
 *
 *
 *    more: function(),
 *
 *
 *    reject: function(),
 *
 *
 *    less: function(n),
 *
 *
 *    pastInput: function(n),
 *
 *
 *    upcomingInput: function(n),
 *
 *
 *    showPosition: function(),
 *
 *
 *    test_match: function(regex_match_array, rule_index),
 *
 *
 *    next: function(),
 *
 *
 *    begin: function(condition),
 *
 *
 *    pushState: function(condition),
 *
 *
 *    popState: function(),
 *
 *
 *    topState: function(),
 *
 *
 *    _currentRules: function(),
 *
 *
 *    stateStackSize: function(),
 *
 *
 *    performAction: function(yy, yy_, yyrulenumber, YY_START),
 *
 *
 *    rules: [...],
 *
 *
 *    conditions: {associative list: name ==> set},
 *  }
 *
 *
 *  token location info (`yylloc`): {
 *    first_line: n,
 *    last_line: n,
 *    first_column: n,
 *    last_column: n,
 *    range: [start_number, end_number]
 *               (where the numbers are indexes into the input string, zero-based)
 *  }
 *
 * ---
 *
 * The `parseError` function receives a 'hash' object with these members for lexer errors:
 *
 *  {
 *    text:        (matched text)
 *    token:       (the produced terminal token, if any)
 *    token_id:    (the produced terminal token numeric ID, if any)
 *    line:        (yylineno)
 *    loc:         (yylloc)
 *    recoverable: (boolean: TRUE when the parser MAY have an error recovery rule
 *                  available for this particular error)
 *    yy:          (object: the current parser internal "shared state" `yy`
 *                  as is also available in the rule actions; this can be used,
 *                  for instance, for advanced error analysis and reporting)
 *    lexer:       (reference to the current lexer instance used by the parser)
 *  }
 *
 * while `this` will reference the current lexer instance.
 *
 * When `parseError` is invoked by the lexer, the default implementation will
 * attempt to invoke `yy.parser.parseError()`; when this callback is not provided
 * it will try to invoke `yy.parseError()` instead. When that callback is also not
 * provided, a `JisonLexerError` exception will be thrown containing the error
 * message and `hash`, as constructed by the `constructLexErrorInfo()` API.
 *
 * Note that the lexer's `JisonLexerError` error class is passed via the
 * `ExceptionClass` argument, which is invoked to construct the exception
 * instance to be thrown, so technically `parseError` will throw the object
 * produced by the `new ExceptionClass(str, hash)` JavaScript expression.
 *
 * ---
 *
 * You can specify lexer options by setting / modifying the `.options` object of your Lexer instance.
 * These options are available:
 *
 * (Options are permanent.)
 *  
 *  yy: {
 *      parseError: function(str, hash, ExceptionClass)
 *                 optional: overrides the default `parseError` function.
 *  }
 *
 *  lexer.options: {
 *      pre_lex:  function()
 *                 optional: is invoked before the lexer is invoked to produce another token.
 *                 `this` refers to the Lexer object.
 *      post_lex: function(token) { return token; }
 *                 optional: is invoked when the lexer has produced a token `token`;
 *                 this function can override the returned token value by returning another.
 *                 When it does not return any (truthy) value, the lexer will return
 *                 the original `token`.
 *                 `this` refers to the Lexer object.
 *
 * WARNING: the next set of options are not meant to be changed. They echo the abilities of
 * the lexer as per when it was compiled!
 *
 *      ranges: boolean
 *                 optional: `true` ==> token location info will include a .range[] member.
 *      flex: boolean
 *                 optional: `true` ==> flex-like lexing behaviour where the rules are tested
 *                 exhaustively to find the longest match.
 *      backtrack_lexer: boolean
 *                 optional: `true` ==> lexer regexes are tested in order and for invoked;
 *                 the lexer terminates the scan when a token is returned by the action code.
 *      xregexp: boolean
 *                 optional: `true` ==> lexer rule regexes are "extended regex format" requiring the
 *                 `XRegExp` library. When this %option has not been specified at compile time, all lexer
 *                 rule regexes have been written as standard JavaScript RegExp expressions.
 *  }
 */


var lexer = function() {
  /**
   * See also:
   * http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/#35881508
   * but we keep the prototype.constructor and prototype.name assignment lines too for compatibility
   * with userland code which might access the derived class in a 'classic' way.
   *
   * @public
   * @constructor
   * @nocollapse
   */
  function JisonLexerError(msg, hash) {
    Object.defineProperty(this, 'name', {
      enumerable: false,
      writable: false,
      value: 'JisonLexerError'
    });

    if (msg == null)
      msg = '???';

    Object.defineProperty(this, 'message', {
      enumerable: false,
      writable: true,
      value: msg
    });

    this.hash = hash;
    var stacktrace;

    if (hash && hash.exception instanceof Error) {
      var ex2 = hash.exception;
      this.message = ex2.message || msg;
      stacktrace = ex2.stack;
    }

    if (!stacktrace) {
      if (Error.hasOwnProperty('captureStackTrace')) {
        // V8
        Error.captureStackTrace(this, this.constructor);
      } else {
        stacktrace = new Error(msg).stack;
      }
    }

    if (stacktrace) {
      Object.defineProperty(this, 'stack', {
        enumerable: false,
        writable: false,
        value: stacktrace
      });
    }
  }

  if (typeof Object.setPrototypeOf === 'function') {
    Object.setPrototypeOf(JisonLexerError.prototype, Error.prototype);
  } else {
    JisonLexerError.prototype = Object.create(Error.prototype);
  }

  JisonLexerError.prototype.constructor = JisonLexerError;
  JisonLexerError.prototype.name = 'JisonLexerError';

  var lexer = {
    
// Code Generator Information Report
// ---------------------------------
//
// Options:
//
//   backtracking: .................... false
//   location.ranges: ................. false
//   location line+column tracking: ... true
//
//
// Forwarded Parser Analysis flags:
//
//   uses yyleng: ..................... false
//   uses yylineno: ................... false
//   uses yytext: ..................... false
//   uses yylloc: ..................... false
//   uses lexer values: ............... true / true
//   location tracking: ............... false
//   location assignment: ............. false
//
//
// Lexer Analysis flags:
//
//   uses yyleng: ..................... ???
//   uses yylineno: ................... ???
//   uses yytext: ..................... ???
//   uses yylloc: ..................... ???
//   uses ParseError API: ............. ???
//   uses yyerror: .................... ???
//   uses location tracking & editing:  ???
//   uses more() API: ................. ???
//   uses unput() API: ................ ???
//   uses reject() API: ............... ???
//   uses less() API: ................. ???
//   uses display APIs pastInput(), upcomingInput(), showPosition():
//        ............................. ???
//   uses describeYYLLOC() API: ....... ???
//
// --------- END OF REPORT -----------

EOF: 1,
    ERROR: 2,

    // JisonLexerError: JisonLexerError,        /// <-- injected by the code generator

    // options: {},                             /// <-- injected by the code generator

    // yy: ...,                                 /// <-- injected by setInput()

    __currentRuleSet__: null,                   /// INTERNAL USE ONLY: internal rule set cache for the current lexer state  

    __error_infos: [],                          /// INTERNAL USE ONLY: the set of lexErrorInfo objects created since the last cleanup  
    __decompressed: false,                      /// INTERNAL USE ONLY: mark whether the lexer instance has been 'unfolded' completely and is now ready for use  
    done: false,                                /// INTERNAL USE ONLY  
    _backtrack: false,                          /// INTERNAL USE ONLY  
    _input: '',                                 /// INTERNAL USE ONLY  
    _more: false,                               /// INTERNAL USE ONLY  
    _signaled_error_token: false,               /// INTERNAL USE ONLY  
    conditionStack: [],                         /// INTERNAL USE ONLY; managed via `pushState()`, `popState()`, `topState()` and `stateStackSize()`  
    match: '',                                  /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks input which has been matched so far for the lexer token under construction. `match` is identical to `yytext` except that this one still contains the matched input string after `lexer.performAction()` has been invoked, where userland code MAY have changed/replaced the `yytext` value entirely!  
    matched: '',                                /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks entire input which has been matched so far  
    matches: false,                             /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks RE match result for last (successful) match attempt  
    yytext: '',                                 /// ADVANCED USE ONLY: tracks input which has been matched so far for the lexer token under construction; this value is transferred to the parser as the 'token value' when the parser consumes the lexer token produced through a call to the `lex()` API.  
    offset: 0,                                  /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks the 'cursor position' in the input string, i.e. the number of characters matched so far  
    yyleng: 0,                                  /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: length of matched input for the token under construction (`yytext`)  
    yylineno: 0,                                /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: 'line number' at which the token under construction is located  
    yylloc: null,                               /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks location info (lines + columns) for the token under construction  

    /**
     * INTERNAL USE: construct a suitable error info hash object instance for `parseError`.
     * 
     * @public
     * @this {RegExpLexer}
     */
    constructLexErrorInfo: function lexer_constructLexErrorInfo(msg, recoverable, show_input_position) {
      msg = '' + msg;

      // heuristic to determine if the error message already contains a (partial) source code dump
      // as produced by either `showPosition()` or `prettyPrintRange()`:
      if (show_input_position == undefined) {
        show_input_position = !(msg.indexOf('\n') > 0 && msg.indexOf('^') > 0);
      }

      if (this.yylloc && show_input_position) {
        if (typeof this.prettyPrintRange === 'function') {
          var pretty_src = this.prettyPrintRange(this.yylloc);

          if (!/\n\s*$/.test(msg)) {
            msg += '\n';
          }

          msg += '\n  Erroneous area:\n' + this.prettyPrintRange(this.yylloc);
        } else if (typeof this.showPosition === 'function') {
          var pos_str = this.showPosition();

          if (pos_str) {
            if (msg.length && msg[msg.length - 1] !== '\n' && pos_str[0] !== '\n') {
              msg += '\n' + pos_str;
            } else {
              msg += pos_str;
            }
          }
        }
      }

      /** @constructor */
      var pei = {
        errStr: msg,
        recoverable: !!recoverable,
        text: this.match,           // This one MAY be empty; userland code should use the `upcomingInput` API to obtain more text which follows the 'lexer cursor position'...  
        token: null,
        line: this.yylineno,
        loc: this.yylloc,
        yy: this.yy,
        lexer: this,

        /**
         * and make sure the error info doesn't stay due to potential
         * ref cycle via userland code manipulations.
         * These would otherwise all be memory leak opportunities!
         * 
         * Note that only array and object references are nuked as those
         * constitute the set of elements which can produce a cyclic ref.
         * The rest of the members is kept intact as they are harmless.
         * 
         * @public
         * @this {LexErrorInfo}
         */
        destroy: function destructLexErrorInfo() {
          // remove cyclic references added to error info:
          // info.yy = null;
          // info.lexer = null;
          // ...
          var rec = !!this.recoverable;

          for (var key in this) {
            if (this.hasOwnProperty(key) && typeof key === 'object') {
              this[key] = undefined;
            }
          }

          this.recoverable = rec;
        }
      };

      // track this instance so we can `destroy()` it once we deem it superfluous and ready for garbage collection!
      this.__error_infos.push(pei);

      return pei;
    },

    /**
     * handler which is invoked when a lexer error occurs.
     * 
     * @public
     * @this {RegExpLexer}
     */
    parseError: function lexer_parseError(str, hash, ExceptionClass) {
      if (!ExceptionClass) {
        ExceptionClass = this.JisonLexerError;
      }

      if (this.yy) {
        if (this.yy.parser && typeof this.yy.parser.parseError === 'function') {
          return this.yy.parser.parseError.call(this, str, hash, ExceptionClass) || this.ERROR;
        } else if (typeof this.yy.parseError === 'function') {
          return this.yy.parseError.call(this, str, hash, ExceptionClass) || this.ERROR;
        }
      }

      throw new ExceptionClass(str, hash);
    },

    /**
     * method which implements `yyerror(str, ...args)` functionality for use inside lexer actions.
     * 
     * @public
     * @this {RegExpLexer}
     */
    yyerror: function yyError(str /*, ...args */) {
      var lineno_msg = '';

      if (this.yylloc) {
        lineno_msg = ' on line ' + (this.yylineno + 1);
      }

      var p = this.constructLexErrorInfo(
        'Lexical error' + lineno_msg + ': ' + str,
        this.options.lexerErrorsAreRecoverable
      );

      // Add any extra args to the hash under the name `extra_error_attributes`:
      var args = Array.prototype.slice.call(arguments, 1);

      if (args.length) {
        p.extra_error_attributes = args;
      }

      return this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;
    },

    /**
     * final cleanup function for when we have completed lexing the input;
     * make it an API so that external code can use this one once userland
     * code has decided it's time to destroy any lingering lexer error
     * hash object instances and the like: this function helps to clean
     * up these constructs, which *may* carry cyclic references which would
     * otherwise prevent the instances from being properly and timely
     * garbage-collected, i.e. this function helps prevent memory leaks!
     * 
     * @public
     * @this {RegExpLexer}
     */
    cleanupAfterLex: function lexer_cleanupAfterLex(do_not_nuke_errorinfos) {
      // prevent lingering circular references from causing memory leaks:
      this.setInput('', {});

      // nuke the error hash info instances created during this run.
      // Userland code must COPY any data/references
      // in the error hash instance(s) it is more permanently interested in.
      if (!do_not_nuke_errorinfos) {
        for (var i = this.__error_infos.length - 1; i >= 0; i--) {
          var el = this.__error_infos[i];

          if (el && typeof el.destroy === 'function') {
            el.destroy();
          }
        }

        this.__error_infos.length = 0;
      }

      return this;
    },

    /**
     * clear the lexer token context; intended for internal use only
     * 
     * @public
     * @this {RegExpLexer}
     */
    clear: function lexer_clear() {
      this.yytext = '';
      this.yyleng = 0;
      this.match = '';

      // - DO NOT reset `this.matched`
      this.matches = false;

      this._more = false;
      this._backtrack = false;
      var col = (this.yylloc ? this.yylloc.last_column : 0);

      this.yylloc = {
        first_line: this.yylineno + 1,
        first_column: col,
        last_line: this.yylineno + 1,
        last_column: col,
        range: [this.offset, this.offset]
      };
    },

    /**
     * resets the lexer, sets new input
     * 
     * @public
     * @this {RegExpLexer}
     */
    setInput: function lexer_setInput(input, yy) {
      this.yy = yy || this.yy || {};

      // also check if we've fully initialized the lexer instance,
      // including expansion work to be done to go from a loaded
      // lexer to a usable lexer:
      if (!this.__decompressed) {
        // step 1: decompress the regex list:
        var rules = this.rules;

        for (var i = 0, len = rules.length; i < len; i++) {
          var rule_re = rules[i];

          // compression: is the RE an xref to another RE slot in the rules[] table?
          if (typeof rule_re === 'number') {
            rules[i] = rules[rule_re];
          }
        }

        // step 2: unfold the conditions[] set to make these ready for use:
        var conditions = this.conditions;

        for (var k in conditions) {
          var spec = conditions[k];
          var rule_ids = spec.rules;
          var len = rule_ids.length;
          var rule_regexes = new Array(len + 1);             // slot 0 is unused; we use a 1-based index approach here to keep the hottest code in `lexer_next()` fast and simple! 
          var rule_new_ids = new Array(len + 1);

          for (var i = 0; i < len; i++) {
            var idx = rule_ids[i];
            var rule_re = rules[idx];
            rule_regexes[i + 1] = rule_re;
            rule_new_ids[i + 1] = idx;
          }

          spec.rules = rule_new_ids;
          spec.__rule_regexes = rule_regexes;
          spec.__rule_count = len;
        }

        this.__decompressed = true;
      }

      this._input = input || '';
      this.clear();
      this._signaled_error_token = false;
      this.done = false;
      this.yylineno = 0;
      this.matched = '';
      this.conditionStack = ['INITIAL'];
      this.__currentRuleSet__ = null;

      this.yylloc = {
        first_line: 1,
        first_column: 0,
        last_line: 1,
        last_column: 0,
        range: [0, 0]
      };

      this.offset = 0;
      return this;
    },

    /**
     * edit the remaining input via user-specified callback.
     * This can be used to forward-adjust the input-to-parse, 
     * e.g. inserting macro expansions and alike in the
     * input which has yet to be lexed.
     * The behaviour of this API contrasts the `unput()` et al
     * APIs as those act on the *consumed* input, while this
     * one allows one to manipulate the future, without impacting
     * the current `yyloc` cursor location or any history. 
     * 
     * Use this API to help implement C-preprocessor-like
     * `#include` statements, etc.
     * 
     * The provided callback must be synchronous and is
     * expected to return the edited input (string).
     *
     * The `cpsArg` argument value is passed to the callback
     * as-is.
     *
     * `callback` interface: 
     * `function callback(input, cpsArg)`
     * 
     * - `input` will carry the remaining-input-to-lex string
     *   from the lexer.
     * - `cpsArg` is `cpsArg` passed into this API.
     * 
     * The `this` reference for the callback will be set to
     * reference this lexer instance so that userland code
     * in the callback can easily and quickly access any lexer
     * API. 
     *
     * When the callback returns a non-string-type falsey value,
     * we assume the callback did not edit the input and we
     * will using the input as-is.
     *
     * When the callback returns a non-string-type value, it
     * is converted to a string for lexing via the `"" + retval`
     * operation. (See also why: http://2ality.com/2012/03/converting-to-string.html 
     * -- that way any returned object's `toValue()` and `toString()`
     * methods will be invoked in a proper/desirable order.)
     * 
     * @public
     * @this {RegExpLexer}
     */
    editRemainingInput: function lexer_editRemainingInput(callback, cpsArg) {
      var rv = callback.call(this, this._input, cpsArg);

      if (typeof rv !== 'string') {
        if (rv) {
          this._input = '' + rv;
        } 
        // else: keep `this._input` as is.  
      } else {
        this._input = rv;
      }

      return this;
    },

    /**
     * consumes and returns one char from the input
     * 
     * @public
     * @this {RegExpLexer}
     */
    input: function lexer_input() {
      if (!this._input) {
        //this.done = true;    -- don't set `done` as we want the lex()/next() API to be able to produce one custom EOF token match after this anyhow. (lexer can match special <<EOF>> tokens and perform user action code for a <<EOF>> match, but only does so *once*)
        return null;
      }

      var ch = this._input[0];
      this.yytext += ch;
      this.yyleng++;
      this.offset++;
      this.match += ch;
      this.matched += ch;

      // Count the linenumber up when we hit the LF (or a stand-alone CR).
      // On CRLF, the linenumber is incremented when you fetch the CR or the CRLF combo
      // and we advance immediately past the LF as well, returning both together as if
      // it was all a single 'character' only.
      var slice_len = 1;

      var lines = false;

      if (ch === '\n') {
        lines = true;
      } else if (ch === '\r') {
        lines = true;
        var ch2 = this._input[1];

        if (ch2 === '\n') {
          slice_len++;
          ch += ch2;
          this.yytext += ch2;
          this.yyleng++;
          this.offset++;
          this.match += ch2;
          this.matched += ch2;
          this.yylloc.range[1]++;
        }
      }

      if (lines) {
        this.yylineno++;
        this.yylloc.last_line++;
        this.yylloc.last_column = 0;
      } else {
        this.yylloc.last_column++;
      }

      this.yylloc.range[1]++;
      this._input = this._input.slice(slice_len);
      return ch;
    },

    /**
     * unshifts one char (or an entire string) into the input
     * 
     * @public
     * @this {RegExpLexer}
     */
    unput: function lexer_unput(ch) {
      var len = ch.length;
      var lines = ch.split(/(?:\r\n?|\n)/g);
      this._input = ch + this._input;
      this.yytext = this.yytext.substr(0, this.yytext.length - len);
      this.yyleng = this.yytext.length;
      this.offset -= len;
      this.match = this.match.substr(0, this.match.length - len);
      this.matched = this.matched.substr(0, this.matched.length - len);

      if (lines.length > 1) {
        this.yylineno -= lines.length - 1;
        this.yylloc.last_line = this.yylineno + 1;

        // Get last entirely matched line into the `pre_lines[]` array's
        // last index slot; we don't mind when other previously 
        // matched lines end up in the array too. 
        var pre = this.match;

        var pre_lines = pre.split(/(?:\r\n?|\n)/g);

        if (pre_lines.length === 1) {
          pre = this.matched;
          pre_lines = pre.split(/(?:\r\n?|\n)/g);
        }

        this.yylloc.last_column = pre_lines[pre_lines.length - 1].length;
      } else {
        this.yylloc.last_column -= len;
      }

      this.yylloc.range[1] = this.yylloc.range[0] + this.yyleng;
      this.done = false;
      return this;
    },

    /**
     * cache matched text and append it on next action
     * 
     * @public
     * @this {RegExpLexer}
     */
    more: function lexer_more() {
      this._more = true;
      return this;
    },

    /**
     * signal the lexer that this rule fails to match the input, so the
     * next matching rule (regex) should be tested instead.
     * 
     * @public
     * @this {RegExpLexer}
     */
    reject: function lexer_reject() {
      if (this.options.backtrack_lexer) {
        this._backtrack = true;
      } else {
        // when the `parseError()` call returns, we MUST ensure that the error is registered.
        // We accomplish this by signaling an 'error' token to be produced for the current
        // `.lex()` run.
        var lineno_msg = '';

        if (this.yylloc) {
          lineno_msg = ' on line ' + (this.yylineno + 1);
        }

        var p = this.constructLexErrorInfo(
          'Lexical error' + lineno_msg + ': You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).',
          false
        );

        this._signaled_error_token = this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;
      }

      return this;
    },

    /**
     * retain first n characters of the match
     * 
     * @public
     * @this {RegExpLexer}
     */
    less: function lexer_less(n) {
      return this.unput(this.match.slice(n));
    },

    /**
     * return (part of the) already matched input, i.e. for error
     * messages.
     * 
     * Limit the returned string length to `maxSize` (default: 20).
     * 
     * Limit the returned string to the `maxLines` number of lines of
     * input (default: 1).
     * 
     * Negative limit values equal *unlimited*.
     * 
     * @public
     * @this {RegExpLexer}
     */
    pastInput: function lexer_pastInput(maxSize, maxLines) {
      var past = this.matched.substring(0, this.matched.length - this.match.length);

      if (maxSize < 0)
        maxSize = past.length;
      else if (!maxSize)
        maxSize = 20;

      if (maxLines < 0)
        maxLines = past.length;          // can't ever have more input lines than this! 
      else if (!maxLines)
        maxLines = 1;

      // `substr` anticipation: treat \r\n as a single character and take a little
      // more than necessary so that we can still properly check against maxSize
      // after we've transformed and limited the newLines in here:
      past = past.substr(-maxSize * 2 - 2);

      // now that we have a significantly reduced string to process, transform the newlines
      // and chop them, then limit them:
      var a = past.replace(/\r\n|\r/g, '\n').split('\n');

      a = a.slice(-maxLines);
      past = a.join('\n');

      // When, after limiting to maxLines, we still have too much to return,
      // do add an ellipsis prefix...
      if (past.length > maxSize) {
        past = '...' + past.substr(-maxSize);
      }

      return past;
    },

    /**
     * return (part of the) upcoming input, i.e. for error messages.
     * 
     * Limit the returned string length to `maxSize` (default: 20).
     * 
     * Limit the returned string to the `maxLines` number of lines of input (default: 1).
     * 
     * Negative limit values equal *unlimited*.
     *
     * > ### NOTE ###
     * >
     * > *"upcoming input"* is defined as the whole of the both
     * > the *currently lexed* input, together with any remaining input
     * > following that. *"currently lexed"* input is the input 
     * > already recognized by the lexer but not yet returned with
     * > the lexer token. This happens when you are invoking this API
     * > from inside any lexer rule action code block. 
     * >
     * 
     * @public
     * @this {RegExpLexer}
     */
    upcomingInput: function lexer_upcomingInput(maxSize, maxLines) {
      var next = this.match;

      if (maxSize < 0)
        maxSize = next.length + this._input.length;
      else if (!maxSize)
        maxSize = 20;

      if (maxLines < 0)
        maxLines = maxSize;          // can't ever have more input lines than this! 
      else if (!maxLines)
        maxLines = 1;

      // `substring` anticipation: treat \r\n as a single character and take a little
      // more than necessary so that we can still properly check against maxSize
      // after we've transformed and limited the newLines in here:
      if (next.length < maxSize * 2 + 2) {
        next += this._input.substring(0, maxSize * 2 + 2);   // substring is faster on Chrome/V8 
      }

      // now that we have a significantly reduced string to process, transform the newlines
      // and chop them, then limit them:
      var a = next.replace(/\r\n|\r/g, '\n').split('\n');

      a = a.slice(0, maxLines);
      next = a.join('\n');

      // When, after limiting to maxLines, we still have too much to return,
      // do add an ellipsis postfix...
      if (next.length > maxSize) {
        next = next.substring(0, maxSize) + '...';
      }

      return next;
    },

    /**
     * return a string which displays the character position where the
     * lexing error occurred, i.e. for error messages
     * 
     * @public
     * @this {RegExpLexer}
     */
    showPosition: function lexer_showPosition(maxPrefix, maxPostfix) {
      var pre = this.pastInput(maxPrefix).replace(/\s/g, ' ');
      var c = new Array(pre.length + 1).join('-');
      return pre + this.upcomingInput(maxPostfix).replace(/\s/g, ' ') + '\n' + c + '^';
    },

    /**
     * return an YYLLOC info object derived off the given context (actual, preceding, following, current).
     * Use this method when the given `actual` location is not guaranteed to exist (i.e. when
     * it MAY be NULL) and you MUST have a valid location info object anyway:
     * then we take the given context of the `preceding` and `following` locations, IFF those are available,
     * and reconstruct the `actual` location info from those.
     * If this fails, the heuristic is to take the `current` location, IFF available.
     * If this fails as well, we assume the sought location is at/around the current lexer position
     * and then produce that one as a response. DO NOTE that these heuristic/derived location info
     * values MAY be inaccurate!
     *
     * NOTE: `deriveLocationInfo()` ALWAYS produces a location info object *copy* of `actual`, not just
     * a *reference* hence all input location objects can be assumed to be 'constant' (function has no side-effects).
     * 
     * @public
     * @this {RegExpLexer}
     */
    deriveLocationInfo: function lexer_deriveYYLLOC(actual, preceding, following, current) {
      var loc = {
        first_line: 1,
        first_column: 0,
        last_line: 1,
        last_column: 0,
        range: [0, 0]
      };

      if (actual) {
        loc.first_line = actual.first_line | 0;
        loc.last_line = actual.last_line | 0;
        loc.first_column = actual.first_column | 0;
        loc.last_column = actual.last_column | 0;

        if (actual.range) {
          loc.range[0] = actual.range[0] | 0;
          loc.range[1] = actual.range[1] | 0;
        }
      }

      if (loc.first_line <= 0 || loc.last_line < loc.first_line) {
        // plan B: heuristic using preceding and following:
        if (loc.first_line <= 0 && preceding) {
          loc.first_line = preceding.last_line | 0;
          loc.first_column = preceding.last_column | 0;

          if (preceding.range) {
            loc.range[0] = actual.range[1] | 0;
          }
        }

        if ((loc.last_line <= 0 || loc.last_line < loc.first_line) && following) {
          loc.last_line = following.first_line | 0;
          loc.last_column = following.first_column | 0;

          if (following.range) {
            loc.range[1] = actual.range[0] | 0;
          }
        }

        // plan C?: see if the 'current' location is useful/sane too:
        if (loc.first_line <= 0 && current && (loc.last_line <= 0 || current.last_line <= loc.last_line)) {
          loc.first_line = current.first_line | 0;
          loc.first_column = current.first_column | 0;

          if (current.range) {
            loc.range[0] = current.range[0] | 0;
          }
        }

        if (loc.last_line <= 0 && current && (loc.first_line <= 0 || current.first_line >= loc.first_line)) {
          loc.last_line = current.last_line | 0;
          loc.last_column = current.last_column | 0;

          if (current.range) {
            loc.range[1] = current.range[1] | 0;
          }
        }
      }

      // sanitize: fix last_line BEFORE we fix first_line as we use the 'raw' value of the latter
      // or plan D heuristics to produce a 'sensible' last_line value:
      if (loc.last_line <= 0) {
        if (loc.first_line <= 0) {
          loc.first_line = this.yylloc.first_line;
          loc.last_line = this.yylloc.last_line;
          loc.first_column = this.yylloc.first_column;
          loc.last_column = this.yylloc.last_column;
          loc.range[0] = this.yylloc.range[0];
          loc.range[1] = this.yylloc.range[1];
        } else {
          loc.last_line = this.yylloc.last_line;
          loc.last_column = this.yylloc.last_column;
          loc.range[1] = this.yylloc.range[1];
        }
      }

      if (loc.first_line <= 0) {
        loc.first_line = loc.last_line;
        loc.first_column = 0;  // loc.last_column; 
        loc.range[1] = loc.range[0];
      }

      if (loc.first_column < 0) {
        loc.first_column = 0;
      }

      if (loc.last_column < 0) {
        loc.last_column = (loc.first_column > 0 ? loc.first_column : 80);
      }

      return loc;
    },

    /**
     * return a string which displays the lines & columns of input which are referenced 
     * by the given location info range, plus a few lines of context.
     * 
     * This function pretty-prints the indicated section of the input, with line numbers 
     * and everything!
     * 
     * This function is very useful to provide highly readable error reports, while
     * the location range may be specified in various flexible ways:
     * 
     * - `loc` is the location info object which references the area which should be
     *   displayed and 'marked up': these lines & columns of text are marked up by `^`
     *   characters below each character in the entire input range.
     * 
     * - `context_loc` is the *optional* location info object which instructs this
     *   pretty-printer how much *leading* context should be displayed alongside
     *   the area referenced by `loc`. This can help provide context for the displayed
     *   error, etc.
     * 
     *   When this location info is not provided, a default context of 3 lines is
     *   used.
     * 
     * - `context_loc2` is another *optional* location info object, which serves
     *   a similar purpose to `context_loc`: it specifies the amount of *trailing*
     *   context lines to display in the pretty-print output.
     * 
     *   When this location info is not provided, a default context of 1 line only is
     *   used.
     * 
     * Special Notes:
     * 
     * - when the `loc`-indicated range is very large (about 5 lines or more), then
     *   only the first and last few lines of this block are printed while a
     *   `...continued...` message will be printed between them.
     * 
     *   This serves the purpose of not printing a huge amount of text when the `loc`
     *   range happens to be huge: this way a manageable & readable output results
     *   for arbitrary large ranges.
     * 
     * - this function can display lines of input which whave not yet been lexed.
     *   `prettyPrintRange()` can access the entire input!
     * 
     * @public
     * @this {RegExpLexer}
     */
    prettyPrintRange: function lexer_prettyPrintRange(loc, context_loc, context_loc2) {
      loc = this.deriveLocationInfo(loc, context_loc, context_loc2);
      const CONTEXT = 3;
      const CONTEXT_TAIL = 1;
      const MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT = 2;
      var input = this.matched + this._input;
      var lines = input.split('\n');
      var l0 = Math.max(1, (context_loc ? context_loc.first_line : loc.first_line - CONTEXT));
      var l1 = Math.max(1, (context_loc2 ? context_loc2.last_line : loc.last_line + CONTEXT_TAIL));
      var lineno_display_width = 1 + Math.log10(l1 | 1) | 0;
      var ws_prefix = new Array(lineno_display_width).join(' ');
      var nonempty_line_indexes = [];

      var rv = lines.slice(l0 - 1, l1 + 1).map(function injectLineNumber(line, index) {
        var lno = index + l0;
        var lno_pfx = (ws_prefix + lno).substr(-lineno_display_width);
        var rv = lno_pfx + ': ' + line;
        var errpfx = new Array(lineno_display_width + 1).join('^');
        var offset = 2 + 1;
        var len = 0;

        if (lno === loc.first_line) {
          offset += loc.first_column;

          len = Math.max(
            2,
            ((lno === loc.last_line ? loc.last_column : line.length)) - loc.first_column + 1
          );
        } else if (lno === loc.last_line) {
          len = Math.max(2, loc.last_column + 1);
        } else if (lno > loc.first_line && lno < loc.last_line) {
          len = Math.max(2, line.length + 1);
        }

        if (len) {
          var lead = new Array(offset).join('.');
          var mark = new Array(len).join('^');
          rv += '\n' + errpfx + lead + mark;

          if (line.trim().length > 0) {
            nonempty_line_indexes.push(index);
          }
        }

        rv = rv.replace(/\t/g, ' ');
        return rv;
      });

      // now make sure we don't print an overly large amount of error area: limit it 
      // to the top and bottom line count:
      if (nonempty_line_indexes.length > 2 * MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT) {
        var clip_start = nonempty_line_indexes[MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT - 1] + 1;
        var clip_end = nonempty_line_indexes[nonempty_line_indexes.length - MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT] - 1;
        var intermediate_line = new Array(lineno_display_width + 1).join(' ') + '  (...continued...)';
        intermediate_line += '\n' + new Array(lineno_display_width + 1).join('-') + '  (---------------)';
        rv.splice(clip_start, clip_end - clip_start + 1, intermediate_line);
      }

      return rv.join('\n');
    },

    /**
     * helper function, used to produce a human readable description as a string, given
     * the input `yylloc` location object.
     * 
     * Set `display_range_too` to TRUE to include the string character index position(s)
     * in the description if the `yylloc.range` is available.
     * 
     * @public
     * @this {RegExpLexer}
     */
    describeYYLLOC: function lexer_describe_yylloc(yylloc, display_range_too) {
      var l1 = yylloc.first_line;
      var l2 = yylloc.last_line;
      var c1 = yylloc.first_column;
      var c2 = yylloc.last_column;
      var dl = l2 - l1;
      var dc = c2 - c1;
      var rv;

      if (dl === 0) {
        rv = 'line ' + l1 + ', ';

        if (dc <= 1) {
          rv += 'column ' + c1;
        } else {
          rv += 'columns ' + c1 + ' .. ' + c2;
        }
      } else {
        rv = 'lines ' + l1 + '(column ' + c1 + ') .. ' + l2 + '(column ' + c2 + ')';
      }

      if (yylloc.range && display_range_too) {
        var r1 = yylloc.range[0];
        var r2 = yylloc.range[1] - 1;

        if (r2 <= r1) {
          rv += ' {String Offset: ' + r1 + '}';
        } else {
          rv += ' {String Offset range: ' + r1 + ' .. ' + r2 + '}';
        }
      }

      return rv;
    },

    /**
     * test the lexed token: return FALSE when not a match, otherwise return token.
     * 
     * `match` is supposed to be an array coming out of a regex match, i.e. `match[0]`
     * contains the actually matched text string.
     * 
     * Also move the input cursor forward and update the match collectors:
     * 
     * - `yytext`
     * - `yyleng`
     * - `match`
     * - `matches`
     * - `yylloc`
     * - `offset`
     * 
     * @public
     * @this {RegExpLexer}
     */
    test_match: function lexer_test_match(match, indexed_rule) {
      var token, lines, backup, match_str, match_str_len;

      if (this.options.backtrack_lexer) {
        // save context
        backup = {
          yylineno: this.yylineno,

          yylloc: {
            first_line: this.yylloc.first_line,
            last_line: this.yylloc.last_line,
            first_column: this.yylloc.first_column,
            last_column: this.yylloc.last_column,
            range: this.yylloc.range.slice(0)
          },

          yytext: this.yytext,
          match: this.match,
          matches: this.matches,
          matched: this.matched,
          yyleng: this.yyleng,
          offset: this.offset,
          _more: this._more,
          _input: this._input,

          //_signaled_error_token: this._signaled_error_token,
          yy: this.yy,

          conditionStack: this.conditionStack.slice(0),
          done: this.done
        };
      }

      match_str = match[0];
      match_str_len = match_str.length;

      // if (match_str.indexOf('\n') !== -1 || match_str.indexOf('\r') !== -1) {
      lines = match_str.split(/(?:\r\n?|\n)/g);

      if (lines.length > 1) {
        this.yylineno += lines.length - 1;
        this.yylloc.last_line = this.yylineno + 1;
        this.yylloc.last_column = lines[lines.length - 1].length;
      } else {
        this.yylloc.last_column += match_str_len;
      }

      // }
      this.yytext += match_str;

      this.match += match_str;
      this.matched += match_str;
      this.matches = match;
      this.yyleng = this.yytext.length;
      this.yylloc.range[1] += match_str_len;

      // previous lex rules MAY have invoked the `more()` API rather than producing a token:
      // those rules will already have moved this `offset` forward matching their match lengths,
      // hence we must only add our own match length now:
      this.offset += match_str_len;

      this._more = false;
      this._backtrack = false;
      this._input = this._input.slice(match_str_len);

      // calling this method:
      //
      //   function lexer__performAction(yy, yyrulenumber, YY_START) {...}
      token = this.performAction.call(
        this,
        this.yy,
        indexed_rule,
        this.conditionStack[this.conditionStack.length - 1] /* = YY_START */
      );

      // otherwise, when the action codes are all simple return token statements:
      //token = this.simpleCaseActionClusters[indexed_rule];

      if (this.done && this._input) {
        this.done = false;
      }

      if (token) {
        return token;
      } else if (this._backtrack) {
        // recover context
        for (var k in backup) {
          this[k] = backup[k];
        }

        this.__currentRuleSet__ = null;
        return false;  // rule action called reject() implying the next rule should be tested instead. 
      } else if (this._signaled_error_token) {
        // produce one 'error' token as `.parseError()` in `reject()`
        // did not guarantee a failure signal by throwing an exception!
        token = this._signaled_error_token;

        this._signaled_error_token = false;
        return token;
      }

      return false;
    },

    /**
     * return next match in input
     * 
     * @public
     * @this {RegExpLexer}
     */
    next: function lexer_next() {
      if (this.done) {
        this.clear();
        return this.EOF;
      }

      if (!this._input) {
        this.done = true;
      }

      var token, match, tempMatch, index;

      if (!this._more) {
        this.clear();
      }

      var spec = this.__currentRuleSet__;

      if (!spec) {
        // Update the ruleset cache as we apparently encountered a state change or just started lexing.
        // The cache is set up for fast lookup -- we assume a lexer will switch states much less often than it will
        // invoke the `lex()` token-producing API and related APIs, hence caching the set for direct access helps
        // speed up those activities a tiny bit.
        spec = this.__currentRuleSet__ = this._currentRules();

        // Check whether a *sane* condition has been pushed before: this makes the lexer robust against
        // user-programmer bugs such as https://github.com/zaach/jison-lex/issues/19
        if (!spec || !spec.rules) {
          var lineno_msg = '';

          if (this.options.trackPosition) {
            lineno_msg = ' on line ' + (this.yylineno + 1);
          }

          var p = this.constructLexErrorInfo(
            'Internal lexer engine error' + lineno_msg + ': The lex grammar programmer pushed a non-existing condition name "' + this.topState() + '"; this is a fatal error and should be reported to the application programmer team!',
            false
          );

          // produce one 'error' token until this situation has been resolved, most probably by parse termination!
          return this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;
        }
      }

      var rule_ids = spec.rules;
      var regexes = spec.__rule_regexes;
      var len = spec.__rule_count;

      // Note: the arrays are 1-based, while `len` itself is a valid index,
      // hence the non-standard less-or-equal check in the next loop condition!
      for (var i = 1; i <= len; i++) {
        tempMatch = this._input.match(regexes[i]);

        if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
          match = tempMatch;
          index = i;

          if (this.options.backtrack_lexer) {
            token = this.test_match(tempMatch, rule_ids[i]);

            if (token !== false) {
              return token;
            } else if (this._backtrack) {
              match = undefined;
              continue;  // rule action called reject() implying a rule MISmatch. 
            } else {
              // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
              return false;
            }
          } else if (!this.options.flex) {
            break;
          }
        }
      }

      if (match) {
        token = this.test_match(match, rule_ids[index]);

        if (token !== false) {
          return token;
        }

        // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
        return false;
      }

      if (!this._input) {
        this.done = true;
        this.clear();
        return this.EOF;
      } else {
        var lineno_msg = '';

        if (this.options.trackPosition) {
          lineno_msg = ' on line ' + (this.yylineno + 1);
        }

        var p = this.constructLexErrorInfo(
          'Lexical error' + lineno_msg + ': Unrecognized text.',
          this.options.lexerErrorsAreRecoverable
        );

        var pendingInput = this._input;
        var activeCondition = this.topState();
        var conditionStackDepth = this.conditionStack.length;
        token = this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;

        if (token === this.ERROR) {
          // we can try to recover from a lexer error that `parseError()` did not 'recover' for us
          // by moving forward at least one character at a time IFF the (user-specified?) `parseError()`
          // has not consumed/modified any pending input or changed state in the error handler:
          if (!this.matches && // and make sure the input has been modified/consumed ...
          pendingInput === this._input && // ...or the lexer state has been modified significantly enough
          // to merit a non-consuming error handling action right now.
          activeCondition === this.topState() && conditionStackDepth === this.conditionStack.length) {
            this.input();
          }
        }

        return token;
      }
    },

    /**
     * return next match that has a token
     * 
     * @public
     * @this {RegExpLexer}
     */
    lex: function lexer_lex() {
      var r;

      // allow the PRE/POST handlers set/modify the return token for maximum flexibility of the generated lexer:
      if (typeof this.pre_lex === 'function') {
        r = this.pre_lex.call(this, 0);
      }

      if (typeof this.options.pre_lex === 'function') {
        // (also account for a userdef function which does not return any value: keep the token as is)
        r = this.options.pre_lex.call(this, r) || r;
      }

      if (this.yy && typeof this.yy.pre_lex === 'function') {
        // (also account for a userdef function which does not return any value: keep the token as is)
        r = this.yy.pre_lex.call(this, r) || r;
      }

      while (!r) {
        r = this.next();
      }

      if (this.yy && typeof this.yy.post_lex === 'function') {
        // (also account for a userdef function which does not return any value: keep the token as is)
        r = this.yy.post_lex.call(this, r) || r;
      }

      if (typeof this.options.post_lex === 'function') {
        // (also account for a userdef function which does not return any value: keep the token as is)
        r = this.options.post_lex.call(this, r) || r;
      }

      if (typeof this.post_lex === 'function') {
        // (also account for a userdef function which does not return any value: keep the token as is)
        r = this.post_lex.call(this, r) || r;
      }

      return r;
    },

    /**
     * return next match that has a token. Identical to the `lex()` API but does not invoke any of the 
     * `pre_lex()` nor any of the `post_lex()` callbacks.
     * 
     * @public
     * @this {RegExpLexer}
     */
    fastLex: function lexer_fastLex() {
      var r;

      while (!r) {
        r = this.next();
      }

      return r;
    },

    /**
     * return info about the lexer state that can help a parser or other lexer API user to use the
     * most efficient means available. This API is provided to aid run-time performance for larger
     * systems which employ this lexer.
     * 
     * @public
     * @this {RegExpLexer}
     */
    canIUse: function lexer_canIUse() {
      var rv = {
        fastLex: !(typeof this.pre_lex === 'function' || typeof this.options.pre_lex === 'function' || this.yy && typeof this.yy.pre_lex === 'function' || this.yy && typeof this.yy.post_lex === 'function' || typeof this.options.post_lex === 'function' || typeof this.post_lex === 'function') && typeof this.fastLex === 'function'
      };

      return rv;
    },

    /**
     * backwards compatible alias for `pushState()`;
     * the latter is symmetrical with `popState()` and we advise to use
     * those APIs in any modern lexer code, rather than `begin()`.
     * 
     * @public
     * @this {RegExpLexer}
     */
    begin: function lexer_begin(condition) {
      return this.pushState(condition);
    },

    /**
     * activates a new lexer condition state (pushes the new lexer
     * condition state onto the condition stack)
     * 
     * @public
     * @this {RegExpLexer}
     */
    pushState: function lexer_pushState(condition) {
      this.conditionStack.push(condition);
      this.__currentRuleSet__ = null;
      return this;
    },

    /**
     * pop the previously active lexer condition state off the condition
     * stack
     * 
     * @public
     * @this {RegExpLexer}
     */
    popState: function lexer_popState() {
      var n = this.conditionStack.length - 1;

      if (n > 0) {
        this.__currentRuleSet__ = null;
        return this.conditionStack.pop();
      } else {
        return this.conditionStack[0];
      }
    },

    /**
     * return the currently active lexer condition state; when an index
     * argument is provided it produces the N-th previous condition state,
     * if available
     * 
     * @public
     * @this {RegExpLexer}
     */
    topState: function lexer_topState(n) {
      n = this.conditionStack.length - 1 - Math.abs(n || 0);

      if (n >= 0) {
        return this.conditionStack[n];
      } else {
        return 'INITIAL';
      }
    },

    /**
     * (internal) determine the lexer rule set which is active for the
     * currently active lexer condition state
     * 
     * @public
     * @this {RegExpLexer}
     */
    _currentRules: function lexer__currentRules() {
      if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
        return this.conditions[this.conditionStack[this.conditionStack.length - 1]];
      } else {
        return this.conditions['INITIAL'];
      }
    },

    /**
     * return the number of states currently on the stack
     * 
     * @public
     * @this {RegExpLexer}
     */
    stateStackSize: function lexer_stateStackSize() {
      return this.conditionStack.length;
    },

    options: {
      trackPosition: true,
      caseInsensitive: true
    },

    JisonLexerError: JisonLexerError,

    performAction: function lexer__performAction(yy, yyrulenumber, YY_START) {
      var yy_ = this;
      var YYSTATE = YY_START;

      switch (yyrulenumber) {
      case 0:
        /*! Conditions:: INITIAL */
        /*! Rule::       \s+ */
        /* skip whitespace */
        break;

      default:
        return this.simpleCaseActionClusters[yyrulenumber];
      }
    },

    simpleCaseActionClusters: {
      /*! Conditions:: INITIAL */
      /*! Rule::       (-(webkit|moz)-)?calc\b */
      1: 3,

      /*! Conditions:: INITIAL */
      /*! Rule::       [a-z][a-z0-9-]*\s*\((?:(?:"(?:\\.|[^\"\\])*"|'(?:\\.|[^\'\\])*')|\([^)]*\)|[^\(\)]*)*\) */
      2: 10,

      /*! Conditions:: INITIAL */
      /*! Rule::       \* */
      3: 8,

      /*! Conditions:: INITIAL */
      /*! Rule::       \/ */
      4: 9,

      /*! Conditions:: INITIAL */
      /*! Rule::       \+ */
      5: 6,

      /*! Conditions:: INITIAL */
      /*! Rule::       - */
      6: 7,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)em\b */
      7: 17,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)ex\b */
      8: 18,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)ch\b */
      9: 19,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)rem\b */
      10: 20,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)vw\b */
      11: 22,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)vh\b */
      12: 21,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)vmin\b */
      13: 23,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)vmax\b */
      14: 24,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)cm\b */
      15: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)mm\b */
      16: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)Q\b */
      17: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)in\b */
      18: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)pt\b */
      19: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)pc\b */
      20: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)px\b */
      21: 11,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)deg\b */
      22: 12,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)grad\b */
      23: 12,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)rad\b */
      24: 12,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)turn\b */
      25: 12,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)s\b */
      26: 13,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)ms\b */
      27: 13,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)Hz\b */
      28: 14,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)kHz\b */
      29: 14,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)dpi\b */
      30: 15,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)dpcm\b */
      31: 15,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)dppx\b */
      32: 15,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)% */
      33: 25,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)\b */
      34: 26,

      /*! Conditions:: INITIAL */
      /*! Rule::       (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)-?([a-zA-Z_]|[\240-\377]|(\\[0-9a-fA-F]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-fA-F]))([a-zA-Z0-9_-]|[\240-\377]|(\\[0-9a-fA-F]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-fA-F]))*\b */
      35: 16,

      /*! Conditions:: INITIAL */
      /*! Rule::       \( */
      36: 4,

      /*! Conditions:: INITIAL */
      /*! Rule::       \) */
      37: 5,

      /*! Conditions:: INITIAL */
      /*! Rule::       $ */
      38: 1
    },

    rules: [
      /*  0: */  /^(?:\s+)/i,
      /*  1: */  /^(?:(-(webkit|moz)-)?calc\b)/i,
      /*  2: */  /^(?:[a-z][\d\-a-z]*\s*\((?:(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')|\([^)]*\)|[^()]*)*\))/i,
      /*  3: */  /^(?:\*)/i,
      /*  4: */  /^(?:\/)/i,
      /*  5: */  /^(?:\+)/i,
      /*  6: */  /^(?:-)/i,
      /*  7: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)em\b)/i,
      /*  8: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)ex\b)/i,
      /*  9: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)ch\b)/i,
      /* 10: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)rem\b)/i,
      /* 11: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)vw\b)/i,
      /* 12: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)vh\b)/i,
      /* 13: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)vmin\b)/i,
      /* 14: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)vmax\b)/i,
      /* 15: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)cm\b)/i,
      /* 16: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)mm\b)/i,
      /* 17: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)Q\b)/i,
      /* 18: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)in\b)/i,
      /* 19: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)pt\b)/i,
      /* 20: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)pc\b)/i,
      /* 21: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)px\b)/i,
      /* 22: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)deg\b)/i,
      /* 23: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)grad\b)/i,
      /* 24: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)rad\b)/i,
      /* 25: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)turn\b)/i,
      /* 26: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)s\b)/i,
      /* 27: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)ms\b)/i,
      /* 28: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)Hz\b)/i,
      /* 29: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)kHz\b)/i,
      /* 30: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)dpi\b)/i,
      /* 31: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)dpcm\b)/i,
      /* 32: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)dppx\b)/i,
      /* 33: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)%)/i,
      /* 34: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)\b)/i,
      /* 35: */  /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)-?([^\W\d]|[ -ÿ]|(\\[\dA-Fa-f]{1,6}(\r\n|[\t\n\f\r ])?|\\[^\d\n\f\rA-Fa-f]))([\w\-]|[ -ÿ]|(\\[\dA-Fa-f]{1,6}(\r\n|[\t\n\f\r ])?|\\[^\d\n\f\rA-Fa-f]))*\b)/i,
      /* 36: */  /^(?:\()/i,
      /* 37: */  /^(?:\))/i,
      /* 38: */  /^(?:$)/i
    ],

    conditions: {
      'INITIAL': {
        rules: [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31,
          32,
          33,
          34,
          35,
          36,
          37,
          38
        ],

        inclusive: true
      }
    }
  };

  return lexer;
}();
parser.lexer = lexer;



function Parser() {
  this.yy = {};
}
Parser.prototype = parser;
parser.Parser = Parser;

return new Parser();
})();

        


if (true) {
  exports.parser = parser;
  exports.Parser = parser.Parser;
  exports.parse = function () {
    return parser.parse.apply(parser, arguments);
  };
  
}


/***/ }),

/***/ 13697:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _browserslist = _interopRequireDefault(__nccwpck_require__(55478));

var _caniuseApi = __nccwpck_require__(78390);

var _postcssValueParser = _interopRequireWildcard(__nccwpck_require__(19285));

var _minifyColor = _interopRequireDefault(__nccwpck_require__(10896));

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function walk(parent, callback) {
  parent.nodes.forEach((node, index) => {
    const bubble = callback(node, index, parent);

    if (node.nodes && bubble !== false) {
      walk(node, callback);
    }
  });
}
/*
 * IE 8 & 9 do not properly handle clicks on elements
 * with a `transparent` `background-color`.
 *
 * https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
 */


function hasTransparentBug(browser) {
  return ~['ie 8', 'ie 9'].indexOf(browser);
}

function isMathFunctionNode(node) {
  if (node.type !== 'function') {
    return false;
  }

  return ['calc', 'min', 'max', 'clamp'].includes(node.value.toLowerCase());
}

function transform(value, options) {
  const parsed = (0, _postcssValueParser.default)(value);
  walk(parsed, (node, index, parent) => {
    if (node.type === 'function') {
      if (/^(rgb|hsl)a?$/i.test(node.value)) {
        const {
          value: originalValue
        } = node;
        node.value = (0, _minifyColor.default)((0, _postcssValueParser.stringify)(node), options);
        node.type = 'word';
        const next = parent.nodes[index + 1];

        if (node.value !== originalValue && next && (next.type === 'word' || next.type === 'function')) {
          parent.nodes.splice(index + 1, 0, {
            type: 'space',
            value: ' '
          });
        }
      } else if (isMathFunctionNode(node)) {
        return false;
      }
    } else if (node.type === 'word') {
      node.value = (0, _minifyColor.default)(node.value, options);
    }
  });
  return parsed.toString();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-colormin',

    prepare(result) {
      const resultOpts = result.opts || {};
      const browsers = (0, _browserslist.default)(null, {
        stats: resultOpts.stats,
        path: __dirname,
        env: resultOpts.env
      });
      const options = {
        supportsTransparent: browsers.some(hasTransparentBug) === false,
        supportsAlphaHex: (0, _caniuseApi.isSupported)('css-rrggbbaa', browsers)
      };
      const cache = {};
      return {
        OnceExit(css) {
          css.walkDecls(decl => {
            if (/^(composes|font|filter|-webkit-tap-highlight-color)/i.test(decl.prop)) {
              return;
            }

            const value = decl.value;

            if (!value) {
              return;
            }

            const cacheKey = JSON.stringify({
              value,
              options,
              browsers
            });

            if (cache[cacheKey]) {
              decl.value = cache[cacheKey];
              return;
            }

            const newValue = transform(value, options);
            decl.value = newValue;
            cache[cacheKey] = newValue;
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 21458:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
Object.defineProperty(exports, "process", ({
  enumerable: true,
  get: function () {
    return _colord.colord;
  }
}));
Object.defineProperty(exports, "getFormat", ({
  enumerable: true,
  get: function () {
    return _colord.getFormat;
  }
}));

var _colord = __nccwpck_require__(43);

var _names = _interopRequireDefault(__nccwpck_require__(44517));

var _getShortestString = _interopRequireDefault(__nccwpck_require__(3987));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

let minifierPlugin = Colord => {
  /**
   * Shortens a color to 3 or 4 digit hexadecimal string if it's possible.
   * Returns the original (6 or 8 digit) hex if the it can't be shortened.
   */
  Colord.prototype.toShortHex = function ({
    formatAlpha
  }) {
    let hex = this.toHex();
    let [, r1, r2, g1, g2, b1, b2, a1, a2] = hex.split(''); // Check if the string can be shorten

    if (r1 === r2 && g1 === g2 && b1 === b2) {
      if (this.alpha() === 1) {
        // Express as 3 digit hexadecimal string if the color doesn't have an alpha channel
        return '#' + r1 + g1 + b1;
      } else if (formatAlpha && a1 === a2) {
        // Format 4 digit hex
        return '#' + r1 + g1 + b1 + a1;
      }
    }

    return hex;
  };
  /**
   * Returns the shortest representation of a color.
   */


  Colord.prototype.toShortString = function ({
    supportsTransparent,
    supportsAlphaHex
  }) {
    let {
      r,
      g,
      b
    } = this.toRgb();
    let a = this.alpha(); // RGB[A] and HSL[A] functional notations

    let options = [this.toRgbString(), // e.g. "rgb(128, 128, 128)" or "rgba(128, 128, 128, 0.5)"
    this.toHslString() // e.g. "hsl(180, 50%, 50%)" or "hsla(180, 50%, 50%, 0.5)"
    ]; // Hexadecimal notations

    if (supportsAlphaHex && a < 1) {
      let alphaHex = this.toShortHex({
        formatAlpha: true
      }); // e.g. "#7777" or "#80808080"
      // Output 4 or 8 digit hex only if the color conversion is lossless

      if ((0, _colord.colord)(alphaHex).alpha() === a) {
        options.push(alphaHex);
      }
    } else if (a === 1) {
      options.push(this.toShortHex({
        formatAlpha: false
      })); // e.g. "#777" or "#808080"
    } // CSS keyword


    if (supportsTransparent && r === 0 && g === 0 && b === 0 && a === 0) {
      options.push('transparent');
    } else if (a === 1) {
      let name = this.toName(); // e.g. "gray"

      if (name) {
        options.push(name);
      }
    } // Find the shortest option available


    return (0, _getShortestString.default)(options);
  };
};

(0, _colord.extend)([_names.default, minifierPlugin]);

/***/ }),

/***/ 3987:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

/**
 * Returns the shortest string in array
 */
const getShortestString = strings => {
  let shortest = null;

  for (let string of strings) {
    if (shortest === null || string.length < shortest.length) {
      shortest = string;
    }
  }

  return shortest;
};

var _default = getShortestString;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 10896:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = minifyColor;

var _color = __nccwpck_require__(21458);

var _getShortestString = _interopRequireDefault(__nccwpck_require__(3987));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * Performs color value minification
 *
 * @param {string} input - CSS value
 * @param {boolean} options.supportsAlphaHex - Does the browser support 4 & 8 character hex notation
 * @param {boolean} options.supportsTransparent – Does the browser support "transparent" value properly
 */
function minifyColor(input, options = {}) {
  const settings = {
    supportsAlphaHex: false,
    supportsTransparent: true,
    ...options
  };
  const instance = (0, _color.process)(input);

  if (instance.isValid()) {
    // Try to shorten the string if it is a valid CSS color value.
    // Fall back to the original input if it's smaller or has equal length/
    return (0, _getShortestString.default)([input.toLowerCase(), instance.toShortString(settings)]);
  } else {
    // Possibly malformed, so pass through
    return input;
  }
}

module.exports = exports.default;

/***/ }),

/***/ 8853:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireWildcard(__nccwpck_require__(19285));

var _convert = _interopRequireDefault(__nccwpck_require__(73834));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

const LENGTH_UNITS = ['em', 'ex', 'ch', 'rem', 'vw', 'vh', 'vmin', 'vmax', 'cm', 'mm', 'q', 'in', 'pt', 'pc', 'px'];
/*
 * Numbers without digits after the dot are technically invalid,
 * but in that case css-value-parser returns the dot as part of the unit,
 * so we use this to remove the dot.
 */

function stripLeadingDot(item) {
  if (item.charCodeAt(0) === '.'.charCodeAt(0)) {
    return item.slice(1);
  } else {
    return item;
  }
}

function parseWord(node, opts, keepZeroUnit) {
  const pair = (0, _postcssValueParser.unit)(node.value);

  if (pair) {
    const num = Number(pair.number);
    const u = stripLeadingDot(pair.unit);

    if (num === 0) {
      node.value = 0 + (keepZeroUnit || !~LENGTH_UNITS.indexOf(u.toLowerCase()) && u !== '%' ? u : '');
    } else {
      node.value = (0, _convert.default)(num, u, opts);

      if (typeof opts.precision === 'number' && u.toLowerCase() === 'px' && ~pair.number.indexOf('.')) {
        const precision = Math.pow(10, opts.precision);
        node.value = Math.round(parseFloat(node.value) * precision) / precision + u;
      }
    }
  }
}

function clampOpacity(node) {
  const pair = (0, _postcssValueParser.unit)(node.value);

  if (!pair) {
    return;
  }

  let num = Number(pair.number);

  if (num > 1) {
    node.value = pair.unit === '%' ? num + pair.unit : 1 + pair.unit;
  } else if (num < 0) {
    node.value = 0 + pair.unit;
  }
}

function shouldKeepUnit(decl) {
  const {
    parent
  } = decl;
  const lowerCasedProp = decl.prop.toLowerCase();
  return ~decl.value.indexOf('%') && (lowerCasedProp === 'max-height' || lowerCasedProp === 'height') || parent.parent && parent.parent.name && parent.parent.name.toLowerCase() === 'keyframes' && lowerCasedProp === 'stroke-dasharray' || lowerCasedProp === 'stroke-dashoffset' || lowerCasedProp === 'stroke-width' || lowerCasedProp === 'line-height';
}

function transform(opts, decl) {
  const lowerCasedProp = decl.prop.toLowerCase();

  if (~lowerCasedProp.indexOf('flex') || lowerCasedProp.indexOf('--') === 0) {
    return;
  }

  decl.value = (0, _postcssValueParser.default)(decl.value).walk(node => {
    const lowerCasedValue = node.value.toLowerCase();

    if (node.type === 'word') {
      parseWord(node, opts, shouldKeepUnit(decl));

      if (lowerCasedProp === 'opacity' || lowerCasedProp === 'shape-image-threshold') {
        clampOpacity(node);
      }
    } else if (node.type === 'function') {
      if (lowerCasedValue === 'calc' || lowerCasedValue === 'min' || lowerCasedValue === 'max' || lowerCasedValue === 'clamp' || lowerCasedValue === 'hsl' || lowerCasedValue === 'hsla') {
        (0, _postcssValueParser.walk)(node.nodes, n => {
          if (n.type === 'word') {
            parseWord(n, opts, true);
          }
        });
        return false;
      }

      if (lowerCasedValue === 'url') {
        return false;
      }
    }
  }).toString();
}

const plugin = 'postcss-convert-values';

function pluginCreator(opts = {
  precision: false
}) {
  return {
    postcssPlugin: plugin,

    OnceExit(css) {
      css.walkDecls(transform.bind(null, opts));
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 73834:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = _default;
const lengthConv = {
  in: 96,
  px: 1,
  pt: 4 / 3,
  pc: 16
};
const timeConv = {
  s: 1000,
  ms: 1
};
const angleConv = {
  turn: 360,
  deg: 1
};

function dropLeadingZero(number) {
  const value = String(number);

  if (number % 1) {
    if (value[0] === '0') {
      return value.slice(1);
    }

    if (value[0] === '-' && value[1] === '0') {
      return '-' + value.slice(2);
    }
  }

  return value;
}

function transform(number, unit, conversion) {
  const lowerCasedUnit = unit.toLowerCase();
  let one, base;
  let convertionUnits = Object.keys(conversion).filter(u => {
    if (conversion[u] === 1) {
      one = u;
    }

    return lowerCasedUnit !== u;
  });

  if (lowerCasedUnit === one) {
    base = number / conversion[lowerCasedUnit];
  } else {
    base = number * conversion[lowerCasedUnit];
  }

  return convertionUnits.map(u => dropLeadingZero(base / conversion[u]) + u).reduce((a, b) => a.length < b.length ? a : b);
}

function _default(number, unit, {
  time,
  length,
  angle
}) {
  let value = dropLeadingZero(number) + (unit ? unit : '');
  let converted;

  if (length !== false && unit.toLowerCase() in lengthConv) {
    converted = transform(number, unit, lengthConv);
  }

  if (time !== false && unit.toLowerCase() in timeConv) {
    converted = transform(number, unit, timeConv);
  }

  if (angle !== false && unit.toLowerCase() in angleConv) {
    converted = transform(number, unit, angleConv);
  }

  if (converted && converted.length < value.length) {
    value = converted;
  }

  return value;
}

module.exports = exports.default;

/***/ }),

/***/ 79475:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _commentRemover = _interopRequireDefault(__nccwpck_require__(41192));

var _commentParser = _interopRequireDefault(__nccwpck_require__(465));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function pluginCreator(opts = {}) {
  const remover = new _commentRemover.default(opts);
  const matcherCache = {};
  const replacerCache = {};

  function matchesComments(source) {
    if (matcherCache[source]) {
      return matcherCache[source];
    }

    const result = (0, _commentParser.default)(source).filter(([type]) => type);
    matcherCache[source] = result;
    return result;
  }

  function replaceComments(source, space, separator = ' ') {
    const key = source + '@|@' + separator;

    if (replacerCache[key]) {
      return replacerCache[key];
    }

    const parsed = (0, _commentParser.default)(source).reduce((value, [type, start, end]) => {
      const contents = source.slice(start, end);

      if (!type) {
        return value + contents;
      }

      if (remover.canRemove(contents)) {
        return value + separator;
      }

      return `${value}/*${contents}*/`;
    }, '');
    const result = space(parsed).join(' ');
    replacerCache[key] = result;
    return result;
  }

  return {
    postcssPlugin: 'postcss-discard-comments',

    OnceExit(css, {
      list
    }) {
      css.walk(node => {
        if (node.type === 'comment' && remover.canRemove(node.text)) {
          node.remove();
          return;
        }

        if (node.raws.between) {
          node.raws.between = replaceComments(node.raws.between, list.space);
        }

        if (node.type === 'decl') {
          if (node.raws.value && node.raws.value.raw) {
            if (node.raws.value.value === node.value) {
              node.value = replaceComments(node.raws.value.raw, list.space);
            } else {
              node.value = replaceComments(node.value, list.space);
            }

            node.raws.value = null;
          }

          if (node.raws.important) {
            node.raws.important = replaceComments(node.raws.important, list.space);
            const b = matchesComments(node.raws.important);
            node.raws.important = b.length ? node.raws.important : '!important';
          }

          return;
        }

        if (node.type === 'rule' && node.raws.selector && node.raws.selector.raw) {
          node.raws.selector.raw = replaceComments(node.raws.selector.raw, list.space, '');
          return;
        }

        if (node.type === 'atrule') {
          if (node.raws.afterName) {
            const commentsReplaced = replaceComments(node.raws.afterName, list.space);

            if (!commentsReplaced.length) {
              node.raws.afterName = commentsReplaced + ' ';
            } else {
              node.raws.afterName = ' ' + commentsReplaced + ' ';
            }
          }

          if (node.raws.params && node.raws.params.raw) {
            node.raws.params.raw = replaceComments(node.raws.params.raw, list.space);
          }
        }
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 465:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = commentParser;

function commentParser(input) {
  const tokens = [];
  const length = input.length;
  let pos = 0;
  let next;

  while (pos < length) {
    next = input.indexOf('/*', pos);

    if (~next) {
      tokens.push([0, pos, next]);
      pos = next;
      next = input.indexOf('*/', pos + 2);
      tokens.push([1, pos + 2, next]);
      pos = next + 2;
    } else {
      tokens.push([0, pos, length]);
      pos = length;
    }
  }

  return tokens;
}

module.exports = exports.default;

/***/ }),

/***/ 41192:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

function CommentRemover(options) {
  this.options = options;
}

CommentRemover.prototype.canRemove = function (comment) {
  const remove = this.options.remove;

  if (remove) {
    return remove(comment);
  } else {
    const isImportant = comment.indexOf('!') === 0;

    if (!isImportant) {
      return true;
    }

    if (this.options.removeAll || this._hasFirst) {
      return true;
    } else if (this.options.removeAllButFirst && !this._hasFirst) {
      this._hasFirst = true;
      return false;
    }
  }
};

var _default = CommentRemover;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 28648:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

function noop() {}

function trimValue(value) {
  return value ? value.trim() : value;
}

function empty(node) {
  return !node.nodes.filter(child => child.type !== 'comment').length;
}

function equals(a, b) {
  if (a.type !== b.type) {
    return false;
  }

  if (a.important !== b.important) {
    return false;
  }

  if (a.raws && !b.raws || !a.raws && b.raws) {
    return false;
  }

  switch (a.type) {
    case 'rule':
      if (a.selector !== b.selector) {
        return false;
      }

      break;

    case 'atrule':
      if (a.name !== b.name || a.params !== b.params) {
        return false;
      }

      if (a.raws && trimValue(a.raws.before) !== trimValue(b.raws.before)) {
        return false;
      }

      if (a.raws && trimValue(a.raws.afterName) !== trimValue(b.raws.afterName)) {
        return false;
      }

      break;

    case 'decl':
      if (a.prop !== b.prop || a.value !== b.value) {
        return false;
      }

      if (a.raws && trimValue(a.raws.before) !== trimValue(b.raws.before)) {
        return false;
      }

      break;
  }

  if (a.nodes) {
    if (a.nodes.length !== b.nodes.length) {
      return false;
    }

    for (let i = 0; i < a.nodes.length; i++) {
      if (!equals(a.nodes[i], b.nodes[i])) {
        return false;
      }
    }
  }

  return true;
}

function dedupeRule(last, nodes) {
  let index = nodes.indexOf(last) - 1;

  while (index >= 0) {
    const node = nodes[index--];

    if (node && node.type === 'rule' && node.selector === last.selector) {
      last.each(child => {
        if (child.type === 'decl') {
          dedupeNode(child, node.nodes);
        }
      });

      if (empty(node)) {
        node.remove();
      }
    }
  }
}

function dedupeNode(last, nodes) {
  let index = ~nodes.indexOf(last) ? nodes.indexOf(last) - 1 : nodes.length - 1;

  while (index >= 0) {
    const node = nodes[index--];

    if (node && equals(node, last)) {
      node.remove();
    }
  }
}

const handlers = {
  rule: dedupeRule,
  atrule: dedupeNode,
  decl: dedupeNode,
  comment: noop
};

function dedupe(root) {
  const {
    nodes
  } = root;

  if (!nodes) {
    return;
  }

  let index = nodes.length - 1;

  while (index >= 0) {
    let last = nodes[index--];

    if (!last || !last.parent) {
      continue;
    }

    dedupe(last);
    handlers[last.type](last, nodes);
  }
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-discard-duplicates',

    OnceExit(css) {
      dedupe(css);
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 94888:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
const plugin = 'postcss-discard-empty';

function discardAndReport(css, result) {
  function discardEmpty(node) {
    const {
      type,
      nodes: sub,
      params
    } = node;

    if (sub) {
      node.each(discardEmpty);
    }

    if (type === 'decl' && !node.value || type === 'rule' && !node.selector || sub && !sub.length || type === 'atrule' && (!sub && !params || !params && !sub.length)) {
      node.remove();
      result.messages.push({
        type: 'removal',
        plugin,
        node
      });
    }
  }

  css.each(discardEmpty);
}

function pluginCreator() {
  return {
    postcssPlugin: plugin,

    OnceExit(css, {
      result
    }) {
      discardAndReport(css, result);
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 27467:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
const OVERRIDABLE_RULES = ['keyframes', 'counter-style'];
const SCOPE_RULES = ['media', 'supports'];

function vendorUnprefixed(prop) {
  return prop.replace(/^-\w+-/, '');
}

function isOverridable(name) {
  return ~OVERRIDABLE_RULES.indexOf(vendorUnprefixed(name.toLowerCase()));
}

function isScope(name) {
  return ~SCOPE_RULES.indexOf(vendorUnprefixed(name.toLowerCase()));
}

function getScope(node) {
  let current = node.parent;
  const chain = [node.name.toLowerCase(), node.params];

  do {
    if (current.type === 'atrule' && isScope(current.name)) {
      chain.unshift(current.name + ' ' + current.params);
    }

    current = current.parent;
  } while (current);

  return chain.join('|');
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-discard-overridden',

    prepare() {
      const cache = {};
      const rules = [];
      return {
        OnceExit(css) {
          css.walkAtRules(node => {
            if (isOverridable(node.name)) {
              const scope = getScope(node);
              cache[scope] = node;
              rules.push({
                node,
                scope
              });
            }
          });
          rules.forEach(rule => {
            if (cache[rule.scope] !== rule.node) {
              rule.node.remove();
            }
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 51028:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _decl = _interopRequireDefault(__nccwpck_require__(41697));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-merge-longhand',

    OnceExit(css) {
      css.walkRules(rule => {
        _decl.default.forEach(p => {
          p.explode(rule);
          p.merge(rule);
        });
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 17736:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _isCustomProp = _interopRequireDefault(__nccwpck_require__(88870));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const hasGlobalKeyword = prop => prop && prop.value && ['inherit', 'initial', 'unset', 'revert'].includes(prop.value.toLowerCase());

var _default = (prop, includeCustomProps = true) => {
  if (!prop.value || includeCustomProps && (0, _isCustomProp.default)(prop) || hasGlobalKeyword(prop)) {
    return false;
  }

  return true;
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 95496:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _isCustomProp = _interopRequireDefault(__nccwpck_require__(88870));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const important = node => node.important;

const unimportant = node => !node.important;

const hasInherit = node => node.value.toLowerCase() === 'inherit';

const hasInitial = node => node.value.toLowerCase() === 'initial';

const hasUnset = node => node.value.toLowerCase() === 'unset';

var _default = (props, includeCustomProps = true) => {
  if (props.some(hasInherit) && !props.every(hasInherit)) {
    return false;
  }

  if (props.some(hasInitial) && !props.every(hasInitial)) {
    return false;
  }

  if (props.some(hasUnset) && !props.every(hasUnset)) {
    return false;
  }

  if (includeCustomProps && props.some(_isCustomProp.default) && !props.every(_isCustomProp.default)) {
    return false;
  }

  return props.every(unimportant) || props.every(important);
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 54181:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcss = __nccwpck_require__(77001);

var _stylehacks = __nccwpck_require__(25884);

var _insertCloned = _interopRequireDefault(__nccwpck_require__(94558));

var _parseTrbl = _interopRequireDefault(__nccwpck_require__(35572));

var _hasAllProps = _interopRequireDefault(__nccwpck_require__(5220));

var _getDecls = _interopRequireDefault(__nccwpck_require__(4386));

var _getRules = _interopRequireDefault(__nccwpck_require__(91860));

var _getValue = _interopRequireDefault(__nccwpck_require__(8063));

var _mergeRules = _interopRequireDefault(__nccwpck_require__(67238));

var _minifyTrbl = _interopRequireDefault(__nccwpck_require__(38243));

var _minifyWsc = _interopRequireDefault(__nccwpck_require__(65318));

var _canMerge = _interopRequireDefault(__nccwpck_require__(95496));

var _remove = _interopRequireDefault(__nccwpck_require__(72490));

var _trbl = _interopRequireDefault(__nccwpck_require__(19740));

var _isCustomProp = _interopRequireDefault(__nccwpck_require__(88870));

var _canExplode = _interopRequireDefault(__nccwpck_require__(17736));

var _getLastNode = _interopRequireDefault(__nccwpck_require__(22226));

var _parseWsc = _interopRequireDefault(__nccwpck_require__(11779));

var _validateWsc = __nccwpck_require__(79900);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const wsc = ['width', 'style', 'color'];
const defaults = ['medium', 'none', 'currentcolor'];

function borderProperty(...parts) {
  return `border-${parts.join('-')}`;
}

function mapBorderProperty(value) {
  return borderProperty(value);
}

const directions = _trbl.default.map(mapBorderProperty);

const properties = wsc.map(mapBorderProperty);
const directionalProperties = directions.reduce((prev, curr) => prev.concat(wsc.map(prop => `${curr}-${prop}`)), []);
const precedence = [['border'], directions.concat(properties), directionalProperties];
const allProperties = precedence.reduce((a, b) => a.concat(b));

function getLevel(prop) {
  for (let i = 0; i < precedence.length; i++) {
    if (~precedence[i].indexOf(prop.toLowerCase())) {
      return i;
    }
  }
}

const isValueCustomProp = value => value && !!~value.search(/var\s*\(\s*--/i);

function canMergeValues(values) {
  return !values.some(isValueCustomProp);
}

function getColorValue(decl) {
  if (decl.prop.substr(-5) === 'color') {
    return decl.value;
  }

  return (0, _parseWsc.default)(decl.value)[2] || defaults[2];
}

function diffingProps(values, nextValues) {
  return wsc.reduce((prev, curr, i) => {
    if (values[i] === nextValues[i]) {
      return prev;
    }

    return [...prev, curr];
  }, []);
}

function mergeRedundant({
  values,
  nextValues,
  decl,
  nextDecl,
  index
}) {
  if (!(0, _canMerge.default)([decl, nextDecl])) {
    return;
  }

  if ((0, _stylehacks.detect)(decl) || (0, _stylehacks.detect)(nextDecl)) {
    return;
  }

  const diff = diffingProps(values, nextValues);

  if (diff.length > 1) {
    return;
  }

  const prop = diff.pop();
  const position = wsc.indexOf(prop);
  const prop1 = `${nextDecl.prop}-${prop}`;
  const prop2 = `border-${prop}`;
  let props = (0, _parseTrbl.default)(values[position]);
  props[index] = nextValues[position];
  const borderValue2 = values.filter((e, i) => i !== position).join(' ');
  const propValue2 = (0, _minifyTrbl.default)(props);
  const origLength = ((0, _minifyWsc.default)(decl.value) + nextDecl.prop + nextDecl.value).length;
  const newLength1 = decl.value.length + prop1.length + (0, _minifyWsc.default)(nextValues[position]).length;
  const newLength2 = borderValue2.length + prop2.length + propValue2.length;

  if (newLength1 < newLength2 && newLength1 < origLength) {
    nextDecl.prop = prop1;
    nextDecl.value = nextValues[position];
  }

  if (newLength2 < newLength1 && newLength2 < origLength) {
    decl.value = borderValue2;
    nextDecl.prop = prop2;
    nextDecl.value = propValue2;
  }
}

function isCloseEnough(mapped) {
  return mapped[0] === mapped[1] && mapped[1] === mapped[2] || mapped[1] === mapped[2] && mapped[2] === mapped[3] || mapped[2] === mapped[3] && mapped[3] === mapped[0] || mapped[3] === mapped[0] && mapped[0] === mapped[1];
}

function getDistinctShorthands(mapped) {
  return mapped.reduce((a, b) => {
    a = Array.isArray(a) ? a : [a];

    if (!~a.indexOf(b)) {
      a.push(b);
    }

    return a;
  });
}

function explode(rule) {
  rule.walkDecls(/^border/i, decl => {
    if (!(0, _canExplode.default)(decl, false)) {
      return;
    }

    if ((0, _stylehacks.detect)(decl)) {
      return;
    }

    const prop = decl.prop.toLowerCase(); // border -> border-trbl

    if (prop === 'border') {
      if ((0, _validateWsc.isValidWsc)((0, _parseWsc.default)(decl.value))) {
        directions.forEach(direction => {
          (0, _insertCloned.default)(decl.parent, decl, {
            prop: direction
          });
        });
        return decl.remove();
      }
    } // border-trbl -> border-trbl-wsc


    if (directions.some(direction => prop === direction)) {
      let values = (0, _parseWsc.default)(decl.value);

      if ((0, _validateWsc.isValidWsc)(values)) {
        wsc.forEach((d, i) => {
          (0, _insertCloned.default)(decl.parent, decl, {
            prop: `${prop}-${d}`,
            value: values[i] || defaults[i]
          });
        });
        return decl.remove();
      }
    } // border-wsc -> border-trbl-wsc


    wsc.some(style => {
      if (prop !== borderProperty(style)) {
        return false;
      }

      (0, _parseTrbl.default)(decl.value).forEach((value, i) => {
        (0, _insertCloned.default)(decl.parent, decl, {
          prop: borderProperty(_trbl.default[i], style),
          value
        });
      });
      return decl.remove();
    });
  });
}

function merge(rule) {
  // border-trbl-wsc -> border-trbl
  _trbl.default.forEach(direction => {
    const prop = borderProperty(direction);
    (0, _mergeRules.default)(rule, wsc.map(style => borderProperty(direction, style)), (rules, lastNode) => {
      if ((0, _canMerge.default)(rules, false) && !rules.some(_stylehacks.detect)) {
        (0, _insertCloned.default)(lastNode.parent, lastNode, {
          prop,
          value: rules.map(_getValue.default).join(' ')
        });
        rules.forEach(_remove.default);
        return true;
      }
    });
  }); // border-trbl-wsc -> border-wsc


  wsc.forEach(style => {
    const prop = borderProperty(style);
    (0, _mergeRules.default)(rule, _trbl.default.map(direction => borderProperty(direction, style)), (rules, lastNode) => {
      if ((0, _canMerge.default)(rules) && !rules.some(_stylehacks.detect)) {
        (0, _insertCloned.default)(lastNode.parent, lastNode, {
          prop,
          value: (0, _minifyTrbl.default)(rules.map(_getValue.default).join(' '))
        });
        rules.forEach(_remove.default);
        return true;
      }
    });
  }); // border-trbl -> border-wsc

  (0, _mergeRules.default)(rule, directions, (rules, lastNode) => {
    if (rules.some(_stylehacks.detect)) {
      return;
    }

    const values = rules.map(({
      value
    }) => value);

    if (!canMergeValues(values)) {
      return;
    }

    const parsed = values.map(value => (0, _parseWsc.default)(value));

    if (!parsed.every(_validateWsc.isValidWsc)) {
      return;
    }

    wsc.forEach((d, i) => {
      const value = parsed.map(v => v[i] || defaults[i]);

      if (canMergeValues(value)) {
        (0, _insertCloned.default)(lastNode.parent, lastNode, {
          prop: borderProperty(d),
          value: (0, _minifyTrbl.default)(value)
        });
      } else {
        (0, _insertCloned.default)(lastNode.parent, lastNode);
      }
    });
    rules.forEach(_remove.default);
    return true;
  }); // border-wsc -> border
  // border-wsc -> border + border-color
  // border-wsc -> border + border-dir

  (0, _mergeRules.default)(rule, properties, (rules, lastNode) => {
    if (rules.some(_stylehacks.detect)) {
      return;
    }

    const values = rules.map(node => (0, _parseTrbl.default)(node.value));
    const mapped = [0, 1, 2, 3].map(i => [values[0][i], values[1][i], values[2][i]].join(' '));

    if (!canMergeValues(mapped)) {
      return;
    }

    const [width, style, color] = rules;
    const reduced = getDistinctShorthands(mapped);

    if (isCloseEnough(mapped) && (0, _canMerge.default)(rules, false)) {
      const first = mapped.indexOf(reduced[0]) !== mapped.lastIndexOf(reduced[0]);
      const border = (0, _insertCloned.default)(lastNode.parent, lastNode, {
        prop: 'border',
        value: first ? reduced[0] : reduced[1]
      });

      if (reduced[1]) {
        const value = first ? reduced[1] : reduced[0];
        const prop = borderProperty(_trbl.default[mapped.indexOf(value)]);
        rule.insertAfter(border, Object.assign(lastNode.clone(), {
          prop,
          value
        }));
      }

      rules.forEach(_remove.default);
      return true;
    } else if (reduced.length === 1) {
      rule.insertBefore(color, Object.assign(lastNode.clone(), {
        prop: 'border',
        value: [width, style].map(_getValue.default).join(' ')
      }));
      rules.filter(node => node.prop.toLowerCase() !== properties[2]).forEach(_remove.default);
      return true;
    }
  }); // border-wsc -> border + border-trbl

  (0, _mergeRules.default)(rule, properties, (rules, lastNode) => {
    if (rules.some(_stylehacks.detect)) {
      return;
    }

    const values = rules.map(node => (0, _parseTrbl.default)(node.value));
    const mapped = [0, 1, 2, 3].map(i => [values[0][i], values[1][i], values[2][i]].join(' '));
    const reduced = getDistinctShorthands(mapped);
    const none = 'medium none currentcolor';

    if (reduced.length > 1 && reduced.length < 4 && reduced.includes(none)) {
      const filtered = mapped.filter(p => p !== none);
      const mostCommon = reduced.sort((a, b) => mapped.filter(v => v === b).length - mapped.filter(v => v === a).length)[0];
      const borderValue = reduced.length === 2 ? filtered[0] : mostCommon;
      rule.insertBefore(lastNode, Object.assign(lastNode.clone(), {
        prop: 'border',
        value: borderValue
      }));
      directions.forEach((dir, i) => {
        if (mapped[i] !== borderValue) {
          rule.insertBefore(lastNode, Object.assign(lastNode.clone(), {
            prop: dir,
            value: mapped[i]
          }));
        }
      });
      rules.forEach(_remove.default);
      return true;
    }
  }); // border-trbl -> border
  // border-trbl -> border + border-trbl

  (0, _mergeRules.default)(rule, directions, (rules, lastNode) => {
    if (rules.some(_stylehacks.detect)) {
      return;
    }

    const values = rules.map(node => {
      const wscValue = (0, _parseWsc.default)(node.value);

      if (!(0, _validateWsc.isValidWsc)(wscValue)) {
        return node.value;
      }

      return wscValue.map((value, i) => value || defaults[i]).join(' ');
    });
    const reduced = getDistinctShorthands(values);

    if (isCloseEnough(values)) {
      const first = values.indexOf(reduced[0]) !== values.lastIndexOf(reduced[0]);
      rule.insertBefore(lastNode, Object.assign(lastNode.clone(), {
        prop: 'border',
        value: (0, _minifyWsc.default)(first ? values[0] : values[1])
      }));

      if (reduced[1]) {
        const value = first ? reduced[1] : reduced[0];
        const prop = directions[values.indexOf(value)];
        rule.insertBefore(lastNode, Object.assign(lastNode.clone(), {
          prop: prop,
          value: (0, _minifyWsc.default)(value)
        }));
      }

      rules.forEach(_remove.default);
      return true;
    }
  }); // border-trbl-wsc + border-trbl (custom prop) -> border-trbl + border-trbl-wsc (custom prop)

  directions.forEach(direction => {
    wsc.forEach((style, i) => {
      const prop = `${direction}-${style}`;
      (0, _mergeRules.default)(rule, [direction, prop], (rules, lastNode) => {
        if (lastNode.prop !== direction) {
          return;
        }

        const values = (0, _parseWsc.default)(lastNode.value);

        if (!(0, _validateWsc.isValidWsc)(values)) {
          return;
        }

        const wscProp = rules.filter(r => r !== lastNode)[0];

        if (!isValueCustomProp(values[i]) || (0, _isCustomProp.default)(wscProp)) {
          return;
        }

        const wscValue = values[i];
        values[i] = wscProp.value;

        if ((0, _canMerge.default)(rules, false) && !rules.some(_stylehacks.detect)) {
          (0, _insertCloned.default)(lastNode.parent, lastNode, {
            prop,
            value: wscValue
          });
          lastNode.value = (0, _minifyWsc.default)(values);
          wscProp.remove();
          return true;
        }
      });
    });
  }); // border-wsc + border (custom prop) -> border + border-wsc (custom prop)

  wsc.forEach((style, i) => {
    const prop = borderProperty(style);
    (0, _mergeRules.default)(rule, ['border', prop], (rules, lastNode) => {
      if (lastNode.prop !== 'border') {
        return;
      }

      const values = (0, _parseWsc.default)(lastNode.value);

      if (!(0, _validateWsc.isValidWsc)(values)) {
        return;
      }

      const wscProp = rules.filter(r => r !== lastNode)[0];

      if (!isValueCustomProp(values[i]) || (0, _isCustomProp.default)(wscProp)) {
        return;
      }

      const wscValue = values[i];
      values[i] = wscProp.value;

      if ((0, _canMerge.default)(rules, false) && !rules.some(_stylehacks.detect)) {
        (0, _insertCloned.default)(lastNode.parent, lastNode, {
          prop,
          value: wscValue
        });
        lastNode.value = (0, _minifyWsc.default)(values);
        wscProp.remove();
        return true;
      }
    });
  }); // optimize border-trbl

  let decls = (0, _getDecls.default)(rule, directions);

  while (decls.length) {
    const lastNode = decls[decls.length - 1];
    wsc.forEach((d, i) => {
      const names = directions.filter(name => name !== lastNode.prop).map(name => `${name}-${d}`);
      let nodes = rule.nodes.slice(0, rule.nodes.indexOf(lastNode));
      const border = (0, _getLastNode.default)(nodes, 'border');

      if (border) {
        nodes = nodes.slice(nodes.indexOf(border));
      }

      const props = nodes.filter(node => node.prop && ~names.indexOf(node.prop) && node.important === lastNode.important);
      const rules = (0, _getRules.default)(props, names);

      if ((0, _hasAllProps.default)(rules, ...names) && !rules.some(_stylehacks.detect)) {
        const values = rules.map(node => node ? node.value : null);
        const filteredValues = values.filter(Boolean);

        const lastNodeValue = _postcss.list.space(lastNode.value)[i];

        values[directions.indexOf(lastNode.prop)] = lastNodeValue;
        let value = (0, _minifyTrbl.default)(values.join(' '));

        if (filteredValues[0] === filteredValues[1] && filteredValues[1] === filteredValues[2]) {
          value = filteredValues[0];
        }

        let refNode = props[props.length - 1];

        if (value === lastNodeValue) {
          refNode = lastNode;

          let valueArray = _postcss.list.space(lastNode.value);

          valueArray.splice(i, 1);
          lastNode.value = valueArray.join(' ');
        }

        (0, _insertCloned.default)(refNode.parent, refNode, {
          prop: borderProperty(d),
          value
        });
        decls = decls.filter(node => !~rules.indexOf(node));
        rules.forEach(_remove.default);
      }
    });
    decls = decls.filter(node => node !== lastNode);
  }

  rule.walkDecls('border', decl => {
    const nextDecl = decl.next();

    if (!nextDecl || nextDecl.type !== 'decl') {
      return;
    }

    const index = directions.indexOf(nextDecl.prop);

    if (!~index) {
      return;
    }

    const values = (0, _parseWsc.default)(decl.value);
    const nextValues = (0, _parseWsc.default)(nextDecl.value);

    if (!(0, _validateWsc.isValidWsc)(values) || !(0, _validateWsc.isValidWsc)(nextValues)) {
      return;
    }

    const config = {
      values,
      nextValues,
      decl,
      nextDecl,
      index
    };
    return mergeRedundant(config);
  });
  rule.walkDecls(/^border($|-(top|right|bottom|left)$)/i, decl => {
    let values = (0, _parseWsc.default)(decl.value);

    if (!(0, _validateWsc.isValidWsc)(values)) {
      return;
    }

    const position = directions.indexOf(decl.prop);
    let dirs = [...directions];
    dirs.splice(position, 1);
    wsc.forEach((d, i) => {
      const props = dirs.map(dir => `${dir}-${d}`);
      (0, _mergeRules.default)(rule, [decl.prop, ...props], rules => {
        if (!rules.includes(decl)) {
          return;
        }

        const longhands = rules.filter(p => p !== decl);

        if (longhands[0].value.toLowerCase() === longhands[1].value.toLowerCase() && longhands[1].value.toLowerCase() === longhands[2].value.toLowerCase() && values[i] !== undefined && longhands[0].value.toLowerCase() === values[i].toLowerCase()) {
          longhands.forEach(_remove.default);
          (0, _insertCloned.default)(decl.parent, decl, {
            prop: borderProperty(d),
            value: values[i]
          });
          values[i] = null;
        }
      });
      const newValue = values.join(' ');

      if (newValue) {
        decl.value = newValue;
      } else {
        decl.remove();
      }
    });
  }); // clean-up values

  rule.walkDecls(/^border($|-(top|right|bottom|left)$)/i, decl => {
    decl.value = (0, _minifyWsc.default)(decl.value);
  }); // border-spacing-hv -> border-spacing

  rule.walkDecls(/^border-spacing$/i, decl => {
    const value = _postcss.list.space(decl.value); // merge vertical and horizontal dups


    if (value.length > 1 && value[0] === value[1]) {
      decl.value = value.slice(1).join(' ');
    }
  }); // clean-up rules

  decls = (0, _getDecls.default)(rule, allProperties);

  while (decls.length) {
    const lastNode = decls[decls.length - 1];
    const lastPart = lastNode.prop.split('-').pop(); // remove properties of lower precedence

    const lesser = decls.filter(node => !(0, _stylehacks.detect)(lastNode) && !(0, _stylehacks.detect)(node) && !(0, _isCustomProp.default)(lastNode) && node !== lastNode && node.important === lastNode.important && getLevel(node.prop) > getLevel(lastNode.prop) && (!!~node.prop.toLowerCase().indexOf(lastNode.prop) || node.prop.toLowerCase().endsWith(lastPart)));
    lesser.forEach(_remove.default);
    decls = decls.filter(node => !~lesser.indexOf(node)); // get duplicate properties

    let duplicates = decls.filter(node => !(0, _stylehacks.detect)(lastNode) && !(0, _stylehacks.detect)(node) && node !== lastNode && node.important === lastNode.important && node.prop === lastNode.prop && !(!(0, _isCustomProp.default)(node) && (0, _isCustomProp.default)(lastNode)));

    if (duplicates.length) {
      if (/hsla\(|rgba\(/i.test(getColorValue(lastNode))) {
        const preserve = duplicates.filter(node => !/hsla\(|rgba\(/i.test(getColorValue(node))).pop();
        duplicates = duplicates.filter(node => node !== preserve);
      }

      duplicates.forEach(_remove.default);
    }

    decls = decls.filter(node => node !== lastNode && !~duplicates.indexOf(node));
  }
}

var _default = {
  explode,
  merge
};
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 58986:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _stylehacks = __nccwpck_require__(25884);

var _canMerge = _interopRequireDefault(__nccwpck_require__(95496));

var _getDecls = _interopRequireDefault(__nccwpck_require__(4386));

var _minifyTrbl = _interopRequireDefault(__nccwpck_require__(38243));

var _parseTrbl = _interopRequireDefault(__nccwpck_require__(35572));

var _insertCloned = _interopRequireDefault(__nccwpck_require__(94558));

var _mergeRules = _interopRequireDefault(__nccwpck_require__(67238));

var _mergeValues = _interopRequireDefault(__nccwpck_require__(25017));

var _remove = _interopRequireDefault(__nccwpck_require__(72490));

var _trbl = _interopRequireDefault(__nccwpck_require__(19740));

var _isCustomProp = _interopRequireDefault(__nccwpck_require__(88870));

var _canExplode = _interopRequireDefault(__nccwpck_require__(17736));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = prop => {
  const properties = _trbl.default.map(direction => `${prop}-${direction}`);

  const cleanup = rule => {
    let decls = (0, _getDecls.default)(rule, [prop].concat(properties));

    while (decls.length) {
      const lastNode = decls[decls.length - 1]; // remove properties of lower precedence

      const lesser = decls.filter(node => !(0, _stylehacks.detect)(lastNode) && !(0, _stylehacks.detect)(node) && node !== lastNode && node.important === lastNode.important && lastNode.prop === prop && node.prop !== lastNode.prop);
      lesser.forEach(_remove.default);
      decls = decls.filter(node => !~lesser.indexOf(node)); // get duplicate properties

      let duplicates = decls.filter(node => !(0, _stylehacks.detect)(lastNode) && !(0, _stylehacks.detect)(node) && node !== lastNode && node.important === lastNode.important && node.prop === lastNode.prop && !(!(0, _isCustomProp.default)(node) && (0, _isCustomProp.default)(lastNode)));
      duplicates.forEach(_remove.default);
      decls = decls.filter(node => node !== lastNode && !~duplicates.indexOf(node));
    }
  };

  const processor = {
    explode: rule => {
      rule.walkDecls(new RegExp('^' + prop + '$', 'i'), decl => {
        if (!(0, _canExplode.default)(decl)) {
          return;
        }

        if ((0, _stylehacks.detect)(decl)) {
          return;
        }

        const values = (0, _parseTrbl.default)(decl.value);

        _trbl.default.forEach((direction, index) => {
          (0, _insertCloned.default)(decl.parent, decl, {
            prop: properties[index],
            value: values[index]
          });
        });

        decl.remove();
      });
    },
    merge: rule => {
      (0, _mergeRules.default)(rule, properties, (rules, lastNode) => {
        if ((0, _canMerge.default)(rules) && !rules.some(_stylehacks.detect)) {
          (0, _insertCloned.default)(lastNode.parent, lastNode, {
            prop,
            value: (0, _minifyTrbl.default)((0, _mergeValues.default)(...rules))
          });
          rules.forEach(_remove.default);
          return true;
        }
      });
      cleanup(rule);
    }
  };
  return processor;
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 850:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcss = __nccwpck_require__(77001);

var _postcssValueParser = __nccwpck_require__(19285);

var _stylehacks = __nccwpck_require__(25884);

var _canMerge = _interopRequireDefault(__nccwpck_require__(95496));

var _getDecls = _interopRequireDefault(__nccwpck_require__(4386));

var _getValue = _interopRequireDefault(__nccwpck_require__(8063));

var _mergeRules = _interopRequireDefault(__nccwpck_require__(67238));

var _insertCloned = _interopRequireDefault(__nccwpck_require__(94558));

var _remove = _interopRequireDefault(__nccwpck_require__(72490));

var _isCustomProp = _interopRequireDefault(__nccwpck_require__(88870));

var _canExplode = _interopRequireDefault(__nccwpck_require__(17736));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const properties = ['column-width', 'column-count'];
const auto = 'auto';
const inherit = 'inherit';
/**
 * Normalize a columns shorthand definition. Both of the longhand
 * properties' initial values are 'auto', and as per the spec,
 * omitted values are set to their initial values. Thus, we can
 * remove any 'auto' definition when there are two values.
 *
 * Specification link: https://www.w3.org/TR/css3-multicol/
 */

function normalize(values) {
  if (values[0].toLowerCase() === auto) {
    return values[1];
  }

  if (values[1].toLowerCase() === auto) {
    return values[0];
  }

  if (values[0].toLowerCase() === inherit && values[1].toLowerCase() === inherit) {
    return inherit;
  }

  return values.join(' ');
}

function explode(rule) {
  rule.walkDecls(/^columns$/i, decl => {
    if (!(0, _canExplode.default)(decl)) {
      return;
    }

    if ((0, _stylehacks.detect)(decl)) {
      return;
    }

    let values = _postcss.list.space(decl.value);

    if (values.length === 1) {
      values.push(auto);
    }

    values.forEach((value, i) => {
      let prop = properties[1];

      if (value.toLowerCase() === auto) {
        prop = properties[i];
      } else if ((0, _postcssValueParser.unit)(value).unit) {
        prop = properties[0];
      }

      (0, _insertCloned.default)(decl.parent, decl, {
        prop,
        value
      });
    });
    decl.remove();
  });
}

function cleanup(rule) {
  let decls = (0, _getDecls.default)(rule, ['columns'].concat(properties));

  while (decls.length) {
    const lastNode = decls[decls.length - 1]; // remove properties of lower precedence

    const lesser = decls.filter(node => !(0, _stylehacks.detect)(lastNode) && !(0, _stylehacks.detect)(node) && node !== lastNode && node.important === lastNode.important && lastNode.prop === 'columns' && node.prop !== lastNode.prop);
    lesser.forEach(_remove.default);
    decls = decls.filter(node => !~lesser.indexOf(node)); // get duplicate properties

    let duplicates = decls.filter(node => !(0, _stylehacks.detect)(lastNode) && !(0, _stylehacks.detect)(node) && node !== lastNode && node.important === lastNode.important && node.prop === lastNode.prop && !(!(0, _isCustomProp.default)(node) && (0, _isCustomProp.default)(lastNode)));
    duplicates.forEach(_remove.default);
    decls = decls.filter(node => node !== lastNode && !~duplicates.indexOf(node));
  }
}

function merge(rule) {
  (0, _mergeRules.default)(rule, properties, (rules, lastNode) => {
    if ((0, _canMerge.default)(rules) && !rules.some(_stylehacks.detect)) {
      (0, _insertCloned.default)(lastNode.parent, lastNode, {
        prop: 'columns',
        value: normalize(rules.map(_getValue.default))
      });
      rules.forEach(_remove.default);
      return true;
    }
  });
  cleanup(rule);
}

var _default = {
  explode,
  merge
};
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 41697:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _borders = _interopRequireDefault(__nccwpck_require__(54181));

var _columns = _interopRequireDefault(__nccwpck_require__(850));

var _margin = _interopRequireDefault(__nccwpck_require__(58541));

var _padding = _interopRequireDefault(__nccwpck_require__(32008));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = [_borders.default, _columns.default, _margin.default, _padding.default];
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 58541:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _boxBase = _interopRequireDefault(__nccwpck_require__(58986));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _boxBase.default)('margin');

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 32008:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _boxBase = _interopRequireDefault(__nccwpck_require__(58986));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _boxBase.default)('padding');

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 4386:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getDecls;

function getDecls(rule, properties) {
  return rule.nodes.filter(({
    prop
  }) => prop && ~properties.indexOf(prop.toLowerCase()));
}

module.exports = exports.default;

/***/ }),

/***/ 22226:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _default = (rule, prop) => {
  return rule.filter(n => n.prop && n.prop.toLowerCase() === prop).pop();
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 91860:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getRules;

var _getLastNode = _interopRequireDefault(__nccwpck_require__(22226));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function getRules(props, properties) {
  return properties.map(property => {
    return (0, _getLastNode.default)(props, property);
  }).filter(Boolean);
}

module.exports = exports.default;

/***/ }),

/***/ 8063:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getValue;

function getValue({
  value
}) {
  return value;
}

module.exports = exports.default;

/***/ }),

/***/ 5220:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _default = (rule, ...props) => {
  return props.every(p => rule.some(({
    prop
  }) => prop && ~prop.toLowerCase().indexOf(p)));
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 94558:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = insertCloned;

function insertCloned(rule, decl, props) {
  const newNode = Object.assign(decl.clone(), props);
  rule.insertAfter(decl, newNode);
  return newNode;
}

module.exports = exports.default;

/***/ }),

/***/ 88870:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _default = node => ~node.value.search(/var\s*\(\s*--/i);

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 67238:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = mergeRules;

var _hasAllProps = _interopRequireDefault(__nccwpck_require__(5220));

var _getDecls = _interopRequireDefault(__nccwpck_require__(4386));

var _getRules = _interopRequireDefault(__nccwpck_require__(91860));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isConflictingProp(propA, propB) {
  if (!propB.prop || propB.important !== propA.important) {
    return;
  }

  const parts = propA.prop.split('-');
  return parts.some(() => {
    parts.pop();
    return parts.join('-') === propB.prop;
  });
}

function hasConflicts(match, nodes) {
  const firstNode = Math.min.apply(null, match.map(n => nodes.indexOf(n)));
  const lastNode = Math.max.apply(null, match.map(n => nodes.indexOf(n)));
  const between = nodes.slice(firstNode + 1, lastNode);
  return match.some(a => between.some(b => isConflictingProp(a, b)));
}

function mergeRules(rule, properties, callback) {
  let decls = (0, _getDecls.default)(rule, properties);

  while (decls.length) {
    const last = decls[decls.length - 1];
    const props = decls.filter(node => node.important === last.important);
    const rules = (0, _getRules.default)(props, properties);

    if ((0, _hasAllProps.default)(rules, ...properties) && !hasConflicts(rules, rule.nodes)) {
      if (callback(rules, last, props)) {
        decls = decls.filter(node => !~rules.indexOf(node));
      }
    }

    decls = decls.filter(node => node !== last);
  }
}

module.exports = exports.default;

/***/ }),

/***/ 25017:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _getValue = _interopRequireDefault(__nccwpck_require__(8063));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (...rules) => rules.map(_getValue.default).join(' ');

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 38243:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _parseTrbl = _interopRequireDefault(__nccwpck_require__(35572));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = v => {
  const value = (0, _parseTrbl.default)(v);

  if (value[3] === value[1]) {
    value.pop();

    if (value[2] === value[0]) {
      value.pop();

      if (value[0] === value[1]) {
        value.pop();
      }
    }
  }

  return value.join(' ');
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 65318:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _parseWsc = _interopRequireDefault(__nccwpck_require__(11779));

var _minifyTrbl = _interopRequireDefault(__nccwpck_require__(38243));

var _validateWsc = __nccwpck_require__(79900);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const defaults = ['medium', 'none', 'currentcolor'];

var _default = v => {
  const values = (0, _parseWsc.default)(v);

  if (!(0, _validateWsc.isValidWsc)(values)) {
    return (0, _minifyTrbl.default)(v);
  }

  const value = [...values, ''].reduceRight((prev, cur, i, arr) => {
    if (cur === undefined || cur.toLowerCase() === defaults[i] && (!i || (arr[i - 1] || '').toLowerCase() !== cur.toLowerCase())) {
      return prev;
    }

    return cur + ' ' + prev;
  }).trim();
  return (0, _minifyTrbl.default)(value || 'none');
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 35572:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcss = __nccwpck_require__(77001);

var _default = v => {
  const s = typeof v === 'string' ? _postcss.list.space(v) : v;
  return [s[0], // top
  s[1] || s[0], // right
  s[2] || s[0], // bottom
  s[3] || s[1] || s[0] // left
  ];
};

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 11779:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = parseWsc;

var _postcss = __nccwpck_require__(77001);

var _validateWsc = __nccwpck_require__(79900);

const none = /^\s*(none|medium)(\s+none(\s+(none|currentcolor))?)?\s*$/i;
const varRE = /(^.*var)(.*\(.*--.*\))(.*)/i;

const varPreserveCase = p => `${p[1].toLowerCase()}${p[2]}${p[3].toLowerCase()}`;

const toLower = v => {
  const match = varRE.exec(v);
  return match ? varPreserveCase(match) : v.toLowerCase();
};

function parseWsc(value) {
  if (none.test(value)) {
    return ['medium', 'none', 'currentcolor'];
  }

  let width, style, color;

  const values = _postcss.list.space(value);

  if (values.length > 1 && (0, _validateWsc.isStyle)(values[1]) && values[0].toLowerCase() === 'none') {
    values.unshift();
    width = '0';
  }

  const unknown = [];
  values.forEach(v => {
    if ((0, _validateWsc.isStyle)(v)) {
      style = toLower(v);
    } else if ((0, _validateWsc.isWidth)(v)) {
      width = toLower(v);
    } else if ((0, _validateWsc.isColor)(v)) {
      color = toLower(v);
    } else {
      unknown.push(v);
    }
  });

  if (unknown.length) {
    if (!width && style && color) {
      width = unknown.pop();
    }

    if (width && !style && color) {
      style = unknown.pop();
    }

    if (width && style && !color) {
      color = unknown.pop();
    }
  }

  return [width, style, color];
}

module.exports = exports.default;

/***/ }),

/***/ 72490:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = remove;

function remove(node) {
  return node.remove();
}

module.exports = exports.default;

/***/ }),

/***/ 19740:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
var _default = ['top', 'right', 'bottom', 'left'];
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 79900:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.isStyle = isStyle;
exports.isWidth = isWidth;
exports.isColor = isColor;
exports.isValidWsc = isValidWsc;

var _cssColorNames = _interopRequireDefault(__nccwpck_require__(80691));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const widths = ['thin', 'medium', 'thick'];
const styles = ['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset'];
const colors = Object.keys(_cssColorNames.default);

function isStyle(value) {
  return value && !!~styles.indexOf(value.toLowerCase());
}

function isWidth(value) {
  return value && !!~widths.indexOf(value.toLowerCase()) || /^(\d+(\.\d+)?|\.\d+)(\w+)?$/.test(value);
}

function isColor(value) {
  if (!value) {
    return false;
  }

  value = value.toLowerCase();

  if (/rgba?\(/.test(value)) {
    return true;
  }

  if (/hsla?\(/.test(value)) {
    return true;
  }

  if (/#([0-9a-z]{6}|[0-9a-z]{3})/.test(value)) {
    return true;
  }

  if (value === 'transparent') {
    return true;
  }

  if (value === 'currentcolor') {
    return true;
  }

  return !!~colors.indexOf(value);
}

function isValidWsc(wscs) {
  const validWidth = isWidth(wscs[0]);
  const validStyle = isStyle(wscs[1]);
  const validColor = isColor(wscs[2]);
  return validWidth && validStyle || validWidth && validColor || validStyle && validColor;
}

/***/ }),

/***/ 74210:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _browserslist = _interopRequireDefault(__nccwpck_require__(55478));

var _cssnanoUtils = __nccwpck_require__(96947);

var _ensureCompatibility = __nccwpck_require__(16788);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * @param {postcss.Declaration} a
 * @param {postcss.Declaration} b
 * @return {boolean}
 */
function declarationIsEqual(a, b) {
  return a.important === b.important && a.prop === b.prop && a.value === b.value;
}
/**
 * @param {postcss.Declaration[]} array
 * @param {postcss.Declaration} decl
 * @return {number}
 */


function indexOfDeclaration(array, decl) {
  return array.findIndex(d => declarationIsEqual(d, decl));
}
/**
 * Returns filtered array of matched or unmatched declarations
 * @param {postcss.Declaration[]} a
 * @param {postcss.Declaration[]} b
 * @param {boolean} [not=false]
 * @return {postcss.Declaration[]}
 */


function intersect(a, b, not) {
  return a.filter(c => {
    const index = ~indexOfDeclaration(b, c);
    return not ? !index : index;
  });
}
/**
 * @param {postcss.Declaration[]} a
 * @param {postcss.Declaration[]} b
 * @return {boolean}
 */


function sameDeclarationsAndOrder(a, b) {
  if (a.length !== b.length) {
    return false;
  }

  return a.every((d, index) => declarationIsEqual(d, b[index]));
}
/**
 * @param {postcss.Rule} ruleA
 * @param {postcss.Rule} ruleB
 * @param {string[]=} browsers
 * @param {Object.<string, boolean>=} compatibilityCache
 * @return {boolean}
 */


function canMerge(ruleA, ruleB, browsers, compatibilityCache) {
  const a = ruleA.selectors;
  const b = ruleB.selectors;
  const selectors = a.concat(b);

  if (!(0, _ensureCompatibility.ensureCompatibility)(selectors, browsers, compatibilityCache)) {
    return false;
  }

  const parent = (0, _cssnanoUtils.sameParent)(ruleA, ruleB);
  const {
    name
  } = ruleA.parent;

  if (parent && name && ~name.indexOf('keyframes')) {
    return false;
  }

  return parent && (selectors.every(_ensureCompatibility.noVendor) || (0, _ensureCompatibility.sameVendor)(a, b));
}
/**
 * @param {postcss.Rule} rule
 * @return {postcss.Declaration[]}
 */


function getDecls(rule) {
  return rule.nodes.filter(node => node.type === 'decl');
}

const joinSelectors = (...rules) => rules.map(s => s.selector).join();

function ruleLength(...rules) {
  return rules.map(r => r.nodes.length ? String(r) : '').join('').length;
}
/**
 * @param {string} prop
 * @return {{prefix: string, base:string, rest:string[]}}
 */


function splitProp(prop) {
  // Treat vendor prefixed properties as if they were unprefixed;
  // moving them when combined with non-prefixed properties can
  // cause issues. e.g. moving -webkit-background-clip when there
  // is a background shorthand definition.
  const parts = prop.split('-');

  if (prop[0] !== '-') {
    return {
      prefix: '',
      base: parts[0],
      rest: parts.slice(1)
    };
  } // Don't split css variables


  if (prop[1] === '-') {
    return {
      prefix: null,
      base: null,
      rest: [prop]
    };
  } // Found prefix


  return {
    prefix: parts[1],
    base: parts[2],
    rest: parts.slice(3)
  };
}
/**
 * @param {string} propA
 * @param {string} propB
 */


function isConflictingProp(propA, propB) {
  if (propA === propB) {
    // Same specificity
    return true;
  }

  const a = splitProp(propA);
  const b = splitProp(propB); // Don't resort css variables

  if (!a.base && !b.base) {
    return true;
  } // Different base;


  if (a.base !== b.base) {
    return false;
  } // Conflict if rest-count mismatches


  if (a.rest.length !== b.rest.length) {
    return true;
  } // Conflict if rest parameters are equal (same but unprefixed)


  return a.rest.every((s, index) => b.rest[index] === s);
}
/**
 * @param {postcss.Rule} first
 * @param {postcss.Rule} second
 * @return {boolean} merged
 */


function mergeParents(first, second) {
  // Null check for detached rules
  if (!first.parent || !second.parent) {
    return false;
  } // Check if parents share node


  if (first.parent === second.parent) {
    return false;
  } // sameParent() already called by canMerge()


  second.remove();
  first.parent.append(second);
  return true;
}
/**
 * @param {postcss.Rule} first
 * @param {postcss.Rule} second
 * @return {postcss.Rule} mergedRule
 */


function partialMerge(first, second) {
  let intersection = intersect(getDecls(first), getDecls(second));

  if (!intersection.length) {
    return second;
  }

  let nextRule = second.next();

  if (!nextRule) {
    // Grab next cousin
    const parentSibling = second.parent.next();
    nextRule = parentSibling && parentSibling.nodes && parentSibling.nodes[0];
  }

  if (nextRule && nextRule.type === 'rule' && canMerge(second, nextRule)) {
    let nextIntersection = intersect(getDecls(second), getDecls(nextRule));

    if (nextIntersection.length > intersection.length) {
      mergeParents(second, nextRule);
      first = second;
      second = nextRule;
      intersection = nextIntersection;
    }
  }

  const firstDecls = getDecls(first); // Filter out intersections with later conflicts in First

  intersection = intersection.filter((decl, intersectIndex) => {
    const indexOfDecl = indexOfDeclaration(firstDecls, decl);
    const nextConflictInFirst = firstDecls.slice(indexOfDecl + 1).filter(d => isConflictingProp(d.prop, decl.prop));

    if (!nextConflictInFirst.length) {
      return true;
    }

    const nextConflictInIntersection = intersection.slice(intersectIndex + 1).filter(d => isConflictingProp(d.prop, decl.prop));

    if (!nextConflictInIntersection.length) {
      return false;
    }

    if (nextConflictInFirst.length !== nextConflictInIntersection.length) {
      return false;
    }

    return nextConflictInFirst.every((d, index) => declarationIsEqual(d, nextConflictInIntersection[index]));
  }); // Filter out intersections with previous conflicts in Second

  const secondDecls = getDecls(second);
  intersection = intersection.filter(decl => {
    const nextConflictIndex = secondDecls.findIndex(d => isConflictingProp(d.prop, decl.prop));

    if (nextConflictIndex === -1) {
      return false;
    }

    if (!declarationIsEqual(secondDecls[nextConflictIndex], decl)) {
      return false;
    }

    if (decl.prop.toLowerCase() !== 'direction' && decl.prop.toLowerCase() !== 'unicode-bidi' && secondDecls.some(declaration => declaration.prop.toLowerCase() === 'all')) {
      return false;
    }

    secondDecls.splice(nextConflictIndex, 1);
    return true;
  });

  if (!intersection.length) {
    // Nothing to merge
    return second;
  }

  const receivingBlock = second.clone();
  receivingBlock.selector = joinSelectors(first, second);
  receivingBlock.nodes = [];
  second.parent.insertBefore(second, receivingBlock);
  const firstClone = first.clone();
  const secondClone = second.clone();
  /**
   * @param {function(postcss.Declaration):void} callback
   * @return {function(postcss.Declaration)}
   */

  function moveDecl(callback) {
    return decl => {
      if (~indexOfDeclaration(intersection, decl)) {
        callback.call(this, decl);
      }
    };
  }

  firstClone.walkDecls(moveDecl(decl => {
    decl.remove();
    receivingBlock.append(decl);
  }));
  secondClone.walkDecls(moveDecl(decl => decl.remove()));
  const merged = ruleLength(firstClone, receivingBlock, secondClone);
  const original = ruleLength(first, second);

  if (merged < original) {
    first.replaceWith(firstClone);
    second.replaceWith(secondClone);
    [firstClone, receivingBlock, secondClone].forEach(r => {
      if (!r.nodes.length) {
        r.remove();
      }
    });

    if (!secondClone.parent) {
      return receivingBlock;
    }

    return secondClone;
  } else {
    receivingBlock.remove();
    return second;
  }
}
/**
 * @param {string[]} browsers
 * @param {Object.<string, boolean>} compatibilityCache
 * @return {function(postcss.Rule)}
 */


function selectorMerger(browsers, compatibilityCache) {
  /** @type {postcss.Rule} */
  let cache = null;
  return function (rule) {
    // Prime the cache with the first rule, or alternately ensure that it is
    // safe to merge both declarations before continuing
    if (!cache || !canMerge(rule, cache, browsers, compatibilityCache)) {
      cache = rule;
      return;
    } // Ensure that we don't deduplicate the same rule; this is sometimes
    // caused by a partial merge


    if (cache === rule) {
      cache = rule;
      return;
    } // Parents merge: check if the rules have same parents, but not same parent nodes


    mergeParents(cache, rule); // Merge when declarations are exactly equal
    // e.g. h1 { color: red } h2 { color: red }

    if (sameDeclarationsAndOrder(getDecls(rule), getDecls(cache))) {
      rule.selector = joinSelectors(cache, rule);
      cache.remove();
      cache = rule;
      return;
    } // Merge when both selectors are exactly equal
    // e.g. a { color: blue } a { font-weight: bold }


    if (cache.selector === rule.selector) {
      const cached = getDecls(cache);
      rule.walk(decl => {
        if (~indexOfDeclaration(cached, decl)) {
          return decl.remove();
        }

        cache.append(decl);
      });
      rule.remove();
      return;
    } // Partial merge: check if the rule contains a subset of the last; if
    // so create a joined selector with the subset, if smaller.


    cache = partialMerge(cache, rule);
  };
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-merge-rules',

    prepare(result) {
      const resultOpts = result.opts || {};
      const browsers = (0, _browserslist.default)(null, {
        stats: resultOpts.stats,
        path: __dirname,
        env: resultOpts.env
      });
      const compatibilityCache = {};
      return {
        OnceExit(css) {
          css.walkRules(selectorMerger(browsers, compatibilityCache));
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 16788:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.filterPrefixes = filterPrefixes;
exports.sameVendor = sameVendor;
exports.noVendor = noVendor;
exports.ensureCompatibility = ensureCompatibility;
exports.pseudoElements = void 0;

var _caniuseApi = __nccwpck_require__(78390);

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _vendors = _interopRequireDefault(__nccwpck_require__(19001));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const simpleSelectorRe = /^#?[-._a-z0-9 ]+$/i;
const cssSel2 = 'css-sel2';
const cssSel3 = 'css-sel3';
const cssGencontent = 'css-gencontent';
const cssFirstLetter = 'css-first-letter';
const cssFirstLine = 'css-first-line';
const cssInOutOfRange = 'css-in-out-of-range';
const formValidation = 'form-validation';
/** @type {string[]} */

const prefixes = _vendors.default.map(v => `-${v}-`);
/**
 * @param {string} selector
 * @return {string[]}
 */


function filterPrefixes(selector) {
  return prefixes.filter(prefix => selector.indexOf(prefix) !== -1);
} // Internet Explorer use :-ms-input-placeholder.
// Microsoft Edge use ::-ms-input-placeholder.


const findMsInputPlaceholder = selector => ~selector.search(/-ms-input-placeholder/i);

function sameVendor(selectorsA, selectorsB) {
  let same = selectors => selectors.map(filterPrefixes).join();

  let findMsVendor = selectors => selectors.find(findMsInputPlaceholder);

  return same(selectorsA) === same(selectorsB) && !(findMsVendor(selectorsA) && findMsVendor(selectorsB));
}
/**
 * @param {string} selector
 * @return {boolean}
 */


function noVendor(selector) {
  return !filterPrefixes(selector).length;
}

const pseudoElements = {
  ':active': cssSel2,
  ':after': cssGencontent,
  ':any-link': 'css-any-link',
  ':before': cssGencontent,
  ':checked': cssSel3,
  ':default': 'css-default-pseudo',
  ':dir': 'css-dir-pseudo',
  ':disabled': cssSel3,
  ':empty': cssSel3,
  ':enabled': cssSel3,
  ':first-child': cssSel2,
  ':first-letter': cssFirstLetter,
  ':first-line': cssFirstLine,
  ':first-of-type': cssSel3,
  ':focus': cssSel2,
  ':focus-within': 'css-focus-within',
  ':focus-visible': 'css-focus-visible',
  ':has': 'css-has',
  ':hover': cssSel2,
  ':in-range': cssInOutOfRange,
  ':indeterminate': 'css-indeterminate-pseudo',
  ':invalid': formValidation,
  ':is': 'css-matches-pseudo',
  ':lang': cssSel2,
  ':last-child': cssSel3,
  ':last-of-type': cssSel3,
  ':link': cssSel2,
  ':matches': 'css-matches-pseudo',
  ':not': cssSel3,
  ':nth-child': cssSel3,
  ':nth-last-child': cssSel3,
  ':nth-last-of-type': cssSel3,
  ':nth-of-type': cssSel3,
  ':only-child': cssSel3,
  ':only-of-type': cssSel3,
  ':optional': 'css-optional-pseudo',
  ':out-of-range': cssInOutOfRange,
  ':placeholder-shown': 'css-placeholder-shown',
  ':required': formValidation,
  ':root': cssSel3,
  ':target': cssSel3,
  '::after': cssGencontent,
  '::backdrop': 'dialog',
  '::before': cssGencontent,
  '::first-letter': cssFirstLetter,
  '::first-line': cssFirstLine,
  '::marker': 'css-marker-pseudo',
  '::placeholder': 'css-placeholder',
  '::selection': 'css-selection',
  ':valid': formValidation,
  ':visited': cssSel2
};
exports.pseudoElements = pseudoElements;

function isCssMixin(selector) {
  return selector[selector.length - 1] === ':';
}

function isHostPseudoClass(selector) {
  return selector.includes(':host');
}

const isSupportedCache = {}; // Move to util in future

function isSupportedCached(feature, browsers) {
  const key = JSON.stringify({
    feature,
    browsers
  });
  let result = isSupportedCache[key];

  if (!result) {
    result = (0, _caniuseApi.isSupported)(feature, browsers);
    isSupportedCache[key] = result;
  }

  return result;
}

function ensureCompatibility(selectors, browsers, compatibilityCache) {
  // Should not merge mixins
  if (selectors.some(isCssMixin)) {
    return false;
  } // Should not merge :host selector https://github.com/angular/angular-cli/issues/18672


  if (selectors.some(isHostPseudoClass)) {
    return false;
  }

  return selectors.every(selector => {
    if (simpleSelectorRe.test(selector)) {
      return true;
    }

    if (compatibilityCache && selector in compatibilityCache) {
      return compatibilityCache[selector];
    }

    let compatible = true;
    (0, _postcssSelectorParser.default)(ast => {
      ast.walk(node => {
        const {
          type,
          value
        } = node;

        if (type === 'pseudo') {
          const entry = pseudoElements[value];

          if (!entry && noVendor(value)) {
            compatible = false;
          }

          if (entry && compatible) {
            compatible = isSupportedCached(entry, browsers);
          }
        }

        if (type === 'combinator') {
          if (~value.indexOf('~')) {
            compatible = isSupportedCached(cssSel3, browsers);
          }

          if (~value.indexOf('>') || ~value.indexOf('+')) {
            compatible = isSupportedCached(cssSel2, browsers);
          }
        }

        if (type === 'attribute' && node.attribute) {
          // [foo]
          if (!node.operator) {
            compatible = isSupportedCached(cssSel2, browsers);
          }

          if (value) {
            // [foo="bar"], [foo~="bar"], [foo|="bar"]
            if (~['=', '~=', '|='].indexOf(node.operator)) {
              compatible = isSupportedCached(cssSel2, browsers);
            } // [foo^="bar"], [foo$="bar"], [foo*="bar"]


            if (~['^=', '$=', '*='].indexOf(node.operator)) {
              compatible = isSupportedCached(cssSel3, browsers);
            }
          } // [foo="bar" i]


          if (node.insensitive) {
            compatible = isSupportedCached('css-case-insensitive', browsers);
          }
        }

        if (!compatible) {
          // If this node was not compatible,
          // break out early from walking the rest
          return false;
        }
      });
    }).processSync(selector);

    if (compatibilityCache) {
      compatibilityCache[selector] = compatible;
    }

    return compatible;
  });
}

/***/ }),

/***/ 20586:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _minifyWeight = _interopRequireDefault(__nccwpck_require__(42888));

var _minifyFamily = _interopRequireDefault(__nccwpck_require__(78161));

var _minifyFont = _interopRequireDefault(__nccwpck_require__(27626));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function hasVariableFunction(value) {
  const lowerCasedValue = value.toLowerCase();
  return lowerCasedValue.includes('var(') || lowerCasedValue.includes('env(');
}

function transform(prop, value, opts) {
  let lowerCasedProp = prop.toLowerCase();

  if (lowerCasedProp === 'font-weight' && !hasVariableFunction(value)) {
    return (0, _minifyWeight.default)(value);
  } else if (lowerCasedProp === 'font-family' && !hasVariableFunction(value)) {
    const tree = (0, _postcssValueParser.default)(value);
    tree.nodes = (0, _minifyFamily.default)(tree.nodes, opts);
    return tree.toString();
  } else if (lowerCasedProp === 'font') {
    const tree = (0, _postcssValueParser.default)(value);
    tree.nodes = (0, _minifyFont.default)(tree.nodes, opts);
    return tree.toString();
  }

  return value;
}

function pluginCreator(opts) {
  opts = Object.assign({}, {
    removeAfterKeyword: false,
    removeDuplicates: true,
    removeQuotes: true
  }, opts);
  return {
    postcssPlugin: 'postcss-minify-font-values',

    prepare() {
      const cache = {};
      return {
        OnceExit(css) {
          css.walkDecls(/font/i, decl => {
            const value = decl.value;

            if (!value) {
              return;
            }

            const prop = decl.prop;
            const cacheKey = `${prop}|${value}`;

            if (cache[cacheKey]) {
              decl.value = cache[cacheKey];
              return;
            }

            const newValue = transform(prop, value, opts);
            decl.value = newValue;
            cache[cacheKey] = newValue;
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 69812:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
var _default = {
  style: ['italic', 'oblique'],
  variant: ['small-caps'],
  weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900', 'bold', 'lighter', 'bolder'],
  stretch: ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'],
  size: ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'larger', 'smaller']
};
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 78161:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = _default;

var _postcssValueParser = __nccwpck_require__(19285);

var _uniqs = _interopRequireDefault(__nccwpck_require__(97347));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const uniqs = (0, _uniqs.default)('monospace');
const globalKeywords = ['inherit', 'initial', 'unset'];
const genericFontFamilykeywords = ['sans-serif', 'serif', 'fantasy', 'cursive', 'monospace', 'system-ui'];

function makeArray(value, length) {
  let array = [];

  while (length--) {
    array[length] = value;
  }

  return array;
} // eslint-disable-next-line no-useless-escape


const regexSimpleEscapeCharacters = /[ !"#$%&'()*+,.\/;<=>?@\[\\\]^`{|}~]/;

function escape(string, escapeForString) {
  let counter = 0;
  let character = null;
  let charCode = null;
  let value = null;
  let output = '';

  while (counter < string.length) {
    character = string.charAt(counter++);
    charCode = character.charCodeAt(); // \r is already tokenized away at this point
    // `:` can be escaped as `\:`, but that fails in IE < 8

    if (!escapeForString && /[\t\n\v\f:]/.test(character)) {
      value = '\\' + charCode.toString(16) + ' ';
    } else if (!escapeForString && regexSimpleEscapeCharacters.test(character)) {
      value = '\\' + character;
    } else {
      value = character;
    }

    output += value;
  }

  if (!escapeForString) {
    if (/^-[-\d]/.test(output)) {
      output = '\\-' + output.slice(1);
    }

    const firstChar = string.charAt(0);

    if (/\d/.test(firstChar)) {
      output = '\\3' + firstChar + ' ' + output.slice(1);
    }
  }

  return output;
}

const regexKeyword = new RegExp(genericFontFamilykeywords.concat(globalKeywords).join('|'), 'i');
const regexInvalidIdentifier = /^(-?\d|--)/;
const regexSpaceAtStart = /^\x20/;
const regexWhitespace = /[\t\n\f\r\x20]/g;
const regexIdentifierCharacter = /^[a-zA-Z\d\xa0-\uffff_-]+$/;
const regexConsecutiveSpaces = /(\\(?:[a-fA-F0-9]{1,6}\x20|\x20))?(\x20{2,})/g;
const regexTrailingEscape = /\\[a-fA-F0-9]{0,6}\x20$/;
const regexTrailingSpace = /\x20$/;

function escapeIdentifierSequence(string) {
  let identifiers = string.split(regexWhitespace);
  let index = 0;
  let result = [];
  let escapeResult;

  while (index < identifiers.length) {
    let subString = identifiers[index++];

    if (subString === '') {
      result.push(subString);
      continue;
    }

    escapeResult = escape(subString, false);

    if (regexIdentifierCharacter.test(subString)) {
      // the font family name part consists of allowed characters exclusively
      if (regexInvalidIdentifier.test(subString)) {
        // the font family name part starts with two hyphens, a digit, or a
        // hyphen followed by a digit
        if (index === 1) {
          // if this is the first item
          result.push(escapeResult);
        } else {
          // if it’s not the first item, we can simply escape the space
          // between the two identifiers to merge them into a single
          // identifier rather than escaping the start characters of the
          // second identifier
          result[index - 2] += '\\';
          result.push(escape(subString, true));
        }
      } else {
        // the font family name part doesn’t start with two hyphens, a digit,
        // or a hyphen followed by a digit
        result.push(escapeResult);
      }
    } else {
      // the font family name part contains invalid identifier characters
      result.push(escapeResult);
    }
  }

  result = result.join(' ').replace(regexConsecutiveSpaces, ($0, $1, $2) => {
    const spaceCount = $2.length;
    const escapesNeeded = Math.floor(spaceCount / 2);
    const array = makeArray('\\ ', escapesNeeded);

    if (spaceCount % 2) {
      array[escapesNeeded - 1] += '\\ ';
    }

    return ($1 || '') + ' ' + array.join(' ');
  }); // Escape trailing spaces unless they’re already part of an escape

  if (regexTrailingSpace.test(result) && !regexTrailingEscape.test(result)) {
    result = result.replace(regexTrailingSpace, '\\ ');
  }

  if (regexSpaceAtStart.test(result)) {
    result = '\\ ' + result.slice(1);
  }

  return result;
}

function _default(nodes, opts) {
  let family = [];
  let last = null;
  let i, max;
  nodes.forEach((node, index, arr) => {
    if (node.type === 'string' || node.type === 'function') {
      family.push(node);
    } else if (node.type === 'word') {
      if (!last) {
        last = {
          type: 'word',
          value: ''
        };
        family.push(last);
      }

      last.value += node.value;
    } else if (node.type === 'space') {
      if (last && index !== arr.length - 1) {
        last.value += ' ';
      }
    } else {
      last = null;
    }
  });
  family = family.map(node => {
    if (node.type === 'string') {
      const isKeyword = regexKeyword.test(node.value);

      if (!opts.removeQuotes || isKeyword || /[0-9]/.test(node.value.slice(0, 1))) {
        return (0, _postcssValueParser.stringify)(node);
      }

      let escaped = escapeIdentifierSequence(node.value);

      if (escaped.length < node.value.length + 2) {
        return escaped;
      }
    }

    return (0, _postcssValueParser.stringify)(node);
  });

  if (opts.removeAfterKeyword) {
    for (i = 0, max = family.length; i < max; i += 1) {
      if (~genericFontFamilykeywords.indexOf(family[i].toLowerCase())) {
        family = family.slice(0, i + 1);
        break;
      }
    }
  }

  if (opts.removeDuplicates) {
    family = uniqs(family);
  }

  return [{
    type: 'word',
    value: family.join()
  }];
}

module.exports = exports.default;

/***/ }),

/***/ 27626:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = _default;

var _postcssValueParser = __nccwpck_require__(19285);

var _keywords = _interopRequireDefault(__nccwpck_require__(69812));

var _minifyFamily = _interopRequireDefault(__nccwpck_require__(78161));

var _minifyWeight = _interopRequireDefault(__nccwpck_require__(42888));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _default(nodes, opts) {
  let i, max, node, familyStart, family;
  let hasSize = false;

  for (i = 0, max = nodes.length; i < max; i += 1) {
    node = nodes[i];

    if (node.type === 'word') {
      if (hasSize) {
        continue;
      }

      const value = node.value.toLowerCase();

      if (value === 'normal' || value === 'inherit' || value === 'initial' || value === 'unset') {
        familyStart = i;
      } else if (~_keywords.default.style.indexOf(value) || (0, _postcssValueParser.unit)(value)) {
        familyStart = i;
      } else if (~_keywords.default.variant.indexOf(value)) {
        familyStart = i;
      } else if (~_keywords.default.weight.indexOf(value)) {
        node.value = (0, _minifyWeight.default)(value);
        familyStart = i;
      } else if (~_keywords.default.stretch.indexOf(value)) {
        familyStart = i;
      } else if (~_keywords.default.size.indexOf(value) || (0, _postcssValueParser.unit)(value)) {
        familyStart = i;
        hasSize = true;
      }
    } else if (node.type === 'function' && nodes[i + 1] && nodes[i + 1].type === 'space') {
      familyStart = i;
    } else if (node.type === 'div' && node.value === '/') {
      familyStart = i + 1;
      break;
    }
  }

  familyStart += 2;
  family = (0, _minifyFamily.default)(nodes.slice(familyStart), opts);
  return nodes.slice(0, familyStart).concat(family);
}

module.exports = exports.default;

/***/ }),

/***/ 42888:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = _default;

function _default(value) {
  const lowerCasedValue = value.toLowerCase();
  return lowerCasedValue === 'normal' ? '400' : lowerCasedValue === 'bold' ? '700' : value;
}

module.exports = exports.default;

/***/ }),

/***/ 97347:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = uniqueExcept;

function uniqueExcept(exclude) {
  return function unique() {
    const list = Array.prototype.concat.apply([], arguments);
    return list.filter((item, i) => {
      if (item.toLowerCase() === exclude) {
        return true;
      }

      return i === list.indexOf(item);
    });
  };
}

module.exports = exports.default;

/***/ }),

/***/ 33683:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireWildcard(__nccwpck_require__(19285));

var _cssnanoUtils = __nccwpck_require__(96947);

var _isColorStop = _interopRequireDefault(__nccwpck_require__(80250));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

const angles = {
  top: '0deg',
  right: '90deg',
  bottom: '180deg',
  left: '270deg'
};

function isLessThan(a, b) {
  return a.unit.toLowerCase() === b.unit.toLowerCase() && parseFloat(a.number) >= parseFloat(b.number);
}

function optimise(decl) {
  const value = decl.value;

  if (!value) {
    return;
  }

  const normalizedValue = value.toLowerCase();

  if (normalizedValue.includes('var(') || normalizedValue.includes('env(')) {
    return;
  }

  if (!normalizedValue.includes('gradient')) {
    return;
  }

  decl.value = (0, _postcssValueParser.default)(value).walk(node => {
    if (node.type !== 'function' || !node.nodes.length) {
      return false;
    }

    const lowerCasedValue = node.value.toLowerCase();

    if (lowerCasedValue === 'linear-gradient' || lowerCasedValue === 'repeating-linear-gradient' || lowerCasedValue === '-webkit-linear-gradient' || lowerCasedValue === '-webkit-repeating-linear-gradient') {
      let args = (0, _cssnanoUtils.getArguments)(node);

      if (node.nodes[0].value.toLowerCase() === 'to' && args[0].length === 3) {
        node.nodes = node.nodes.slice(2);
        node.nodes[0].value = angles[node.nodes[0].value.toLowerCase()];
      }

      let lastStop = null;
      args.forEach((arg, index) => {
        if (!arg[2]) {
          return;
        }

        let isFinalStop = index === args.length - 1;
        let thisStop = (0, _postcssValueParser.unit)(arg[2].value);

        if (lastStop === null) {
          lastStop = thisStop;

          if (!isFinalStop && lastStop && lastStop.number === '0' && lastStop.unit.toLowerCase() !== 'deg') {
            arg[1].value = arg[2].value = '';
          }

          return;
        }

        if (lastStop && thisStop && isLessThan(lastStop, thisStop)) {
          arg[2].value = 0;
        }

        lastStop = thisStop;

        if (isFinalStop && arg[2].value === '100%') {
          arg[1].value = arg[2].value = '';
        }
      });
      return false;
    }

    if (lowerCasedValue === 'radial-gradient' || lowerCasedValue === 'repeating-radial-gradient') {
      let args = (0, _cssnanoUtils.getArguments)(node);
      let lastStop;
      const hasAt = args[0].find(n => n.value.toLowerCase() === 'at');
      args.forEach((arg, index) => {
        if (!arg[2] || !index && hasAt) {
          return;
        }

        let thisStop = (0, _postcssValueParser.unit)(arg[2].value);

        if (!lastStop) {
          lastStop = thisStop;
          return;
        }

        if (lastStop && thisStop && isLessThan(lastStop, thisStop)) {
          arg[2].value = 0;
        }

        lastStop = thisStop;
      });
      return false;
    }

    if (lowerCasedValue === '-webkit-radial-gradient' || lowerCasedValue === '-webkit-repeating-radial-gradient') {
      let args = (0, _cssnanoUtils.getArguments)(node);
      let lastStop;
      args.forEach(arg => {
        let color;
        let stop;

        if (arg[2] !== undefined) {
          if (arg[0].type === 'function') {
            color = `${arg[0].value}(${(0, _postcssValueParser.stringify)(arg[0].nodes)})`;
          } else {
            color = arg[0].value;
          }

          if (arg[2].type === 'function') {
            stop = `${arg[2].value}(${(0, _postcssValueParser.stringify)(arg[2].nodes)})`;
          } else {
            stop = arg[2].value;
          }
        } else {
          if (arg[0].type === 'function') {
            color = `${arg[0].value}(${(0, _postcssValueParser.stringify)(arg[0].nodes)})`;
          }

          color = arg[0].value;
        }

        color = color.toLowerCase();
        const colorStop = stop || stop === 0 ? (0, _isColorStop.default)(color, stop.toLowerCase()) : (0, _isColorStop.default)(color);

        if (!colorStop || !arg[2]) {
          return;
        }

        let thisStop = (0, _postcssValueParser.unit)(arg[2].value);

        if (!lastStop) {
          lastStop = thisStop;
          return;
        }

        if (lastStop && thisStop && isLessThan(lastStop, thisStop)) {
          arg[2].value = 0;
        }

        lastStop = thisStop;
      });
      return false;
    }
  }).toString();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-minify-gradients',

    OnceExit(css) {
      css.walkDecls(optimise);
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 87496:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _browserslist = _interopRequireDefault(__nccwpck_require__(55478));

var _postcssValueParser = _interopRequireWildcard(__nccwpck_require__(19285));

var _alphanumSort = _interopRequireDefault(__nccwpck_require__(37910));

var _uniqs = _interopRequireDefault(__nccwpck_require__(53260));

var _cssnanoUtils = __nccwpck_require__(96947);

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/**
 * Return the greatest common divisor
 * of two numbers.
 */
function gcd(a, b) {
  return b ? gcd(b, a % b) : a;
}

function aspectRatio(a, b) {
  const divisor = gcd(a, b);
  return [a / divisor, b / divisor];
}

function split(args) {
  return args.map(arg => (0, _postcssValueParser.stringify)(arg)).join('');
}

function removeNode(node) {
  node.value = '';
  node.type = 'word';
}

function transform(legacy, rule) {
  const ruleName = rule.name.toLowerCase(); // We should re-arrange parameters only for `@media` and `@supports` at-rules

  if (!rule.params || !['media', 'supports'].includes(ruleName)) {
    return;
  }

  const params = (0, _postcssValueParser.default)(rule.params);
  params.walk((node, index) => {
    if (node.type === 'div' || node.type === 'function') {
      node.before = node.after = '';

      if (node.type === 'function' && node.nodes[4] && node.nodes[0].value.toLowerCase().indexOf('-aspect-ratio') === 3) {
        const [a, b] = aspectRatio(node.nodes[2].value, node.nodes[4].value);
        node.nodes[2].value = a;
        node.nodes[4].value = b;
      }
    } else if (node.type === 'space') {
      node.value = ' ';
    } else {
      const prevWord = params.nodes[index - 2];

      if (node.value.toLowerCase() === 'all' && rule.name.toLowerCase() === 'media' && !prevWord) {
        const nextWord = params.nodes[index + 2];

        if (!legacy || nextWord) {
          removeNode(node);
        }

        if (nextWord && nextWord.value.toLowerCase() === 'and') {
          const nextSpace = params.nodes[index + 1];
          const secondSpace = params.nodes[index + 3];
          removeNode(nextWord);
          removeNode(nextSpace);
          removeNode(secondSpace);
        }
      }
    }
  }, true);
  rule.params = (0, _alphanumSort.default)((0, _uniqs.default)((0, _cssnanoUtils.getArguments)(params).map(split)), {
    insensitive: true
  }).join();

  if (!rule.params.length) {
    rule.raws.afterName = '';
  }
}

function hasAllBug(browser) {
  return ~['ie 10', 'ie 11'].indexOf(browser);
}

function pluginCreator(options = {}) {
  const browsers = (0, _browserslist.default)(null, {
    stats: options.stats,
    path: __dirname,
    env: options.env
  });
  return {
    postcssPlugin: 'postcss-minify-params',

    OnceExit(css) {
      css.walkAtRules(transform.bind(null, browsers.some(hasAllBug)));
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 86506:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _alphanumSort = _interopRequireDefault(__nccwpck_require__(37910));

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _canUnquote = _interopRequireDefault(__nccwpck_require__(64815));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const pseudoElements = ['::before', '::after', '::first-letter', '::first-line'];

function attribute(selector) {
  if (selector.value) {
    if (selector.raws.value) {
      // Join selectors that are split over new lines
      selector.raws.value = selector.raws.value.replace(/\\\n/g, '').trim();
    }

    if ((0, _canUnquote.default)(selector.value)) {
      selector.quoteMark = null;
    }

    if (selector.operator) {
      selector.operator = selector.operator.trim();
    }
  }

  selector.rawSpaceBefore = '';
  selector.rawSpaceAfter = '';
  selector.spaces.attribute = {
    before: '',
    after: ''
  };
  selector.spaces.operator = {
    before: '',
    after: ''
  };
  selector.spaces.value = {
    before: '',
    after: selector.insensitive ? ' ' : ''
  };
  selector.raws.spaces.attribute = {
    before: '',
    after: ''
  };
  selector.raws.spaces.operator = {
    before: '',
    after: ''
  };
  selector.raws.spaces.value = {
    before: '',
    after: selector.insensitive ? ' ' : ''
  };

  if (selector.insensitive) {
    selector.raws.spaces.insensitive = {
      before: '',
      after: ''
    };
  }

  selector.attribute = selector.attribute.trim();
}

function combinator(selector) {
  const value = selector.value.trim();
  selector.spaces.before = '';
  selector.spaces.after = '';
  selector.rawSpaceBefore = '';
  selector.rawsSpaceAfter = '';
  selector.value = value.length ? value : ' ';
}

const pseudoReplacements = {
  ':nth-child': ':first-child',
  ':nth-of-type': ':first-of-type',
  ':nth-last-child': ':last-child',
  ':nth-last-of-type': ':last-of-type'
};

function pseudo(selector) {
  const value = selector.value.toLowerCase();

  if (selector.nodes.length === 1 && pseudoReplacements[value]) {
    const first = selector.at(0);
    const one = first.at(0);

    if (first.length === 1) {
      if (one.value === '1') {
        selector.replaceWith(_postcssSelectorParser.default.pseudo({
          value: pseudoReplacements[value]
        }));
      }

      if (one.value.toLowerCase() === 'even') {
        one.value = '2n';
      }
    }

    if (first.length === 3) {
      const two = first.at(1);
      const three = first.at(2);

      if (one.value.toLowerCase() === '2n' && two.value === '+' && three.value === '1') {
        one.value = 'odd';
        two.remove();
        three.remove();
      }
    }

    return;
  }

  const uniques = [];
  selector.walk(child => {
    if (child.type === 'selector') {
      const childStr = String(child);

      if (!~uniques.indexOf(childStr)) {
        uniques.push(childStr);
      } else {
        child.remove();
      }
    }
  });

  if (~pseudoElements.indexOf(value)) {
    selector.value = selector.value.slice(1);
  }
}

const tagReplacements = {
  from: '0%',
  '100%': 'to'
};

function tag(selector) {
  const value = selector.value.toLowerCase();

  if (Object.prototype.hasOwnProperty.call(tagReplacements, value)) {
    selector.value = tagReplacements[value];
  }
}

function universal(selector) {
  const next = selector.next();

  if (next && next.type !== 'combinator') {
    selector.remove();
  }
}

const reducers = {
  attribute,
  combinator,
  pseudo,
  tag,
  universal
};

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-minify-selectors',

    OnceExit(css) {
      const cache = {};
      const processor = (0, _postcssSelectorParser.default)(selectors => {
        selectors.nodes = (0, _alphanumSort.default)(selectors.nodes, {
          insensitive: true
        });
        const uniqueSelectors = [];
        selectors.walk(sel => {
          const {
            type
          } = sel; // Trim whitespace around the value

          sel.spaces.before = sel.spaces.after = '';

          if (Object.prototype.hasOwnProperty.call(reducers, type)) {
            reducers[type](sel);
            return;
          }

          const toString = String(sel);

          if (type === 'selector' && sel.parent.type !== 'pseudo') {
            if (!~uniqueSelectors.indexOf(toString)) {
              uniqueSelectors.push(toString);
            } else {
              sel.remove();
            }
          }
        });
      });
      css.walkRules(rule => {
        const selector = rule.raws.selector && rule.raws.selector.value === rule.selector ? rule.raws.selector.raw : rule.selector; // If the selector ends with a ':' it is likely a part of a custom mixin,
        // so just pass through.

        if (selector[selector.length - 1] === ':') {
          return;
        }

        if (cache[selector]) {
          rule.selector = cache[selector];
          return;
        }

        const optimizedSelector = processor.processSync(selector);
        rule.selector = optimizedSelector;
        cache[selector] = optimizedSelector;
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 64815:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = canUnquote;

/**
 * Can unquote attribute detection from mothereff.in
 * Copyright Mathias Bynens <https://mathiasbynens.be/>
 * https://github.com/mathiasbynens/mothereff.in
 */
const escapes = /\\([0-9A-Fa-f]{1,6})[ \t\n\f\r]?/g; // eslint-disable-next-line no-control-regex

const range = /[\u0000-\u002c\u002e\u002f\u003A-\u0040\u005B-\u005E\u0060\u007B-\u009f]/;

function canUnquote(value) {
  if (value === '-' || value === '') {
    return false;
  }

  value = value.replace(escapes, 'a').replace(/\\./g, 'a');
  return !(range.test(value) || /^(?:-?\d|--)/.test(value));
}

module.exports = exports.default;

/***/ }),

/***/ 36738:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
const charset = 'charset'; // eslint-disable-next-line no-control-regex

const nonAscii = /[^\x00-\x7F]/;

function pluginCreator(opts = {}) {
  return {
    postcssPlugin: 'postcss-normalize-' + charset,

    OnceExit(css, {
      AtRule
    }) {
      let charsetRule;
      let nonAsciiNode;
      css.walk(node => {
        if (node.type === 'atrule' && node.name === charset) {
          if (!charsetRule) {
            charsetRule = node;
          }

          node.remove();
        } else if (!nonAsciiNode && node.parent === css && nonAscii.test(node.toString())) {
          nonAsciiNode = node;
        }
      });

      if (nonAsciiNode) {
        if (!charsetRule && opts.add !== false) {
          charsetRule = new AtRule({
            name: charset,
            params: '"utf-8"'
          });
        }

        if (charsetRule) {
          charsetRule.source = nonAsciiNode.source;
          css.prepend(charsetRule);
        }
      }
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 65125:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _cssnanoUtils = __nccwpck_require__(96947);

var _map = _interopRequireDefault(__nccwpck_require__(95345));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function transform(value) {
  const {
    nodes
  } = (0, _postcssValueParser.default)(value);

  if (nodes.length === 1) {
    return value;
  }

  const values = nodes.filter((list, index) => index % 2 === 0).filter(node => node.type === 'word').map(n => n.value.toLowerCase());

  if (values.length === 0) {
    return value;
  }

  const match = (0, _cssnanoUtils.getMatch)(_map.default)(values);

  if (!match) {
    return value;
  }

  return match;
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-normalize-display-values',

    prepare() {
      const cache = {};
      return {
        OnceExit(css) {
          css.walkDecls(/^display$/i, decl => {
            const value = decl.value;

            if (!value) {
              return;
            }

            if (cache[value]) {
              decl.value = cache[value];
              return;
            }

            const result = transform(value);
            decl.value = result;
            cache[value] = result;
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 95345:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
const block = 'block';
const flex = 'flex';
const flow = 'flow';
const flowRoot = 'flow-root';
const grid = 'grid';
const inline = 'inline';
const inlineBlock = 'inline-block';
const inlineFlex = 'inline-flex';
const inlineGrid = 'inline-grid';
const inlineTable = 'inline-table';
const listItem = 'list-item';
const ruby = 'ruby';
const rubyBase = 'ruby-base';
const rubyText = 'ruby-text';
const runIn = 'run-in';
const table = 'table';
const tableCell = 'table-cell';
const tableCaption = 'table-caption';
/**
 * Specification: https://drafts.csswg.org/css-display/#the-display-properties
 */

var _default = [[block, [block, flow]], [flowRoot, [block, flowRoot]], [inline, [inline, flow]], [inlineBlock, [inline, flowRoot]], [runIn, [runIn, flow]], [listItem, [listItem, block, flow]], [inline + ' ' + listItem, [inline, flow, listItem]], [flex, [block, flex]], [inlineFlex, [inline, flex]], [grid, [block, grid]], [inlineGrid, [inline, grid]], [ruby, [inline, ruby]], // `block ruby` is same
[table, [block, table]], [inlineTable, [inline, table]], [tableCell, [tableCell, flow]], [tableCaption, [tableCaption, flow]], [rubyBase, [rubyBase, flow]], [rubyText, [rubyText, flow]]];
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 40260:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireWildcard(__nccwpck_require__(19285));

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

const directionKeywords = ['top', 'right', 'bottom', 'left', 'center'];
const center = '50%';
const horizontal = {
  right: '100%',
  left: '0'
};
const verticalValue = {
  bottom: '100%',
  top: '0'
};

function isCommaNode(node) {
  return node.type === 'div' && node.value === ',';
}

function isVariableFunctionNode(node) {
  if (node.type !== 'function') {
    return false;
  }

  return ['var', 'env'].includes(node.value.toLowerCase());
}

function isMathFunctionNode(node) {
  if (node.type !== 'function') {
    return false;
  }

  return ['calc', 'min', 'max', 'clamp'].includes(node.value.toLowerCase());
}

function isNumberNode(node) {
  if (node.type !== 'word') {
    return false;
  }

  const value = parseFloat(node.value);
  return !isNaN(value);
}

function isDimensionNode(node) {
  if (node.type !== 'word') {
    return false;
  }

  const parsed = (0, _postcssValueParser.unit)(node.value);

  if (!parsed) {
    return false;
  }

  return parsed.unit !== '';
}

function transform(value) {
  const parsed = (0, _postcssValueParser.default)(value);
  const ranges = [];
  let rangeIndex = 0;
  let shouldContinue = true;
  parsed.nodes.forEach((node, index) => {
    // After comma (`,`) follows next background
    if (isCommaNode(node)) {
      rangeIndex += 1;
      shouldContinue = true;
      return;
    }

    if (!shouldContinue) {
      return;
    } // After separator (`/`) follows `background-size` values
    // Avoid them


    if (node.type === 'div' && node.value === '/') {
      shouldContinue = false;
      return;
    }

    if (!ranges[rangeIndex]) {
      ranges[rangeIndex] = {
        start: null,
        end: null
      };
    } // Do not try to be processed `var and `env` function inside background


    if (isVariableFunctionNode(node)) {
      shouldContinue = false;
      ranges[rangeIndex].start = null;
      ranges[rangeIndex].end = null;
      return;
    }

    const isPositionKeyword = node.type === 'word' && directionKeywords.includes(node.value.toLowerCase()) || isDimensionNode(node) || isNumberNode(node) || isMathFunctionNode(node);

    if (ranges[rangeIndex].start === null && isPositionKeyword) {
      ranges[rangeIndex].start = index;
      ranges[rangeIndex].end = index;
      return;
    }

    if (ranges[rangeIndex].start !== null) {
      if (node.type === 'space') {
        return;
      } else if (isPositionKeyword) {
        ranges[rangeIndex].end = index;
        return;
      }

      return;
    }
  });
  ranges.forEach(range => {
    if (range.start === null) {
      return;
    }

    const nodes = parsed.nodes.slice(range.start, range.end + 1);

    if (nodes.length > 3) {
      return;
    }

    const firstNode = nodes[0].value.toLowerCase();
    const secondNode = nodes[2] && nodes[2].value ? nodes[2].value.toLowerCase() : null;

    if (nodes.length === 1 || secondNode === 'center') {
      if (secondNode) {
        nodes[2].value = nodes[1].value = '';
      }

      const map = Object.assign({}, horizontal, {
        center
      });

      if (Object.prototype.hasOwnProperty.call(map, firstNode)) {
        nodes[0].value = map[firstNode];
      }

      return;
    }

    if (firstNode === 'center' && directionKeywords.includes(secondNode)) {
      nodes[0].value = nodes[1].value = '';

      if (Object.prototype.hasOwnProperty.call(horizontal, secondNode)) {
        nodes[2].value = horizontal[secondNode];
      }

      return;
    }

    if (Object.prototype.hasOwnProperty.call(horizontal, firstNode) && Object.prototype.hasOwnProperty.call(verticalValue, secondNode)) {
      nodes[0].value = horizontal[firstNode];
      nodes[2].value = verticalValue[secondNode];
      return;
    } else if (Object.prototype.hasOwnProperty.call(verticalValue, firstNode) && Object.prototype.hasOwnProperty.call(horizontal, secondNode)) {
      nodes[0].value = horizontal[secondNode];
      nodes[2].value = verticalValue[firstNode];
      return;
    }
  });
  return parsed.toString();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-normalize-positions',

    OnceExit(css) {
      const cache = {};
      css.walkDecls(/^(background(-position)?|(-\w+-)?perspective-origin)$/i, decl => {
        const value = decl.value;

        if (!value) {
          return;
        }

        if (cache[value]) {
          decl.value = cache[value];
          return;
        }

        const result = transform(value);
        decl.value = result;
        cache[value] = result;
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 18073:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _cssnanoUtils = __nccwpck_require__(96947);

var _map = _interopRequireDefault(__nccwpck_require__(23952));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function evenValues(list, index) {
  return index % 2 === 0;
}

const repeatKeywords = _map.default.map(mapping => mapping[0]);

const getMatch = (0, _cssnanoUtils.getMatch)(_map.default);

function isCommaNode(node) {
  return node.type === 'div' && node.value === ',';
}

function isVariableFunctionNode(node) {
  if (node.type !== 'function') {
    return false;
  }

  return ['var', 'env'].includes(node.value.toLowerCase());
}

function transform(value) {
  const parsed = (0, _postcssValueParser.default)(value);

  if (parsed.nodes.length === 1) {
    return value;
  }

  const ranges = [];
  let rangeIndex = 0;
  let shouldContinue = true;
  parsed.nodes.forEach((node, index) => {
    // After comma (`,`) follows next background
    if (isCommaNode(node)) {
      rangeIndex += 1;
      shouldContinue = true;
      return;
    }

    if (!shouldContinue) {
      return;
    } // After separator (`/`) follows `background-size` values
    // Avoid them


    if (node.type === 'div' && node.value === '/') {
      shouldContinue = false;
      return;
    }

    if (!ranges[rangeIndex]) {
      ranges[rangeIndex] = {
        start: null,
        end: null
      };
    } // Do not try to be processed `var and `env` function inside background


    if (isVariableFunctionNode(node)) {
      shouldContinue = false;
      ranges[rangeIndex].start = null;
      ranges[rangeIndex].end = null;
      return;
    }

    const isRepeatKeyword = node.type === 'word' && repeatKeywords.includes(node.value.toLowerCase());

    if (ranges[rangeIndex].start === null && isRepeatKeyword) {
      ranges[rangeIndex].start = index;
      ranges[rangeIndex].end = index;
      return;
    }

    if (ranges[rangeIndex].start !== null) {
      if (node.type === 'space') {
        return;
      } else if (isRepeatKeyword) {
        ranges[rangeIndex].end = index;
        return;
      }

      return;
    }
  });
  ranges.forEach(range => {
    if (range.start === null) {
      return;
    }

    const nodes = parsed.nodes.slice(range.start, range.end + 1);

    if (nodes.length !== 3) {
      return;
    }

    const match = getMatch(nodes.filter(evenValues).map(n => n.value.toLowerCase()));

    if (match) {
      nodes[0].value = match;
      nodes[1].value = nodes[2].value = '';
    }
  });
  return parsed.toString();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-normalize-repeat-style',

    prepare() {
      const cache = {};
      return {
        OnceExit(css) {
          css.walkDecls(/^(background(-repeat)?|(-\w+-)?mask-repeat)$/i, decl => {
            const value = decl.value;

            if (!value) {
              return;
            }

            if (cache[value]) {
              decl.value = cache[value];
              return;
            }

            const result = transform(value);
            decl.value = result;
            cache[value] = result;
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 23952:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;
var _default = [['repeat-x', ['repeat', 'no-repeat']], ['repeat-y', ['no-repeat', 'repeat']], ['repeat', ['repeat', 'repeat']], ['space', ['space', 'space']], ['round', ['round', 'round']], ['no-repeat', ['no-repeat', 'no-repeat']]];
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 56031:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/*
 * Constants (parser usage)
 */
const SINGLE_QUOTE = "'".charCodeAt(0);
const DOUBLE_QUOTE = '"'.charCodeAt(0);
const BACKSLASH = '\\'.charCodeAt(0);
const NEWLINE = '\n'.charCodeAt(0);
const SPACE = ' '.charCodeAt(0);
const FEED = '\f'.charCodeAt(0);
const TAB = '\t'.charCodeAt(0);
const CR = '\r'.charCodeAt(0);
const WORD_END = /[ \n\t\r\f'"\\]/g;
/*
 * Constants (node type strings)
 */

const C_STRING = 'string';
const C_ESCAPED_SINGLE_QUOTE = 'escapedSingleQuote';
const C_ESCAPED_DOUBLE_QUOTE = 'escapedDoubleQuote';
const C_SINGLE_QUOTE = 'singleQuote';
const C_DOUBLE_QUOTE = 'doubleQuote';
const C_NEWLINE = 'newline';
const C_SINGLE = 'single';
/*
 * Literals
 */

const L_SINGLE_QUOTE = `'`;
const L_DOUBLE_QUOTE = `"`;
const L_NEWLINE = `\\\n`;
/*
 * Parser nodes
 */

const T_ESCAPED_SINGLE_QUOTE = {
  type: C_ESCAPED_SINGLE_QUOTE,
  value: `\\'`
};
const T_ESCAPED_DOUBLE_QUOTE = {
  type: C_ESCAPED_DOUBLE_QUOTE,
  value: `\\"`
};
const T_SINGLE_QUOTE = {
  type: C_SINGLE_QUOTE,
  value: L_SINGLE_QUOTE
};
const T_DOUBLE_QUOTE = {
  type: C_DOUBLE_QUOTE,
  value: L_DOUBLE_QUOTE
};
const T_NEWLINE = {
  type: C_NEWLINE,
  value: L_NEWLINE
};

function stringify(ast) {
  return ast.nodes.reduce((str, {
    value
  }) => {
    // Collapse multiple line strings automatically
    if (value === L_NEWLINE) {
      return str;
    }

    return str + value;
  }, '');
}

function parse(str) {
  let code, next, value;
  let pos = 0;
  let len = str.length;
  const ast = {
    nodes: [],
    types: {
      escapedSingleQuote: 0,
      escapedDoubleQuote: 0,
      singleQuote: 0,
      doubleQuote: 0
    },
    quotes: false
  };

  while (pos < len) {
    code = str.charCodeAt(pos);

    switch (code) {
      case SPACE:
      case TAB:
      case CR:
      case FEED:
        next = pos;

        do {
          next += 1;
          code = str.charCodeAt(next);
        } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED);

        ast.nodes.push({
          type: 'space',
          value: str.slice(pos, next)
        });
        pos = next - 1;
        break;

      case SINGLE_QUOTE:
        ast.nodes.push(T_SINGLE_QUOTE);
        ast.types[C_SINGLE_QUOTE]++;
        ast.quotes = true;
        break;

      case DOUBLE_QUOTE:
        ast.nodes.push(T_DOUBLE_QUOTE);
        ast.types[C_DOUBLE_QUOTE]++;
        ast.quotes = true;
        break;

      case BACKSLASH:
        next = pos + 1;

        if (str.charCodeAt(next) === SINGLE_QUOTE) {
          ast.nodes.push(T_ESCAPED_SINGLE_QUOTE);
          ast.types[C_ESCAPED_SINGLE_QUOTE]++;
          ast.quotes = true;
          pos = next;
          break;
        } else if (str.charCodeAt(next) === DOUBLE_QUOTE) {
          ast.nodes.push(T_ESCAPED_DOUBLE_QUOTE);
          ast.types[C_ESCAPED_DOUBLE_QUOTE]++;
          ast.quotes = true;
          pos = next;
          break;
        } else if (str.charCodeAt(next) === NEWLINE) {
          ast.nodes.push(T_NEWLINE);
          pos = next;
          break;
        }

      /*
       * We need to fall through here to handle the token as
       * a whole word. The missing 'break' is intentional.
       */

      default:
        WORD_END.lastIndex = pos + 1;
        WORD_END.test(str);

        if (WORD_END.lastIndex === 0) {
          next = len - 1;
        } else {
          next = WORD_END.lastIndex - 2;
        }

        value = str.slice(pos, next + 1);
        ast.nodes.push({
          type: C_STRING,
          value
        });
        pos = next;
    }

    pos++;
  }

  return ast;
}

function changeWrappingQuotes(node, ast) {
  const {
    types
  } = ast;

  if (types[C_SINGLE_QUOTE] || types[C_DOUBLE_QUOTE]) {
    return;
  }

  if (node.quote === L_SINGLE_QUOTE && types[C_ESCAPED_SINGLE_QUOTE] > 0 && !types[C_ESCAPED_DOUBLE_QUOTE]) {
    node.quote = L_DOUBLE_QUOTE;
  }

  if (node.quote === L_DOUBLE_QUOTE && types[C_ESCAPED_DOUBLE_QUOTE] > 0 && !types[C_ESCAPED_SINGLE_QUOTE]) {
    node.quote = L_SINGLE_QUOTE;
  }

  ast.nodes = ast.nodes.reduce((newAst, child) => {
    if (child.type === C_ESCAPED_DOUBLE_QUOTE && node.quote === L_SINGLE_QUOTE) {
      return [...newAst, T_DOUBLE_QUOTE];
    }

    if (child.type === C_ESCAPED_SINGLE_QUOTE && node.quote === L_DOUBLE_QUOTE) {
      return [...newAst, T_SINGLE_QUOTE];
    }

    return [...newAst, child];
  }, []);
}

function normalize(value, preferredQuote) {
  if (!value || !value.length) {
    return value;
  }

  return (0, _postcssValueParser.default)(value).walk(child => {
    if (child.type !== C_STRING) {
      return;
    }

    const ast = parse(child.value);

    if (ast.quotes) {
      changeWrappingQuotes(child, ast);
    } else if (preferredQuote === C_SINGLE) {
      child.quote = L_SINGLE_QUOTE;
    } else {
      child.quote = L_DOUBLE_QUOTE;
    }

    child.value = stringify(ast);
  }).toString();
}

const params = {
  rule: 'selector',
  decl: 'value',
  atrule: 'params'
};

function pluginCreator(opts) {
  const {
    preferredQuote
  } = Object.assign({}, {
    preferredQuote: 'double'
  }, opts);
  return {
    postcssPlugin: 'postcss-normalize-string',

    OnceExit(css) {
      const cache = {};
      css.walk(node => {
        const {
          type
        } = node;

        if (Object.prototype.hasOwnProperty.call(params, type)) {
          const param = params[type];
          const key = node[param] + '|' + preferredQuote;

          if (cache[key]) {
            node[param] = cache[key];
            return;
          }

          const newValue = normalize(node[param], preferredQuote);
          node[param] = newValue;
          cache[key] = newValue;
        }
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 72513:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _cssnanoUtils = __nccwpck_require__(96947);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const getValue = node => parseFloat(node.value);

function reduce(node) {
  if (node.type !== 'function') {
    return false;
  }

  if (!node.value) {
    return;
  }

  const lowerCasedValue = node.value.toLowerCase();

  if (lowerCasedValue === 'steps') {
    // Don't bother checking the step-end case as it has the same length
    // as steps(1)
    if (node.nodes[0].type === 'word' && getValue(node.nodes[0]) === 1 && node.nodes[2] && node.nodes[2].type === 'word' && (node.nodes[2].value.toLowerCase() === 'start' || node.nodes[2].value.toLowerCase() === 'jump-start')) {
      node.type = 'word';
      node.value = 'step-start';
      delete node.nodes;
      return;
    }

    if (node.nodes[0].type === 'word' && getValue(node.nodes[0]) === 1 && node.nodes[2] && node.nodes[2].type === 'word' && (node.nodes[2].value.toLowerCase() === 'end' || node.nodes[2].value.toLowerCase() === 'jump-end')) {
      node.type = 'word';
      node.value = 'step-end';
      delete node.nodes;
      return;
    } // The end case is actually the browser default, so it isn't required.


    if (node.nodes[2] && node.nodes[2].type === 'word' && (node.nodes[2].value.toLowerCase() === 'end' || node.nodes[2].value.toLowerCase() === 'jump-end')) {
      node.nodes = [node.nodes[0]];
      return;
    }

    return false;
  }

  if (lowerCasedValue === 'cubic-bezier') {
    const values = node.nodes.filter((list, index) => {
      return index % 2 === 0;
    }).map(getValue);

    if (values.length !== 4) {
      return;
    }

    const match = (0, _cssnanoUtils.getMatch)([['ease', [0.25, 0.1, 0.25, 1]], ['linear', [0, 0, 1, 1]], ['ease-in', [0.42, 0, 1, 1]], ['ease-out', [0, 0, 0.58, 1]], ['ease-in-out', [0.42, 0, 0.58, 1]]])(values);

    if (match) {
      node.type = 'word';
      node.value = match;
      delete node.nodes;
      return;
    }
  }
}

function transform(value) {
  return (0, _postcssValueParser.default)(value).walk(reduce).toString();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-normalize-timing-functions',

    OnceExit(css) {
      const cache = {};
      css.walkDecls(/^(-\w+-)?(animation|transition)(-timing-function)?$/i, decl => {
        const value = decl.value;

        if (cache[value]) {
          decl.value = cache[value];
          return;
        }

        const result = transform(value);
        decl.value = result;
        cache[value] = result;
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 88249:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _browserslist = _interopRequireDefault(__nccwpck_require__(55478));

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const regexLowerCaseUPrefix = /^u(?=\+)/;

function unicode(range) {
  const values = range.slice(2).split('-');

  if (values.length < 2) {
    return range;
  }

  const left = values[0].split('');
  const right = values[1].split('');

  if (left.length !== right.length) {
    return range;
  }

  let questionCounter = 0;
  const merged = left.reduce((group, value, index) => {
    if (group === false) {
      return false;
    }

    if (value === right[index] && !questionCounter) {
      return group + value;
    }

    if (value === '0' && right[index] === 'f') {
      questionCounter++;
      return group + '?';
    }

    return false;
  }, 'u+'); // The maximum number of wildcard characters (?) for ranges is 5.

  if (merged && questionCounter < 6) {
    return merged;
  }

  return range;
}
/*
 * IE and Edge before 16 version ignore the unicode-range if the 'U' is lowercase
 *
 * https://caniuse.com/#search=unicode-range
 */


function hasLowerCaseUPrefixBug(browser) {
  return ~(0, _browserslist.default)('ie <=11, edge <= 15').indexOf(browser);
}

function transform(value, isLegacy = false) {
  return (0, _postcssValueParser.default)(value).walk(child => {
    if (child.type === 'unicode-range') {
      const transformed = unicode(child.value.toLowerCase());
      child.value = isLegacy ? transformed.replace(regexLowerCaseUPrefix, 'U') : transformed;
    }

    return false;
  }).toString();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-normalize-unicode',

    prepare(result) {
      const cache = {};
      const resultOpts = result.opts || {};
      const browsers = (0, _browserslist.default)(null, {
        stats: resultOpts.stats,
        path: __dirname,
        env: resultOpts.env
      });
      const isLegacy = browsers.some(hasLowerCaseUPrefixBug);
      return {
        OnceExit(css) {
          css.walkDecls(/^unicode-range$/i, decl => {
            const value = decl.value;

            if (cache[value]) {
              decl.value = cache[value];
              return;
            }

            const newValue = transform(value, isLegacy);
            decl.value = newValue;
            cache[value] = newValue;
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 5791:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _path = _interopRequireDefault(__nccwpck_require__(85622));

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _normalizeUrl = _interopRequireDefault(__nccwpck_require__(17952));

var _isAbsoluteUrl = _interopRequireDefault(__nccwpck_require__(34064));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const multiline = /\\[\r\n]/; // eslint-disable-next-line no-useless-escape

const escapeChars = /([\s\(\)"'])/g;

function convert(url, options) {
  if ((0, _isAbsoluteUrl.default)(url) || url.startsWith('//')) {
    let normalizedURL = null;

    try {
      normalizedURL = (0, _normalizeUrl.default)(url, options);
    } catch (e) {
      normalizedURL = url;
    }

    return normalizedURL;
  } // `path.normalize` always returns backslashes on Windows, need replace in `/`


  return _path.default.normalize(url).replace(new RegExp('\\' + _path.default.sep, 'g'), '/');
}

function transformNamespace(rule) {
  rule.params = (0, _postcssValueParser.default)(rule.params).walk(node => {
    if (node.type === 'function' && node.value.toLowerCase() === 'url' && node.nodes.length) {
      node.type = 'string';
      node.quote = node.nodes[0].quote || '"';
      node.value = node.nodes[0].value;
    }

    if (node.type === 'string') {
      node.value = node.value.trim();
    }

    return false;
  }).toString();
}

function transformDecl(decl, opts) {
  decl.value = (0, _postcssValueParser.default)(decl.value).walk(node => {
    if (node.type !== 'function' || node.value.toLowerCase() !== 'url') {
      return false;
    }

    node.before = node.after = '';

    if (!node.nodes.length) {
      return false;
    }

    let url = node.nodes[0];
    let escaped;
    url.value = url.value.trim().replace(multiline, ''); // Skip empty URLs
    // Empty URL function equals request to current stylesheet where it is declared

    if (url.value.length === 0) {
      url.quote = '';
      return false;
    }

    if (/^data:(.*)?,/i.test(url.value)) {
      return false;
    }

    if (!/^.+-extension:\//i.test(url.value)) {
      url.value = convert(url.value, opts);
    }

    if (escapeChars.test(url.value) && url.type === 'string') {
      escaped = url.value.replace(escapeChars, '\\$1');

      if (escaped.length < url.value.length + 2) {
        url.value = escaped;
        url.type = 'word';
      }
    } else {
      url.type = 'word';
    }

    return false;
  }).toString();
}

function pluginCreator(opts) {
  opts = Object.assign({}, {
    normalizeProtocol: false,
    stripHash: false,
    stripWWW: false
  }, opts);
  return {
    postcssPlugin: 'postcss-normalize-url',

    OnceExit(css) {
      css.walk(node => {
        if (node.type === 'decl') {
          return transformDecl(node, opts);
        } else if (node.type === 'atrule' && node.name.toLowerCase() === 'namespace') {
          return transformNamespace(node);
        }
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 82053:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const atrule = 'atrule';
const decl = 'decl';
const rule = 'rule';

function reduceCalcWhitespaces(node) {
  if (node.type === 'space') {
    node.value = ' ';
  } else if (node.type === 'function') {
    if (!['var', 'env', 'constant'].includes(node.value.toLowerCase())) {
      node.before = node.after = '';
    }
  }
}

function reduceWhitespaces(node) {
  if (node.type === 'space') {
    node.value = ' ';
  } else if (node.type === 'div') {
    node.before = node.after = '';
  } else if (node.type === 'function') {
    if (!['var', 'env', 'constant'].includes(node.value.toLowerCase())) {
      node.before = node.after = '';
    }

    if (node.value.toLowerCase() === 'calc') {
      _postcssValueParser.default.walk(node.nodes, reduceCalcWhitespaces);

      return false;
    }
  }
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-normalize-whitespace',

    OnceExit(css) {
      const cache = {};
      css.walk(node => {
        const {
          type
        } = node;

        if (~[decl, rule, atrule].indexOf(type) && node.raws.before) {
          node.raws.before = node.raws.before.replace(/\s/g, '');
        }

        if (type === decl) {
          // Ensure that !important values do not have any excess whitespace
          if (node.important) {
            node.raws.important = '!important';
          } // Remove whitespaces around ie 9 hack


          node.value = node.value.replace(/\s*(\\9)\s*/, '$1');
          const value = node.value;

          if (cache[value]) {
            node.value = cache[value];
          } else {
            const parsed = (0, _postcssValueParser.default)(node.value);
            const result = parsed.walk(reduceWhitespaces).toString(); // Trim whitespace inside functions & dividers

            node.value = result;
            cache[value] = result;
          } // Remove extra semicolons and whitespace before the declaration


          if (node.raws.before) {
            const prev = node.prev();

            if (prev && prev.type !== rule) {
              node.raws.before = node.raws.before.replace(/;/g, '');
            }
          }

          node.raws.between = ':';
          node.raws.semicolon = false;
        } else if (type === rule || type === atrule) {
          node.raws.between = node.raws.after = '';
          node.raws.semicolon = false;
        }
      }); // Remove final newline

      css.raws.after = '';
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 40933:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _animation = _interopRequireDefault(__nccwpck_require__(18489));

var _border = _interopRequireDefault(__nccwpck_require__(28282));

var _boxShadow = _interopRequireDefault(__nccwpck_require__(23861));

var _flexFlow = _interopRequireDefault(__nccwpck_require__(67690));

var _transition = _interopRequireDefault(__nccwpck_require__(92439));

var _grid = __nccwpck_require__(10740);

var _listStyle = _interopRequireDefault(__nccwpck_require__(92693));

var _columns = __nccwpck_require__(83010);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// rules
const borderRules = {
  border: _border.default,
  'border-block': _border.default,
  'border-inline': _border.default,
  'border-block-end': _border.default,
  'border-block-start': _border.default,
  'border-inline-end': _border.default,
  'border-inline-start': _border.default,
  'border-top': _border.default,
  'border-right': _border.default,
  'border-bottom': _border.default,
  'border-left': _border.default
};
const grid = {
  'grid-auto-flow': _grid.normalizeGridAutoFlow,
  'grid-column-gap': _grid.normalizeGridColumnRowGap,
  // normal | <length-percentage>
  'grid-row-gap': _grid.normalizeGridColumnRowGap,
  // normal | <length-percentage>
  'grid-column': _grid.normalizeGridColumnRow,
  // <grid-line>+
  'grid-row': _grid.normalizeGridColumnRow,
  // <grid-line>+
  'grid-row-start': _grid.normalizeGridColumnRow,
  // <grid-line>
  'grid-row-end': _grid.normalizeGridColumnRow,
  // <grid-line>
  'grid-column-start': _grid.normalizeGridColumnRow,
  // <grid-line>
  'grid-column-end': _grid.normalizeGridColumnRow // <grid-line>

};
const columnRules = {
  'column-rule': _columns.columnsRule,
  columns: _columns.column
};
const rules = {
  animation: _animation.default,
  outline: _border.default,
  'box-shadow': _boxShadow.default,
  'flex-flow': _flexFlow.default,
  'list-style': _listStyle.default,
  transition: _transition.default,
  ...borderRules,
  ...grid,
  ...columnRules
};

function vendorUnprefixed(prop) {
  return prop.replace(/^-\w+-/, '');
}

function isVariableFunctionNode(node) {
  if (node.type !== 'function') {
    return false;
  }

  return ['var', 'env'].includes(node.value.toLowerCase());
}

function shouldAbort(parsed) {
  let abort = false;
  parsed.walk(node => {
    if (node.type === 'comment' || isVariableFunctionNode(node) || node.type === 'word' && ~node.value.indexOf(`___CSS_LOADER_IMPORT___`)) {
      abort = true;
      return false;
    }
  });
  return abort;
}

function getValue(decl) {
  let {
    value,
    raws
  } = decl;

  if (raws && raws.value && raws.value.raw) {
    value = raws.value.raw;
  }

  return value;
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-ordered-values',

    prepare() {
      const cache = {};
      return {
        OnceExit(css) {
          css.walkDecls(decl => {
            const lowerCasedProp = decl.prop.toLowerCase();
            const normalizedProp = vendorUnprefixed(lowerCasedProp);
            const processor = rules[normalizedProp];

            if (!processor) {
              return;
            }

            const value = getValue(decl);

            if (cache[value]) {
              decl.value = cache[value];
              return;
            }

            const parsed = (0, _postcssValueParser.default)(value);

            if (parsed.nodes.length < 2 || shouldAbort(parsed)) {
              cache[value] = value;
              return;
            }

            const result = processor(parsed);
            decl.value = result.toString();
            cache[value] = result.toString();
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 37541:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = addSpace;

function addSpace() {
  return {
    type: 'space',
    value: ' '
  };
}

module.exports = exports.default;

/***/ }),

/***/ 23117:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = getValue;

var _postcssValueParser = __nccwpck_require__(19285);

function getValue(values) {
  return (0, _postcssValueParser.stringify)({
    nodes: values.reduce((nodes, arg, index) => {
      arg.forEach((val, idx) => {
        if (idx === arg.length - 1 && index === values.length - 1 && val.type === 'space') {
          return;
        }

        nodes.push(val);
      });

      if (index !== values.length - 1) {
        nodes[nodes.length - 1].type = 'div';
        nodes[nodes.length - 1].value = ',';
      }

      return nodes;
    }, [])
  });
}

module.exports = exports.default;

/***/ }),

/***/ 99819:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = joinGridVal;

function joinGridVal(grid) {
  return grid.join(' / ').trim();
}

module.exports = exports.default;

/***/ }),

/***/ 18489:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = normalizeAnimation;

var _postcssValueParser = __nccwpck_require__(19285);

var _cssnanoUtils = __nccwpck_require__(96947);

var _addSpace = _interopRequireDefault(__nccwpck_require__(37541));

var _getValue = _interopRequireDefault(__nccwpck_require__(23117));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// animation: [ none | <keyframes-name> ] || <time> || <single-timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state>
const isTimingFunction = (value, type) => {
  const functions = ['steps', 'cubic-bezier', 'frames'];
  const keywords = ['ease', 'ease-in', 'ease-in-out', 'ease-out', 'linear', 'step-end', 'step-start'];
  return type === 'function' && functions.includes(value) || keywords.includes(value);
};

const isDirection = value => {
  return ['normal', 'reverse', 'alternate', 'alternate-reverse'].includes(value);
};

const isFillMode = value => {
  return ['none', 'forwards', 'backwards', 'both'].includes(value);
};

const isPlayState = value => {
  return ['running', 'paused'].includes(value);
};

const isTime = value => {
  const quantity = (0, _postcssValueParser.unit)(value);
  return quantity && ['ms', 's'].includes(quantity.unit);
};

const isIterationCount = value => {
  const quantity = (0, _postcssValueParser.unit)(value);
  return value === 'infinite' || quantity && !quantity.unit;
};

function normalizeAnimation(parsed) {
  const args = (0, _cssnanoUtils.getArguments)(parsed);
  const values = args.reduce((list, arg) => {
    const state = {
      name: [],
      duration: [],
      timingFunction: [],
      delay: [],
      iterationCount: [],
      direction: [],
      fillMode: [],
      playState: []
    };
    const stateConditions = [{
      property: 'duration',
      delegate: isTime
    }, {
      property: 'timingFunction',
      delegate: isTimingFunction
    }, {
      property: 'delay',
      delegate: isTime
    }, {
      property: 'iterationCount',
      delegate: isIterationCount
    }, {
      property: 'direction',
      delegate: isDirection
    }, {
      property: 'fillMode',
      delegate: isFillMode
    }, {
      property: 'playState',
      delegate: isPlayState
    }];
    arg.forEach(node => {
      let {
        type,
        value
      } = node;

      if (type === 'space') {
        return;
      }

      value = value.toLowerCase();
      const hasMatch = stateConditions.some(({
        property,
        delegate
      }) => {
        if (delegate(value, type) && !state[property].length) {
          state[property] = [node, (0, _addSpace.default)()];
          return true;
        }
      });

      if (!hasMatch) {
        state.name = [...state.name, node, (0, _addSpace.default)()];
      }
    });
    return [...list, [...state.name, ...state.duration, ...state.timingFunction, ...state.delay, ...state.iterationCount, ...state.direction, ...state.fillMode, ...state.playState]];
  }, []);
  return (0, _getValue.default)(values);
}

module.exports = exports.default;

/***/ }),

/***/ 28282:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = normalizeBorder;

var _postcssValueParser = __nccwpck_require__(19285);

// border: <line-width> || <line-style> || <color>
// outline: <outline-color> || <outline-style> || <outline-width>
const borderWidths = ['thin', 'medium', 'thick'];
const borderStyles = ['none', 'auto', // only in outline-style
'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset'];

function normalizeBorder(border) {
  const order = {
    width: '',
    style: '',
    color: ''
  };
  border.walk(node => {
    const {
      type,
      value
    } = node;

    if (type === 'word') {
      if (~borderStyles.indexOf(value.toLowerCase())) {
        order.style = value;
        return false;
      }

      if (~borderWidths.indexOf(value.toLowerCase()) || (0, _postcssValueParser.unit)(value.toLowerCase())) {
        if (order.width !== '') {
          order.width = `${order.width} ${value}`;
          return false;
        }

        order.width = value;
        return false;
      }

      order.color = value;
      return false;
    }

    if (type === 'function') {
      if (value.toLowerCase() === 'calc') {
        order.width = (0, _postcssValueParser.stringify)(node);
      } else {
        order.color = (0, _postcssValueParser.stringify)(node);
      }

      return false;
    }
  });
  return `${order.width} ${order.style} ${order.color}`.trim();
}

module.exports = exports.default;

/***/ }),

/***/ 23861:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = normalizeBoxShadow;

var _postcssValueParser = __nccwpck_require__(19285);

var _cssnanoUtils = __nccwpck_require__(96947);

var _addSpace = _interopRequireDefault(__nccwpck_require__(37541));

var _getValue = _interopRequireDefault(__nccwpck_require__(23117));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// box-shadow: inset? && <length>{2,4} && <color>?
function normalizeBoxShadow(parsed) {
  let args = (0, _cssnanoUtils.getArguments)(parsed);
  let abort = false;
  let values = args.reduce((list, arg) => {
    let val = [];
    let state = {
      inset: [],
      color: []
    };
    arg.forEach(node => {
      const {
        type,
        value
      } = node;

      if (type === 'function' && ~value.toLowerCase().indexOf('calc')) {
        abort = true;
        return;
      }

      if (type === 'space') {
        return;
      }

      if ((0, _postcssValueParser.unit)(value)) {
        val = [...val, node, (0, _addSpace.default)()];
      } else if (value.toLowerCase() === 'inset') {
        state.inset = [...state.inset, node, (0, _addSpace.default)()];
      } else {
        state.color = [...state.color, node, (0, _addSpace.default)()];
      }
    });
    return [...list, [...state.inset, ...val, ...state.color]];
  }, []);

  if (abort) {
    return parsed.toString();
  }

  return (0, _getValue.default)(values);
}

module.exports = exports.default;

/***/ }),

/***/ 83010:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.columnsRule = exports.column = void 0;

var _postcssValueParser = __nccwpck_require__(19285);

var _border = _interopRequireDefault(__nccwpck_require__(28282));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const strValues = ['auto', 'inherit', 'unset', 'initial'];

const column = columns => {
  let newValue = {
    front: '',
    back: ''
  };
  let shouldNormalize = false;
  columns.walk(node => {
    const {
      type,
      value
    } = node;

    if (type === 'word' && strValues.indexOf(value.toLowerCase())) {
      const parsedVal = (0, _postcssValueParser.unit)(value);

      if (parsedVal.unit !== '') {
        // surely its the column's width
        // it needs to be at the front
        newValue.front = `${newValue.front} ${value}`;
        shouldNormalize = true;
      }
    } else if (type === 'word') {
      newValue.back = `${newValue.back} ${value}`;
    }
  });

  if (shouldNormalize) {
    return `${newValue.front.trimStart()} ${newValue.back.trimStart()}`;
  }

  return columns;
};

exports.column = column;
const columnsRule = _border.default;
exports.columnsRule = columnsRule;

/***/ }),

/***/ 67690:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = normalizeFlexFlow;
// flex-flow: <flex-direction> || <flex-wrap>
const flexDirection = ['row', 'row-reverse', 'column', 'column-reverse'];
const flexWrap = ['nowrap', 'wrap', 'wrap-reverse'];

function normalizeFlexFlow(flexFlow) {
  let order = {
    direction: '',
    wrap: ''
  };
  flexFlow.walk(({
    value
  }) => {
    if (~flexDirection.indexOf(value.toLowerCase())) {
      order.direction = value;
      return;
    }

    if (~flexWrap.indexOf(value.toLowerCase())) {
      order.wrap = value;
      return;
    }
  });
  return `${order.direction} ${order.wrap}`.trim();
}

module.exports = exports.default;

/***/ }),

/***/ 10740:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.normalizeGridColumnRow = exports.normalizeGridColumnRowGap = exports.normalizeGridAutoFlow = void 0;

var _joinGridValue = _interopRequireDefault(__nccwpck_require__(99819));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const normalizeGridAutoFlow = gridAutoFlow => {
  let newValue = {
    front: '',
    back: ''
  };
  let shouldNormalize = false;
  gridAutoFlow.walk(node => {
    if (node.value === 'dense') {
      shouldNormalize = true;
      newValue.back = node.value;
    } else if (['row', 'column'].includes(node.value.trim().toLowerCase())) {
      shouldNormalize = true;
      newValue.front = node.value;
    } else {
      shouldNormalize = false;
    }
  });

  if (shouldNormalize) {
    return `${newValue.front.trim()} ${newValue.back.trim()}`;
  }

  return gridAutoFlow;
};

exports.normalizeGridAutoFlow = normalizeGridAutoFlow;

const normalizeGridColumnRowGap = gridGap => {
  let newValue = {
    front: '',
    back: ''
  };
  let shouldNormalize = false;
  gridGap.walk(node => {
    // console.log(node);
    if (node.value === 'normal') {
      shouldNormalize = true;
      newValue.front = node.value;
    } else {
      newValue.back = `${newValue.back} ${node.value}`;
    }
  });

  if (shouldNormalize) {
    return `${newValue.front.trim()} ${newValue.back.trim()}`;
  }

  return gridGap;
};

exports.normalizeGridColumnRowGap = normalizeGridColumnRowGap;

const normalizeGridColumnRow = grid => {
  // cant do normalization here using node, so copy it as a string
  let gridValue = grid.toString().split('/'); // node -> string value, split ->  " 2 / 3 span " ->  [' 2','3 span ']

  if (gridValue.length > 1) {
    return (0, _joinGridValue.default)(gridValue.map(gridLine => {
      let normalizeValue = {
        front: '',
        back: ''
      };
      gridLine = gridLine.trim(); // '3 span ' -> '3 span'

      gridLine.split(' ').forEach(node => {
        // ['3','span']
        if (node === 'span') {
          normalizeValue.front = node; // span _
        } else {
          normalizeValue.back = `${normalizeValue.back} ${node}`; // _ 3
        }
      });
      return `${normalizeValue.front.trim()} ${normalizeValue.back.trim()}`; // span 3
    }) // returns "2 / span 3"
    );
  } // doing this separating if `/` is not present as while joining('/') , it will add `/` at the end


  return gridValue.map(gridLine => {
    let normalizeValue = {
      front: '',
      back: ''
    };
    gridLine = gridLine.trim();
    gridLine.split(' ').forEach(node => {
      if (node === 'span') {
        normalizeValue.front = node;
      } else {
        normalizeValue.back = `${normalizeValue.back} ${node}`;
      }
    });
    return `${normalizeValue.front.trim()} ${normalizeValue.back.trim()}`;
  });
};

exports.normalizeGridColumnRow = normalizeGridColumnRow;

/***/ }),

/***/ 92693:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = listStyleNormalizer;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _listStyleTypes = _interopRequireDefault(__nccwpck_require__(1185));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const definedTypes = _listStyleTypes.default['list-style-type'];
const definedPosition = ['inside', 'outside'];

function listStyleNormalizer(listStyle) {
  const order = {
    type: '',
    position: '',
    image: ''
  };
  listStyle.walk(decl => {
    if (decl.type === 'word') {
      if (definedTypes.includes(decl.value)) {
        // its a type field
        order.type = `${order.type} ${decl.value}`;
      } else if (definedPosition.includes(decl.value)) {
        order.position = `${order.position} ${decl.value}`;
      } else if (decl.value === 'none') {
        if (order.type.split(' ').filter(e => e !== '' && e !== ' ').includes('none')) {
          order.image = `${order.image} ${decl.value}`;
        } else {
          order.type = `${order.type} ${decl.value}`;
        }
      } else {
        order.type = `${order.type} ${decl.value}`;
      }
    }

    if (decl.type === 'function') {
      order.image = `${order.image} ${_postcssValueParser.default.stringify(decl)}`;
    }
  });
  return `${order.type.trim()} ${order.position.trim()} ${order.image.trim()}`.trim();
}

module.exports = exports.default;

/***/ }),

/***/ 92439:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = normalizeTransition;

var _postcssValueParser = __nccwpck_require__(19285);

var _cssnanoUtils = __nccwpck_require__(96947);

var _addSpace = _interopRequireDefault(__nccwpck_require__(37541));

var _getValue = _interopRequireDefault(__nccwpck_require__(23117));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// transition: [ none | <single-transition-property> ] || <time> || <single-transition-timing-function> || <time>
const timingFunctions = ['ease', 'linear', 'ease-in', 'ease-out', 'ease-in-out', 'step-start', 'step-end'];

function normalizeTransition(parsed) {
  let args = (0, _cssnanoUtils.getArguments)(parsed);
  let values = args.reduce((list, arg) => {
    let state = {
      timingFunction: [],
      property: [],
      time1: [],
      time2: []
    };
    arg.forEach(node => {
      const {
        type,
        value
      } = node;

      if (type === 'space') {
        return;
      }

      if (type === 'function' && ~['steps', 'cubic-bezier'].indexOf(value.toLowerCase())) {
        state.timingFunction = [...state.timingFunction, node, (0, _addSpace.default)()];
      } else if ((0, _postcssValueParser.unit)(value)) {
        if (!state.time1.length) {
          state.time1 = [...state.time1, node, (0, _addSpace.default)()];
        } else {
          state.time2 = [...state.time2, node, (0, _addSpace.default)()];
        }
      } else if (~timingFunctions.indexOf(value.toLowerCase())) {
        state.timingFunction = [...state.timingFunction, node, (0, _addSpace.default)()];
      } else {
        state.property = [...state.property, node, (0, _addSpace.default)()];
      }
    });
    return [...list, [...state.property, ...state.time1, ...state.timingFunction, ...state.time2]];
  }, []);
  return (0, _getValue.default)(values);
}

module.exports = exports.default;

/***/ }),

/***/ 85512:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _browserslist = _interopRequireDefault(__nccwpck_require__(55478));

var _caniuseApi = __nccwpck_require__(78390);

var _fromInitial = _interopRequireDefault(__nccwpck_require__(37995));

var _toInitial = _interopRequireDefault(__nccwpck_require__(46080));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const initial = 'initial'; // In most of the browser including chrome the initial for `writing-mode` is not `horizontal-tb`. Ref https://github.com/cssnano/cssnano/pull/905

const defaultIgnoreProps = ['writing-mode'];

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-reduce-initial',

    prepare(result) {
      const resultOpts = result.opts || {};
      const browsers = (0, _browserslist.default)(null, {
        stats: resultOpts.stats,
        path: __dirname,
        env: resultOpts.env
      });
      const initialSupport = (0, _caniuseApi.isSupported)('css-initial-value', browsers);
      return {
        OnceExit(css) {
          css.walkDecls(decl => {
            const lowerCasedProp = decl.prop.toLowerCase();
            const ignoreProp = defaultIgnoreProps.concat(resultOpts.ignore || []);

            if (ignoreProp.includes(lowerCasedProp)) {
              return;
            }

            if (initialSupport && Object.prototype.hasOwnProperty.call(_toInitial.default, lowerCasedProp) && decl.value.toLowerCase() === _toInitial.default[lowerCasedProp]) {
              decl.value = initial;
              return;
            }

            if (decl.value.toLowerCase() !== initial || !_fromInitial.default[lowerCasedProp]) {
              return;
            }

            decl.value = _fromInitial.default[lowerCasedProp];
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 76245:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireWildcard(__nccwpck_require__(19285));

var _cssnanoUtils = __nccwpck_require__(96947);

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function getValues(list, node, index) {
  if (index % 2 === 0) {
    let value = NaN;

    if (node.type === 'function' && (node.value === 'var' || node.value === 'env') && node.nodes.length === 1) {
      value = (0, _postcssValueParser.stringify)(node.nodes);
    } else if (node.type === 'word') {
      value = parseFloat(node.value);
    }

    return [...list, value];
  }

  return list;
}

function matrix3d(node, values) {
  if (values.length !== 16) {
    return;
  } // matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1) => matrix(a, b, c, d, tx, ty)


  if (values[15] && values[2] === 0 && values[3] === 0 && values[6] === 0 && values[7] === 0 && values[8] === 0 && values[9] === 0 && values[10] === 1 && values[11] === 0 && values[14] === 0 && values[15] === 1) {
    const {
      nodes
    } = node;
    node.value = 'matrix';
    node.nodes = [nodes[0], // a
    nodes[1], // ,
    nodes[2], // b
    nodes[3], // ,
    nodes[8], // c
    nodes[9], // ,
    nodes[10], // d
    nodes[11], // ,
    nodes[24], // tx
    nodes[25], // ,
    nodes[26] // ty
    ];
  }
}

const rotate3dMappings = [['rotateX', [1, 0, 0]], // rotate3d(1, 0, 0, a) => rotateX(a)
['rotateY', [0, 1, 0]], // rotate3d(0, 1, 0, a) => rotateY(a)
['rotate', [0, 0, 1]] // rotate3d(0, 0, 1, a) => rotate(a)
];
const rotate3dMatch = (0, _cssnanoUtils.getMatch)(rotate3dMappings);

function rotate3d(node, values) {
  if (values.length !== 4) {
    return;
  }

  const {
    nodes
  } = node;
  const match = rotate3dMatch(values.slice(0, 3));

  if (match.length) {
    node.value = match;
    node.nodes = [nodes[6]];
  }
}

function rotateZ(node, values) {
  if (values.length !== 1) {
    return;
  } // rotateZ(rz) => rotate(rz)


  node.value = 'rotate';
}

function scale(node, values) {
  if (values.length !== 2) {
    return;
  }

  const {
    nodes
  } = node;
  const [first, second] = values; // scale(sx, sy) => scale(sx)

  if (first === second) {
    node.nodes = [nodes[0]];
    return;
  } // scale(sx, 1) => scaleX(sx)


  if (second === 1) {
    node.value = 'scaleX';
    node.nodes = [nodes[0]];
    return;
  } // scale(1, sy) => scaleY(sy)


  if (first === 1) {
    node.value = 'scaleY';
    node.nodes = [nodes[2]];
    return;
  }
}

function scale3d(node, values) {
  if (values.length !== 3) {
    return;
  }

  const {
    nodes
  } = node;
  const [first, second, third] = values; // scale3d(sx, 1, 1) => scaleX(sx)

  if (second === 1 && third === 1) {
    node.value = 'scaleX';
    node.nodes = [nodes[0]];
    return;
  } // scale3d(1, sy, 1) => scaleY(sy)


  if (first === 1 && third === 1) {
    node.value = 'scaleY';
    node.nodes = [nodes[2]];
    return;
  } // scale3d(1, 1, sz) => scaleZ(sz)


  if (first === 1 && second === 1) {
    node.value = 'scaleZ';
    node.nodes = [nodes[4]];
    return;
  }
}

function translate(node, values) {
  if (values.length !== 2) {
    return;
  }

  const {
    nodes
  } = node; // translate(tx, 0) => translate(tx)

  if (values[1] === 0) {
    node.nodes = [nodes[0]];
    return;
  } // translate(0, ty) => translateY(ty)


  if (values[0] === 0) {
    node.value = 'translateY';
    node.nodes = [nodes[2]];
    return;
  }
}

function translate3d(node, values) {
  if (values.length !== 3) {
    return;
  }

  const {
    nodes
  } = node; // translate3d(0, 0, tz) => translateZ(tz)

  if (values[0] === 0 && values[1] === 0) {
    node.value = 'translateZ';
    node.nodes = [nodes[4]];
  }
}

const reducers = {
  matrix3d,
  rotate3d,
  rotateZ,
  scale,
  scale3d,
  translate,
  translate3d
};

function normalizeReducerName(name) {
  const lowerCasedName = name.toLowerCase();

  if (lowerCasedName === 'rotatez') {
    return 'rotateZ';
  }

  return lowerCasedName;
}

function reduce(node) {
  const {
    nodes,
    type,
    value
  } = node;
  const normalizedReducerName = normalizeReducerName(value);

  if (type === 'function' && Object.prototype.hasOwnProperty.call(reducers, normalizedReducerName)) {
    reducers[normalizedReducerName](node, nodes.reduce(getValues, []));
  }

  return false;
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-reduce-transforms',

    prepare() {
      const cache = {};
      return {
        OnceExit(css) {
          css.walkDecls(/transform$/i, decl => {
            const value = decl.value;

            if (!value) {
              return;
            }

            if (cache[value]) {
              decl.value = cache[value];
              return;
            }

            const result = (0, _postcssValueParser.default)(value).walk(reduce).toString();
            decl.value = result;
            cache[value] = result;
          });
        }

      };
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 32997:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _processor = _interopRequireDefault(__nccwpck_require__(10390));

var selectors = _interopRequireWildcard(__nccwpck_require__(31483));

function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var parser = function parser(processor) {
  return new _processor["default"](processor);
};

Object.assign(parser, selectors);
delete parser.__esModule;
var _default = parser;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 68526:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _root = _interopRequireDefault(__nccwpck_require__(74804));

var _selector = _interopRequireDefault(__nccwpck_require__(97370));

var _className = _interopRequireDefault(__nccwpck_require__(9780));

var _comment = _interopRequireDefault(__nccwpck_require__(90974));

var _id = _interopRequireDefault(__nccwpck_require__(12050));

var _tag = _interopRequireDefault(__nccwpck_require__(99646));

var _string = _interopRequireDefault(__nccwpck_require__(62391));

var _pseudo = _interopRequireDefault(__nccwpck_require__(28681));

var _attribute = _interopRequireWildcard(__nccwpck_require__(49914));

var _universal = _interopRequireDefault(__nccwpck_require__(14843));

var _combinator = _interopRequireDefault(__nccwpck_require__(8765));

var _nesting = _interopRequireDefault(__nccwpck_require__(52821));

var _sortAscending = _interopRequireDefault(__nccwpck_require__(18520));

var _tokenize = _interopRequireWildcard(__nccwpck_require__(53370));

var tokens = _interopRequireWildcard(__nccwpck_require__(26684));

var types = _interopRequireWildcard(__nccwpck_require__(86895));

var _util = __nccwpck_require__(73621);

var _WHITESPACE_TOKENS, _Object$assign;

function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var WHITESPACE_TOKENS = (_WHITESPACE_TOKENS = {}, _WHITESPACE_TOKENS[tokens.space] = true, _WHITESPACE_TOKENS[tokens.cr] = true, _WHITESPACE_TOKENS[tokens.feed] = true, _WHITESPACE_TOKENS[tokens.newline] = true, _WHITESPACE_TOKENS[tokens.tab] = true, _WHITESPACE_TOKENS);
var WHITESPACE_EQUIV_TOKENS = Object.assign({}, WHITESPACE_TOKENS, (_Object$assign = {}, _Object$assign[tokens.comment] = true, _Object$assign));

function tokenStart(token) {
  return {
    line: token[_tokenize.FIELDS.START_LINE],
    column: token[_tokenize.FIELDS.START_COL]
  };
}

function tokenEnd(token) {
  return {
    line: token[_tokenize.FIELDS.END_LINE],
    column: token[_tokenize.FIELDS.END_COL]
  };
}

function getSource(startLine, startColumn, endLine, endColumn) {
  return {
    start: {
      line: startLine,
      column: startColumn
    },
    end: {
      line: endLine,
      column: endColumn
    }
  };
}

function getTokenSource(token) {
  return getSource(token[_tokenize.FIELDS.START_LINE], token[_tokenize.FIELDS.START_COL], token[_tokenize.FIELDS.END_LINE], token[_tokenize.FIELDS.END_COL]);
}

function getTokenSourceSpan(startToken, endToken) {
  if (!startToken) {
    return undefined;
  }

  return getSource(startToken[_tokenize.FIELDS.START_LINE], startToken[_tokenize.FIELDS.START_COL], endToken[_tokenize.FIELDS.END_LINE], endToken[_tokenize.FIELDS.END_COL]);
}

function unescapeProp(node, prop) {
  var value = node[prop];

  if (typeof value !== "string") {
    return;
  }

  if (value.indexOf("\\") !== -1) {
    (0, _util.ensureObject)(node, 'raws');
    node[prop] = (0, _util.unesc)(value);

    if (node.raws[prop] === undefined) {
      node.raws[prop] = value;
    }
  }

  return node;
}

function indexesOf(array, item) {
  var i = -1;
  var indexes = [];

  while ((i = array.indexOf(item, i + 1)) !== -1) {
    indexes.push(i);
  }

  return indexes;
}

function uniqs() {
  var list = Array.prototype.concat.apply([], arguments);
  return list.filter(function (item, i) {
    return i === list.indexOf(item);
  });
}

var Parser = /*#__PURE__*/function () {
  function Parser(rule, options) {
    if (options === void 0) {
      options = {};
    }

    this.rule = rule;
    this.options = Object.assign({
      lossy: false,
      safe: false
    }, options);
    this.position = 0;
    this.css = typeof this.rule === 'string' ? this.rule : this.rule.selector;
    this.tokens = (0, _tokenize["default"])({
      css: this.css,
      error: this._errorGenerator(),
      safe: this.options.safe
    });
    var rootSource = getTokenSourceSpan(this.tokens[0], this.tokens[this.tokens.length - 1]);
    this.root = new _root["default"]({
      source: rootSource
    });
    this.root.errorGenerator = this._errorGenerator();
    var selector = new _selector["default"]({
      source: {
        start: {
          line: 1,
          column: 1
        }
      }
    });
    this.root.append(selector);
    this.current = selector;
    this.loop();
  }

  var _proto = Parser.prototype;

  _proto._errorGenerator = function _errorGenerator() {
    var _this = this;

    return function (message, errorOptions) {
      if (typeof _this.rule === 'string') {
        return new Error(message);
      }

      return _this.rule.error(message, errorOptions);
    };
  };

  _proto.attribute = function attribute() {
    var attr = [];
    var startingToken = this.currToken;
    this.position++;

    while (this.position < this.tokens.length && this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) {
      attr.push(this.currToken);
      this.position++;
    }

    if (this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) {
      return this.expected('closing square bracket', this.currToken[_tokenize.FIELDS.START_POS]);
    }

    var len = attr.length;
    var node = {
      source: getSource(startingToken[1], startingToken[2], this.currToken[3], this.currToken[4]),
      sourceIndex: startingToken[_tokenize.FIELDS.START_POS]
    };

    if (len === 1 && !~[tokens.word].indexOf(attr[0][_tokenize.FIELDS.TYPE])) {
      return this.expected('attribute', attr[0][_tokenize.FIELDS.START_POS]);
    }

    var pos = 0;
    var spaceBefore = '';
    var commentBefore = '';
    var lastAdded = null;
    var spaceAfterMeaningfulToken = false;

    while (pos < len) {
      var token = attr[pos];
      var content = this.content(token);
      var next = attr[pos + 1];

      switch (token[_tokenize.FIELDS.TYPE]) {
        case tokens.space:
          // if (
          //     len === 1 ||
          //     pos === 0 && this.content(next) === '|'
          // ) {
          //     return this.expected('attribute', token[TOKEN.START_POS], content);
          // }
          spaceAfterMeaningfulToken = true;

          if (this.options.lossy) {
            break;
          }

          if (lastAdded) {
            (0, _util.ensureObject)(node, 'spaces', lastAdded);
            var prevContent = node.spaces[lastAdded].after || '';
            node.spaces[lastAdded].after = prevContent + content;
            var existingComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || null;

            if (existingComment) {
              node.raws.spaces[lastAdded].after = existingComment + content;
            }
          } else {
            spaceBefore = spaceBefore + content;
            commentBefore = commentBefore + content;
          }

          break;

        case tokens.asterisk:
          if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {
            node.operator = content;
            lastAdded = 'operator';
          } else if ((!node.namespace || lastAdded === "namespace" && !spaceAfterMeaningfulToken) && next) {
            if (spaceBefore) {
              (0, _util.ensureObject)(node, 'spaces', 'attribute');
              node.spaces.attribute.before = spaceBefore;
              spaceBefore = '';
            }

            if (commentBefore) {
              (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute');
              node.raws.spaces.attribute.before = spaceBefore;
              commentBefore = '';
            }

            node.namespace = (node.namespace || "") + content;
            var rawValue = (0, _util.getProp)(node, 'raws', 'namespace') || null;

            if (rawValue) {
              node.raws.namespace += content;
            }

            lastAdded = 'namespace';
          }

          spaceAfterMeaningfulToken = false;
          break;

        case tokens.dollar:
          if (lastAdded === "value") {
            var oldRawValue = (0, _util.getProp)(node, 'raws', 'value');
            node.value += "$";

            if (oldRawValue) {
              node.raws.value = oldRawValue + "$";
            }

            break;
          }

        // Falls through

        case tokens.caret:
          if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {
            node.operator = content;
            lastAdded = 'operator';
          }

          spaceAfterMeaningfulToken = false;
          break;

        case tokens.combinator:
          if (content === '~' && next[_tokenize.FIELDS.TYPE] === tokens.equals) {
            node.operator = content;
            lastAdded = 'operator';
          }

          if (content !== '|') {
            spaceAfterMeaningfulToken = false;
            break;
          }

          if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {
            node.operator = content;
            lastAdded = 'operator';
          } else if (!node.namespace && !node.attribute) {
            node.namespace = true;
          }

          spaceAfterMeaningfulToken = false;
          break;

        case tokens.word:
          if (next && this.content(next) === '|' && attr[pos + 2] && attr[pos + 2][_tokenize.FIELDS.TYPE] !== tokens.equals && // this look-ahead probably fails with comment nodes involved.
          !node.operator && !node.namespace) {
            node.namespace = content;
            lastAdded = 'namespace';
          } else if (!node.attribute || lastAdded === "attribute" && !spaceAfterMeaningfulToken) {
            if (spaceBefore) {
              (0, _util.ensureObject)(node, 'spaces', 'attribute');
              node.spaces.attribute.before = spaceBefore;
              spaceBefore = '';
            }

            if (commentBefore) {
              (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute');
              node.raws.spaces.attribute.before = commentBefore;
              commentBefore = '';
            }

            node.attribute = (node.attribute || "") + content;

            var _rawValue = (0, _util.getProp)(node, 'raws', 'attribute') || null;

            if (_rawValue) {
              node.raws.attribute += content;
            }

            lastAdded = 'attribute';
          } else if (!node.value && node.value !== "" || lastAdded === "value" && !spaceAfterMeaningfulToken) {
            var _unescaped = (0, _util.unesc)(content);

            var _oldRawValue = (0, _util.getProp)(node, 'raws', 'value') || '';

            var oldValue = node.value || '';
            node.value = oldValue + _unescaped;
            node.quoteMark = null;

            if (_unescaped !== content || _oldRawValue) {
              (0, _util.ensureObject)(node, 'raws');
              node.raws.value = (_oldRawValue || oldValue) + content;
            }

            lastAdded = 'value';
          } else {
            var insensitive = content === 'i' || content === "I";

            if ((node.value || node.value === '') && (node.quoteMark || spaceAfterMeaningfulToken)) {
              node.insensitive = insensitive;

              if (!insensitive || content === "I") {
                (0, _util.ensureObject)(node, 'raws');
                node.raws.insensitiveFlag = content;
              }

              lastAdded = 'insensitive';

              if (spaceBefore) {
                (0, _util.ensureObject)(node, 'spaces', 'insensitive');
                node.spaces.insensitive.before = spaceBefore;
                spaceBefore = '';
              }

              if (commentBefore) {
                (0, _util.ensureObject)(node, 'raws', 'spaces', 'insensitive');
                node.raws.spaces.insensitive.before = commentBefore;
                commentBefore = '';
              }
            } else if (node.value || node.value === '') {
              lastAdded = 'value';
              node.value += content;

              if (node.raws.value) {
                node.raws.value += content;
              }
            }
          }

          spaceAfterMeaningfulToken = false;
          break;

        case tokens.str:
          if (!node.attribute || !node.operator) {
            return this.error("Expected an attribute followed by an operator preceding the string.", {
              index: token[_tokenize.FIELDS.START_POS]
            });
          }

          var _unescapeValue = (0, _attribute.unescapeValue)(content),
              unescaped = _unescapeValue.unescaped,
              quoteMark = _unescapeValue.quoteMark;

          node.value = unescaped;
          node.quoteMark = quoteMark;
          lastAdded = 'value';
          (0, _util.ensureObject)(node, 'raws');
          node.raws.value = content;
          spaceAfterMeaningfulToken = false;
          break;

        case tokens.equals:
          if (!node.attribute) {
            return this.expected('attribute', token[_tokenize.FIELDS.START_POS], content);
          }

          if (node.value) {
            return this.error('Unexpected "=" found; an operator was already defined.', {
              index: token[_tokenize.FIELDS.START_POS]
            });
          }

          node.operator = node.operator ? node.operator + content : content;
          lastAdded = 'operator';
          spaceAfterMeaningfulToken = false;
          break;

        case tokens.comment:
          if (lastAdded) {
            if (spaceAfterMeaningfulToken || next && next[_tokenize.FIELDS.TYPE] === tokens.space || lastAdded === 'insensitive') {
              var lastComment = (0, _util.getProp)(node, 'spaces', lastAdded, 'after') || '';
              var rawLastComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || lastComment;
              (0, _util.ensureObject)(node, 'raws', 'spaces', lastAdded);
              node.raws.spaces[lastAdded].after = rawLastComment + content;
            } else {
              var lastValue = node[lastAdded] || '';
              var rawLastValue = (0, _util.getProp)(node, 'raws', lastAdded) || lastValue;
              (0, _util.ensureObject)(node, 'raws');
              node.raws[lastAdded] = rawLastValue + content;
            }
          } else {
            commentBefore = commentBefore + content;
          }

          break;

        default:
          return this.error("Unexpected \"" + content + "\" found.", {
            index: token[_tokenize.FIELDS.START_POS]
          });
      }

      pos++;
    }

    unescapeProp(node, "attribute");
    unescapeProp(node, "namespace");
    this.newNode(new _attribute["default"](node));
    this.position++;
  }
  /**
   * return a node containing meaningless garbage up to (but not including) the specified token position.
   * if the token position is negative, all remaining tokens are consumed.
   *
   * This returns an array containing a single string node if all whitespace,
   * otherwise an array of comment nodes with space before and after.
   *
   * These tokens are not added to the current selector, the caller can add them or use them to amend
   * a previous node's space metadata.
   *
   * In lossy mode, this returns only comments.
   */
  ;

  _proto.parseWhitespaceEquivalentTokens = function parseWhitespaceEquivalentTokens(stopPosition) {
    if (stopPosition < 0) {
      stopPosition = this.tokens.length;
    }

    var startPosition = this.position;
    var nodes = [];
    var space = "";
    var lastComment = undefined;

    do {
      if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) {
        if (!this.options.lossy) {
          space += this.content();
        }
      } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.comment) {
        var spaces = {};

        if (space) {
          spaces.before = space;
          space = "";
        }

        lastComment = new _comment["default"]({
          value: this.content(),
          source: getTokenSource(this.currToken),
          sourceIndex: this.currToken[_tokenize.FIELDS.START_POS],
          spaces: spaces
        });
        nodes.push(lastComment);
      }
    } while (++this.position < stopPosition);

    if (space) {
      if (lastComment) {
        lastComment.spaces.after = space;
      } else if (!this.options.lossy) {
        var firstToken = this.tokens[startPosition];
        var lastToken = this.tokens[this.position - 1];
        nodes.push(new _string["default"]({
          value: '',
          source: getSource(firstToken[_tokenize.FIELDS.START_LINE], firstToken[_tokenize.FIELDS.START_COL], lastToken[_tokenize.FIELDS.END_LINE], lastToken[_tokenize.FIELDS.END_COL]),
          sourceIndex: firstToken[_tokenize.FIELDS.START_POS],
          spaces: {
            before: space,
            after: ''
          }
        }));
      }
    }

    return nodes;
  }
  /**
   * 
   * @param {*} nodes 
   */
  ;

  _proto.convertWhitespaceNodesToSpace = function convertWhitespaceNodesToSpace(nodes, requiredSpace) {
    var _this2 = this;

    if (requiredSpace === void 0) {
      requiredSpace = false;
    }

    var space = "";
    var rawSpace = "";
    nodes.forEach(function (n) {
      var spaceBefore = _this2.lossySpace(n.spaces.before, requiredSpace);

      var rawSpaceBefore = _this2.lossySpace(n.rawSpaceBefore, requiredSpace);

      space += spaceBefore + _this2.lossySpace(n.spaces.after, requiredSpace && spaceBefore.length === 0);
      rawSpace += spaceBefore + n.value + _this2.lossySpace(n.rawSpaceAfter, requiredSpace && rawSpaceBefore.length === 0);
    });

    if (rawSpace === space) {
      rawSpace = undefined;
    }

    var result = {
      space: space,
      rawSpace: rawSpace
    };
    return result;
  };

  _proto.isNamedCombinator = function isNamedCombinator(position) {
    if (position === void 0) {
      position = this.position;
    }

    return this.tokens[position + 0] && this.tokens[position + 0][_tokenize.FIELDS.TYPE] === tokens.slash && this.tokens[position + 1] && this.tokens[position + 1][_tokenize.FIELDS.TYPE] === tokens.word && this.tokens[position + 2] && this.tokens[position + 2][_tokenize.FIELDS.TYPE] === tokens.slash;
  };

  _proto.namedCombinator = function namedCombinator() {
    if (this.isNamedCombinator()) {
      var nameRaw = this.content(this.tokens[this.position + 1]);
      var name = (0, _util.unesc)(nameRaw).toLowerCase();
      var raws = {};

      if (name !== nameRaw) {
        raws.value = "/" + nameRaw + "/";
      }

      var node = new _combinator["default"]({
        value: "/" + name + "/",
        source: getSource(this.currToken[_tokenize.FIELDS.START_LINE], this.currToken[_tokenize.FIELDS.START_COL], this.tokens[this.position + 2][_tokenize.FIELDS.END_LINE], this.tokens[this.position + 2][_tokenize.FIELDS.END_COL]),
        sourceIndex: this.currToken[_tokenize.FIELDS.START_POS],
        raws: raws
      });
      this.position = this.position + 3;
      return node;
    } else {
      this.unexpected();
    }
  };

  _proto.combinator = function combinator() {
    var _this3 = this;

    if (this.content() === '|') {
      return this.namespace();
    } // We need to decide between a space that's a descendant combinator and meaningless whitespace at the end of a selector.


    var nextSigTokenPos = this.locateNextMeaningfulToken(this.position);

    if (nextSigTokenPos < 0 || this.tokens[nextSigTokenPos][_tokenize.FIELDS.TYPE] === tokens.comma) {
      var nodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos);

      if (nodes.length > 0) {
        var last = this.current.last;

        if (last) {
          var _this$convertWhitespa = this.convertWhitespaceNodesToSpace(nodes),
              space = _this$convertWhitespa.space,
              rawSpace = _this$convertWhitespa.rawSpace;

          if (rawSpace !== undefined) {
            last.rawSpaceAfter += rawSpace;
          }

          last.spaces.after += space;
        } else {
          nodes.forEach(function (n) {
            return _this3.newNode(n);
          });
        }
      }

      return;
    }

    var firstToken = this.currToken;
    var spaceOrDescendantSelectorNodes = undefined;

    if (nextSigTokenPos > this.position) {
      spaceOrDescendantSelectorNodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos);
    }

    var node;

    if (this.isNamedCombinator()) {
      node = this.namedCombinator();
    } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.combinator) {
      node = new _combinator["default"]({
        value: this.content(),
        source: getTokenSource(this.currToken),
        sourceIndex: this.currToken[_tokenize.FIELDS.START_POS]
      });
      this.position++;
    } else if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) {// pass
    } else if (!spaceOrDescendantSelectorNodes) {
      this.unexpected();
    }

    if (node) {
      if (spaceOrDescendantSelectorNodes) {
        var _this$convertWhitespa2 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes),
            _space = _this$convertWhitespa2.space,
            _rawSpace = _this$convertWhitespa2.rawSpace;

        node.spaces.before = _space;
        node.rawSpaceBefore = _rawSpace;
      }
    } else {
      // descendant combinator
      var _this$convertWhitespa3 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes, true),
          _space2 = _this$convertWhitespa3.space,
          _rawSpace2 = _this$convertWhitespa3.rawSpace;

      if (!_rawSpace2) {
        _rawSpace2 = _space2;
      }

      var spaces = {};
      var raws = {
        spaces: {}
      };

      if (_space2.endsWith(' ') && _rawSpace2.endsWith(' ')) {
        spaces.before = _space2.slice(0, _space2.length - 1);
        raws.spaces.before = _rawSpace2.slice(0, _rawSpace2.length - 1);
      } else if (_space2.startsWith(' ') && _rawSpace2.startsWith(' ')) {
        spaces.after = _space2.slice(1);
        raws.spaces.after = _rawSpace2.slice(1);
      } else {
        raws.value = _rawSpace2;
      }

      node = new _combinator["default"]({
        value: ' ',
        source: getTokenSourceSpan(firstToken, this.tokens[this.position - 1]),
        sourceIndex: firstToken[_tokenize.FIELDS.START_POS],
        spaces: spaces,
        raws: raws
      });
    }

    if (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.space) {
      node.spaces.after = this.optionalSpace(this.content());
      this.position++;
    }

    return this.newNode(node);
  };

  _proto.comma = function comma() {
    if (this.position === this.tokens.length - 1) {
      this.root.trailingComma = true;
      this.position++;
      return;
    }

    this.current._inferEndPosition();

    var selector = new _selector["default"]({
      source: {
        start: tokenStart(this.tokens[this.position + 1])
      }
    });
    this.current.parent.append(selector);
    this.current = selector;
    this.position++;
  };

  _proto.comment = function comment() {
    var current = this.currToken;
    this.newNode(new _comment["default"]({
      value: this.content(),
      source: getTokenSource(current),
      sourceIndex: current[_tokenize.FIELDS.START_POS]
    }));
    this.position++;
  };

  _proto.error = function error(message, opts) {
    throw this.root.error(message, opts);
  };

  _proto.missingBackslash = function missingBackslash() {
    return this.error('Expected a backslash preceding the semicolon.', {
      index: this.currToken[_tokenize.FIELDS.START_POS]
    });
  };

  _proto.missingParenthesis = function missingParenthesis() {
    return this.expected('opening parenthesis', this.currToken[_tokenize.FIELDS.START_POS]);
  };

  _proto.missingSquareBracket = function missingSquareBracket() {
    return this.expected('opening square bracket', this.currToken[_tokenize.FIELDS.START_POS]);
  };

  _proto.unexpected = function unexpected() {
    return this.error("Unexpected '" + this.content() + "'. Escaping special characters with \\ may help.", this.currToken[_tokenize.FIELDS.START_POS]);
  };

  _proto.namespace = function namespace() {
    var before = this.prevToken && this.content(this.prevToken) || true;

    if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.word) {
      this.position++;
      return this.word(before);
    } else if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.asterisk) {
      this.position++;
      return this.universal(before);
    }
  };

  _proto.nesting = function nesting() {
    if (this.nextToken) {
      var nextContent = this.content(this.nextToken);

      if (nextContent === "|") {
        this.position++;
        return;
      }
    }

    var current = this.currToken;
    this.newNode(new _nesting["default"]({
      value: this.content(),
      source: getTokenSource(current),
      sourceIndex: current[_tokenize.FIELDS.START_POS]
    }));
    this.position++;
  };

  _proto.parentheses = function parentheses() {
    var last = this.current.last;
    var unbalanced = 1;
    this.position++;

    if (last && last.type === types.PSEUDO) {
      var selector = new _selector["default"]({
        source: {
          start: tokenStart(this.tokens[this.position - 1])
        }
      });
      var cache = this.current;
      last.append(selector);
      this.current = selector;

      while (this.position < this.tokens.length && unbalanced) {
        if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
          unbalanced++;
        }

        if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {
          unbalanced--;
        }

        if (unbalanced) {
          this.parse();
        } else {
          this.current.source.end = tokenEnd(this.currToken);
          this.current.parent.source.end = tokenEnd(this.currToken);
          this.position++;
        }
      }

      this.current = cache;
    } else {
      // I think this case should be an error. It's used to implement a basic parse of media queries
      // but I don't think it's a good idea.
      var parenStart = this.currToken;
      var parenValue = "(";
      var parenEnd;

      while (this.position < this.tokens.length && unbalanced) {
        if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
          unbalanced++;
        }

        if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {
          unbalanced--;
        }

        parenEnd = this.currToken;
        parenValue += this.parseParenthesisToken(this.currToken);
        this.position++;
      }

      if (last) {
        last.appendToPropertyAndEscape("value", parenValue, parenValue);
      } else {
        this.newNode(new _string["default"]({
          value: parenValue,
          source: getSource(parenStart[_tokenize.FIELDS.START_LINE], parenStart[_tokenize.FIELDS.START_COL], parenEnd[_tokenize.FIELDS.END_LINE], parenEnd[_tokenize.FIELDS.END_COL]),
          sourceIndex: parenStart[_tokenize.FIELDS.START_POS]
        }));
      }
    }

    if (unbalanced) {
      return this.expected('closing parenthesis', this.currToken[_tokenize.FIELDS.START_POS]);
    }
  };

  _proto.pseudo = function pseudo() {
    var _this4 = this;

    var pseudoStr = '';
    var startingToken = this.currToken;

    while (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.colon) {
      pseudoStr += this.content();
      this.position++;
    }

    if (!this.currToken) {
      return this.expected(['pseudo-class', 'pseudo-element'], this.position - 1);
    }

    if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.word) {
      this.splitWord(false, function (first, length) {
        pseudoStr += first;

        _this4.newNode(new _pseudo["default"]({
          value: pseudoStr,
          source: getTokenSourceSpan(startingToken, _this4.currToken),
          sourceIndex: startingToken[_tokenize.FIELDS.START_POS]
        }));

        if (length > 1 && _this4.nextToken && _this4.nextToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
          _this4.error('Misplaced parenthesis.', {
            index: _this4.nextToken[_tokenize.FIELDS.START_POS]
          });
        }
      });
    } else {
      return this.expected(['pseudo-class', 'pseudo-element'], this.currToken[_tokenize.FIELDS.START_POS]);
    }
  };

  _proto.space = function space() {
    var content = this.content(); // Handle space before and after the selector

    if (this.position === 0 || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis || this.current.nodes.every(function (node) {
      return node.type === 'comment';
    })) {
      this.spaces = this.optionalSpace(content);
      this.position++;
    } else if (this.position === this.tokens.length - 1 || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {
      this.current.last.spaces.after = this.optionalSpace(content);
      this.position++;
    } else {
      this.combinator();
    }
  };

  _proto.string = function string() {
    var current = this.currToken;
    this.newNode(new _string["default"]({
      value: this.content(),
      source: getTokenSource(current),
      sourceIndex: current[_tokenize.FIELDS.START_POS]
    }));
    this.position++;
  };

  _proto.universal = function universal(namespace) {
    var nextToken = this.nextToken;

    if (nextToken && this.content(nextToken) === '|') {
      this.position++;
      return this.namespace();
    }

    var current = this.currToken;
    this.newNode(new _universal["default"]({
      value: this.content(),
      source: getTokenSource(current),
      sourceIndex: current[_tokenize.FIELDS.START_POS]
    }), namespace);
    this.position++;
  };

  _proto.splitWord = function splitWord(namespace, firstCallback) {
    var _this5 = this;

    var nextToken = this.nextToken;
    var word = this.content();

    while (nextToken && ~[tokens.dollar, tokens.caret, tokens.equals, tokens.word].indexOf(nextToken[_tokenize.FIELDS.TYPE])) {
      this.position++;
      var current = this.content();
      word += current;

      if (current.lastIndexOf('\\') === current.length - 1) {
        var next = this.nextToken;

        if (next && next[_tokenize.FIELDS.TYPE] === tokens.space) {
          word += this.requiredSpace(this.content(next));
          this.position++;
        }
      }

      nextToken = this.nextToken;
    }

    var hasClass = indexesOf(word, '.').filter(function (i) {
      return word[i - 1] !== '\\';
    });
    var hasId = indexesOf(word, '#').filter(function (i) {
      return word[i - 1] !== '\\';
    }); // Eliminate Sass interpolations from the list of id indexes

    var interpolations = indexesOf(word, '#{');

    if (interpolations.length) {
      hasId = hasId.filter(function (hashIndex) {
        return !~interpolations.indexOf(hashIndex);
      });
    }

    var indices = (0, _sortAscending["default"])(uniqs([0].concat(hasClass, hasId)));
    indices.forEach(function (ind, i) {
      var index = indices[i + 1] || word.length;
      var value = word.slice(ind, index);

      if (i === 0 && firstCallback) {
        return firstCallback.call(_this5, value, indices.length);
      }

      var node;
      var current = _this5.currToken;
      var sourceIndex = current[_tokenize.FIELDS.START_POS] + indices[i];
      var source = getSource(current[1], current[2] + ind, current[3], current[2] + (index - 1));

      if (~hasClass.indexOf(ind)) {
        var classNameOpts = {
          value: value.slice(1),
          source: source,
          sourceIndex: sourceIndex
        };
        node = new _className["default"](unescapeProp(classNameOpts, "value"));
      } else if (~hasId.indexOf(ind)) {
        var idOpts = {
          value: value.slice(1),
          source: source,
          sourceIndex: sourceIndex
        };
        node = new _id["default"](unescapeProp(idOpts, "value"));
      } else {
        var tagOpts = {
          value: value,
          source: source,
          sourceIndex: sourceIndex
        };
        unescapeProp(tagOpts, "value");
        node = new _tag["default"](tagOpts);
      }

      _this5.newNode(node, namespace); // Ensure that the namespace is used only once


      namespace = null;
    });
    this.position++;
  };

  _proto.word = function word(namespace) {
    var nextToken = this.nextToken;

    if (nextToken && this.content(nextToken) === '|') {
      this.position++;
      return this.namespace();
    }

    return this.splitWord(namespace);
  };

  _proto.loop = function loop() {
    while (this.position < this.tokens.length) {
      this.parse(true);
    }

    this.current._inferEndPosition();

    return this.root;
  };

  _proto.parse = function parse(throwOnParenthesis) {
    switch (this.currToken[_tokenize.FIELDS.TYPE]) {
      case tokens.space:
        this.space();
        break;

      case tokens.comment:
        this.comment();
        break;

      case tokens.openParenthesis:
        this.parentheses();
        break;

      case tokens.closeParenthesis:
        if (throwOnParenthesis) {
          this.missingParenthesis();
        }

        break;

      case tokens.openSquare:
        this.attribute();
        break;

      case tokens.dollar:
      case tokens.caret:
      case tokens.equals:
      case tokens.word:
        this.word();
        break;

      case tokens.colon:
        this.pseudo();
        break;

      case tokens.comma:
        this.comma();
        break;

      case tokens.asterisk:
        this.universal();
        break;

      case tokens.ampersand:
        this.nesting();
        break;

      case tokens.slash:
      case tokens.combinator:
        this.combinator();
        break;

      case tokens.str:
        this.string();
        break;
      // These cases throw; no break needed.

      case tokens.closeSquare:
        this.missingSquareBracket();

      case tokens.semicolon:
        this.missingBackslash();

      default:
        this.unexpected();
    }
  }
  /**
   * Helpers
   */
  ;

  _proto.expected = function expected(description, index, found) {
    if (Array.isArray(description)) {
      var last = description.pop();
      description = description.join(', ') + " or " + last;
    }

    var an = /^[aeiou]/.test(description[0]) ? 'an' : 'a';

    if (!found) {
      return this.error("Expected " + an + " " + description + ".", {
        index: index
      });
    }

    return this.error("Expected " + an + " " + description + ", found \"" + found + "\" instead.", {
      index: index
    });
  };

  _proto.requiredSpace = function requiredSpace(space) {
    return this.options.lossy ? ' ' : space;
  };

  _proto.optionalSpace = function optionalSpace(space) {
    return this.options.lossy ? '' : space;
  };

  _proto.lossySpace = function lossySpace(space, required) {
    if (this.options.lossy) {
      return required ? ' ' : '';
    } else {
      return space;
    }
  };

  _proto.parseParenthesisToken = function parseParenthesisToken(token) {
    var content = this.content(token);

    if (token[_tokenize.FIELDS.TYPE] === tokens.space) {
      return this.requiredSpace(content);
    } else {
      return content;
    }
  };

  _proto.newNode = function newNode(node, namespace) {
    if (namespace) {
      if (/^ +$/.test(namespace)) {
        if (!this.options.lossy) {
          this.spaces = (this.spaces || '') + namespace;
        }

        namespace = true;
      }

      node.namespace = namespace;
      unescapeProp(node, "namespace");
    }

    if (this.spaces) {
      node.spaces.before = this.spaces;
      this.spaces = '';
    }

    return this.current.append(node);
  };

  _proto.content = function content(token) {
    if (token === void 0) {
      token = this.currToken;
    }

    return this.css.slice(token[_tokenize.FIELDS.START_POS], token[_tokenize.FIELDS.END_POS]);
  };

  /**
   * returns the index of the next non-whitespace, non-comment token.
   * returns -1 if no meaningful token is found.
   */
  _proto.locateNextMeaningfulToken = function locateNextMeaningfulToken(startPosition) {
    if (startPosition === void 0) {
      startPosition = this.position + 1;
    }

    var searchPosition = startPosition;

    while (searchPosition < this.tokens.length) {
      if (WHITESPACE_EQUIV_TOKENS[this.tokens[searchPosition][_tokenize.FIELDS.TYPE]]) {
        searchPosition++;
        continue;
      } else {
        return searchPosition;
      }
    }

    return -1;
  };

  _createClass(Parser, [{
    key: "currToken",
    get: function get() {
      return this.tokens[this.position];
    }
  }, {
    key: "nextToken",
    get: function get() {
      return this.tokens[this.position + 1];
    }
  }, {
    key: "prevToken",
    get: function get() {
      return this.tokens[this.position - 1];
    }
  }]);

  return Parser;
}();

exports.default = Parser;
module.exports = exports.default;

/***/ }),

/***/ 10390:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _parser = _interopRequireDefault(__nccwpck_require__(68526));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var Processor = /*#__PURE__*/function () {
  function Processor(func, options) {
    this.func = func || function noop() {};

    this.funcRes = null;
    this.options = options;
  }

  var _proto = Processor.prototype;

  _proto._shouldUpdateSelector = function _shouldUpdateSelector(rule, options) {
    if (options === void 0) {
      options = {};
    }

    var merged = Object.assign({}, this.options, options);

    if (merged.updateSelector === false) {
      return false;
    } else {
      return typeof rule !== "string";
    }
  };

  _proto._isLossy = function _isLossy(options) {
    if (options === void 0) {
      options = {};
    }

    var merged = Object.assign({}, this.options, options);

    if (merged.lossless === false) {
      return true;
    } else {
      return false;
    }
  };

  _proto._root = function _root(rule, options) {
    if (options === void 0) {
      options = {};
    }

    var parser = new _parser["default"](rule, this._parseOptions(options));
    return parser.root;
  };

  _proto._parseOptions = function _parseOptions(options) {
    return {
      lossy: this._isLossy(options)
    };
  };

  _proto._run = function _run(rule, options) {
    var _this = this;

    if (options === void 0) {
      options = {};
    }

    return new Promise(function (resolve, reject) {
      try {
        var root = _this._root(rule, options);

        Promise.resolve(_this.func(root)).then(function (transform) {
          var string = undefined;

          if (_this._shouldUpdateSelector(rule, options)) {
            string = root.toString();
            rule.selector = string;
          }

          return {
            transform: transform,
            root: root,
            string: string
          };
        }).then(resolve, reject);
      } catch (e) {
        reject(e);
        return;
      }
    });
  };

  _proto._runSync = function _runSync(rule, options) {
    if (options === void 0) {
      options = {};
    }

    var root = this._root(rule, options);

    var transform = this.func(root);

    if (transform && typeof transform.then === "function") {
      throw new Error("Selector processor returned a promise to a synchronous call.");
    }

    var string = undefined;

    if (options.updateSelector && typeof rule !== "string") {
      string = root.toString();
      rule.selector = string;
    }

    return {
      transform: transform,
      root: root,
      string: string
    };
  }
  /**
   * Process rule into a selector AST.
   *
   * @param rule {postcss.Rule | string} The css selector to be processed
   * @param options The options for processing
   * @returns {Promise<parser.Root>} The AST of the selector after processing it.
   */
  ;

  _proto.ast = function ast(rule, options) {
    return this._run(rule, options).then(function (result) {
      return result.root;
    });
  }
  /**
   * Process rule into a selector AST synchronously.
   *
   * @param rule {postcss.Rule | string} The css selector to be processed
   * @param options The options for processing
   * @returns {parser.Root} The AST of the selector after processing it.
   */
  ;

  _proto.astSync = function astSync(rule, options) {
    return this._runSync(rule, options).root;
  }
  /**
   * Process a selector into a transformed value asynchronously
   *
   * @param rule {postcss.Rule | string} The css selector to be processed
   * @param options The options for processing
   * @returns {Promise<any>} The value returned by the processor.
   */
  ;

  _proto.transform = function transform(rule, options) {
    return this._run(rule, options).then(function (result) {
      return result.transform;
    });
  }
  /**
   * Process a selector into a transformed value synchronously.
   *
   * @param rule {postcss.Rule | string} The css selector to be processed
   * @param options The options for processing
   * @returns {any} The value returned by the processor.
   */
  ;

  _proto.transformSync = function transformSync(rule, options) {
    return this._runSync(rule, options).transform;
  }
  /**
   * Process a selector into a new selector string asynchronously.
   *
   * @param rule {postcss.Rule | string} The css selector to be processed
   * @param options The options for processing
   * @returns {string} the selector after processing.
   */
  ;

  _proto.process = function process(rule, options) {
    return this._run(rule, options).then(function (result) {
      return result.string || result.root.toString();
    });
  }
  /**
   * Process a selector into a new selector string synchronously.
   *
   * @param rule {postcss.Rule | string} The css selector to be processed
   * @param options The options for processing
   * @returns {string} the selector after processing.
   */
  ;

  _proto.processSync = function processSync(rule, options) {
    var result = this._runSync(rule, options);

    return result.string || result.root.toString();
  };

  return Processor;
}();

exports.default = Processor;
module.exports = exports.default;

/***/ }),

/***/ 49914:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.unescapeValue = unescapeValue;
exports.default = void 0;

var _cssesc = _interopRequireDefault(__nccwpck_require__(63120));

var _unesc = _interopRequireDefault(__nccwpck_require__(2897));

var _namespace = _interopRequireDefault(__nccwpck_require__(65669));

var _types = __nccwpck_require__(86895);

var _CSSESC_QUOTE_OPTIONS;

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var deprecate = __nccwpck_require__(65278);

var WRAPPED_IN_QUOTES = /^('|")([^]*)\1$/;
var warnOfDeprecatedValueAssignment = deprecate(function () {}, "Assigning an attribute a value containing characters that might need to be escaped is deprecated. " + "Call attribute.setValue() instead.");
var warnOfDeprecatedQuotedAssignment = deprecate(function () {}, "Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead.");
var warnOfDeprecatedConstructor = deprecate(function () {}, "Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.");

function unescapeValue(value) {
  var deprecatedUsage = false;
  var quoteMark = null;
  var unescaped = value;
  var m = unescaped.match(WRAPPED_IN_QUOTES);

  if (m) {
    quoteMark = m[1];
    unescaped = m[2];
  }

  unescaped = (0, _unesc["default"])(unescaped);

  if (unescaped !== value) {
    deprecatedUsage = true;
  }

  return {
    deprecatedUsage: deprecatedUsage,
    unescaped: unescaped,
    quoteMark: quoteMark
  };
}

function handleDeprecatedContructorOpts(opts) {
  if (opts.quoteMark !== undefined) {
    return opts;
  }

  if (opts.value === undefined) {
    return opts;
  }

  warnOfDeprecatedConstructor();

  var _unescapeValue = unescapeValue(opts.value),
      quoteMark = _unescapeValue.quoteMark,
      unescaped = _unescapeValue.unescaped;

  if (!opts.raws) {
    opts.raws = {};
  }

  if (opts.raws.value === undefined) {
    opts.raws.value = opts.value;
  }

  opts.value = unescaped;
  opts.quoteMark = quoteMark;
  return opts;
}

var Attribute = /*#__PURE__*/function (_Namespace) {
  _inheritsLoose(Attribute, _Namespace);

  function Attribute(opts) {
    var _this;

    if (opts === void 0) {
      opts = {};
    }

    _this = _Namespace.call(this, handleDeprecatedContructorOpts(opts)) || this;
    _this.type = _types.ATTRIBUTE;
    _this.raws = _this.raws || {};
    Object.defineProperty(_this.raws, 'unquoted', {
      get: deprecate(function () {
        return _this.value;
      }, "attr.raws.unquoted is deprecated. Call attr.value instead."),
      set: deprecate(function () {
        return _this.value;
      }, "Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.")
    });
    _this._constructed = true;
    return _this;
  }
  /**
   * Returns the Attribute's value quoted such that it would be legal to use
   * in the value of a css file. The original value's quotation setting
   * used for stringification is left unchanged. See `setValue(value, options)`
   * if you want to control the quote settings of a new value for the attribute.
   *
   * You can also change the quotation used for the current value by setting quoteMark.
   *
   * Options:
   *   * quoteMark {'"' | "'" | null} - Use this value to quote the value. If this
   *     option is not set, the original value for quoteMark will be used. If
   *     indeterminate, a double quote is used. The legal values are:
   *     * `null` - the value will be unquoted and characters will be escaped as necessary.
   *     * `'` - the value will be quoted with a single quote and single quotes are escaped.
   *     * `"` - the value will be quoted with a double quote and double quotes are escaped.
   *   * preferCurrentQuoteMark {boolean} - if true, prefer the source quote mark
   *     over the quoteMark option value.
   *   * smart {boolean} - if true, will select a quote mark based on the value
   *     and the other options specified here. See the `smartQuoteMark()`
   *     method.
   **/


  var _proto = Attribute.prototype;

  _proto.getQuotedValue = function getQuotedValue(options) {
    if (options === void 0) {
      options = {};
    }

    var quoteMark = this._determineQuoteMark(options);

    var cssescopts = CSSESC_QUOTE_OPTIONS[quoteMark];
    var escaped = (0, _cssesc["default"])(this._value, cssescopts);
    return escaped;
  };

  _proto._determineQuoteMark = function _determineQuoteMark(options) {
    return options.smart ? this.smartQuoteMark(options) : this.preferredQuoteMark(options);
  }
  /**
   * Set the unescaped value with the specified quotation options. The value
   * provided must not include any wrapping quote marks -- those quotes will
   * be interpreted as part of the value and escaped accordingly.
   */
  ;

  _proto.setValue = function setValue(value, options) {
    if (options === void 0) {
      options = {};
    }

    this._value = value;
    this._quoteMark = this._determineQuoteMark(options);

    this._syncRawValue();
  }
  /**
   * Intelligently select a quoteMark value based on the value's contents. If
   * the value is a legal CSS ident, it will not be quoted. Otherwise a quote
   * mark will be picked that minimizes the number of escapes.
   *
   * If there's no clear winner, the quote mark from these options is used,
   * then the source quote mark (this is inverted if `preferCurrentQuoteMark` is
   * true). If the quoteMark is unspecified, a double quote is used.
   *
   * @param options This takes the quoteMark and preferCurrentQuoteMark options
   * from the quoteValue method.
   */
  ;

  _proto.smartQuoteMark = function smartQuoteMark(options) {
    var v = this.value;
    var numSingleQuotes = v.replace(/[^']/g, '').length;
    var numDoubleQuotes = v.replace(/[^"]/g, '').length;

    if (numSingleQuotes + numDoubleQuotes === 0) {
      var escaped = (0, _cssesc["default"])(v, {
        isIdentifier: true
      });

      if (escaped === v) {
        return Attribute.NO_QUOTE;
      } else {
        var pref = this.preferredQuoteMark(options);

        if (pref === Attribute.NO_QUOTE) {
          // pick a quote mark that isn't none and see if it's smaller
          var quote = this.quoteMark || options.quoteMark || Attribute.DOUBLE_QUOTE;
          var opts = CSSESC_QUOTE_OPTIONS[quote];
          var quoteValue = (0, _cssesc["default"])(v, opts);

          if (quoteValue.length < escaped.length) {
            return quote;
          }
        }

        return pref;
      }
    } else if (numDoubleQuotes === numSingleQuotes) {
      return this.preferredQuoteMark(options);
    } else if (numDoubleQuotes < numSingleQuotes) {
      return Attribute.DOUBLE_QUOTE;
    } else {
      return Attribute.SINGLE_QUOTE;
    }
  }
  /**
   * Selects the preferred quote mark based on the options and the current quote mark value.
   * If you want the quote mark to depend on the attribute value, call `smartQuoteMark(opts)`
   * instead.
   */
  ;

  _proto.preferredQuoteMark = function preferredQuoteMark(options) {
    var quoteMark = options.preferCurrentQuoteMark ? this.quoteMark : options.quoteMark;

    if (quoteMark === undefined) {
      quoteMark = options.preferCurrentQuoteMark ? options.quoteMark : this.quoteMark;
    }

    if (quoteMark === undefined) {
      quoteMark = Attribute.DOUBLE_QUOTE;
    }

    return quoteMark;
  };

  _proto._syncRawValue = function _syncRawValue() {
    var rawValue = (0, _cssesc["default"])(this._value, CSSESC_QUOTE_OPTIONS[this.quoteMark]);

    if (rawValue === this._value) {
      if (this.raws) {
        delete this.raws.value;
      }
    } else {
      this.raws.value = rawValue;
    }
  };

  _proto._handleEscapes = function _handleEscapes(prop, value) {
    if (this._constructed) {
      var escaped = (0, _cssesc["default"])(value, {
        isIdentifier: true
      });

      if (escaped !== value) {
        this.raws[prop] = escaped;
      } else {
        delete this.raws[prop];
      }
    }
  };

  _proto._spacesFor = function _spacesFor(name) {
    var attrSpaces = {
      before: '',
      after: ''
    };
    var spaces = this.spaces[name] || {};
    var rawSpaces = this.raws.spaces && this.raws.spaces[name] || {};
    return Object.assign(attrSpaces, spaces, rawSpaces);
  };

  _proto._stringFor = function _stringFor(name, spaceName, concat) {
    if (spaceName === void 0) {
      spaceName = name;
    }

    if (concat === void 0) {
      concat = defaultAttrConcat;
    }

    var attrSpaces = this._spacesFor(spaceName);

    return concat(this.stringifyProperty(name), attrSpaces);
  }
  /**
   * returns the offset of the attribute part specified relative to the
   * start of the node of the output string.
   *
   * * "ns" - alias for "namespace"
   * * "namespace" - the namespace if it exists.
   * * "attribute" - the attribute name
   * * "attributeNS" - the start of the attribute or its namespace
   * * "operator" - the match operator of the attribute
   * * "value" - The value (string or identifier)
   * * "insensitive" - the case insensitivity flag;
   * @param part One of the possible values inside an attribute.
   * @returns -1 if the name is invalid or the value doesn't exist in this attribute.
   */
  ;

  _proto.offsetOf = function offsetOf(name) {
    var count = 1;

    var attributeSpaces = this._spacesFor("attribute");

    count += attributeSpaces.before.length;

    if (name === "namespace" || name === "ns") {
      return this.namespace ? count : -1;
    }

    if (name === "attributeNS") {
      return count;
    }

    count += this.namespaceString.length;

    if (this.namespace) {
      count += 1;
    }

    if (name === "attribute") {
      return count;
    }

    count += this.stringifyProperty("attribute").length;
    count += attributeSpaces.after.length;

    var operatorSpaces = this._spacesFor("operator");

    count += operatorSpaces.before.length;
    var operator = this.stringifyProperty("operator");

    if (name === "operator") {
      return operator ? count : -1;
    }

    count += operator.length;
    count += operatorSpaces.after.length;

    var valueSpaces = this._spacesFor("value");

    count += valueSpaces.before.length;
    var value = this.stringifyProperty("value");

    if (name === "value") {
      return value ? count : -1;
    }

    count += value.length;
    count += valueSpaces.after.length;

    var insensitiveSpaces = this._spacesFor("insensitive");

    count += insensitiveSpaces.before.length;

    if (name === "insensitive") {
      return this.insensitive ? count : -1;
    }

    return -1;
  };

  _proto.toString = function toString() {
    var _this2 = this;

    var selector = [this.rawSpaceBefore, '['];
    selector.push(this._stringFor('qualifiedAttribute', 'attribute'));

    if (this.operator && (this.value || this.value === '')) {
      selector.push(this._stringFor('operator'));
      selector.push(this._stringFor('value'));
      selector.push(this._stringFor('insensitiveFlag', 'insensitive', function (attrValue, attrSpaces) {
        if (attrValue.length > 0 && !_this2.quoted && attrSpaces.before.length === 0 && !(_this2.spaces.value && _this2.spaces.value.after)) {
          attrSpaces.before = " ";
        }

        return defaultAttrConcat(attrValue, attrSpaces);
      }));
    }

    selector.push(']');
    selector.push(this.rawSpaceAfter);
    return selector.join('');
  };

  _createClass(Attribute, [{
    key: "quoted",
    get: function get() {
      var qm = this.quoteMark;
      return qm === "'" || qm === '"';
    },
    set: function set(value) {
      warnOfDeprecatedQuotedAssignment();
    }
    /**
     * returns a single (`'`) or double (`"`) quote character if the value is quoted.
     * returns `null` if the value is not quoted.
     * returns `undefined` if the quotation state is unknown (this can happen when
     * the attribute is constructed without specifying a quote mark.)
     */

  }, {
    key: "quoteMark",
    get: function get() {
      return this._quoteMark;
    }
    /**
     * Set the quote mark to be used by this attribute's value.
     * If the quote mark changes, the raw (escaped) value at `attr.raws.value` of the attribute
     * value is updated accordingly.
     *
     * @param {"'" | '"' | null} quoteMark The quote mark or `null` if the value should be unquoted.
     */
    ,
    set: function set(quoteMark) {
      if (!this._constructed) {
        this._quoteMark = quoteMark;
        return;
      }

      if (this._quoteMark !== quoteMark) {
        this._quoteMark = quoteMark;

        this._syncRawValue();
      }
    }
  }, {
    key: "qualifiedAttribute",
    get: function get() {
      return this.qualifiedName(this.raws.attribute || this.attribute);
    }
  }, {
    key: "insensitiveFlag",
    get: function get() {
      return this.insensitive ? 'i' : '';
    }
  }, {
    key: "value",
    get: function get() {
      return this._value;
    }
    /**
     * Before 3.0, the value had to be set to an escaped value including any wrapped
     * quote marks. In 3.0, the semantics of `Attribute.value` changed so that the value
     * is unescaped during parsing and any quote marks are removed.
     *
     * Because the ambiguity of this semantic change, if you set `attr.value = newValue`,
     * a deprecation warning is raised when the new value contains any characters that would
     * require escaping (including if it contains wrapped quotes).
     *
     * Instead, you should call `attr.setValue(newValue, opts)` and pass options that describe
     * how the new value is quoted.
     */
    ,
    set: function set(v) {
      if (this._constructed) {
        var _unescapeValue2 = unescapeValue(v),
            deprecatedUsage = _unescapeValue2.deprecatedUsage,
            unescaped = _unescapeValue2.unescaped,
            quoteMark = _unescapeValue2.quoteMark;

        if (deprecatedUsage) {
          warnOfDeprecatedValueAssignment();
        }

        if (unescaped === this._value && quoteMark === this._quoteMark) {
          return;
        }

        this._value = unescaped;
        this._quoteMark = quoteMark;

        this._syncRawValue();
      } else {
        this._value = v;
      }
    }
  }, {
    key: "attribute",
    get: function get() {
      return this._attribute;
    },
    set: function set(name) {
      this._handleEscapes("attribute", name);

      this._attribute = name;
    }
  }]);

  return Attribute;
}(_namespace["default"]);

exports.default = Attribute;
Attribute.NO_QUOTE = null;
Attribute.SINGLE_QUOTE = "'";
Attribute.DOUBLE_QUOTE = '"';
var CSSESC_QUOTE_OPTIONS = (_CSSESC_QUOTE_OPTIONS = {
  "'": {
    quotes: 'single',
    wrap: true
  },
  '"': {
    quotes: 'double',
    wrap: true
  }
}, _CSSESC_QUOTE_OPTIONS[null] = {
  isIdentifier: true
}, _CSSESC_QUOTE_OPTIONS);

function defaultAttrConcat(attrValue, attrSpaces) {
  return "" + attrSpaces.before + attrValue + attrSpaces.after;
}

/***/ }),

/***/ 9780:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _cssesc = _interopRequireDefault(__nccwpck_require__(63120));

var _util = __nccwpck_require__(73621);

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var ClassName = /*#__PURE__*/function (_Node) {
  _inheritsLoose(ClassName, _Node);

  function ClassName(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;
    _this.type = _types.CLASS;
    _this._constructed = true;
    return _this;
  }

  var _proto = ClassName.prototype;

  _proto.valueToString = function valueToString() {
    return '.' + _Node.prototype.valueToString.call(this);
  };

  _createClass(ClassName, [{
    key: "value",
    get: function get() {
      return this._value;
    },
    set: function set(v) {
      if (this._constructed) {
        var escaped = (0, _cssesc["default"])(v, {
          isIdentifier: true
        });

        if (escaped !== v) {
          (0, _util.ensureObject)(this, "raws");
          this.raws.value = escaped;
        } else if (this.raws) {
          delete this.raws.value;
        }
      }

      this._value = v;
    }
  }]);

  return ClassName;
}(_node["default"]);

exports.default = ClassName;
module.exports = exports.default;

/***/ }),

/***/ 8765:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Combinator = /*#__PURE__*/function (_Node) {
  _inheritsLoose(Combinator, _Node);

  function Combinator(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;
    _this.type = _types.COMBINATOR;
    return _this;
  }

  return Combinator;
}(_node["default"]);

exports.default = Combinator;
module.exports = exports.default;

/***/ }),

/***/ 90974:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Comment = /*#__PURE__*/function (_Node) {
  _inheritsLoose(Comment, _Node);

  function Comment(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;
    _this.type = _types.COMMENT;
    return _this;
  }

  return Comment;
}(_node["default"]);

exports.default = Comment;
module.exports = exports.default;

/***/ }),

/***/ 55850:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.universal = exports.tag = exports.string = exports.selector = exports.root = exports.pseudo = exports.nesting = exports.id = exports.comment = exports.combinator = exports.className = exports.attribute = void 0;

var _attribute = _interopRequireDefault(__nccwpck_require__(49914));

var _className = _interopRequireDefault(__nccwpck_require__(9780));

var _combinator = _interopRequireDefault(__nccwpck_require__(8765));

var _comment = _interopRequireDefault(__nccwpck_require__(90974));

var _id = _interopRequireDefault(__nccwpck_require__(12050));

var _nesting = _interopRequireDefault(__nccwpck_require__(52821));

var _pseudo = _interopRequireDefault(__nccwpck_require__(28681));

var _root = _interopRequireDefault(__nccwpck_require__(74804));

var _selector = _interopRequireDefault(__nccwpck_require__(97370));

var _string = _interopRequireDefault(__nccwpck_require__(62391));

var _tag = _interopRequireDefault(__nccwpck_require__(99646));

var _universal = _interopRequireDefault(__nccwpck_require__(14843));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var attribute = function attribute(opts) {
  return new _attribute["default"](opts);
};

exports.attribute = attribute;

var className = function className(opts) {
  return new _className["default"](opts);
};

exports.className = className;

var combinator = function combinator(opts) {
  return new _combinator["default"](opts);
};

exports.combinator = combinator;

var comment = function comment(opts) {
  return new _comment["default"](opts);
};

exports.comment = comment;

var id = function id(opts) {
  return new _id["default"](opts);
};

exports.id = id;

var nesting = function nesting(opts) {
  return new _nesting["default"](opts);
};

exports.nesting = nesting;

var pseudo = function pseudo(opts) {
  return new _pseudo["default"](opts);
};

exports.pseudo = pseudo;

var root = function root(opts) {
  return new _root["default"](opts);
};

exports.root = root;

var selector = function selector(opts) {
  return new _selector["default"](opts);
};

exports.selector = selector;

var string = function string(opts) {
  return new _string["default"](opts);
};

exports.string = string;

var tag = function tag(opts) {
  return new _tag["default"](opts);
};

exports.tag = tag;

var universal = function universal(opts) {
  return new _universal["default"](opts);
};

exports.universal = universal;

/***/ }),

/***/ 37240:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var types = _interopRequireWildcard(__nccwpck_require__(86895));

function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Container = /*#__PURE__*/function (_Node) {
  _inheritsLoose(Container, _Node);

  function Container(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;

    if (!_this.nodes) {
      _this.nodes = [];
    }

    return _this;
  }

  var _proto = Container.prototype;

  _proto.append = function append(selector) {
    selector.parent = this;
    this.nodes.push(selector);
    return this;
  };

  _proto.prepend = function prepend(selector) {
    selector.parent = this;
    this.nodes.unshift(selector);
    return this;
  };

  _proto.at = function at(index) {
    return this.nodes[index];
  };

  _proto.index = function index(child) {
    if (typeof child === 'number') {
      return child;
    }

    return this.nodes.indexOf(child);
  };

  _proto.removeChild = function removeChild(child) {
    child = this.index(child);
    this.at(child).parent = undefined;
    this.nodes.splice(child, 1);
    var index;

    for (var id in this.indexes) {
      index = this.indexes[id];

      if (index >= child) {
        this.indexes[id] = index - 1;
      }
    }

    return this;
  };

  _proto.removeAll = function removeAll() {
    for (var _iterator = _createForOfIteratorHelperLoose(this.nodes), _step; !(_step = _iterator()).done;) {
      var node = _step.value;
      node.parent = undefined;
    }

    this.nodes = [];
    return this;
  };

  _proto.empty = function empty() {
    return this.removeAll();
  };

  _proto.insertAfter = function insertAfter(oldNode, newNode) {
    newNode.parent = this;
    var oldIndex = this.index(oldNode);
    this.nodes.splice(oldIndex + 1, 0, newNode);
    newNode.parent = this;
    var index;

    for (var id in this.indexes) {
      index = this.indexes[id];

      if (oldIndex <= index) {
        this.indexes[id] = index + 1;
      }
    }

    return this;
  };

  _proto.insertBefore = function insertBefore(oldNode, newNode) {
    newNode.parent = this;
    var oldIndex = this.index(oldNode);
    this.nodes.splice(oldIndex, 0, newNode);
    newNode.parent = this;
    var index;

    for (var id in this.indexes) {
      index = this.indexes[id];

      if (index <= oldIndex) {
        this.indexes[id] = index + 1;
      }
    }

    return this;
  };

  _proto._findChildAtPosition = function _findChildAtPosition(line, col) {
    var found = undefined;
    this.each(function (node) {
      if (node.atPosition) {
        var foundChild = node.atPosition(line, col);

        if (foundChild) {
          found = foundChild;
          return false;
        }
      } else if (node.isAtPosition(line, col)) {
        found = node;
        return false;
      }
    });
    return found;
  }
  /**
   * Return the most specific node at the line and column number given.
   * The source location is based on the original parsed location, locations aren't
   * updated as selector nodes are mutated.
   * 
   * Note that this location is relative to the location of the first character
   * of the selector, and not the location of the selector in the overall document
   * when used in conjunction with postcss.
   *
   * If not found, returns undefined.
   * @param {number} line The line number of the node to find. (1-based index)
   * @param {number} col  The column number of the node to find. (1-based index)
   */
  ;

  _proto.atPosition = function atPosition(line, col) {
    if (this.isAtPosition(line, col)) {
      return this._findChildAtPosition(line, col) || this;
    } else {
      return undefined;
    }
  };

  _proto._inferEndPosition = function _inferEndPosition() {
    if (this.last && this.last.source && this.last.source.end) {
      this.source = this.source || {};
      this.source.end = this.source.end || {};
      Object.assign(this.source.end, this.last.source.end);
    }
  };

  _proto.each = function each(callback) {
    if (!this.lastEach) {
      this.lastEach = 0;
    }

    if (!this.indexes) {
      this.indexes = {};
    }

    this.lastEach++;
    var id = this.lastEach;
    this.indexes[id] = 0;

    if (!this.length) {
      return undefined;
    }

    var index, result;

    while (this.indexes[id] < this.length) {
      index = this.indexes[id];
      result = callback(this.at(index), index);

      if (result === false) {
        break;
      }

      this.indexes[id] += 1;
    }

    delete this.indexes[id];

    if (result === false) {
      return false;
    }
  };

  _proto.walk = function walk(callback) {
    return this.each(function (node, i) {
      var result = callback(node, i);

      if (result !== false && node.length) {
        result = node.walk(callback);
      }

      if (result === false) {
        return false;
      }
    });
  };

  _proto.walkAttributes = function walkAttributes(callback) {
    var _this2 = this;

    return this.walk(function (selector) {
      if (selector.type === types.ATTRIBUTE) {
        return callback.call(_this2, selector);
      }
    });
  };

  _proto.walkClasses = function walkClasses(callback) {
    var _this3 = this;

    return this.walk(function (selector) {
      if (selector.type === types.CLASS) {
        return callback.call(_this3, selector);
      }
    });
  };

  _proto.walkCombinators = function walkCombinators(callback) {
    var _this4 = this;

    return this.walk(function (selector) {
      if (selector.type === types.COMBINATOR) {
        return callback.call(_this4, selector);
      }
    });
  };

  _proto.walkComments = function walkComments(callback) {
    var _this5 = this;

    return this.walk(function (selector) {
      if (selector.type === types.COMMENT) {
        return callback.call(_this5, selector);
      }
    });
  };

  _proto.walkIds = function walkIds(callback) {
    var _this6 = this;

    return this.walk(function (selector) {
      if (selector.type === types.ID) {
        return callback.call(_this6, selector);
      }
    });
  };

  _proto.walkNesting = function walkNesting(callback) {
    var _this7 = this;

    return this.walk(function (selector) {
      if (selector.type === types.NESTING) {
        return callback.call(_this7, selector);
      }
    });
  };

  _proto.walkPseudos = function walkPseudos(callback) {
    var _this8 = this;

    return this.walk(function (selector) {
      if (selector.type === types.PSEUDO) {
        return callback.call(_this8, selector);
      }
    });
  };

  _proto.walkTags = function walkTags(callback) {
    var _this9 = this;

    return this.walk(function (selector) {
      if (selector.type === types.TAG) {
        return callback.call(_this9, selector);
      }
    });
  };

  _proto.walkUniversals = function walkUniversals(callback) {
    var _this10 = this;

    return this.walk(function (selector) {
      if (selector.type === types.UNIVERSAL) {
        return callback.call(_this10, selector);
      }
    });
  };

  _proto.split = function split(callback) {
    var _this11 = this;

    var current = [];
    return this.reduce(function (memo, node, index) {
      var split = callback.call(_this11, node);
      current.push(node);

      if (split) {
        memo.push(current);
        current = [];
      } else if (index === _this11.length - 1) {
        memo.push(current);
      }

      return memo;
    }, []);
  };

  _proto.map = function map(callback) {
    return this.nodes.map(callback);
  };

  _proto.reduce = function reduce(callback, memo) {
    return this.nodes.reduce(callback, memo);
  };

  _proto.every = function every(callback) {
    return this.nodes.every(callback);
  };

  _proto.some = function some(callback) {
    return this.nodes.some(callback);
  };

  _proto.filter = function filter(callback) {
    return this.nodes.filter(callback);
  };

  _proto.sort = function sort(callback) {
    return this.nodes.sort(callback);
  };

  _proto.toString = function toString() {
    return this.map(String).join('');
  };

  _createClass(Container, [{
    key: "first",
    get: function get() {
      return this.at(0);
    }
  }, {
    key: "last",
    get: function get() {
      return this.at(this.length - 1);
    }
  }, {
    key: "length",
    get: function get() {
      return this.nodes.length;
    }
  }]);

  return Container;
}(_node["default"]);

exports.default = Container;
module.exports = exports.default;

/***/ }),

/***/ 5873:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.isNode = isNode;
exports.isPseudoElement = isPseudoElement;
exports.isPseudoClass = isPseudoClass;
exports.isContainer = isContainer;
exports.isNamespace = isNamespace;
exports.isUniversal = exports.isTag = exports.isString = exports.isSelector = exports.isRoot = exports.isPseudo = exports.isNesting = exports.isIdentifier = exports.isComment = exports.isCombinator = exports.isClassName = exports.isAttribute = void 0;

var _types = __nccwpck_require__(86895);

var _IS_TYPE;

var IS_TYPE = (_IS_TYPE = {}, _IS_TYPE[_types.ATTRIBUTE] = true, _IS_TYPE[_types.CLASS] = true, _IS_TYPE[_types.COMBINATOR] = true, _IS_TYPE[_types.COMMENT] = true, _IS_TYPE[_types.ID] = true, _IS_TYPE[_types.NESTING] = true, _IS_TYPE[_types.PSEUDO] = true, _IS_TYPE[_types.ROOT] = true, _IS_TYPE[_types.SELECTOR] = true, _IS_TYPE[_types.STRING] = true, _IS_TYPE[_types.TAG] = true, _IS_TYPE[_types.UNIVERSAL] = true, _IS_TYPE);

function isNode(node) {
  return typeof node === "object" && IS_TYPE[node.type];
}

function isNodeType(type, node) {
  return isNode(node) && node.type === type;
}

var isAttribute = isNodeType.bind(null, _types.ATTRIBUTE);
exports.isAttribute = isAttribute;
var isClassName = isNodeType.bind(null, _types.CLASS);
exports.isClassName = isClassName;
var isCombinator = isNodeType.bind(null, _types.COMBINATOR);
exports.isCombinator = isCombinator;
var isComment = isNodeType.bind(null, _types.COMMENT);
exports.isComment = isComment;
var isIdentifier = isNodeType.bind(null, _types.ID);
exports.isIdentifier = isIdentifier;
var isNesting = isNodeType.bind(null, _types.NESTING);
exports.isNesting = isNesting;
var isPseudo = isNodeType.bind(null, _types.PSEUDO);
exports.isPseudo = isPseudo;
var isRoot = isNodeType.bind(null, _types.ROOT);
exports.isRoot = isRoot;
var isSelector = isNodeType.bind(null, _types.SELECTOR);
exports.isSelector = isSelector;
var isString = isNodeType.bind(null, _types.STRING);
exports.isString = isString;
var isTag = isNodeType.bind(null, _types.TAG);
exports.isTag = isTag;
var isUniversal = isNodeType.bind(null, _types.UNIVERSAL);
exports.isUniversal = isUniversal;

function isPseudoElement(node) {
  return isPseudo(node) && node.value && (node.value.startsWith("::") || node.value.toLowerCase() === ":before" || node.value.toLowerCase() === ":after");
}

function isPseudoClass(node) {
  return isPseudo(node) && !isPseudoElement(node);
}

function isContainer(node) {
  return !!(isNode(node) && node.walk);
}

function isNamespace(node) {
  return isAttribute(node) || isTag(node);
}

/***/ }),

/***/ 12050:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var ID = /*#__PURE__*/function (_Node) {
  _inheritsLoose(ID, _Node);

  function ID(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;
    _this.type = _types.ID;
    return _this;
  }

  var _proto = ID.prototype;

  _proto.valueToString = function valueToString() {
    return '#' + _Node.prototype.valueToString.call(this);
  };

  return ID;
}(_node["default"]);

exports.default = ID;
module.exports = exports.default;

/***/ }),

/***/ 31483:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;

var _types = __nccwpck_require__(86895);

Object.keys(_types).forEach(function (key) {
  if (key === "default" || key === "__esModule") return;
  if (key in exports && exports[key] === _types[key]) return;
  exports[key] = _types[key];
});

var _constructors = __nccwpck_require__(55850);

Object.keys(_constructors).forEach(function (key) {
  if (key === "default" || key === "__esModule") return;
  if (key in exports && exports[key] === _constructors[key]) return;
  exports[key] = _constructors[key];
});

var _guards = __nccwpck_require__(5873);

Object.keys(_guards).forEach(function (key) {
  if (key === "default" || key === "__esModule") return;
  if (key in exports && exports[key] === _guards[key]) return;
  exports[key] = _guards[key];
});

/***/ }),

/***/ 65669:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _cssesc = _interopRequireDefault(__nccwpck_require__(63120));

var _util = __nccwpck_require__(73621);

var _node = _interopRequireDefault(__nccwpck_require__(83206));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Namespace = /*#__PURE__*/function (_Node) {
  _inheritsLoose(Namespace, _Node);

  function Namespace() {
    return _Node.apply(this, arguments) || this;
  }

  var _proto = Namespace.prototype;

  _proto.qualifiedName = function qualifiedName(value) {
    if (this.namespace) {
      return this.namespaceString + "|" + value;
    } else {
      return value;
    }
  };

  _proto.valueToString = function valueToString() {
    return this.qualifiedName(_Node.prototype.valueToString.call(this));
  };

  _createClass(Namespace, [{
    key: "namespace",
    get: function get() {
      return this._namespace;
    },
    set: function set(namespace) {
      if (namespace === true || namespace === "*" || namespace === "&") {
        this._namespace = namespace;

        if (this.raws) {
          delete this.raws.namespace;
        }

        return;
      }

      var escaped = (0, _cssesc["default"])(namespace, {
        isIdentifier: true
      });
      this._namespace = namespace;

      if (escaped !== namespace) {
        (0, _util.ensureObject)(this, "raws");
        this.raws.namespace = escaped;
      } else if (this.raws) {
        delete this.raws.namespace;
      }
    }
  }, {
    key: "ns",
    get: function get() {
      return this._namespace;
    },
    set: function set(namespace) {
      this.namespace = namespace;
    }
  }, {
    key: "namespaceString",
    get: function get() {
      if (this.namespace) {
        var ns = this.stringifyProperty("namespace");

        if (ns === true) {
          return '';
        } else {
          return ns;
        }
      } else {
        return '';
      }
    }
  }]);

  return Namespace;
}(_node["default"]);

exports.default = Namespace;
;
module.exports = exports.default;

/***/ }),

/***/ 52821:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Nesting = /*#__PURE__*/function (_Node) {
  _inheritsLoose(Nesting, _Node);

  function Nesting(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;
    _this.type = _types.NESTING;
    _this.value = '&';
    return _this;
  }

  return Nesting;
}(_node["default"]);

exports.default = Nesting;
module.exports = exports.default;

/***/ }),

/***/ 83206:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _util = __nccwpck_require__(73621);

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var cloneNode = function cloneNode(obj, parent) {
  if (typeof obj !== 'object' || obj === null) {
    return obj;
  }

  var cloned = new obj.constructor();

  for (var i in obj) {
    if (!obj.hasOwnProperty(i)) {
      continue;
    }

    var value = obj[i];
    var type = typeof value;

    if (i === 'parent' && type === 'object') {
      if (parent) {
        cloned[i] = parent;
      }
    } else if (value instanceof Array) {
      cloned[i] = value.map(function (j) {
        return cloneNode(j, cloned);
      });
    } else {
      cloned[i] = cloneNode(value, cloned);
    }
  }

  return cloned;
};

var Node = /*#__PURE__*/function () {
  function Node(opts) {
    if (opts === void 0) {
      opts = {};
    }

    Object.assign(this, opts);
    this.spaces = this.spaces || {};
    this.spaces.before = this.spaces.before || '';
    this.spaces.after = this.spaces.after || '';
  }

  var _proto = Node.prototype;

  _proto.remove = function remove() {
    if (this.parent) {
      this.parent.removeChild(this);
    }

    this.parent = undefined;
    return this;
  };

  _proto.replaceWith = function replaceWith() {
    if (this.parent) {
      for (var index in arguments) {
        this.parent.insertBefore(this, arguments[index]);
      }

      this.remove();
    }

    return this;
  };

  _proto.next = function next() {
    return this.parent.at(this.parent.index(this) + 1);
  };

  _proto.prev = function prev() {
    return this.parent.at(this.parent.index(this) - 1);
  };

  _proto.clone = function clone(overrides) {
    if (overrides === void 0) {
      overrides = {};
    }

    var cloned = cloneNode(this);

    for (var name in overrides) {
      cloned[name] = overrides[name];
    }

    return cloned;
  }
  /**
   * Some non-standard syntax doesn't follow normal escaping rules for css.
   * This allows non standard syntax to be appended to an existing property
   * by specifying the escaped value. By specifying the escaped value,
   * illegal characters are allowed to be directly inserted into css output.
   * @param {string} name the property to set
   * @param {any} value the unescaped value of the property
   * @param {string} valueEscaped optional. the escaped value of the property.
   */
  ;

  _proto.appendToPropertyAndEscape = function appendToPropertyAndEscape(name, value, valueEscaped) {
    if (!this.raws) {
      this.raws = {};
    }

    var originalValue = this[name];
    var originalEscaped = this.raws[name];
    this[name] = originalValue + value; // this may trigger a setter that updates raws, so it has to be set first.

    if (originalEscaped || valueEscaped !== value) {
      this.raws[name] = (originalEscaped || originalValue) + valueEscaped;
    } else {
      delete this.raws[name]; // delete any escaped value that was created by the setter.
    }
  }
  /**
   * Some non-standard syntax doesn't follow normal escaping rules for css.
   * This allows the escaped value to be specified directly, allowing illegal
   * characters to be directly inserted into css output.
   * @param {string} name the property to set
   * @param {any} value the unescaped value of the property
   * @param {string} valueEscaped the escaped value of the property.
   */
  ;

  _proto.setPropertyAndEscape = function setPropertyAndEscape(name, value, valueEscaped) {
    if (!this.raws) {
      this.raws = {};
    }

    this[name] = value; // this may trigger a setter that updates raws, so it has to be set first.

    this.raws[name] = valueEscaped;
  }
  /**
   * When you want a value to passed through to CSS directly. This method
   * deletes the corresponding raw value causing the stringifier to fallback
   * to the unescaped value.
   * @param {string} name the property to set.
   * @param {any} value The value that is both escaped and unescaped.
   */
  ;

  _proto.setPropertyWithoutEscape = function setPropertyWithoutEscape(name, value) {
    this[name] = value; // this may trigger a setter that updates raws, so it has to be set first.

    if (this.raws) {
      delete this.raws[name];
    }
  }
  /**
   *
   * @param {number} line The number (starting with 1)
   * @param {number} column The column number (starting with 1)
   */
  ;

  _proto.isAtPosition = function isAtPosition(line, column) {
    if (this.source && this.source.start && this.source.end) {
      if (this.source.start.line > line) {
        return false;
      }

      if (this.source.end.line < line) {
        return false;
      }

      if (this.source.start.line === line && this.source.start.column > column) {
        return false;
      }

      if (this.source.end.line === line && this.source.end.column < column) {
        return false;
      }

      return true;
    }

    return undefined;
  };

  _proto.stringifyProperty = function stringifyProperty(name) {
    return this.raws && this.raws[name] || this[name];
  };

  _proto.valueToString = function valueToString() {
    return String(this.stringifyProperty("value"));
  };

  _proto.toString = function toString() {
    return [this.rawSpaceBefore, this.valueToString(), this.rawSpaceAfter].join('');
  };

  _createClass(Node, [{
    key: "rawSpaceBefore",
    get: function get() {
      var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.before;

      if (rawSpace === undefined) {
        rawSpace = this.spaces && this.spaces.before;
      }

      return rawSpace || "";
    },
    set: function set(raw) {
      (0, _util.ensureObject)(this, "raws", "spaces");
      this.raws.spaces.before = raw;
    }
  }, {
    key: "rawSpaceAfter",
    get: function get() {
      var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.after;

      if (rawSpace === undefined) {
        rawSpace = this.spaces.after;
      }

      return rawSpace || "";
    },
    set: function set(raw) {
      (0, _util.ensureObject)(this, "raws", "spaces");
      this.raws.spaces.after = raw;
    }
  }]);

  return Node;
}();

exports.default = Node;
module.exports = exports.default;

/***/ }),

/***/ 28681:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _container = _interopRequireDefault(__nccwpck_require__(37240));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Pseudo = /*#__PURE__*/function (_Container) {
  _inheritsLoose(Pseudo, _Container);

  function Pseudo(opts) {
    var _this;

    _this = _Container.call(this, opts) || this;
    _this.type = _types.PSEUDO;
    return _this;
  }

  var _proto = Pseudo.prototype;

  _proto.toString = function toString() {
    var params = this.length ? '(' + this.map(String).join(',') + ')' : '';
    return [this.rawSpaceBefore, this.stringifyProperty("value"), params, this.rawSpaceAfter].join('');
  };

  return Pseudo;
}(_container["default"]);

exports.default = Pseudo;
module.exports = exports.default;

/***/ }),

/***/ 74804:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _container = _interopRequireDefault(__nccwpck_require__(37240));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Root = /*#__PURE__*/function (_Container) {
  _inheritsLoose(Root, _Container);

  function Root(opts) {
    var _this;

    _this = _Container.call(this, opts) || this;
    _this.type = _types.ROOT;
    return _this;
  }

  var _proto = Root.prototype;

  _proto.toString = function toString() {
    var str = this.reduce(function (memo, selector) {
      memo.push(String(selector));
      return memo;
    }, []).join(',');
    return this.trailingComma ? str + ',' : str;
  };

  _proto.error = function error(message, options) {
    if (this._error) {
      return this._error(message, options);
    } else {
      return new Error(message);
    }
  };

  _createClass(Root, [{
    key: "errorGenerator",
    set: function set(handler) {
      this._error = handler;
    }
  }]);

  return Root;
}(_container["default"]);

exports.default = Root;
module.exports = exports.default;

/***/ }),

/***/ 97370:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _container = _interopRequireDefault(__nccwpck_require__(37240));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Selector = /*#__PURE__*/function (_Container) {
  _inheritsLoose(Selector, _Container);

  function Selector(opts) {
    var _this;

    _this = _Container.call(this, opts) || this;
    _this.type = _types.SELECTOR;
    return _this;
  }

  return Selector;
}(_container["default"]);

exports.default = Selector;
module.exports = exports.default;

/***/ }),

/***/ 62391:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _node = _interopRequireDefault(__nccwpck_require__(83206));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var String = /*#__PURE__*/function (_Node) {
  _inheritsLoose(String, _Node);

  function String(opts) {
    var _this;

    _this = _Node.call(this, opts) || this;
    _this.type = _types.STRING;
    return _this;
  }

  return String;
}(_node["default"]);

exports.default = String;
module.exports = exports.default;

/***/ }),

/***/ 99646:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _namespace = _interopRequireDefault(__nccwpck_require__(65669));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Tag = /*#__PURE__*/function (_Namespace) {
  _inheritsLoose(Tag, _Namespace);

  function Tag(opts) {
    var _this;

    _this = _Namespace.call(this, opts) || this;
    _this.type = _types.TAG;
    return _this;
  }

  return Tag;
}(_namespace["default"]);

exports.default = Tag;
module.exports = exports.default;

/***/ }),

/***/ 86895:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.__esModule = true;
exports.UNIVERSAL = exports.ATTRIBUTE = exports.CLASS = exports.COMBINATOR = exports.COMMENT = exports.ID = exports.NESTING = exports.PSEUDO = exports.ROOT = exports.SELECTOR = exports.STRING = exports.TAG = void 0;
var TAG = 'tag';
exports.TAG = TAG;
var STRING = 'string';
exports.STRING = STRING;
var SELECTOR = 'selector';
exports.SELECTOR = SELECTOR;
var ROOT = 'root';
exports.ROOT = ROOT;
var PSEUDO = 'pseudo';
exports.PSEUDO = PSEUDO;
var NESTING = 'nesting';
exports.NESTING = NESTING;
var ID = 'id';
exports.ID = ID;
var COMMENT = 'comment';
exports.COMMENT = COMMENT;
var COMBINATOR = 'combinator';
exports.COMBINATOR = COMBINATOR;
var CLASS = 'class';
exports.CLASS = CLASS;
var ATTRIBUTE = 'attribute';
exports.ATTRIBUTE = ATTRIBUTE;
var UNIVERSAL = 'universal';
exports.UNIVERSAL = UNIVERSAL;

/***/ }),

/***/ 14843:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = void 0;

var _namespace = _interopRequireDefault(__nccwpck_require__(65669));

var _types = __nccwpck_require__(86895);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

var Universal = /*#__PURE__*/function (_Namespace) {
  _inheritsLoose(Universal, _Namespace);

  function Universal(opts) {
    var _this;

    _this = _Namespace.call(this, opts) || this;
    _this.type = _types.UNIVERSAL;
    _this.value = '*';
    return _this;
  }

  return Universal;
}(_namespace["default"]);

exports.default = Universal;
module.exports = exports.default;

/***/ }),

/***/ 18520:
/***/ ((module, exports) => {

"use strict";


exports.__esModule = true;
exports.default = sortAscending;

function sortAscending(list) {
  return list.sort(function (a, b) {
    return a - b;
  });
}

;
module.exports = exports.default;

/***/ }),

/***/ 26684:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.__esModule = true;
exports.combinator = exports.word = exports.comment = exports.str = exports.tab = exports.newline = exports.feed = exports.cr = exports.backslash = exports.bang = exports.slash = exports.doubleQuote = exports.singleQuote = exports.space = exports.greaterThan = exports.pipe = exports.equals = exports.plus = exports.caret = exports.tilde = exports.dollar = exports.closeSquare = exports.openSquare = exports.closeParenthesis = exports.openParenthesis = exports.semicolon = exports.colon = exports.comma = exports.at = exports.asterisk = exports.ampersand = void 0;
var ampersand = 38; // `&`.charCodeAt(0);

exports.ampersand = ampersand;
var asterisk = 42; // `*`.charCodeAt(0);

exports.asterisk = asterisk;
var at = 64; // `@`.charCodeAt(0);

exports.at = at;
var comma = 44; // `,`.charCodeAt(0);

exports.comma = comma;
var colon = 58; // `:`.charCodeAt(0);

exports.colon = colon;
var semicolon = 59; // `;`.charCodeAt(0);

exports.semicolon = semicolon;
var openParenthesis = 40; // `(`.charCodeAt(0);

exports.openParenthesis = openParenthesis;
var closeParenthesis = 41; // `)`.charCodeAt(0);

exports.closeParenthesis = closeParenthesis;
var openSquare = 91; // `[`.charCodeAt(0);

exports.openSquare = openSquare;
var closeSquare = 93; // `]`.charCodeAt(0);

exports.closeSquare = closeSquare;
var dollar = 36; // `$`.charCodeAt(0);

exports.dollar = dollar;
var tilde = 126; // `~`.charCodeAt(0);

exports.tilde = tilde;
var caret = 94; // `^`.charCodeAt(0);

exports.caret = caret;
var plus = 43; // `+`.charCodeAt(0);

exports.plus = plus;
var equals = 61; // `=`.charCodeAt(0);

exports.equals = equals;
var pipe = 124; // `|`.charCodeAt(0);

exports.pipe = pipe;
var greaterThan = 62; // `>`.charCodeAt(0);

exports.greaterThan = greaterThan;
var space = 32; // ` `.charCodeAt(0);

exports.space = space;
var singleQuote = 39; // `'`.charCodeAt(0);

exports.singleQuote = singleQuote;
var doubleQuote = 34; // `"`.charCodeAt(0);

exports.doubleQuote = doubleQuote;
var slash = 47; // `/`.charCodeAt(0);

exports.slash = slash;
var bang = 33; // `!`.charCodeAt(0);

exports.bang = bang;
var backslash = 92; // '\\'.charCodeAt(0);

exports.backslash = backslash;
var cr = 13; // '\r'.charCodeAt(0);

exports.cr = cr;
var feed = 12; // '\f'.charCodeAt(0);

exports.feed = feed;
var newline = 10; // '\n'.charCodeAt(0);

exports.newline = newline;
var tab = 9; // '\t'.charCodeAt(0);
// Expose aliases primarily for readability.

exports.tab = tab;
var str = singleQuote; // No good single character representation!

exports.str = str;
var comment = -1;
exports.comment = comment;
var word = -2;
exports.word = word;
var combinator = -3;
exports.combinator = combinator;

/***/ }),

/***/ 53370:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.default = tokenize;
exports.FIELDS = void 0;

var t = _interopRequireWildcard(__nccwpck_require__(26684));

var _unescapable, _wordDelimiters;

function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

var unescapable = (_unescapable = {}, _unescapable[t.tab] = true, _unescapable[t.newline] = true, _unescapable[t.cr] = true, _unescapable[t.feed] = true, _unescapable);
var wordDelimiters = (_wordDelimiters = {}, _wordDelimiters[t.space] = true, _wordDelimiters[t.tab] = true, _wordDelimiters[t.newline] = true, _wordDelimiters[t.cr] = true, _wordDelimiters[t.feed] = true, _wordDelimiters[t.ampersand] = true, _wordDelimiters[t.asterisk] = true, _wordDelimiters[t.bang] = true, _wordDelimiters[t.comma] = true, _wordDelimiters[t.colon] = true, _wordDelimiters[t.semicolon] = true, _wordDelimiters[t.openParenthesis] = true, _wordDelimiters[t.closeParenthesis] = true, _wordDelimiters[t.openSquare] = true, _wordDelimiters[t.closeSquare] = true, _wordDelimiters[t.singleQuote] = true, _wordDelimiters[t.doubleQuote] = true, _wordDelimiters[t.plus] = true, _wordDelimiters[t.pipe] = true, _wordDelimiters[t.tilde] = true, _wordDelimiters[t.greaterThan] = true, _wordDelimiters[t.equals] = true, _wordDelimiters[t.dollar] = true, _wordDelimiters[t.caret] = true, _wordDelimiters[t.slash] = true, _wordDelimiters);
var hex = {};
var hexChars = "0123456789abcdefABCDEF";

for (var i = 0; i < hexChars.length; i++) {
  hex[hexChars.charCodeAt(i)] = true;
}
/**
 *  Returns the last index of the bar css word
 * @param {string} css The string in which the word begins
 * @param {number} start The index into the string where word's first letter occurs
 */


function consumeWord(css, start) {
  var next = start;
  var code;

  do {
    code = css.charCodeAt(next);

    if (wordDelimiters[code]) {
      return next - 1;
    } else if (code === t.backslash) {
      next = consumeEscape(css, next) + 1;
    } else {
      // All other characters are part of the word
      next++;
    }
  } while (next < css.length);

  return next - 1;
}
/**
 *  Returns the last index of the escape sequence
 * @param {string} css The string in which the sequence begins
 * @param {number} start The index into the string where escape character (`\`) occurs.
 */


function consumeEscape(css, start) {
  var next = start;
  var code = css.charCodeAt(next + 1);

  if (unescapable[code]) {// just consume the escape char
  } else if (hex[code]) {
    var hexDigits = 0; // consume up to 6 hex chars

    do {
      next++;
      hexDigits++;
      code = css.charCodeAt(next + 1);
    } while (hex[code] && hexDigits < 6); // if fewer than 6 hex chars, a trailing space ends the escape


    if (hexDigits < 6 && code === t.space) {
      next++;
    }
  } else {
    // the next char is part of the current word
    next++;
  }

  return next;
}

var FIELDS = {
  TYPE: 0,
  START_LINE: 1,
  START_COL: 2,
  END_LINE: 3,
  END_COL: 4,
  START_POS: 5,
  END_POS: 6
};
exports.FIELDS = FIELDS;

function tokenize(input) {
  var tokens = [];
  var css = input.css.valueOf();
  var _css = css,
      length = _css.length;
  var offset = -1;
  var line = 1;
  var start = 0;
  var end = 0;
  var code, content, endColumn, endLine, escaped, escapePos, last, lines, next, nextLine, nextOffset, quote, tokenType;

  function unclosed(what, fix) {
    if (input.safe) {
      // fyi: this is never set to true.
      css += fix;
      next = css.length - 1;
    } else {
      throw input.error('Unclosed ' + what, line, start - offset, start);
    }
  }

  while (start < length) {
    code = css.charCodeAt(start);

    if (code === t.newline) {
      offset = start;
      line += 1;
    }

    switch (code) {
      case t.space:
      case t.tab:
      case t.newline:
      case t.cr:
      case t.feed:
        next = start;

        do {
          next += 1;
          code = css.charCodeAt(next);

          if (code === t.newline) {
            offset = next;
            line += 1;
          }
        } while (code === t.space || code === t.newline || code === t.tab || code === t.cr || code === t.feed);

        tokenType = t.space;
        endLine = line;
        endColumn = next - offset - 1;
        end = next;
        break;

      case t.plus:
      case t.greaterThan:
      case t.tilde:
      case t.pipe:
        next = start;

        do {
          next += 1;
          code = css.charCodeAt(next);
        } while (code === t.plus || code === t.greaterThan || code === t.tilde || code === t.pipe);

        tokenType = t.combinator;
        endLine = line;
        endColumn = start - offset;
        end = next;
        break;
      // Consume these characters as single tokens.

      case t.asterisk:
      case t.ampersand:
      case t.bang:
      case t.comma:
      case t.equals:
      case t.dollar:
      case t.caret:
      case t.openSquare:
      case t.closeSquare:
      case t.colon:
      case t.semicolon:
      case t.openParenthesis:
      case t.closeParenthesis:
        next = start;
        tokenType = code;
        endLine = line;
        endColumn = start - offset;
        end = next + 1;
        break;

      case t.singleQuote:
      case t.doubleQuote:
        quote = code === t.singleQuote ? "'" : '"';
        next = start;

        do {
          escaped = false;
          next = css.indexOf(quote, next + 1);

          if (next === -1) {
            unclosed('quote', quote);
          }

          escapePos = next;

          while (css.charCodeAt(escapePos - 1) === t.backslash) {
            escapePos -= 1;
            escaped = !escaped;
          }
        } while (escaped);

        tokenType = t.str;
        endLine = line;
        endColumn = start - offset;
        end = next + 1;
        break;

      default:
        if (code === t.slash && css.charCodeAt(start + 1) === t.asterisk) {
          next = css.indexOf('*/', start + 2) + 1;

          if (next === 0) {
            unclosed('comment', '*/');
          }

          content = css.slice(start, next + 1);
          lines = content.split('\n');
          last = lines.length - 1;

          if (last > 0) {
            nextLine = line + last;
            nextOffset = next - lines[last].length;
          } else {
            nextLine = line;
            nextOffset = offset;
          }

          tokenType = t.comment;
          line = nextLine;
          endLine = nextLine;
          endColumn = next - nextOffset;
        } else if (code === t.slash) {
          next = start;
          tokenType = code;
          endLine = line;
          endColumn = start - offset;
          end = next + 1;
        } else {
          next = consumeWord(css, start);
          tokenType = t.word;
          endLine = line;
          endColumn = next - offset;
        }

        end = next + 1;
        break;
    } // Ensure that the token structure remains consistent


    tokens.push([tokenType, // [0] Token type
    line, // [1] Starting line
    start - offset, // [2] Starting column
    endLine, // [3] Ending line
    endColumn, // [4] Ending column
    start, // [5] Start position / Source index
    end // [6] End position
    ]); // Reset offset for the next token

    if (nextOffset) {
      offset = nextOffset;
      nextOffset = null;
    }

    start = end;
  }

  return tokens;
}

/***/ }),

/***/ 23573:
/***/ ((module, exports) => {

"use strict";


exports.__esModule = true;
exports.default = ensureObject;

function ensureObject(obj) {
  for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
    props[_key - 1] = arguments[_key];
  }

  while (props.length > 0) {
    var prop = props.shift();

    if (!obj[prop]) {
      obj[prop] = {};
    }

    obj = obj[prop];
  }
}

module.exports = exports.default;

/***/ }),

/***/ 83514:
/***/ ((module, exports) => {

"use strict";


exports.__esModule = true;
exports.default = getProp;

function getProp(obj) {
  for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
    props[_key - 1] = arguments[_key];
  }

  while (props.length > 0) {
    var prop = props.shift();

    if (!obj[prop]) {
      return undefined;
    }

    obj = obj[prop];
  }

  return obj;
}

module.exports = exports.default;

/***/ }),

/***/ 73621:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.__esModule = true;
exports.stripComments = exports.ensureObject = exports.getProp = exports.unesc = void 0;

var _unesc = _interopRequireDefault(__nccwpck_require__(2897));

exports.unesc = _unesc["default"];

var _getProp = _interopRequireDefault(__nccwpck_require__(83514));

exports.getProp = _getProp["default"];

var _ensureObject = _interopRequireDefault(__nccwpck_require__(23573));

exports.ensureObject = _ensureObject["default"];

var _stripComments = _interopRequireDefault(__nccwpck_require__(37142));

exports.stripComments = _stripComments["default"];

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

/***/ }),

/***/ 37142:
/***/ ((module, exports) => {

"use strict";


exports.__esModule = true;
exports.default = stripComments;

function stripComments(str) {
  var s = "";
  var commentStart = str.indexOf("/*");
  var lastEnd = 0;

  while (commentStart >= 0) {
    s = s + str.slice(lastEnd, commentStart);
    var commentEnd = str.indexOf("*/", commentStart + 2);

    if (commentEnd < 0) {
      return s;
    }

    lastEnd = commentEnd + 2;
    commentStart = str.indexOf("/*", lastEnd);
  }

  s = s + str.slice(lastEnd);
  return s;
}

module.exports = exports.default;

/***/ }),

/***/ 2897:
/***/ ((module, exports) => {

"use strict";


exports.__esModule = true;
exports.default = unesc;

// Many thanks for this post which made this migration much easier.
// https://mathiasbynens.be/notes/css-escapes

/**
 * 
 * @param {string} str 
 * @returns {[string, number]|undefined}
 */
function gobbleHex(str) {
  var lower = str.toLowerCase();
  var hex = '';
  var spaceTerminated = false;

  for (var i = 0; i < 6 && lower[i] !== undefined; i++) {
    var code = lower.charCodeAt(i); // check to see if we are dealing with a valid hex char [a-f|0-9]

    var valid = code >= 97 && code <= 102 || code >= 48 && code <= 57; // https://drafts.csswg.org/css-syntax/#consume-escaped-code-point

    spaceTerminated = code === 32;

    if (!valid) {
      break;
    }

    hex += lower[i];
  }

  if (hex.length === 0) {
    return undefined;
  }

  var codePoint = parseInt(hex, 16);
  var isSurrogate = codePoint >= 0xD800 && codePoint <= 0xDFFF; // Add special case for
  // "If this number is zero, or is for a surrogate, or is greater than the maximum allowed code point"
  // https://drafts.csswg.org/css-syntax/#maximum-allowed-code-point

  if (isSurrogate || codePoint === 0x0000 || codePoint > 0x10FFFF) {
    return ["\uFFFD", hex.length + (spaceTerminated ? 1 : 0)];
  }

  return [String.fromCodePoint(codePoint), hex.length + (spaceTerminated ? 1 : 0)];
}

var CONTAINS_ESCAPE = /\\/;

function unesc(str) {
  var needToProcess = CONTAINS_ESCAPE.test(str);

  if (!needToProcess) {
    return str;
  }

  var ret = "";

  for (var i = 0; i < str.length; i++) {
    if (str[i] === "\\") {
      var gobbled = gobbleHex(str.slice(i + 1, i + 7));

      if (gobbled !== undefined) {
        ret += gobbled[0];
        i += gobbled[1];
        continue;
      } // Retain a pair of \\ if double escaped `\\\\`
      // https://github.com/postcss/postcss-selector-parser/commit/268c9a7656fb53f543dc620aa5b73a30ec3ff20e


      if (str[i + 1] === "\\") {
        ret += "\\";
        i++;
        continue;
      } // if \\ is at the end of the string retain it
      // https://github.com/postcss/postcss-selector-parser/commit/01a6b346e3612ce1ab20219acc26abdc259ccefb


      if (str.length === i + 1) {
        ret += str[i];
      }

      continue;
    }

    ret += str[i];
  }

  return ret;
}

module.exports = exports.default;

/***/ }),

/***/ 8762:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssValueParser = _interopRequireDefault(__nccwpck_require__(19285));

var _svgo = __nccwpck_require__(3921);

var _url = __nccwpck_require__(26370);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const PLUGIN = 'postcss-svgo';
const dataURI = /data:image\/svg\+xml(;((charset=)?utf-8|base64))?,/i;
const dataURIBase64 = /data:image\/svg\+xml;base64,/i;
/**
 * @param {string} input the SVG string
 * @param {boolean} encode whether to encode the result
 * @return {object} the minification result
 */

function minifySVG(input, opts) {
  let svg = input;
  let decodedUri, isUriEncoded;

  try {
    decodedUri = (0, _url.decode)(input);
    isUriEncoded = decodedUri !== input;
  } catch (e) {
    // Swallow exception if we cannot decode the value
    isUriEncoded = false;
  }

  if (isUriEncoded) {
    svg = decodedUri;
  }

  if (opts.encode !== undefined) {
    isUriEncoded = opts.encode;
  }

  const result = (0, _svgo.optimize)(svg, opts);

  if (result.error) {
    throw new Error(result.error);
  }

  return {
    result: result.data,
    isUriEncoded
  };
}

function minify(decl, opts, postcssResult) {
  const parsed = (0, _postcssValueParser.default)(decl.value);
  decl.value = parsed.walk(node => {
    if (node.type !== 'function' || node.value.toLowerCase() !== 'url' || !node.nodes.length) {
      return;
    }

    let {
      value,
      quote
    } = node.nodes[0];
    let optimizedValue;

    try {
      if (dataURIBase64.test(value)) {
        const url = new URL(value);
        const base64String = `${url.protocol}${url.pathname}`.replace(dataURI, '');
        const svg = Buffer.from(base64String, 'base64').toString('utf8');
        const {
          result
        } = minifySVG(svg, opts);
        const data = Buffer.from(result).toString('base64');
        optimizedValue = 'data:image/svg+xml;base64,' + data + url.hash;
      } else if (dataURI.test(value)) {
        const svg = value.replace(dataURI, '');
        const {
          result,
          isUriEncoded
        } = minifySVG(svg, opts);
        let data = isUriEncoded ? (0, _url.encode)(result) : result; // Should always encode # otherwise we yield a broken SVG
        // in Firefox (works in Chrome however). See this issue:
        // https://github.com/cssnano/cssnano/issues/245

        data = data.replace(/#/g, '%23');
        optimizedValue = 'data:image/svg+xml;charset=utf-8,' + data;
        quote = isUriEncoded ? '"' : "'";
      } else {
        return;
      }
    } catch (error) {
      decl.warn(postcssResult, `${error}`);
      return;
    }

    node.nodes[0] = Object.assign({}, node.nodes[0], {
      value: optimizedValue,
      quote: quote,
      type: 'string',
      before: '',
      after: ''
    });
    return false;
  });
  decl.value = decl.value.toString();
}

function pluginCreator(opts = {}) {
  return {
    postcssPlugin: PLUGIN,

    OnceExit(css, {
      result
    }) {
      css.walkDecls(decl => {
        if (!dataURI.test(decl.value)) {
          return;
        }

        minify(decl, opts, result);
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 26370:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.encode = encode;
exports.decode = void 0;

function encode(data) {
  return data.replace(/"/g, "'").replace(/%/g, '%25').replace(/</g, '%3C').replace(/>/g, '%3E').replace(/&/g, '%26').replace(/#/g, '%23').replace(/\s+/g, ' ');
}

const decode = decodeURIComponent;
exports.decode = decode;

/***/ }),

/***/ 17998:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _alphanumSort = _interopRequireDefault(__nccwpck_require__(37910));

var _uniqs = _interopRequireDefault(__nccwpck_require__(53260));

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function parseSelectors(selectors, callback) {
  return (0, _postcssSelectorParser.default)(callback).processSync(selectors);
}

function unique(rule) {
  rule.selector = (0, _alphanumSort.default)((0, _uniqs.default)(rule.selectors), {
    insensitive: true
  }).join();
}

function pluginCreator() {
  return {
    postcssPlugin: 'postcss-unique-selectors',

    OnceExit(css) {
      css.walkRules(nodes => {
        let comments = [];
        nodes.selector = parseSelectors(nodes.selector, selNode => {
          selNode.walk(sel => {
            if (sel.type === 'comment') {
              comments.push(sel.value);
              sel.remove();
              return;
            } else {
              return sel;
            }
          });
        });
        unique(nodes);
        nodes.selectors = nodes.selectors.concat(comments);
      });
    }

  };
}

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 19285:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

var parse = __nccwpck_require__(75920);
var walk = __nccwpck_require__(69987);
var stringify = __nccwpck_require__(27952);

function ValueParser(value) {
  if (this instanceof ValueParser) {
    this.nodes = parse(value);
    return this;
  }
  return new ValueParser(value);
}

ValueParser.prototype.toString = function() {
  return Array.isArray(this.nodes) ? stringify(this.nodes) : "";
};

ValueParser.prototype.walk = function(cb, bubble) {
  walk(this.nodes, cb, bubble);
  return this;
};

ValueParser.unit = __nccwpck_require__(45148);

ValueParser.walk = walk;

ValueParser.stringify = stringify;

module.exports = ValueParser;


/***/ }),

/***/ 75920:
/***/ ((module) => {

var openParentheses = "(".charCodeAt(0);
var closeParentheses = ")".charCodeAt(0);
var singleQuote = "'".charCodeAt(0);
var doubleQuote = '"'.charCodeAt(0);
var backslash = "\\".charCodeAt(0);
var slash = "/".charCodeAt(0);
var comma = ",".charCodeAt(0);
var colon = ":".charCodeAt(0);
var star = "*".charCodeAt(0);
var uLower = "u".charCodeAt(0);
var uUpper = "U".charCodeAt(0);
var plus = "+".charCodeAt(0);
var isUnicodeRange = /^[a-f0-9?-]+$/i;

module.exports = function(input) {
  var tokens = [];
  var value = input;

  var next,
    quote,
    prev,
    token,
    escape,
    escapePos,
    whitespacePos,
    parenthesesOpenPos;
  var pos = 0;
  var code = value.charCodeAt(pos);
  var max = value.length;
  var stack = [{ nodes: tokens }];
  var balanced = 0;
  var parent;

  var name = "";
  var before = "";
  var after = "";

  while (pos < max) {
    // Whitespaces
    if (code <= 32) {
      next = pos;
      do {
        next += 1;
        code = value.charCodeAt(next);
      } while (code <= 32);
      token = value.slice(pos, next);

      prev = tokens[tokens.length - 1];
      if (code === closeParentheses && balanced) {
        after = token;
      } else if (prev && prev.type === "div") {
        prev.after = token;
      } else if (
        code === comma ||
        code === colon ||
        (code === slash &&
          value.charCodeAt(next + 1) !== star &&
          (!parent ||
            (parent && parent.type === "function" && parent.value !== "calc")))
      ) {
        before = token;
      } else {
        tokens.push({
          type: "space",
          sourceIndex: pos,
          value: token
        });
      }

      pos = next;

      // Quotes
    } else if (code === singleQuote || code === doubleQuote) {
      next = pos;
      quote = code === singleQuote ? "'" : '"';
      token = {
        type: "string",
        sourceIndex: pos,
        quote: quote
      };
      do {
        escape = false;
        next = value.indexOf(quote, next + 1);
        if (~next) {
          escapePos = next;
          while (value.charCodeAt(escapePos - 1) === backslash) {
            escapePos -= 1;
            escape = !escape;
          }
        } else {
          value += quote;
          next = value.length - 1;
          token.unclosed = true;
        }
      } while (escape);
      token.value = value.slice(pos + 1, next);

      tokens.push(token);
      pos = next + 1;
      code = value.charCodeAt(pos);

      // Comments
    } else if (code === slash && value.charCodeAt(pos + 1) === star) {
      token = {
        type: "comment",
        sourceIndex: pos
      };

      next = value.indexOf("*/", pos);
      if (next === -1) {
        token.unclosed = true;
        next = value.length;
      }

      token.value = value.slice(pos + 2, next);
      tokens.push(token);

      pos = next + 2;
      code = value.charCodeAt(pos);

      // Operation within calc
    } else if (
      (code === slash || code === star) &&
      parent &&
      parent.type === "function" &&
      parent.value === "calc"
    ) {
      token = value[pos];
      tokens.push({
        type: "word",
        sourceIndex: pos - before.length,
        value: token
      });
      pos += 1;
      code = value.charCodeAt(pos);

      // Dividers
    } else if (code === slash || code === comma || code === colon) {
      token = value[pos];

      tokens.push({
        type: "div",
        sourceIndex: pos - before.length,
        value: token,
        before: before,
        after: ""
      });
      before = "";

      pos += 1;
      code = value.charCodeAt(pos);

      // Open parentheses
    } else if (openParentheses === code) {
      // Whitespaces after open parentheses
      next = pos;
      do {
        next += 1;
        code = value.charCodeAt(next);
      } while (code <= 32);
      parenthesesOpenPos = pos;
      token = {
        type: "function",
        sourceIndex: pos - name.length,
        value: name,
        before: value.slice(parenthesesOpenPos + 1, next)
      };
      pos = next;

      if (name === "url" && code !== singleQuote && code !== doubleQuote) {
        next -= 1;
        do {
          escape = false;
          next = value.indexOf(")", next + 1);
          if (~next) {
            escapePos = next;
            while (value.charCodeAt(escapePos - 1) === backslash) {
              escapePos -= 1;
              escape = !escape;
            }
          } else {
            value += ")";
            next = value.length - 1;
            token.unclosed = true;
          }
        } while (escape);
        // Whitespaces before closed
        whitespacePos = next;
        do {
          whitespacePos -= 1;
          code = value.charCodeAt(whitespacePos);
        } while (code <= 32);
        if (parenthesesOpenPos < whitespacePos) {
          if (pos !== whitespacePos + 1) {
            token.nodes = [
              {
                type: "word",
                sourceIndex: pos,
                value: value.slice(pos, whitespacePos + 1)
              }
            ];
          } else {
            token.nodes = [];
          }
          if (token.unclosed && whitespacePos + 1 !== next) {
            token.after = "";
            token.nodes.push({
              type: "space",
              sourceIndex: whitespacePos + 1,
              value: value.slice(whitespacePos + 1, next)
            });
          } else {
            token.after = value.slice(whitespacePos + 1, next);
          }
        } else {
          token.after = "";
          token.nodes = [];
        }
        pos = next + 1;
        code = value.charCodeAt(pos);
        tokens.push(token);
      } else {
        balanced += 1;
        token.after = "";
        tokens.push(token);
        stack.push(token);
        tokens = token.nodes = [];
        parent = token;
      }
      name = "";

      // Close parentheses
    } else if (closeParentheses === code && balanced) {
      pos += 1;
      code = value.charCodeAt(pos);

      parent.after = after;
      after = "";
      balanced -= 1;
      stack.pop();
      parent = stack[balanced];
      tokens = parent.nodes;

      // Words
    } else {
      next = pos;
      do {
        if (code === backslash) {
          next += 1;
        }
        next += 1;
        code = value.charCodeAt(next);
      } while (
        next < max &&
        !(
          code <= 32 ||
          code === singleQuote ||
          code === doubleQuote ||
          code === comma ||
          code === colon ||
          code === slash ||
          code === openParentheses ||
          (code === star &&
            parent &&
            parent.type === "function" &&
            parent.value === "calc") ||
          (code === slash &&
            parent.type === "function" &&
            parent.value === "calc") ||
          (code === closeParentheses && balanced)
        )
      );
      token = value.slice(pos, next);

      if (openParentheses === code) {
        name = token;
      } else if (
        (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&
        plus === token.charCodeAt(1) &&
        isUnicodeRange.test(token.slice(2))
      ) {
        tokens.push({
          type: "unicode-range",
          sourceIndex: pos,
          value: token
        });
      } else {
        tokens.push({
          type: "word",
          sourceIndex: pos,
          value: token
        });
      }

      pos = next;
    }
  }

  for (pos = stack.length - 1; pos; pos -= 1) {
    stack[pos].unclosed = true;
  }

  return stack[0].nodes;
};


/***/ }),

/***/ 27952:
/***/ ((module) => {

function stringifyNode(node, custom) {
  var type = node.type;
  var value = node.value;
  var buf;
  var customResult;

  if (custom && (customResult = custom(node)) !== undefined) {
    return customResult;
  } else if (type === "word" || type === "space") {
    return value;
  } else if (type === "string") {
    buf = node.quote || "";
    return buf + value + (node.unclosed ? "" : buf);
  } else if (type === "comment") {
    return "/*" + value + (node.unclosed ? "" : "*/");
  } else if (type === "div") {
    return (node.before || "") + value + (node.after || "");
  } else if (Array.isArray(node.nodes)) {
    buf = stringify(node.nodes, custom);
    if (type !== "function") {
      return buf;
    }
    return (
      value +
      "(" +
      (node.before || "") +
      buf +
      (node.after || "") +
      (node.unclosed ? "" : ")")
    );
  }
  return value;
}

function stringify(nodes, custom) {
  var result, i;

  if (Array.isArray(nodes)) {
    result = "";
    for (i = nodes.length - 1; ~i; i -= 1) {
      result = stringifyNode(nodes[i], custom) + result;
    }
    return result;
  }
  return stringifyNode(nodes, custom);
}

module.exports = stringify;


/***/ }),

/***/ 45148:
/***/ ((module) => {

var minus = "-".charCodeAt(0);
var plus = "+".charCodeAt(0);
var dot = ".".charCodeAt(0);
var exp = "e".charCodeAt(0);
var EXP = "E".charCodeAt(0);

// Check if three code points would start a number
// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number
function likeNumber(value) {
  var code = value.charCodeAt(0);
  var nextCode;

  if (code === plus || code === minus) {
    nextCode = value.charCodeAt(1);

    if (nextCode >= 48 && nextCode <= 57) {
      return true;
    }

    var nextNextCode = value.charCodeAt(2);

    if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {
      return true;
    }

    return false;
  }

  if (code === dot) {
    nextCode = value.charCodeAt(1);

    if (nextCode >= 48 && nextCode <= 57) {
      return true;
    }

    return false;
  }

  if (code >= 48 && code <= 57) {
    return true;
  }

  return false;
}

// Consume a number
// https://www.w3.org/TR/css-syntax-3/#consume-number
module.exports = function(value) {
  var pos = 0;
  var length = value.length;
  var code;
  var nextCode;
  var nextNextCode;

  if (length === 0 || !likeNumber(value)) {
    return false;
  }

  code = value.charCodeAt(pos);

  if (code === plus || code === minus) {
    pos++;
  }

  while (pos < length) {
    code = value.charCodeAt(pos);

    if (code < 48 || code > 57) {
      break;
    }

    pos += 1;
  }

  code = value.charCodeAt(pos);
  nextCode = value.charCodeAt(pos + 1);

  if (code === dot && nextCode >= 48 && nextCode <= 57) {
    pos += 2;

    while (pos < length) {
      code = value.charCodeAt(pos);

      if (code < 48 || code > 57) {
        break;
      }

      pos += 1;
    }
  }

  code = value.charCodeAt(pos);
  nextCode = value.charCodeAt(pos + 1);
  nextNextCode = value.charCodeAt(pos + 2);

  if (
    (code === exp || code === EXP) &&
    ((nextCode >= 48 && nextCode <= 57) ||
      ((nextCode === plus || nextCode === minus) &&
        nextNextCode >= 48 &&
        nextNextCode <= 57))
  ) {
    pos += nextCode === plus || nextCode === minus ? 3 : 2;

    while (pos < length) {
      code = value.charCodeAt(pos);

      if (code < 48 || code > 57) {
        break;
      }

      pos += 1;
    }
  }

  return {
    number: value.slice(0, pos),
    unit: value.slice(pos)
  };
};


/***/ }),

/***/ 69987:
/***/ ((module) => {

module.exports = function walk(nodes, cb, bubble) {
  var i, max, node, result;

  for (i = 0, max = nodes.length; i < max; i += 1) {
    node = nodes[i];
    if (!bubble) {
      result = cb(node, i, nodes);
    }

    if (
      result !== false &&
      node.type === "function" &&
      Array.isArray(node.nodes)
    ) {
      walk(node.nodes, cb, bubble);
    }

    if (bubble) {
      cb(node, i, nodes);
    }
  }
};


/***/ }),

/***/ 54193:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Container = __nccwpck_require__(56919)

class AtRule extends Container {
  constructor(defaults) {
    super(defaults)
    this.type = 'atrule'
  }

  append(...children) {
    if (!this.proxyOf.nodes) this.nodes = []
    return super.append(...children)
  }

  prepend(...children) {
    if (!this.proxyOf.nodes) this.nodes = []
    return super.prepend(...children)
  }
}

module.exports = AtRule
AtRule.default = AtRule

Container.registerAtRule(AtRule)


/***/ }),

/***/ 37592:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Node = __nccwpck_require__(48557)

class Comment extends Node {
  constructor(defaults) {
    super(defaults)
    this.type = 'comment'
  }
}

module.exports = Comment
Comment.default = Comment


/***/ }),

/***/ 56919:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Declaration = __nccwpck_require__(33522)
let { isClean } = __nccwpck_require__(32594)
let Comment = __nccwpck_require__(37592)
let Node = __nccwpck_require__(48557)

let parse, Rule, AtRule

function cleanSource(nodes) {
  return nodes.map(i => {
    if (i.nodes) i.nodes = cleanSource(i.nodes)
    delete i.source
    return i
  })
}

function markDirtyUp(node) {
  node[isClean] = false
  if (node.proxyOf.nodes) {
    for (let i of node.proxyOf.nodes) {
      markDirtyUp(i)
    }
  }
}

// istanbul ignore next
function rebuild(node) {
  if (node.type === 'atrule') {
    Object.setPrototypeOf(node, AtRule.prototype)
  } else if (node.type === 'rule') {
    Object.setPrototypeOf(node, Rule.prototype)
  } else if (node.type === 'decl') {
    Object.setPrototypeOf(node, Declaration.prototype)
  } else if (node.type === 'comment') {
    Object.setPrototypeOf(node, Comment.prototype)
  }

  if (node.nodes) {
    node.nodes.forEach(child => {
      rebuild(child)
    })
  }
}

class Container extends Node {
  push(child) {
    child.parent = this
    this.proxyOf.nodes.push(child)
    return this
  }

  each(callback) {
    if (!this.proxyOf.nodes) return undefined
    let iterator = this.getIterator()

    let index, result
    while (this.indexes[iterator] < this.proxyOf.nodes.length) {
      index = this.indexes[iterator]
      result = callback(this.proxyOf.nodes[index], index)
      if (result === false) break

      this.indexes[iterator] += 1
    }

    delete this.indexes[iterator]
    return result
  }

  walk(callback) {
    return this.each((child, i) => {
      let result
      try {
        result = callback(child, i)
      } catch (e) {
        throw child.addToError(e)
      }
      if (result !== false && child.walk) {
        result = child.walk(callback)
      }

      return result
    })
  }

  walkDecls(prop, callback) {
    if (!callback) {
      callback = prop
      return this.walk((child, i) => {
        if (child.type === 'decl') {
          return callback(child, i)
        }
      })
    }
    if (prop instanceof RegExp) {
      return this.walk((child, i) => {
        if (child.type === 'decl' && prop.test(child.prop)) {
          return callback(child, i)
        }
      })
    }
    return this.walk((child, i) => {
      if (child.type === 'decl' && child.prop === prop) {
        return callback(child, i)
      }
    })
  }

  walkRules(selector, callback) {
    if (!callback) {
      callback = selector

      return this.walk((child, i) => {
        if (child.type === 'rule') {
          return callback(child, i)
        }
      })
    }
    if (selector instanceof RegExp) {
      return this.walk((child, i) => {
        if (child.type === 'rule' && selector.test(child.selector)) {
          return callback(child, i)
        }
      })
    }
    return this.walk((child, i) => {
      if (child.type === 'rule' && child.selector === selector) {
        return callback(child, i)
      }
    })
  }

  walkAtRules(name, callback) {
    if (!callback) {
      callback = name
      return this.walk((child, i) => {
        if (child.type === 'atrule') {
          return callback(child, i)
        }
      })
    }
    if (name instanceof RegExp) {
      return this.walk((child, i) => {
        if (child.type === 'atrule' && name.test(child.name)) {
          return callback(child, i)
        }
      })
    }
    return this.walk((child, i) => {
      if (child.type === 'atrule' && child.name === name) {
        return callback(child, i)
      }
    })
  }

  walkComments(callback) {
    return this.walk((child, i) => {
      if (child.type === 'comment') {
        return callback(child, i)
      }
    })
  }

  append(...children) {
    for (let child of children) {
      let nodes = this.normalize(child, this.last)
      for (let node of nodes) this.proxyOf.nodes.push(node)
    }

    this.markDirty()

    return this
  }

  prepend(...children) {
    children = children.reverse()
    for (let child of children) {
      let nodes = this.normalize(child, this.first, 'prepend').reverse()
      for (let node of nodes) this.proxyOf.nodes.unshift(node)
      for (let id in this.indexes) {
        this.indexes[id] = this.indexes[id] + nodes.length
      }
    }

    this.markDirty()

    return this
  }

  cleanRaws(keepBetween) {
    super.cleanRaws(keepBetween)
    if (this.nodes) {
      for (let node of this.nodes) node.cleanRaws(keepBetween)
    }
  }

  insertBefore(exist, add) {
    exist = this.index(exist)

    let type = exist === 0 ? 'prepend' : false
    let nodes = this.normalize(add, this.proxyOf.nodes[exist], type).reverse()
    for (let node of nodes) this.proxyOf.nodes.splice(exist, 0, node)

    let index
    for (let id in this.indexes) {
      index = this.indexes[id]
      if (exist <= index) {
        this.indexes[id] = index + nodes.length
      }
    }

    this.markDirty()

    return this
  }

  insertAfter(exist, add) {
    exist = this.index(exist)

    let nodes = this.normalize(add, this.proxyOf.nodes[exist]).reverse()
    for (let node of nodes) this.proxyOf.nodes.splice(exist + 1, 0, node)

    let index
    for (let id in this.indexes) {
      index = this.indexes[id]
      if (exist < index) {
        this.indexes[id] = index + nodes.length
      }
    }

    this.markDirty()

    return this
  }

  removeChild(child) {
    child = this.index(child)
    this.proxyOf.nodes[child].parent = undefined
    this.proxyOf.nodes.splice(child, 1)

    let index
    for (let id in this.indexes) {
      index = this.indexes[id]
      if (index >= child) {
        this.indexes[id] = index - 1
      }
    }

    this.markDirty()

    return this
  }

  removeAll() {
    for (let node of this.proxyOf.nodes) node.parent = undefined
    this.proxyOf.nodes = []

    this.markDirty()

    return this
  }

  replaceValues(pattern, opts, callback) {
    if (!callback) {
      callback = opts
      opts = {}
    }

    this.walkDecls(decl => {
      if (opts.props && !opts.props.includes(decl.prop)) return
      if (opts.fast && !decl.value.includes(opts.fast)) return

      decl.value = decl.value.replace(pattern, callback)
    })

    this.markDirty()

    return this
  }

  every(condition) {
    return this.nodes.every(condition)
  }

  some(condition) {
    return this.nodes.some(condition)
  }

  index(child) {
    if (typeof child === 'number') return child
    if (child.proxyOf) child = child.proxyOf
    return this.proxyOf.nodes.indexOf(child)
  }

  get first() {
    if (!this.proxyOf.nodes) return undefined
    return this.proxyOf.nodes[0]
  }

  get last() {
    if (!this.proxyOf.nodes) return undefined
    return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]
  }

  normalize(nodes, sample) {
    if (typeof nodes === 'string') {
      nodes = cleanSource(parse(nodes).nodes)
    } else if (Array.isArray(nodes)) {
      nodes = nodes.slice(0)
      for (let i of nodes) {
        if (i.parent) i.parent.removeChild(i, 'ignore')
      }
    } else if (nodes.type === 'root' && this.type !== 'document') {
      nodes = nodes.nodes.slice(0)
      for (let i of nodes) {
        if (i.parent) i.parent.removeChild(i, 'ignore')
      }
    } else if (nodes.type) {
      nodes = [nodes]
    } else if (nodes.prop) {
      if (typeof nodes.value === 'undefined') {
        throw new Error('Value field is missed in node creation')
      } else if (typeof nodes.value !== 'string') {
        nodes.value = String(nodes.value)
      }
      nodes = [new Declaration(nodes)]
    } else if (nodes.selector) {
      nodes = [new Rule(nodes)]
    } else if (nodes.name) {
      nodes = [new AtRule(nodes)]
    } else if (nodes.text) {
      nodes = [new Comment(nodes)]
    } else {
      throw new Error('Unknown node type in node creation')
    }

    let processed = nodes.map(i => {
      // istanbul ignore next
      if (typeof i.markDirty !== 'function') rebuild(i)
      i = i.proxyOf
      if (i.parent) i.parent.removeChild(i)
      if (i[isClean]) markDirtyUp(i)
      if (typeof i.raws.before === 'undefined') {
        if (sample && typeof sample.raws.before !== 'undefined') {
          i.raws.before = sample.raws.before.replace(/\S/g, '')
        }
      }
      i.parent = this
      return i
    })

    return processed
  }

  getProxyProcessor() {
    return {
      set(node, prop, value) {
        if (node[prop] === value) return true
        node[prop] = value
        if (prop === 'name' || prop === 'params' || prop === 'selector') {
          node.markDirty()
        }
        return true
      },

      get(node, prop) {
        if (prop === 'proxyOf') {
          return node
        } else if (!node[prop]) {
          return node[prop]
        } else if (
          prop === 'each' ||
          (typeof prop === 'string' && prop.startsWith('walk'))
        ) {
          return (...args) => {
            return node[prop](
              ...args.map(i => {
                if (typeof i === 'function') {
                  return (child, index) => i(child.toProxy(), index)
                } else {
                  return i
                }
              })
            )
          }
        } else if (prop === 'every' || prop === 'some') {
          return cb => {
            return node[prop]((child, ...other) =>
              cb(child.toProxy(), ...other)
            )
          }
        } else if (prop === 'root') {
          return () => node.root().toProxy()
        } else if (prop === 'nodes') {
          return node.nodes.map(i => i.toProxy())
        } else if (prop === 'first' || prop === 'last') {
          return node[prop].toProxy()
        } else {
          return node[prop]
        }
      }
    }
  }

  getIterator() {
    if (!this.lastEach) this.lastEach = 0
    if (!this.indexes) this.indexes = {}

    this.lastEach += 1
    let iterator = this.lastEach
    this.indexes[iterator] = 0

    return iterator
  }
}

Container.registerParse = dependant => {
  parse = dependant
}

Container.registerRule = dependant => {
  Rule = dependant
}

Container.registerAtRule = dependant => {
  AtRule = dependant
}

module.exports = Container
Container.default = Container


/***/ }),

/***/ 63279:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let { red, bold, gray, options: colorette } = __nccwpck_require__(95666)

let terminalHighlight = __nccwpck_require__(51040)

class CssSyntaxError extends Error {
  constructor(message, line, column, source, file, plugin) {
    super(message)
    this.name = 'CssSyntaxError'
    this.reason = message

    if (file) {
      this.file = file
    }
    if (source) {
      this.source = source
    }
    if (plugin) {
      this.plugin = plugin
    }
    if (typeof line !== 'undefined' && typeof column !== 'undefined') {
      this.line = line
      this.column = column
    }

    this.setMessage()

    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, CssSyntaxError)
    }
  }

  setMessage() {
    this.message = this.plugin ? this.plugin + ': ' : ''
    this.message += this.file ? this.file : '<css input>'
    if (typeof this.line !== 'undefined') {
      this.message += ':' + this.line + ':' + this.column
    }
    this.message += ': ' + this.reason
  }

  showSourceCode(color) {
    if (!this.source) return ''

    let css = this.source
    if (color == null) color = colorette.enabled
    if (terminalHighlight) {
      if (color) css = terminalHighlight(css)
    }

    let lines = css.split(/\r?\n/)
    let start = Math.max(this.line - 3, 0)
    let end = Math.min(this.line + 2, lines.length)

    let maxWidth = String(end).length

    let mark, aside
    if (color) {
      mark = text => bold(red(text))
      aside = text => gray(text)
    } else {
      mark = aside = str => str
    }

    return lines
      .slice(start, end)
      .map((line, index) => {
        let number = start + 1 + index
        let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '
        if (number === this.line) {
          let spacing =
            aside(gutter.replace(/\d/g, ' ')) +
            line.slice(0, this.column - 1).replace(/[^\t]/g, ' ')
          return mark('>') + aside(gutter) + line + '\n ' + spacing + mark('^')
        }
        return ' ' + aside(gutter) + line
      })
      .join('\n')
  }

  toString() {
    let code = this.showSourceCode()
    if (code) {
      code = '\n\n' + code + '\n'
    }
    return this.name + ': ' + this.message + code
  }
}

module.exports = CssSyntaxError
CssSyntaxError.default = CssSyntaxError


/***/ }),

/***/ 33522:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Node = __nccwpck_require__(48557)

class Declaration extends Node {
  constructor(defaults) {
    if (
      defaults &&
      typeof defaults.value !== 'undefined' &&
      typeof defaults.value !== 'string'
    ) {
      defaults = { ...defaults, value: String(defaults.value) }
    }
    super(defaults)
    this.type = 'decl'
  }

  get variable() {
    return this.prop.startsWith('--') || this.prop[0] === '$'
  }
}

module.exports = Declaration
Declaration.default = Declaration


/***/ }),

/***/ 58085:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Container = __nccwpck_require__(56919)

let LazyResult, Processor

class Document extends Container {
  constructor(defaults) {
    // type needs to be passed to super, otherwise child roots won't be normalized correctly
    super({ type: 'document', ...defaults })

    if (!this.nodes) {
      this.nodes = []
    }
  }

  toResult(opts = {}) {
    let lazy = new LazyResult(new Processor(), this, opts)

    return lazy.stringify()
  }
}

Document.registerLazyResult = dependant => {
  LazyResult = dependant
}

Document.registerProcessor = dependant => {
  Processor = dependant
}

module.exports = Document
Document.default = Document


/***/ }),

/***/ 71543:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Declaration = __nccwpck_require__(33522)
let PreviousMap = __nccwpck_require__(91090)
let Comment = __nccwpck_require__(37592)
let AtRule = __nccwpck_require__(54193)
let Input = __nccwpck_require__(2690)
let Root = __nccwpck_require__(22630)
let Rule = __nccwpck_require__(12234)

function fromJSON(json, inputs) {
  if (Array.isArray(json)) return json.map(n => fromJSON(n))

  let { inputs: ownInputs, ...defaults } = json
  if (ownInputs) {
    inputs = []
    for (let input of ownInputs) {
      let inputHydrated = { ...input, __proto__: Input.prototype }
      if (inputHydrated.map) {
        inputHydrated.map = {
          ...inputHydrated.map,
          __proto__: PreviousMap.prototype
        }
      }
      inputs.push(inputHydrated)
    }
  }
  if (defaults.nodes) {
    defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))
  }
  if (defaults.source) {
    let { inputId, ...source } = defaults.source
    defaults.source = source
    if (inputId != null) {
      defaults.source.input = inputs[inputId]
    }
  }
  if (defaults.type === 'root') {
    return new Root(defaults)
  } else if (defaults.type === 'decl') {
    return new Declaration(defaults)
  } else if (defaults.type === 'rule') {
    return new Rule(defaults)
  } else if (defaults.type === 'comment') {
    return new Comment(defaults)
  } else if (defaults.type === 'atrule') {
    return new AtRule(defaults)
  } else {
    throw new Error('Unknown node type: ' + json.type)
  }
}

module.exports = fromJSON
fromJSON.default = fromJSON


/***/ }),

/***/ 2690:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let { SourceMapConsumer, SourceMapGenerator } = __nccwpck_require__(26766)
let { fileURLToPath, pathToFileURL } = __nccwpck_require__(78835)
let { resolve, isAbsolute } = __nccwpck_require__(85622)
let { nanoid } = __nccwpck_require__(8519)

let terminalHighlight = __nccwpck_require__(51040)
let CssSyntaxError = __nccwpck_require__(63279)
let PreviousMap = __nccwpck_require__(91090)

let fromOffsetCache = Symbol('fromOffset cache')

let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)
let pathAvailable = Boolean(resolve && isAbsolute)

class Input {
  constructor(css, opts = {}) {
    if (
      css === null ||
      typeof css === 'undefined' ||
      (typeof css === 'object' && !css.toString)
    ) {
      throw new Error(`PostCSS received ${css} instead of CSS string`)
    }

    this.css = css.toString()

    if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') {
      this.hasBOM = true
      this.css = this.css.slice(1)
    } else {
      this.hasBOM = false
    }

    if (opts.from) {
      if (
        !pathAvailable ||
        /^\w+:\/\//.test(opts.from) ||
        isAbsolute(opts.from)
      ) {
        this.file = opts.from
      } else {
        this.file = resolve(opts.from)
      }
    }

    if (pathAvailable && sourceMapAvailable) {
      let map = new PreviousMap(this.css, opts)
      if (map.text) {
        this.map = map
        let file = map.consumer().file
        if (!this.file && file) this.file = this.mapResolve(file)
      }
    }

    if (!this.file) {
      this.id = '<input css ' + nanoid(6) + '>'
    }
    if (this.map) this.map.file = this.from
  }

  fromOffset(offset) {
    let lastLine, lineToIndex
    if (!this[fromOffsetCache]) {
      let lines = this.css.split('\n')
      lineToIndex = new Array(lines.length)
      let prevIndex = 0

      for (let i = 0, l = lines.length; i < l; i++) {
        lineToIndex[i] = prevIndex
        prevIndex += lines[i].length + 1
      }

      this[fromOffsetCache] = lineToIndex
    } else {
      lineToIndex = this[fromOffsetCache]
    }
    lastLine = lineToIndex[lineToIndex.length - 1]

    let min = 0
    if (offset >= lastLine) {
      min = lineToIndex.length - 1
    } else {
      let max = lineToIndex.length - 2
      let mid
      while (min < max) {
        mid = min + ((max - min) >> 1)
        if (offset < lineToIndex[mid]) {
          max = mid - 1
        } else if (offset >= lineToIndex[mid + 1]) {
          min = mid + 1
        } else {
          min = mid
          break
        }
      }
    }
    return {
      line: min + 1,
      col: offset - lineToIndex[min] + 1
    }
  }

  error(message, line, column, opts = {}) {
    let result
    if (!column) {
      let pos = this.fromOffset(line)
      line = pos.line
      column = pos.col
    }
    let origin = this.origin(line, column)
    if (origin) {
      result = new CssSyntaxError(
        message,
        origin.line,
        origin.column,
        origin.source,
        origin.file,
        opts.plugin
      )
    } else {
      result = new CssSyntaxError(
        message,
        line,
        column,
        this.css,
        this.file,
        opts.plugin
      )
    }

    result.input = { line, column, source: this.css }
    if (this.file) {
      if (pathToFileURL) {
        result.input.url = pathToFileURL(this.file).toString()
      }
      result.input.file = this.file
    }

    return result
  }

  origin(line, column) {
    if (!this.map) return false
    let consumer = this.map.consumer()

    let from = consumer.originalPositionFor({ line, column })
    if (!from.source) return false

    let fromUrl

    if (isAbsolute(from.source)) {
      fromUrl = pathToFileURL(from.source)
    } else {
      fromUrl = new URL(
        from.source,
        this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)
      )
    }

    let result = {
      url: fromUrl.toString(),
      line: from.line,
      column: from.column
    }

    if (fromUrl.protocol === 'file:') {
      if (fileURLToPath) {
        result.file = fileURLToPath(fromUrl)
      } else {
        // istanbul ignore next
        throw new Error(`file: protocol is not available in this PostCSS build`)
      }
    }

    let source = consumer.sourceContentFor(from.source)
    if (source) result.source = source

    return result
  }

  mapResolve(file) {
    if (/^\w+:\/\//.test(file)) {
      return file
    }
    return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)
  }

  get from() {
    return this.file || this.id
  }

  toJSON() {
    let json = {}
    for (let name of ['hasBOM', 'css', 'file', 'id']) {
      if (this[name] != null) {
        json[name] = this[name]
      }
    }
    if (this.map) {
      json.map = { ...this.map }
      if (json.map.consumerCache) {
        json.map.consumerCache = undefined
      }
    }
    return json
  }
}

module.exports = Input
Input.default = Input

if (terminalHighlight && terminalHighlight.registerInput) {
  terminalHighlight.registerInput(Input)
}


/***/ }),

/***/ 46310:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let MapGenerator = __nccwpck_require__(93091)
let { isClean } = __nccwpck_require__(32594)
let stringify = __nccwpck_require__(34793)
let warnOnce = __nccwpck_require__(21600)
let Result = __nccwpck_require__(66846)
let parse = __nccwpck_require__(2128)
let Root = __nccwpck_require__(22630)
let Document = __nccwpck_require__(58085)

const TYPE_TO_CLASS_NAME = {
  document: 'Document',
  root: 'Root',
  atrule: 'AtRule',
  rule: 'Rule',
  decl: 'Declaration',
  comment: 'Comment'
}

const PLUGIN_PROPS = {
  postcssPlugin: true,
  prepare: true,
  Once: true,
  Document: true,
  Root: true,
  Declaration: true,
  Rule: true,
  AtRule: true,
  Comment: true,
  DeclarationExit: true,
  RuleExit: true,
  AtRuleExit: true,
  CommentExit: true,
  RootExit: true,
  DocumentExit: true,
  OnceExit: true
}

const NOT_VISITORS = {
  postcssPlugin: true,
  prepare: true,
  Once: true
}

const CHILDREN = 0

function isPromise(obj) {
  return typeof obj === 'object' && typeof obj.then === 'function'
}

function getEvents(node) {
  let key = false
  let type = TYPE_TO_CLASS_NAME[node.type]
  if (node.type === 'decl') {
    key = node.prop.toLowerCase()
  } else if (node.type === 'atrule') {
    key = node.name.toLowerCase()
  }

  if (key && node.append) {
    return [
      type,
      type + '-' + key,
      CHILDREN,
      type + 'Exit',
      type + 'Exit-' + key
    ]
  } else if (key) {
    return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]
  } else if (node.append) {
    return [type, CHILDREN, type + 'Exit']
  } else {
    return [type, type + 'Exit']
  }
}

function toStack(node) {
  let events
  if (node.type === 'document') {
    events = ['Document', CHILDREN, 'DocumentExit']
  } else if (node.type === 'root') {
    events = ['Root', CHILDREN, 'RootExit']
  } else {
    events = getEvents(node)
  }

  return {
    node,
    events,
    eventIndex: 0,
    visitors: [],
    visitorIndex: 0,
    iterator: 0
  }
}

function cleanMarks(node) {
  node[isClean] = false
  if (node.nodes) node.nodes.forEach(i => cleanMarks(i))
  return node
}

let postcss = {}

class LazyResult {
  constructor(processor, css, opts) {
    this.stringified = false
    this.processed = false

    let root
    if (
      typeof css === 'object' &&
      css !== null &&
      (css.type === 'root' || css.type === 'document')
    ) {
      root = cleanMarks(css)
    } else if (css instanceof LazyResult || css instanceof Result) {
      root = cleanMarks(css.root)
      if (css.map) {
        if (typeof opts.map === 'undefined') opts.map = {}
        if (!opts.map.inline) opts.map.inline = false
        opts.map.prev = css.map
      }
    } else {
      let parser = parse
      if (opts.syntax) parser = opts.syntax.parse
      if (opts.parser) parser = opts.parser
      if (parser.parse) parser = parser.parse

      try {
        root = parser(css, opts)
      } catch (error) {
        this.processed = true
        this.error = error
      }
    }

    this.result = new Result(processor, root, opts)
    this.helpers = { ...postcss, result: this.result, postcss }
    this.plugins = this.processor.plugins.map(plugin => {
      if (typeof plugin === 'object' && plugin.prepare) {
        return { ...plugin, ...plugin.prepare(this.result) }
      } else {
        return plugin
      }
    })
  }

  get [Symbol.toStringTag]() {
    return 'LazyResult'
  }

  get processor() {
    return this.result.processor
  }

  get opts() {
    return this.result.opts
  }

  get css() {
    return this.stringify().css
  }

  get content() {
    return this.stringify().content
  }

  get map() {
    return this.stringify().map
  }

  get root() {
    return this.sync().root
  }

  get messages() {
    return this.sync().messages
  }

  warnings() {
    return this.sync().warnings()
  }

  toString() {
    return this.css
  }

  then(onFulfilled, onRejected) {
    if (process.env.NODE_ENV !== 'production') {
      if (!('from' in this.opts)) {
        warnOnce(
          'Without `from` option PostCSS could generate wrong source map ' +
            'and will not find Browserslist config. Set it to CSS file path ' +
            'or to `undefined` to prevent this warning.'
        )
      }
    }
    return this.async().then(onFulfilled, onRejected)
  }

  catch(onRejected) {
    return this.async().catch(onRejected)
  }

  finally(onFinally) {
    return this.async().then(onFinally, onFinally)
  }

  async() {
    if (this.error) return Promise.reject(this.error)
    if (this.processed) return Promise.resolve(this.result)
    if (!this.processing) {
      this.processing = this.runAsync()
    }
    return this.processing
  }

  sync() {
    if (this.error) throw this.error
    if (this.processed) return this.result
    this.processed = true

    if (this.processing) {
      throw this.getAsyncError()
    }

    for (let plugin of this.plugins) {
      let promise = this.runOnRoot(plugin)
      if (isPromise(promise)) {
        throw this.getAsyncError()
      }
    }

    this.prepareVisitors()
    if (this.hasListener) {
      let root = this.result.root
      while (!root[isClean]) {
        root[isClean] = true
        this.walkSync(root)
      }
      if (this.listeners.OnceExit) {
        if (root.type === 'document') {
          for (let subRoot of root.nodes) {
            this.visitSync(this.listeners.OnceExit, subRoot)
          }
        } else {
          this.visitSync(this.listeners.OnceExit, root)
        }
      }
    }

    return this.result
  }

  stringify() {
    if (this.error) throw this.error
    if (this.stringified) return this.result
    this.stringified = true

    this.sync()

    let opts = this.result.opts
    let str = stringify
    if (opts.syntax) str = opts.syntax.stringify
    if (opts.stringifier) str = opts.stringifier
    if (str.stringify) str = str.stringify

    let map = new MapGenerator(str, this.result.root, this.result.opts)
    let data = map.generate()
    this.result.css = data[0]
    this.result.map = data[1]

    return this.result
  }

  walkSync(node) {
    node[isClean] = true
    let events = getEvents(node)
    for (let event of events) {
      if (event === CHILDREN) {
        if (node.nodes) {
          node.each(child => {
            if (!child[isClean]) this.walkSync(child)
          })
        }
      } else {
        let visitors = this.listeners[event]
        if (visitors) {
          if (this.visitSync(visitors, node.toProxy())) return
        }
      }
    }
  }

  visitSync(visitors, node) {
    for (let [plugin, visitor] of visitors) {
      this.result.lastPlugin = plugin
      let promise
      try {
        promise = visitor(node, this.helpers)
      } catch (e) {
        throw this.handleError(e, node.proxyOf)
      }
      if (node.type !== 'root' && node.type !== 'document' && !node.parent) {
        return true
      }
      if (isPromise(promise)) {
        throw this.getAsyncError()
      }
    }
  }

  runOnRoot(plugin) {
    this.result.lastPlugin = plugin
    try {
      if (typeof plugin === 'object' && plugin.Once) {
        if (this.result.root.type === 'document') {
          let roots = this.result.root.nodes.map(root =>
            plugin.Once(root, this.helpers)
          )

          if (isPromise(roots[0])) {
            return Promise.all(roots)
          }

          return roots
        }

        return plugin.Once(this.result.root, this.helpers)
      } else if (typeof plugin === 'function') {
        return plugin(this.result.root, this.result)
      }
    } catch (error) {
      throw this.handleError(error)
    }
  }

  getAsyncError() {
    throw new Error('Use process(css).then(cb) to work with async plugins')
  }

  handleError(error, node) {
    let plugin = this.result.lastPlugin
    try {
      if (node) node.addToError(error)
      this.error = error
      if (error.name === 'CssSyntaxError' && !error.plugin) {
        error.plugin = plugin.postcssPlugin
        error.setMessage()
      } else if (plugin.postcssVersion) {
        if (process.env.NODE_ENV !== 'production') {
          let pluginName = plugin.postcssPlugin
          let pluginVer = plugin.postcssVersion
          let runtimeVer = this.result.processor.version
          let a = pluginVer.split('.')
          let b = runtimeVer.split('.')

          if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {
            console.error(
              'Unknown error from PostCSS plugin. Your current PostCSS ' +
                'version is ' +
                runtimeVer +
                ', but ' +
                pluginName +
                ' uses ' +
                pluginVer +
                '. Perhaps this is the source of the error below.'
            )
          }
        }
      }
    } catch (err) {
      // istanbul ignore next
      if (console && console.error) console.error(err)
    }
    return error
  }

  async runAsync() {
    this.plugin = 0
    for (let i = 0; i < this.plugins.length; i++) {
      let plugin = this.plugins[i]
      let promise = this.runOnRoot(plugin)
      if (isPromise(promise)) {
        try {
          await promise
        } catch (error) {
          throw this.handleError(error)
        }
      }
    }

    this.prepareVisitors()
    if (this.hasListener) {
      let root = this.result.root
      while (!root[isClean]) {
        root[isClean] = true
        let stack = [toStack(root)]
        while (stack.length > 0) {
          let promise = this.visitTick(stack)
          if (isPromise(promise)) {
            try {
              await promise
            } catch (e) {
              let node = stack[stack.length - 1].node
              throw this.handleError(e, node)
            }
          }
        }
      }

      if (this.listeners.OnceExit) {
        for (let [plugin, visitor] of this.listeners.OnceExit) {
          this.result.lastPlugin = plugin
          try {
            if (root.type === 'document') {
              let roots = root.nodes.map(subRoot =>
                visitor(subRoot, this.helpers)
              )

              await Promise.all(roots)
            } else {
              await visitor(root, this.helpers)
            }
          } catch (e) {
            throw this.handleError(e)
          }
        }
      }
    }

    this.processed = true
    return this.stringify()
  }

  prepareVisitors() {
    this.listeners = {}
    let add = (plugin, type, cb) => {
      if (!this.listeners[type]) this.listeners[type] = []
      this.listeners[type].push([plugin, cb])
    }
    for (let plugin of this.plugins) {
      if (typeof plugin === 'object') {
        for (let event in plugin) {
          if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {
            throw new Error(
              `Unknown event ${event} in ${plugin.postcssPlugin}. ` +
                `Try to update PostCSS (${this.processor.version} now).`
            )
          }
          if (!NOT_VISITORS[event]) {
            if (typeof plugin[event] === 'object') {
              for (let filter in plugin[event]) {
                if (filter === '*') {
                  add(plugin, event, plugin[event][filter])
                } else {
                  add(
                    plugin,
                    event + '-' + filter.toLowerCase(),
                    plugin[event][filter]
                  )
                }
              }
            } else if (typeof plugin[event] === 'function') {
              add(plugin, event, plugin[event])
            }
          }
        }
      }
    }
    this.hasListener = Object.keys(this.listeners).length > 0
  }

  visitTick(stack) {
    let visit = stack[stack.length - 1]
    let { node, visitors } = visit

    if (node.type !== 'root' && node.type !== 'document' && !node.parent) {
      stack.pop()
      return
    }

    if (visitors.length > 0 && visit.visitorIndex < visitors.length) {
      let [plugin, visitor] = visitors[visit.visitorIndex]
      visit.visitorIndex += 1
      if (visit.visitorIndex === visitors.length) {
        visit.visitors = []
        visit.visitorIndex = 0
      }
      this.result.lastPlugin = plugin
      try {
        return visitor(node.toProxy(), this.helpers)
      } catch (e) {
        throw this.handleError(e, node)
      }
    }

    if (visit.iterator !== 0) {
      let iterator = visit.iterator
      let child
      while ((child = node.nodes[node.indexes[iterator]])) {
        node.indexes[iterator] += 1
        if (!child[isClean]) {
          child[isClean] = true
          stack.push(toStack(child))
          return
        }
      }
      visit.iterator = 0
      delete node.indexes[iterator]
    }

    let events = visit.events
    while (visit.eventIndex < events.length) {
      let event = events[visit.eventIndex]
      visit.eventIndex += 1
      if (event === CHILDREN) {
        if (node.nodes && node.nodes.length) {
          node[isClean] = true
          visit.iterator = node.getIterator()
        }
        return
      } else if (this.listeners[event]) {
        visit.visitors = this.listeners[event]
        return
      }
    }
    stack.pop()
  }
}

LazyResult.registerPostcss = dependant => {
  postcss = dependant
}

module.exports = LazyResult
LazyResult.default = LazyResult

Root.registerLazyResult(LazyResult)
Document.registerLazyResult(LazyResult)


/***/ }),

/***/ 41608:
/***/ ((module) => {

"use strict";


let list = {
  split(string, separators, last) {
    let array = []
    let current = ''
    let split = false

    let func = 0
    let quote = false
    let escape = false

    for (let letter of string) {
      if (escape) {
        escape = false
      } else if (letter === '\\') {
        escape = true
      } else if (quote) {
        if (letter === quote) {
          quote = false
        }
      } else if (letter === '"' || letter === "'") {
        quote = letter
      } else if (letter === '(') {
        func += 1
      } else if (letter === ')') {
        if (func > 0) func -= 1
      } else if (func === 0) {
        if (separators.includes(letter)) split = true
      }

      if (split) {
        if (current !== '') array.push(current.trim())
        current = ''
        split = false
      } else {
        current += letter
      }
    }

    if (last || current !== '') array.push(current.trim())
    return array
  },

  space(string) {
    let spaces = [' ', '\n', '\t']
    return list.split(string, spaces)
  },

  comma(string) {
    return list.split(string, [','], true)
  }
}

module.exports = list
list.default = list


/***/ }),

/***/ 93091:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let { SourceMapConsumer, SourceMapGenerator } = __nccwpck_require__(26766)
let { dirname, resolve, relative, sep } = __nccwpck_require__(85622)
let { pathToFileURL } = __nccwpck_require__(78835)

let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)
let pathAvailable = Boolean(dirname && resolve && relative && sep)

class MapGenerator {
  constructor(stringify, root, opts) {
    this.stringify = stringify
    this.mapOpts = opts.map || {}
    this.root = root
    this.opts = opts
  }

  isMap() {
    if (typeof this.opts.map !== 'undefined') {
      return !!this.opts.map
    }
    return this.previous().length > 0
  }

  previous() {
    if (!this.previousMaps) {
      this.previousMaps = []
      this.root.walk(node => {
        if (node.source && node.source.input.map) {
          let map = node.source.input.map
          if (!this.previousMaps.includes(map)) {
            this.previousMaps.push(map)
          }
        }
      })
    }

    return this.previousMaps
  }

  isInline() {
    if (typeof this.mapOpts.inline !== 'undefined') {
      return this.mapOpts.inline
    }

    let annotation = this.mapOpts.annotation
    if (typeof annotation !== 'undefined' && annotation !== true) {
      return false
    }

    if (this.previous().length) {
      return this.previous().some(i => i.inline)
    }
    return true
  }

  isSourcesContent() {
    if (typeof this.mapOpts.sourcesContent !== 'undefined') {
      return this.mapOpts.sourcesContent
    }
    if (this.previous().length) {
      return this.previous().some(i => i.withContent())
    }
    return true
  }

  clearAnnotation() {
    if (this.mapOpts.annotation === false) return

    let node
    for (let i = this.root.nodes.length - 1; i >= 0; i--) {
      node = this.root.nodes[i]
      if (node.type !== 'comment') continue
      if (node.text.indexOf('# sourceMappingURL=') === 0) {
        this.root.removeChild(i)
      }
    }
  }

  setSourcesContent() {
    let already = {}
    this.root.walk(node => {
      if (node.source) {
        let from = node.source.input.from
        if (from && !already[from]) {
          already[from] = true
          this.map.setSourceContent(
            this.toUrl(this.path(from)),
            node.source.input.css
          )
        }
      }
    })
  }

  applyPrevMaps() {
    for (let prev of this.previous()) {
      let from = this.toUrl(this.path(prev.file))
      let root = prev.root || dirname(prev.file)
      let map

      if (this.mapOpts.sourcesContent === false) {
        map = new SourceMapConsumer(prev.text)
        if (map.sourcesContent) {
          map.sourcesContent = map.sourcesContent.map(() => null)
        }
      } else {
        map = prev.consumer()
      }

      this.map.applySourceMap(map, from, this.toUrl(this.path(root)))
    }
  }

  isAnnotation() {
    if (this.isInline()) {
      return true
    }
    if (typeof this.mapOpts.annotation !== 'undefined') {
      return this.mapOpts.annotation
    }
    if (this.previous().length) {
      return this.previous().some(i => i.annotation)
    }
    return true
  }

  toBase64(str) {
    if (Buffer) {
      return Buffer.from(str).toString('base64')
    } else {
      // istanbul ignore next
      return window.btoa(unescape(encodeURIComponent(str)))
    }
  }

  addAnnotation() {
    let content

    if (this.isInline()) {
      content =
        'data:application/json;base64,' + this.toBase64(this.map.toString())
    } else if (typeof this.mapOpts.annotation === 'string') {
      content = this.mapOpts.annotation
    } else if (typeof this.mapOpts.annotation === 'function') {
      content = this.mapOpts.annotation(this.opts.to, this.root)
    } else {
      content = this.outputFile() + '.map'
    }

    let eol = '\n'
    if (this.css.includes('\r\n')) eol = '\r\n'

    this.css += eol + '/*# sourceMappingURL=' + content + ' */'
  }

  outputFile() {
    if (this.opts.to) {
      return this.path(this.opts.to)
    }
    if (this.opts.from) {
      return this.path(this.opts.from)
    }
    return 'to.css'
  }

  generateMap() {
    this.generateString()
    if (this.isSourcesContent()) this.setSourcesContent()
    if (this.previous().length > 0) this.applyPrevMaps()
    if (this.isAnnotation()) this.addAnnotation()

    if (this.isInline()) {
      return [this.css]
    }
    return [this.css, this.map]
  }

  path(file) {
    if (file.indexOf('<') === 0) return file
    if (/^\w+:\/\//.test(file)) return file
    if (this.mapOpts.absolute) return file

    let from = this.opts.to ? dirname(this.opts.to) : '.'

    if (typeof this.mapOpts.annotation === 'string') {
      from = dirname(resolve(from, this.mapOpts.annotation))
    }

    file = relative(from, file)
    return file
  }

  toUrl(path) {
    if (sep === '\\') {
      // istanbul ignore next
      path = path.replace(/\\/g, '/')
    }
    return encodeURI(path).replace(/[#?]/g, encodeURIComponent)
  }

  sourcePath(node) {
    if (this.mapOpts.from) {
      return this.toUrl(this.mapOpts.from)
    } else if (this.mapOpts.absolute) {
      if (pathToFileURL) {
        return pathToFileURL(node.source.input.from).toString()
      } else {
        // istanbul ignore next
        throw new Error(
          '`map.absolute` option is not available in this PostCSS build'
        )
      }
    } else {
      return this.toUrl(this.path(node.source.input.from))
    }
  }

  generateString() {
    this.css = ''
    this.map = new SourceMapGenerator({ file: this.outputFile() })

    let line = 1
    let column = 1

    let noSource = '<no source>'
    let mapping = {
      source: '',
      generated: { line: 0, column: 0 },
      original: { line: 0, column: 0 }
    }

    let lines, last
    this.stringify(this.root, (str, node, type) => {
      this.css += str

      if (node && type !== 'end') {
        mapping.generated.line = line
        mapping.generated.column = column - 1
        if (node.source && node.source.start) {
          mapping.source = this.sourcePath(node)
          mapping.original.line = node.source.start.line
          mapping.original.column = node.source.start.column - 1
          this.map.addMapping(mapping)
        } else {
          mapping.source = noSource
          mapping.original.line = 1
          mapping.original.column = 0
          this.map.addMapping(mapping)
        }
      }

      lines = str.match(/\n/g)
      if (lines) {
        line += lines.length
        last = str.lastIndexOf('\n')
        column = str.length - last
      } else {
        column += str.length
      }

      if (node && type !== 'start') {
        let p = node.parent || { raws: {} }
        if (node.type !== 'decl' || node !== p.last || p.raws.semicolon) {
          if (node.source && node.source.end) {
            mapping.source = this.sourcePath(node)
            mapping.original.line = node.source.end.line
            mapping.original.column = node.source.end.column - 1
            mapping.generated.line = line
            mapping.generated.column = column - 2
            this.map.addMapping(mapping)
          } else {
            mapping.source = noSource
            mapping.original.line = 1
            mapping.original.column = 0
            mapping.generated.line = line
            mapping.generated.column = column - 1
            this.map.addMapping(mapping)
          }
        }
      }
    })
  }

  generate() {
    this.clearAnnotation()

    if (pathAvailable && sourceMapAvailable && this.isMap()) {
      return this.generateMap()
    }

    let result = ''
    this.stringify(this.root, i => {
      result += i
    })
    return [result]
  }
}

module.exports = MapGenerator


/***/ }),

/***/ 48557:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let CssSyntaxError = __nccwpck_require__(63279)
let Stringifier = __nccwpck_require__(59414)
let { isClean } = __nccwpck_require__(32594)
let stringify = __nccwpck_require__(34793)

function cloneNode(obj, parent) {
  let cloned = new obj.constructor()

  for (let i in obj) {
    if (!Object.prototype.hasOwnProperty.call(obj, i)) {
      // istanbul ignore next
      continue
    }
    if (i === 'proxyCache') continue
    let value = obj[i]
    let type = typeof value

    if (i === 'parent' && type === 'object') {
      if (parent) cloned[i] = parent
    } else if (i === 'source') {
      cloned[i] = value
    } else if (Array.isArray(value)) {
      cloned[i] = value.map(j => cloneNode(j, cloned))
    } else {
      if (type === 'object' && value !== null) value = cloneNode(value)
      cloned[i] = value
    }
  }

  return cloned
}

class Node {
  constructor(defaults = {}) {
    this.raws = {}
    this[isClean] = false

    for (let name in defaults) {
      if (name === 'nodes') {
        this.nodes = []
        for (let node of defaults[name]) {
          if (typeof node.clone === 'function') {
            this.append(node.clone())
          } else {
            this.append(node)
          }
        }
      } else {
        this[name] = defaults[name]
      }
    }
  }

  error(message, opts = {}) {
    if (this.source) {
      let pos = this.positionBy(opts)
      return this.source.input.error(message, pos.line, pos.column, opts)
    }
    return new CssSyntaxError(message)
  }

  warn(result, text, opts) {
    let data = { node: this }
    for (let i in opts) data[i] = opts[i]
    return result.warn(text, data)
  }

  remove() {
    if (this.parent) {
      this.parent.removeChild(this)
    }
    this.parent = undefined
    return this
  }

  toString(stringifier = stringify) {
    if (stringifier.stringify) stringifier = stringifier.stringify
    let result = ''
    stringifier(this, i => {
      result += i
    })
    return result
  }

  assign(overrides = {}) {
    for (let name in overrides) {
      this[name] = overrides[name]
    }
    return this
  }

  clone(overrides = {}) {
    let cloned = cloneNode(this)
    for (let name in overrides) {
      cloned[name] = overrides[name]
    }
    return cloned
  }

  cloneBefore(overrides = {}) {
    let cloned = this.clone(overrides)
    this.parent.insertBefore(this, cloned)
    return cloned
  }

  cloneAfter(overrides = {}) {
    let cloned = this.clone(overrides)
    this.parent.insertAfter(this, cloned)
    return cloned
  }

  replaceWith(...nodes) {
    if (this.parent) {
      let bookmark = this
      let foundSelf = false
      for (let node of nodes) {
        if (node === this) {
          foundSelf = true
        } else if (foundSelf) {
          this.parent.insertAfter(bookmark, node)
          bookmark = node
        } else {
          this.parent.insertBefore(bookmark, node)
        }
      }

      if (!foundSelf) {
        this.remove()
      }
    }

    return this
  }

  next() {
    if (!this.parent) return undefined
    let index = this.parent.index(this)
    return this.parent.nodes[index + 1]
  }

  prev() {
    if (!this.parent) return undefined
    let index = this.parent.index(this)
    return this.parent.nodes[index - 1]
  }

  before(add) {
    this.parent.insertBefore(this, add)
    return this
  }

  after(add) {
    this.parent.insertAfter(this, add)
    return this
  }

  root() {
    let result = this
    while (result.parent && result.parent.type !== 'document') {
      result = result.parent
    }
    return result
  }

  raw(prop, defaultType) {
    let str = new Stringifier()
    return str.raw(this, prop, defaultType)
  }

  cleanRaws(keepBetween) {
    delete this.raws.before
    delete this.raws.after
    if (!keepBetween) delete this.raws.between
  }

  toJSON(_, inputs) {
    let fixed = {}
    let emitInputs = inputs == null
    inputs = inputs || new Map()
    let inputsNextIndex = 0

    for (let name in this) {
      if (!Object.prototype.hasOwnProperty.call(this, name)) {
        // istanbul ignore next
        continue
      }
      if (name === 'parent' || name === 'proxyCache') continue
      let value = this[name]

      if (Array.isArray(value)) {
        fixed[name] = value.map(i => {
          if (typeof i === 'object' && i.toJSON) {
            return i.toJSON(null, inputs)
          } else {
            return i
          }
        })
      } else if (typeof value === 'object' && value.toJSON) {
        fixed[name] = value.toJSON(null, inputs)
      } else if (name === 'source') {
        let inputId = inputs.get(value.input)
        if (inputId == null) {
          inputId = inputsNextIndex
          inputs.set(value.input, inputsNextIndex)
          inputsNextIndex++
        }
        fixed[name] = {
          inputId,
          start: value.start,
          end: value.end
        }
      } else {
        fixed[name] = value
      }
    }

    if (emitInputs) {
      fixed.inputs = [...inputs.keys()].map(input => input.toJSON())
    }

    return fixed
  }

  positionInside(index) {
    let string = this.toString()
    let column = this.source.start.column
    let line = this.source.start.line

    for (let i = 0; i < index; i++) {
      if (string[i] === '\n') {
        column = 1
        line += 1
      } else {
        column += 1
      }
    }

    return { line, column }
  }

  positionBy(opts) {
    let pos = this.source.start
    if (opts.index) {
      pos = this.positionInside(opts.index)
    } else if (opts.word) {
      let index = this.toString().indexOf(opts.word)
      if (index !== -1) pos = this.positionInside(index)
    }
    return pos
  }

  getProxyProcessor() {
    return {
      set(node, prop, value) {
        if (node[prop] === value) return true
        node[prop] = value
        if (
          prop === 'prop' ||
          prop === 'value' ||
          prop === 'name' ||
          prop === 'params' ||
          prop === 'important' ||
          prop === 'text'
        ) {
          node.markDirty()
        }
        return true
      },

      get(node, prop) {
        if (prop === 'proxyOf') {
          return node
        } else if (prop === 'root') {
          return () => node.root().toProxy()
        } else {
          return node[prop]
        }
      }
    }
  }

  toProxy() {
    if (!this.proxyCache) {
      this.proxyCache = new Proxy(this, this.getProxyProcessor())
    }
    return this.proxyCache
  }

  addToError(error) {
    error.postcssNode = this
    if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) {
      let s = this.source
      error.stack = error.stack.replace(
        /\n\s{4}at /,
        `$&${s.input.from}:${s.start.line}:${s.start.column}$&`
      )
    }
    return error
  }

  markDirty() {
    if (this[isClean]) {
      this[isClean] = false
      let next = this
      while ((next = next.parent)) {
        next[isClean] = false
      }
    }
  }

  get proxyOf() {
    return this
  }
}

module.exports = Node
Node.default = Node


/***/ }),

/***/ 2128:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Container = __nccwpck_require__(56919)
let Parser = __nccwpck_require__(95613)
let Input = __nccwpck_require__(2690)

function parse(css, opts) {
  let input = new Input(css, opts)
  let parser = new Parser(input)
  try {
    parser.parse()
  } catch (e) {
    if (process.env.NODE_ENV !== 'production') {
      if (e.name === 'CssSyntaxError' && opts && opts.from) {
        if (/\.scss$/i.test(opts.from)) {
          e.message +=
            '\nYou tried to parse SCSS with ' +
            'the standard CSS parser; ' +
            'try again with the postcss-scss parser'
        } else if (/\.sass/i.test(opts.from)) {
          e.message +=
            '\nYou tried to parse Sass with ' +
            'the standard CSS parser; ' +
            'try again with the postcss-sass parser'
        } else if (/\.less$/i.test(opts.from)) {
          e.message +=
            '\nYou tried to parse Less with ' +
            'the standard CSS parser; ' +
            'try again with the postcss-less parser'
        }
      }
    }
    throw e
  }

  return parser.root
}

module.exports = parse
parse.default = parse

Container.registerParse(parse)


/***/ }),

/***/ 95613:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Declaration = __nccwpck_require__(33522)
let tokenizer = __nccwpck_require__(45790)
let Comment = __nccwpck_require__(37592)
let AtRule = __nccwpck_require__(54193)
let Root = __nccwpck_require__(22630)
let Rule = __nccwpck_require__(12234)

class Parser {
  constructor(input) {
    this.input = input

    this.root = new Root()
    this.current = this.root
    this.spaces = ''
    this.semicolon = false
    this.customProperty = false

    this.createTokenizer()
    this.root.source = { input, start: { offset: 0, line: 1, column: 1 } }
  }

  createTokenizer() {
    this.tokenizer = tokenizer(this.input)
  }

  parse() {
    let token
    while (!this.tokenizer.endOfFile()) {
      token = this.tokenizer.nextToken()

      switch (token[0]) {
        case 'space':
          this.spaces += token[1]
          break

        case ';':
          this.freeSemicolon(token)
          break

        case '}':
          this.end(token)
          break

        case 'comment':
          this.comment(token)
          break

        case 'at-word':
          this.atrule(token)
          break

        case '{':
          this.emptyRule(token)
          break

        default:
          this.other(token)
          break
      }
    }
    this.endFile()
  }

  comment(token) {
    let node = new Comment()
    this.init(node, token[2])
    node.source.end = this.getPosition(token[3] || token[2])

    let text = token[1].slice(2, -2)
    if (/^\s*$/.test(text)) {
      node.text = ''
      node.raws.left = text
      node.raws.right = ''
    } else {
      let match = text.match(/^(\s*)([^]*\S)(\s*)$/)
      node.text = match[2]
      node.raws.left = match[1]
      node.raws.right = match[3]
    }
  }

  emptyRule(token) {
    let node = new Rule()
    this.init(node, token[2])
    node.selector = ''
    node.raws.between = ''
    this.current = node
  }

  other(start) {
    let end = false
    let type = null
    let colon = false
    let bracket = null
    let brackets = []
    let customProperty = start[1].startsWith('--')

    let tokens = []
    let token = start
    while (token) {
      type = token[0]
      tokens.push(token)

      if (type === '(' || type === '[') {
        if (!bracket) bracket = token
        brackets.push(type === '(' ? ')' : ']')
      } else if (customProperty && colon && type === '{') {
        if (!bracket) bracket = token
        brackets.push('}')
      } else if (brackets.length === 0) {
        if (type === ';') {
          if (colon) {
            this.decl(tokens, customProperty)
            return
          } else {
            break
          }
        } else if (type === '{') {
          this.rule(tokens)
          return
        } else if (type === '}') {
          this.tokenizer.back(tokens.pop())
          end = true
          break
        } else if (type === ':') {
          colon = true
        }
      } else if (type === brackets[brackets.length - 1]) {
        brackets.pop()
        if (brackets.length === 0) bracket = null
      }

      token = this.tokenizer.nextToken()
    }

    if (this.tokenizer.endOfFile()) end = true
    if (brackets.length > 0) this.unclosedBracket(bracket)

    if (end && colon) {
      while (tokens.length) {
        token = tokens[tokens.length - 1][0]
        if (token !== 'space' && token !== 'comment') break
        this.tokenizer.back(tokens.pop())
      }
      this.decl(tokens, customProperty)
    } else {
      this.unknownWord(tokens)
    }
  }

  rule(tokens) {
    tokens.pop()

    let node = new Rule()
    this.init(node, tokens[0][2])

    node.raws.between = this.spacesAndCommentsFromEnd(tokens)
    this.raw(node, 'selector', tokens)
    this.current = node
  }

  decl(tokens, customProperty) {
    let node = new Declaration()
    this.init(node, tokens[0][2])

    let last = tokens[tokens.length - 1]
    if (last[0] === ';') {
      this.semicolon = true
      tokens.pop()
    }
    node.source.end = this.getPosition(last[3] || last[2])

    while (tokens[0][0] !== 'word') {
      if (tokens.length === 1) this.unknownWord(tokens)
      node.raws.before += tokens.shift()[1]
    }
    node.source.start = this.getPosition(tokens[0][2])

    node.prop = ''
    while (tokens.length) {
      let type = tokens[0][0]
      if (type === ':' || type === 'space' || type === 'comment') {
        break
      }
      node.prop += tokens.shift()[1]
    }

    node.raws.between = ''

    let token
    while (tokens.length) {
      token = tokens.shift()

      if (token[0] === ':') {
        node.raws.between += token[1]
        break
      } else {
        if (token[0] === 'word' && /\w/.test(token[1])) {
          this.unknownWord([token])
        }
        node.raws.between += token[1]
      }
    }

    if (node.prop[0] === '_' || node.prop[0] === '*') {
      node.raws.before += node.prop[0]
      node.prop = node.prop.slice(1)
    }
    let firstSpaces = this.spacesAndCommentsFromStart(tokens)
    this.precheckMissedSemicolon(tokens)

    for (let i = tokens.length - 1; i >= 0; i--) {
      token = tokens[i]
      if (token[1].toLowerCase() === '!important') {
        node.important = true
        let string = this.stringFrom(tokens, i)
        string = this.spacesFromEnd(tokens) + string
        if (string !== ' !important') node.raws.important = string
        break
      } else if (token[1].toLowerCase() === 'important') {
        let cache = tokens.slice(0)
        let str = ''
        for (let j = i; j > 0; j--) {
          let type = cache[j][0]
          if (str.trim().indexOf('!') === 0 && type !== 'space') {
            break
          }
          str = cache.pop()[1] + str
        }
        if (str.trim().indexOf('!') === 0) {
          node.important = true
          node.raws.important = str
          tokens = cache
        }
      }

      if (token[0] !== 'space' && token[0] !== 'comment') {
        break
      }
    }

    let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')
    this.raw(node, 'value', tokens)
    if (hasWord) {
      node.raws.between += firstSpaces
    } else {
      node.value = firstSpaces + node.value
    }

    if (node.value.includes(':') && !customProperty) {
      this.checkMissedSemicolon(tokens)
    }
  }

  atrule(token) {
    let node = new AtRule()
    node.name = token[1].slice(1)
    if (node.name === '') {
      this.unnamedAtrule(node, token)
    }
    this.init(node, token[2])

    let type
    let prev
    let shift
    let last = false
    let open = false
    let params = []
    let brackets = []

    while (!this.tokenizer.endOfFile()) {
      token = this.tokenizer.nextToken()
      type = token[0]

      if (type === '(' || type === '[') {
        brackets.push(type === '(' ? ')' : ']')
      } else if (type === '{' && brackets.length > 0) {
        brackets.push('}')
      } else if (type === brackets[brackets.length - 1]) {
        brackets.pop()
      }

      if (brackets.length === 0) {
        if (type === ';') {
          node.source.end = this.getPosition(token[2])
          this.semicolon = true
          break
        } else if (type === '{') {
          open = true
          break
        } else if (type === '}') {
          if (params.length > 0) {
            shift = params.length - 1
            prev = params[shift]
            while (prev && prev[0] === 'space') {
              prev = params[--shift]
            }
            if (prev) {
              node.source.end = this.getPosition(prev[3] || prev[2])
            }
          }
          this.end(token)
          break
        } else {
          params.push(token)
        }
      } else {
        params.push(token)
      }

      if (this.tokenizer.endOfFile()) {
        last = true
        break
      }
    }

    node.raws.between = this.spacesAndCommentsFromEnd(params)
    if (params.length) {
      node.raws.afterName = this.spacesAndCommentsFromStart(params)
      this.raw(node, 'params', params)
      if (last) {
        token = params[params.length - 1]
        node.source.end = this.getPosition(token[3] || token[2])
        this.spaces = node.raws.between
        node.raws.between = ''
      }
    } else {
      node.raws.afterName = ''
      node.params = ''
    }

    if (open) {
      node.nodes = []
      this.current = node
    }
  }

  end(token) {
    if (this.current.nodes && this.current.nodes.length) {
      this.current.raws.semicolon = this.semicolon
    }
    this.semicolon = false

    this.current.raws.after = (this.current.raws.after || '') + this.spaces
    this.spaces = ''

    if (this.current.parent) {
      this.current.source.end = this.getPosition(token[2])
      this.current = this.current.parent
    } else {
      this.unexpectedClose(token)
    }
  }

  endFile() {
    if (this.current.parent) this.unclosedBlock()
    if (this.current.nodes && this.current.nodes.length) {
      this.current.raws.semicolon = this.semicolon
    }
    this.current.raws.after = (this.current.raws.after || '') + this.spaces
  }

  freeSemicolon(token) {
    this.spaces += token[1]
    if (this.current.nodes) {
      let prev = this.current.nodes[this.current.nodes.length - 1]
      if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {
        prev.raws.ownSemicolon = this.spaces
        this.spaces = ''
      }
    }
  }

  // Helpers

  getPosition(offset) {
    let pos = this.input.fromOffset(offset)
    return {
      offset,
      line: pos.line,
      column: pos.col
    }
  }

  init(node, offset) {
    this.current.push(node)
    node.source = {
      start: this.getPosition(offset),
      input: this.input
    }
    node.raws.before = this.spaces
    this.spaces = ''
    if (node.type !== 'comment') this.semicolon = false
  }

  raw(node, prop, tokens) {
    let token, type
    let length = tokens.length
    let value = ''
    let clean = true
    let next, prev
    let pattern = /^([#.|])?(\w)+/i

    for (let i = 0; i < length; i += 1) {
      token = tokens[i]
      type = token[0]

      if (type === 'comment' && node.type === 'rule') {
        prev = tokens[i - 1]
        next = tokens[i + 1]

        if (
          prev[0] !== 'space' &&
          next[0] !== 'space' &&
          pattern.test(prev[1]) &&
          pattern.test(next[1])
        ) {
          value += token[1]
        } else {
          clean = false
        }

        continue
      }

      if (type === 'comment' || (type === 'space' && i === length - 1)) {
        clean = false
      } else {
        value += token[1]
      }
    }
    if (!clean) {
      let raw = tokens.reduce((all, i) => all + i[1], '')
      node.raws[prop] = { value, raw }
    }
    node[prop] = value
  }

  spacesAndCommentsFromEnd(tokens) {
    let lastTokenType
    let spaces = ''
    while (tokens.length) {
      lastTokenType = tokens[tokens.length - 1][0]
      if (lastTokenType !== 'space' && lastTokenType !== 'comment') break
      spaces = tokens.pop()[1] + spaces
    }
    return spaces
  }

  spacesAndCommentsFromStart(tokens) {
    let next
    let spaces = ''
    while (tokens.length) {
      next = tokens[0][0]
      if (next !== 'space' && next !== 'comment') break
      spaces += tokens.shift()[1]
    }
    return spaces
  }

  spacesFromEnd(tokens) {
    let lastTokenType
    let spaces = ''
    while (tokens.length) {
      lastTokenType = tokens[tokens.length - 1][0]
      if (lastTokenType !== 'space') break
      spaces = tokens.pop()[1] + spaces
    }
    return spaces
  }

  stringFrom(tokens, from) {
    let result = ''
    for (let i = from; i < tokens.length; i++) {
      result += tokens[i][1]
    }
    tokens.splice(from, tokens.length - from)
    return result
  }

  colon(tokens) {
    let brackets = 0
    let token, type, prev
    for (let [i, element] of tokens.entries()) {
      token = element
      type = token[0]

      if (type === '(') {
        brackets += 1
      }
      if (type === ')') {
        brackets -= 1
      }
      if (brackets === 0 && type === ':') {
        if (!prev) {
          this.doubleColon(token)
        } else if (prev[0] === 'word' && prev[1] === 'progid') {
          continue
        } else {
          return i
        }
      }

      prev = token
    }
    return false
  }

  // Errors

  unclosedBracket(bracket) {
    throw this.input.error('Unclosed bracket', bracket[2])
  }

  unknownWord(tokens) {
    throw this.input.error('Unknown word', tokens[0][2])
  }

  unexpectedClose(token) {
    throw this.input.error('Unexpected }', token[2])
  }

  unclosedBlock() {
    let pos = this.current.source.start
    throw this.input.error('Unclosed block', pos.line, pos.column)
  }

  doubleColon(token) {
    throw this.input.error('Double colon', token[2])
  }

  unnamedAtrule(node, token) {
    throw this.input.error('At-rule without name', token[2])
  }

  precheckMissedSemicolon(/* tokens */) {
    // Hook for Safe Parser
  }

  checkMissedSemicolon(tokens) {
    let colon = this.colon(tokens)
    if (colon === false) return

    let founded = 0
    let token
    for (let j = colon - 1; j >= 0; j--) {
      token = tokens[j]
      if (token[0] !== 'space') {
        founded += 1
        if (founded === 2) break
      }
    }
    throw this.input.error('Missed semicolon', token[2])
  }
}

module.exports = Parser


/***/ }),

/***/ 77001:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let CssSyntaxError = __nccwpck_require__(63279)
let Declaration = __nccwpck_require__(33522)
let LazyResult = __nccwpck_require__(46310)
let Container = __nccwpck_require__(56919)
let Processor = __nccwpck_require__(79189)
let stringify = __nccwpck_require__(34793)
let fromJSON = __nccwpck_require__(71543)
let Document = __nccwpck_require__(58085)
let Warning = __nccwpck_require__(87143)
let Comment = __nccwpck_require__(37592)
let AtRule = __nccwpck_require__(54193)
let Result = __nccwpck_require__(66846)
let Input = __nccwpck_require__(2690)
let parse = __nccwpck_require__(2128)
let list = __nccwpck_require__(41608)
let Rule = __nccwpck_require__(12234)
let Root = __nccwpck_require__(22630)
let Node = __nccwpck_require__(48557)

function postcss(...plugins) {
  if (plugins.length === 1 && Array.isArray(plugins[0])) {
    plugins = plugins[0]
  }
  return new Processor(plugins)
}

postcss.plugin = function plugin(name, initializer) {
  if (console && console.warn) {
    console.warn(
      name +
        ': postcss.plugin was deprecated. Migration guide:\n' +
        'https://evilmartians.com/chronicles/postcss-8-plugin-migration'
    )
    if (process.env.LANG && process.env.LANG.startsWith('cn')) {
      // istanbul ignore next
      console.warn(
        name +
          ': é‡Œé¢ postcss.plugin 被弃用. è¿ç§»æŒ‡å—:\n' +
          'https://www.w3ctech.com/topic/2226'
      )
    }
  }
  function creator(...args) {
    let transformer = initializer(...args)
    transformer.postcssPlugin = name
    transformer.postcssVersion = new Processor().version
    return transformer
  }

  let cache
  Object.defineProperty(creator, 'postcss', {
    get() {
      if (!cache) cache = creator()
      return cache
    }
  })

  creator.process = function (css, processOpts, pluginOpts) {
    return postcss([creator(pluginOpts)]).process(css, processOpts)
  }

  return creator
}

postcss.stringify = stringify
postcss.parse = parse
postcss.fromJSON = fromJSON
postcss.list = list

postcss.comment = defaults => new Comment(defaults)
postcss.atRule = defaults => new AtRule(defaults)
postcss.decl = defaults => new Declaration(defaults)
postcss.rule = defaults => new Rule(defaults)
postcss.root = defaults => new Root(defaults)
postcss.document = defaults => new Document(defaults)

postcss.CssSyntaxError = CssSyntaxError
postcss.Declaration = Declaration
postcss.Container = Container
postcss.Document = Document
postcss.Comment = Comment
postcss.Warning = Warning
postcss.AtRule = AtRule
postcss.Result = Result
postcss.Input = Input
postcss.Rule = Rule
postcss.Root = Root
postcss.Node = Node

LazyResult.registerPostcss(postcss)

module.exports = postcss
postcss.default = postcss


/***/ }),

/***/ 91090:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let { existsSync, readFileSync } = __nccwpck_require__(35747)
let { dirname, join } = __nccwpck_require__(85622)
let { SourceMapConsumer, SourceMapGenerator } = __nccwpck_require__(26766)

function fromBase64(str) {
  if (Buffer) {
    return Buffer.from(str, 'base64').toString()
  } else {
    // istanbul ignore next
    return window.atob(str)
  }
}

class PreviousMap {
  constructor(css, opts) {
    if (opts.map === false) return
    this.loadAnnotation(css)
    this.inline = this.startWith(this.annotation, 'data:')

    let prev = opts.map ? opts.map.prev : undefined
    let text = this.loadMap(opts.from, prev)
    if (!this.mapFile && opts.from) {
      this.mapFile = opts.from
    }
    if (this.mapFile) this.root = dirname(this.mapFile)
    if (text) this.text = text
  }

  consumer() {
    if (!this.consumerCache) {
      this.consumerCache = new SourceMapConsumer(this.text)
    }
    return this.consumerCache
  }

  withContent() {
    return !!(
      this.consumer().sourcesContent &&
      this.consumer().sourcesContent.length > 0
    )
  }

  startWith(string, start) {
    if (!string) return false
    return string.substr(0, start.length) === start
  }

  getAnnotationURL(sourceMapString) {
    return sourceMapString
      .match(/\/\*\s*# sourceMappingURL=((?:(?!sourceMappingURL=).)*)\*\//)[1]
      .trim()
  }

  loadAnnotation(css) {
    let annotations = css.match(
      /\/\*\s*# sourceMappingURL=(?:(?!sourceMappingURL=).)*\*\//gm
    )

    if (annotations && annotations.length > 0) {
      // Locate the last sourceMappingURL to avoid picking up
      // sourceMappingURLs from comments, strings, etc.
      let lastAnnotation = annotations[annotations.length - 1]
      if (lastAnnotation) {
        this.annotation = this.getAnnotationURL(lastAnnotation)
      }
    }
  }

  decodeInline(text) {
    let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/
    let baseUri = /^data:application\/json;base64,/
    let charsetUri = /^data:application\/json;charset=utf-?8,/
    let uri = /^data:application\/json,/

    if (charsetUri.test(text) || uri.test(text)) {
      return decodeURIComponent(text.substr(RegExp.lastMatch.length))
    }

    if (baseCharsetUri.test(text) || baseUri.test(text)) {
      return fromBase64(text.substr(RegExp.lastMatch.length))
    }

    let encoding = text.match(/data:application\/json;([^,]+),/)[1]
    throw new Error('Unsupported source map encoding ' + encoding)
  }

  loadFile(path) {
    this.root = dirname(path)
    if (existsSync(path)) {
      this.mapFile = path
      return readFileSync(path, 'utf-8').toString().trim()
    }
  }

  loadMap(file, prev) {
    if (prev === false) return false

    if (prev) {
      if (typeof prev === 'string') {
        return prev
      } else if (typeof prev === 'function') {
        let prevPath = prev(file)
        if (prevPath) {
          let map = this.loadFile(prevPath)
          if (!map) {
            throw new Error(
              'Unable to load previous source map: ' + prevPath.toString()
            )
          }
          return map
        }
      } else if (prev instanceof SourceMapConsumer) {
        return SourceMapGenerator.fromSourceMap(prev).toString()
      } else if (prev instanceof SourceMapGenerator) {
        return prev.toString()
      } else if (this.isMap(prev)) {
        return JSON.stringify(prev)
      } else {
        throw new Error(
          'Unsupported previous source map format: ' + prev.toString()
        )
      }
    } else if (this.inline) {
      return this.decodeInline(this.annotation)
    } else if (this.annotation) {
      let map = this.annotation
      if (file) map = join(dirname(file), map)
      return this.loadFile(map)
    }
  }

  isMap(map) {
    if (typeof map !== 'object') return false
    return (
      typeof map.mappings === 'string' ||
      typeof map._mappings === 'string' ||
      Array.isArray(map.sections)
    )
  }
}

module.exports = PreviousMap
PreviousMap.default = PreviousMap


/***/ }),

/***/ 79189:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let LazyResult = __nccwpck_require__(46310)
let Root = __nccwpck_require__(22630)
let Document = __nccwpck_require__(58085)

class Processor {
  constructor(plugins = []) {
    this.version = '8.3.0'
    this.plugins = this.normalize(plugins)
  }

  use(plugin) {
    this.plugins = this.plugins.concat(this.normalize([plugin]))
    return this
  }

  process(css, opts = {}) {
    if (
      this.plugins.length === 0 &&
      opts.parser === opts.stringifier &&
      !opts.hideNothingWarning
    ) {
      if (process.env.NODE_ENV !== 'production') {
        if (typeof console !== 'undefined' && console.warn) {
          console.warn(
            'You did not set any plugins, parser, or stringifier. ' +
              'Right now, PostCSS does nothing. Pick plugins for your case ' +
              'on https://www.postcss.parts/ and use them in postcss.config.js.'
          )
        }
      }
    }
    return new LazyResult(this, css, opts)
  }

  normalize(plugins) {
    let normalized = []
    for (let i of plugins) {
      if (i.postcss === true) {
        i = i()
      } else if (i.postcss) {
        i = i.postcss
      }

      if (typeof i === 'object' && Array.isArray(i.plugins)) {
        normalized = normalized.concat(i.plugins)
      } else if (typeof i === 'object' && i.postcssPlugin) {
        normalized.push(i)
      } else if (typeof i === 'function') {
        normalized.push(i)
      } else if (typeof i === 'object' && (i.parse || i.stringify)) {
        if (process.env.NODE_ENV !== 'production') {
          throw new Error(
            'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +
              'one of the syntax/parser/stringifier options as outlined ' +
              'in your PostCSS runner documentation.'
          )
        }
      } else {
        throw new Error(i + ' is not a PostCSS plugin')
      }
    }
    return normalized
  }
}

module.exports = Processor
Processor.default = Processor

Root.registerProcessor(Processor)
Document.registerProcessor(Processor)


/***/ }),

/***/ 66846:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Warning = __nccwpck_require__(87143)

class Result {
  constructor(processor, root, opts) {
    this.processor = processor
    this.messages = []
    this.root = root
    this.opts = opts
    this.css = undefined
    this.map = undefined
  }

  toString() {
    return this.css
  }

  warn(text, opts = {}) {
    if (!opts.plugin) {
      if (this.lastPlugin && this.lastPlugin.postcssPlugin) {
        opts.plugin = this.lastPlugin.postcssPlugin
      }
    }

    let warning = new Warning(text, opts)
    this.messages.push(warning)

    return warning
  }

  warnings() {
    return this.messages.filter(i => i.type === 'warning')
  }

  get content() {
    return this.css
  }
}

module.exports = Result
Result.default = Result


/***/ }),

/***/ 22630:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Container = __nccwpck_require__(56919)

let LazyResult, Processor

class Root extends Container {
  constructor(defaults) {
    super(defaults)
    this.type = 'root'
    if (!this.nodes) this.nodes = []
  }

  removeChild(child, ignore) {
    let index = this.index(child)

    if (!ignore && index === 0 && this.nodes.length > 1) {
      this.nodes[1].raws.before = this.nodes[index].raws.before
    }

    return super.removeChild(child)
  }

  normalize(child, sample, type) {
    let nodes = super.normalize(child)

    if (sample) {
      if (type === 'prepend') {
        if (this.nodes.length > 1) {
          sample.raws.before = this.nodes[1].raws.before
        } else {
          delete sample.raws.before
        }
      } else if (this.first !== sample) {
        for (let node of nodes) {
          node.raws.before = sample.raws.before
        }
      }
    }

    return nodes
  }

  toResult(opts = {}) {
    let lazy = new LazyResult(new Processor(), this, opts)
    return lazy.stringify()
  }
}

Root.registerLazyResult = dependant => {
  LazyResult = dependant
}

Root.registerProcessor = dependant => {
  Processor = dependant
}

module.exports = Root
Root.default = Root


/***/ }),

/***/ 12234:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Container = __nccwpck_require__(56919)
let list = __nccwpck_require__(41608)

class Rule extends Container {
  constructor(defaults) {
    super(defaults)
    this.type = 'rule'
    if (!this.nodes) this.nodes = []
  }

  get selectors() {
    return list.comma(this.selector)
  }

  set selectors(values) {
    let match = this.selector ? this.selector.match(/,\s*/) : null
    let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')
    this.selector = values.join(sep)
  }
}

module.exports = Rule
Rule.default = Rule

Container.registerRule(Rule)


/***/ }),

/***/ 59414:
/***/ ((module) => {

"use strict";


const DEFAULT_RAW = {
  colon: ': ',
  indent: '    ',
  beforeDecl: '\n',
  beforeRule: '\n',
  beforeOpen: ' ',
  beforeClose: '\n',
  beforeComment: '\n',
  after: '\n',
  emptyBody: '',
  commentLeft: ' ',
  commentRight: ' ',
  semicolon: false
}

function capitalize(str) {
  return str[0].toUpperCase() + str.slice(1)
}

class Stringifier {
  constructor(builder) {
    this.builder = builder
  }

  stringify(node, semicolon) {
    /* istanbul ignore if */
    if (!this[node.type]) {
      throw new Error(
        'Unknown AST node type ' +
          node.type +
          '. ' +
          'Maybe you need to change PostCSS stringifier.'
      )
    }
    this[node.type](node, semicolon)
  }

  document(node) {
    this.body(node)
  }

  root(node) {
    this.body(node)
    if (node.raws.after) this.builder(node.raws.after)
  }

  comment(node) {
    let left = this.raw(node, 'left', 'commentLeft')
    let right = this.raw(node, 'right', 'commentRight')
    this.builder('/*' + left + node.text + right + '*/', node)
  }

  decl(node, semicolon) {
    let between = this.raw(node, 'between', 'colon')
    let string = node.prop + between + this.rawValue(node, 'value')

    if (node.important) {
      string += node.raws.important || ' !important'
    }

    if (semicolon) string += ';'
    this.builder(string, node)
  }

  rule(node) {
    this.block(node, this.rawValue(node, 'selector'))
    if (node.raws.ownSemicolon) {
      this.builder(node.raws.ownSemicolon, node, 'end')
    }
  }

  atrule(node, semicolon) {
    let name = '@' + node.name
    let params = node.params ? this.rawValue(node, 'params') : ''

    if (typeof node.raws.afterName !== 'undefined') {
      name += node.raws.afterName
    } else if (params) {
      name += ' '
    }

    if (node.nodes) {
      this.block(node, name + params)
    } else {
      let end = (node.raws.between || '') + (semicolon ? ';' : '')
      this.builder(name + params + end, node)
    }
  }

  body(node) {
    let last = node.nodes.length - 1
    while (last > 0) {
      if (node.nodes[last].type !== 'comment') break
      last -= 1
    }

    let semicolon = this.raw(node, 'semicolon')
    for (let i = 0; i < node.nodes.length; i++) {
      let child = node.nodes[i]
      let before = this.raw(child, 'before')
      if (before) this.builder(before)
      this.stringify(child, last !== i || semicolon)
    }
  }

  block(node, start) {
    let between = this.raw(node, 'between', 'beforeOpen')
    this.builder(start + between + '{', node, 'start')

    let after
    if (node.nodes && node.nodes.length) {
      this.body(node)
      after = this.raw(node, 'after')
    } else {
      after = this.raw(node, 'after', 'emptyBody')
    }

    if (after) this.builder(after)
    this.builder('}', node, 'end')
  }

  raw(node, own, detect) {
    let value
    if (!detect) detect = own

    // Already had
    if (own) {
      value = node.raws[own]
      if (typeof value !== 'undefined') return value
    }

    let parent = node.parent

    if (detect === 'before') {
      // Hack for first rule in CSS
      if (!parent || (parent.type === 'root' && parent.first === node)) {
        return ''
      }

      // `root` nodes in `document` should use only their own raws
      if (parent && parent.type === 'document') {
        return ''
      }
    }

    // Floating child without parent
    if (!parent) return DEFAULT_RAW[detect]

    // Detect style by other nodes
    let root = node.root()
    if (!root.rawCache) root.rawCache = {}
    if (typeof root.rawCache[detect] !== 'undefined') {
      return root.rawCache[detect]
    }

    if (detect === 'before' || detect === 'after') {
      return this.beforeAfter(node, detect)
    } else {
      let method = 'raw' + capitalize(detect)
      if (this[method]) {
        value = this[method](root, node)
      } else {
        root.walk(i => {
          value = i.raws[own]
          if (typeof value !== 'undefined') return false
        })
      }
    }

    if (typeof value === 'undefined') value = DEFAULT_RAW[detect]

    root.rawCache[detect] = value
    return value
  }

  rawSemicolon(root) {
    let value
    root.walk(i => {
      if (i.nodes && i.nodes.length && i.last.type === 'decl') {
        value = i.raws.semicolon
        if (typeof value !== 'undefined') return false
      }
    })
    return value
  }

  rawEmptyBody(root) {
    let value
    root.walk(i => {
      if (i.nodes && i.nodes.length === 0) {
        value = i.raws.after
        if (typeof value !== 'undefined') return false
      }
    })
    return value
  }

  rawIndent(root) {
    if (root.raws.indent) return root.raws.indent
    let value
    root.walk(i => {
      let p = i.parent
      if (p && p !== root && p.parent && p.parent === root) {
        if (typeof i.raws.before !== 'undefined') {
          let parts = i.raws.before.split('\n')
          value = parts[parts.length - 1]
          value = value.replace(/\S/g, '')
          return false
        }
      }
    })
    return value
  }

  rawBeforeComment(root, node) {
    let value
    root.walkComments(i => {
      if (typeof i.raws.before !== 'undefined') {
        value = i.raws.before
        if (value.includes('\n')) {
          value = value.replace(/[^\n]+$/, '')
        }
        return false
      }
    })
    if (typeof value === 'undefined') {
      value = this.raw(node, null, 'beforeDecl')
    } else if (value) {
      value = value.replace(/\S/g, '')
    }
    return value
  }

  rawBeforeDecl(root, node) {
    let value
    root.walkDecls(i => {
      if (typeof i.raws.before !== 'undefined') {
        value = i.raws.before
        if (value.includes('\n')) {
          value = value.replace(/[^\n]+$/, '')
        }
        return false
      }
    })
    if (typeof value === 'undefined') {
      value = this.raw(node, null, 'beforeRule')
    } else if (value) {
      value = value.replace(/\S/g, '')
    }
    return value
  }

  rawBeforeRule(root) {
    let value
    root.walk(i => {
      if (i.nodes && (i.parent !== root || root.first !== i)) {
        if (typeof i.raws.before !== 'undefined') {
          value = i.raws.before
          if (value.includes('\n')) {
            value = value.replace(/[^\n]+$/, '')
          }
          return false
        }
      }
    })
    if (value) value = value.replace(/\S/g, '')
    return value
  }

  rawBeforeClose(root) {
    let value
    root.walk(i => {
      if (i.nodes && i.nodes.length > 0) {
        if (typeof i.raws.after !== 'undefined') {
          value = i.raws.after
          if (value.includes('\n')) {
            value = value.replace(/[^\n]+$/, '')
          }
          return false
        }
      }
    })
    if (value) value = value.replace(/\S/g, '')
    return value
  }

  rawBeforeOpen(root) {
    let value
    root.walk(i => {
      if (i.type !== 'decl') {
        value = i.raws.between
        if (typeof value !== 'undefined') return false
      }
    })
    return value
  }

  rawColon(root) {
    let value
    root.walkDecls(i => {
      if (typeof i.raws.between !== 'undefined') {
        value = i.raws.between.replace(/[^\s:]/g, '')
        return false
      }
    })
    return value
  }

  beforeAfter(node, detect) {
    let value
    if (node.type === 'decl') {
      value = this.raw(node, null, 'beforeDecl')
    } else if (node.type === 'comment') {
      value = this.raw(node, null, 'beforeComment')
    } else if (detect === 'before') {
      value = this.raw(node, null, 'beforeRule')
    } else {
      value = this.raw(node, null, 'beforeClose')
    }

    let buf = node.parent
    let depth = 0
    while (buf && buf.type !== 'root') {
      depth += 1
      buf = buf.parent
    }

    if (value.includes('\n')) {
      let indent = this.raw(node, null, 'indent')
      if (indent.length) {
        for (let step = 0; step < depth; step++) value += indent
      }
    }

    return value
  }

  rawValue(node, prop) {
    let value = node[prop]
    let raw = node.raws[prop]
    if (raw && raw.value === value) {
      return raw.raw
    }

    return value
  }
}

module.exports = Stringifier


/***/ }),

/***/ 34793:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let Stringifier = __nccwpck_require__(59414)

function stringify(node, builder) {
  let str = new Stringifier(builder)
  str.stringify(node)
}

module.exports = stringify
stringify.default = stringify


/***/ }),

/***/ 32594:
/***/ ((module) => {

"use strict";


module.exports.isClean = Symbol('isClean')


/***/ }),

/***/ 51040:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


let { cyan, gray, green, yellow, magenta } = __nccwpck_require__(95666)

let tokenizer = __nccwpck_require__(45790)

let Input

function registerInput(dependant) {
  Input = dependant
}

const HIGHLIGHT_THEME = {
  'brackets': cyan,
  'at-word': cyan,
  'comment': gray,
  'string': green,
  'class': yellow,
  'hash': magenta,
  'call': cyan,
  '(': cyan,
  ')': cyan,
  '{': yellow,
  '}': yellow,
  '[': yellow,
  ']': yellow,
  ':': yellow,
  ';': yellow
}

function getTokenType([type, value], processor) {
  if (type === 'word') {
    if (value[0] === '.') {
      return 'class'
    }
    if (value[0] === '#') {
      return 'hash'
    }
  }

  if (!processor.endOfFile()) {
    let next = processor.nextToken()
    processor.back(next)
    if (next[0] === 'brackets' || next[0] === '(') return 'call'
  }

  return type
}

function terminalHighlight(css) {
  let processor = tokenizer(new Input(css), { ignoreErrors: true })
  let result = ''
  while (!processor.endOfFile()) {
    let token = processor.nextToken()
    let color = HIGHLIGHT_THEME[getTokenType(token, processor)]
    if (color) {
      result += token[1]
        .split(/\r?\n/)
        .map(i => color(i))
        .join('\n')
    } else {
      result += token[1]
    }
  }
  return result
}

terminalHighlight.registerInput = registerInput

module.exports = terminalHighlight


/***/ }),

/***/ 45790:
/***/ ((module) => {

"use strict";


const SINGLE_QUOTE = "'".charCodeAt(0)
const DOUBLE_QUOTE = '"'.charCodeAt(0)
const BACKSLASH = '\\'.charCodeAt(0)
const SLASH = '/'.charCodeAt(0)
const NEWLINE = '\n'.charCodeAt(0)
const SPACE = ' '.charCodeAt(0)
const FEED = '\f'.charCodeAt(0)
const TAB = '\t'.charCodeAt(0)
const CR = '\r'.charCodeAt(0)
const OPEN_SQUARE = '['.charCodeAt(0)
const CLOSE_SQUARE = ']'.charCodeAt(0)
const OPEN_PARENTHESES = '('.charCodeAt(0)
const CLOSE_PARENTHESES = ')'.charCodeAt(0)
const OPEN_CURLY = '{'.charCodeAt(0)
const CLOSE_CURLY = '}'.charCodeAt(0)
const SEMICOLON = ';'.charCodeAt(0)
const ASTERISK = '*'.charCodeAt(0)
const COLON = ':'.charCodeAt(0)
const AT = '@'.charCodeAt(0)

const RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g
const RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g
const RE_BAD_BRACKET = /.[\n"'(/\\]/
const RE_HEX_ESCAPE = /[\da-f]/i

module.exports = function tokenizer(input, options = {}) {
  let css = input.css.valueOf()
  let ignore = options.ignoreErrors

  let code, next, quote, content, escape
  let escaped, escapePos, prev, n, currentToken

  let length = css.length
  let pos = 0
  let buffer = []
  let returned = []

  function position() {
    return pos
  }

  function unclosed(what) {
    throw input.error('Unclosed ' + what, pos)
  }

  function endOfFile() {
    return returned.length === 0 && pos >= length
  }

  function nextToken(opts) {
    if (returned.length) return returned.pop()
    if (pos >= length) return

    let ignoreUnclosed = opts ? opts.ignoreUnclosed : false

    code = css.charCodeAt(pos)

    switch (code) {
      case NEWLINE:
      case SPACE:
      case TAB:
      case CR:
      case FEED: {
        next = pos
        do {
          next += 1
          code = css.charCodeAt(next)
        } while (
          code === SPACE ||
          code === NEWLINE ||
          code === TAB ||
          code === CR ||
          code === FEED
        )

        currentToken = ['space', css.slice(pos, next)]
        pos = next - 1
        break
      }

      case OPEN_SQUARE:
      case CLOSE_SQUARE:
      case OPEN_CURLY:
      case CLOSE_CURLY:
      case COLON:
      case SEMICOLON:
      case CLOSE_PARENTHESES: {
        let controlChar = String.fromCharCode(code)
        currentToken = [controlChar, controlChar, pos]
        break
      }

      case OPEN_PARENTHESES: {
        prev = buffer.length ? buffer.pop()[1] : ''
        n = css.charCodeAt(pos + 1)
        if (
          prev === 'url' &&
          n !== SINGLE_QUOTE &&
          n !== DOUBLE_QUOTE &&
          n !== SPACE &&
          n !== NEWLINE &&
          n !== TAB &&
          n !== FEED &&
          n !== CR
        ) {
          next = pos
          do {
            escaped = false
            next = css.indexOf(')', next + 1)
            if (next === -1) {
              if (ignore || ignoreUnclosed) {
                next = pos
                break
              } else {
                unclosed('bracket')
              }
            }
            escapePos = next
            while (css.charCodeAt(escapePos - 1) === BACKSLASH) {
              escapePos -= 1
              escaped = !escaped
            }
          } while (escaped)

          currentToken = ['brackets', css.slice(pos, next + 1), pos, next]

          pos = next
        } else {
          next = css.indexOf(')', pos + 1)
          content = css.slice(pos, next + 1)

          if (next === -1 || RE_BAD_BRACKET.test(content)) {
            currentToken = ['(', '(', pos]
          } else {
            currentToken = ['brackets', content, pos, next]
            pos = next
          }
        }

        break
      }

      case SINGLE_QUOTE:
      case DOUBLE_QUOTE: {
        quote = code === SINGLE_QUOTE ? "'" : '"'
        next = pos
        do {
          escaped = false
          next = css.indexOf(quote, next + 1)
          if (next === -1) {
            if (ignore || ignoreUnclosed) {
              next = pos + 1
              break
            } else {
              unclosed('string')
            }
          }
          escapePos = next
          while (css.charCodeAt(escapePos - 1) === BACKSLASH) {
            escapePos -= 1
            escaped = !escaped
          }
        } while (escaped)

        currentToken = ['string', css.slice(pos, next + 1), pos, next]
        pos = next
        break
      }

      case AT: {
        RE_AT_END.lastIndex = pos + 1
        RE_AT_END.test(css)
        if (RE_AT_END.lastIndex === 0) {
          next = css.length - 1
        } else {
          next = RE_AT_END.lastIndex - 2
        }

        currentToken = ['at-word', css.slice(pos, next + 1), pos, next]

        pos = next
        break
      }

      case BACKSLASH: {
        next = pos
        escape = true
        while (css.charCodeAt(next + 1) === BACKSLASH) {
          next += 1
          escape = !escape
        }
        code = css.charCodeAt(next + 1)
        if (
          escape &&
          code !== SLASH &&
          code !== SPACE &&
          code !== NEWLINE &&
          code !== TAB &&
          code !== CR &&
          code !== FEED
        ) {
          next += 1
          if (RE_HEX_ESCAPE.test(css.charAt(next))) {
            while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {
              next += 1
            }
            if (css.charCodeAt(next + 1) === SPACE) {
              next += 1
            }
          }
        }

        currentToken = ['word', css.slice(pos, next + 1), pos, next]

        pos = next
        break
      }

      default: {
        if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {
          next = css.indexOf('*/', pos + 2) + 1
          if (next === 0) {
            if (ignore || ignoreUnclosed) {
              next = css.length
            } else {
              unclosed('comment')
            }
          }

          currentToken = ['comment', css.slice(pos, next + 1), pos, next]
          pos = next
        } else {
          RE_WORD_END.lastIndex = pos + 1
          RE_WORD_END.test(css)
          if (RE_WORD_END.lastIndex === 0) {
            next = css.length - 1
          } else {
            next = RE_WORD_END.lastIndex - 2
          }

          currentToken = ['word', css.slice(pos, next + 1), pos, next]
          buffer.push(currentToken)
          pos = next
        }

        break
      }
    }

    pos++
    return currentToken
  }

  function back(token) {
    returned.push(token)
  }

  return {
    back,
    nextToken,
    endOfFile,
    position
  }
}


/***/ }),

/***/ 21600:
/***/ ((module) => {

"use strict";


let printed = {}

module.exports = function warnOnce(message) {
  if (printed[message]) return
  printed[message] = true

  if (typeof console !== 'undefined' && console.warn) {
    console.warn(message)
  }
}


/***/ }),

/***/ 87143:
/***/ ((module) => {

"use strict";


class Warning {
  constructor(text, opts = {}) {
    this.type = 'warning'
    this.text = text

    if (opts.node && opts.node.source) {
      let pos = opts.node.positionBy(opts)
      this.line = pos.line
      this.column = pos.column
    }

    for (let opt in opts) this[opt] = opts[opt]
  }

  toString() {
    if (this.node) {
      return this.node.error(this.text, {
        plugin: this.plugin,
        index: this.index,
        word: this.word
      }).message
    }

    if (this.plugin) {
      return this.plugin + ': ' + this.text
    }

    return this.text
  }
}

module.exports = Warning
Warning.default = Warning


/***/ }),

/***/ 8634:
/***/ ((module) => {

"use strict";


module.exports = function rgbRegex(options) {
  options = options || {};

  return options.exact ?
    /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/ :
    /rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)/ig;
}


/***/ }),

/***/ 18001:
/***/ ((module) => {

"use strict";


module.exports = function rgbaRegex(options) {
  options = options || {};

  return options.exact ?
    /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/ :
    /rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)/ig;
}


/***/ }),

/***/ 65856:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var util = __nccwpck_require__(63297);
var has = Object.prototype.hasOwnProperty;
var hasNativeMap = typeof Map !== "undefined";

/**
 * A data structure which is a combination of an array and a set. Adding a new
 * member is O(1), testing for membership is O(1), and finding the index of an
 * element is O(1). Removing elements from the set is not supported. Only
 * strings are supported for membership.
 */
function ArraySet() {
  this._array = [];
  this._set = hasNativeMap ? new Map() : Object.create(null);
}

/**
 * Static method for creating ArraySet instances from an existing array.
 */
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
  var set = new ArraySet();
  for (var i = 0, len = aArray.length; i < len; i++) {
    set.add(aArray[i], aAllowDuplicates);
  }
  return set;
};

/**
 * Return how many unique items are in this ArraySet. If duplicates have been
 * added, than those do not count towards the size.
 *
 * @returns Number
 */
ArraySet.prototype.size = function ArraySet_size() {
  return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
};

/**
 * Add the given string to this set.
 *
 * @param String aStr
 */
ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
  var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
  var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
  var idx = this._array.length;
  if (!isDuplicate || aAllowDuplicates) {
    this._array.push(aStr);
  }
  if (!isDuplicate) {
    if (hasNativeMap) {
      this._set.set(aStr, idx);
    } else {
      this._set[sStr] = idx;
    }
  }
};

/**
 * Is the given string a member of this set?
 *
 * @param String aStr
 */
ArraySet.prototype.has = function ArraySet_has(aStr) {
  if (hasNativeMap) {
    return this._set.has(aStr);
  } else {
    var sStr = util.toSetString(aStr);
    return has.call(this._set, sStr);
  }
};

/**
 * What is the index of the given string in the array?
 *
 * @param String aStr
 */
ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
  if (hasNativeMap) {
    var idx = this._set.get(aStr);
    if (idx >= 0) {
        return idx;
    }
  } else {
    var sStr = util.toSetString(aStr);
    if (has.call(this._set, sStr)) {
      return this._set[sStr];
    }
  }

  throw new Error('"' + aStr + '" is not in the set.');
};

/**
 * What is the element at the given index?
 *
 * @param Number aIdx
 */
ArraySet.prototype.at = function ArraySet_at(aIdx) {
  if (aIdx >= 0 && aIdx < this._array.length) {
    return this._array[aIdx];
  }
  throw new Error('No element indexed by ' + aIdx);
};

/**
 * Returns the array representation of this set (which has the proper indices
 * indicated by indexOf). Note that this is a copy of the internal array used
 * for storing the members so that no one can mess with internal state.
 */
ArraySet.prototype.toArray = function ArraySet_toArray() {
  return this._array.slice();
};

exports.I = ArraySet;


/***/ }),

/***/ 825:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 *
 * Based on the Base 64 VLQ implementation in Closure Compiler:
 * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
 *
 * Copyright 2011 The Closure Compiler Authors. All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above
 *    copyright notice, this list of conditions and the following
 *    disclaimer in the documentation and/or other materials provided
 *    with the distribution.
 *  * Neither the name of Google Inc. nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

var base64 = __nccwpck_require__(12683);

// A single base 64 digit can contain 6 bits of data. For the base 64 variable
// length quantities we use in the source map spec, the first bit is the sign,
// the next four bits are the actual value, and the 6th bit is the
// continuation bit. The continuation bit tells us whether there are more
// digits in this value following this digit.
//
//   Continuation
//   |    Sign
//   |    |
//   V    V
//   101011

var VLQ_BASE_SHIFT = 5;

// binary: 100000
var VLQ_BASE = 1 << VLQ_BASE_SHIFT;

// binary: 011111
var VLQ_BASE_MASK = VLQ_BASE - 1;

// binary: 100000
var VLQ_CONTINUATION_BIT = VLQ_BASE;

/**
 * Converts from a two-complement value to a value where the sign bit is
 * placed in the least significant bit.  For example, as decimals:
 *   1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
 *   2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
 */
function toVLQSigned(aValue) {
  return aValue < 0
    ? ((-aValue) << 1) + 1
    : (aValue << 1) + 0;
}

/**
 * Converts to a two-complement value from a value where the sign bit is
 * placed in the least significant bit.  For example, as decimals:
 *   2 (10 binary) becomes 1, 3 (11 binary) becomes -1
 *   4 (100 binary) becomes 2, 5 (101 binary) becomes -2
 */
function fromVLQSigned(aValue) {
  var isNegative = (aValue & 1) === 1;
  var shifted = aValue >> 1;
  return isNegative
    ? -shifted
    : shifted;
}

/**
 * Returns the base 64 VLQ encoded value.
 */
exports.encode = function base64VLQ_encode(aValue) {
  var encoded = "";
  var digit;

  var vlq = toVLQSigned(aValue);

  do {
    digit = vlq & VLQ_BASE_MASK;
    vlq >>>= VLQ_BASE_SHIFT;
    if (vlq > 0) {
      // There are still more digits in this value, so we must make sure the
      // continuation bit is marked.
      digit |= VLQ_CONTINUATION_BIT;
    }
    encoded += base64.encode(digit);
  } while (vlq > 0);

  return encoded;
};

/**
 * Decodes the next base 64 VLQ value from the given string and returns the
 * value and the rest of the string via the out parameter.
 */
exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
  var strLen = aStr.length;
  var result = 0;
  var shift = 0;
  var continuation, digit;

  do {
    if (aIndex >= strLen) {
      throw new Error("Expected more digits in base 64 VLQ value.");
    }

    digit = base64.decode(aStr.charCodeAt(aIndex++));
    if (digit === -1) {
      throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
    }

    continuation = !!(digit & VLQ_CONTINUATION_BIT);
    digit &= VLQ_BASE_MASK;
    result = result + (digit << shift);
    shift += VLQ_BASE_SHIFT;
  } while (continuation);

  aOutParam.value = fromVLQSigned(result);
  aOutParam.rest = aIndex;
};


/***/ }),

/***/ 12683:
/***/ ((__unused_webpack_module, exports) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');

/**
 * Encode an integer in the range of 0 to 63 to a single base 64 digit.
 */
exports.encode = function (number) {
  if (0 <= number && number < intToCharMap.length) {
    return intToCharMap[number];
  }
  throw new TypeError("Must be between 0 and 63: " + number);
};

/**
 * Decode a single base 64 character code digit to an integer. Returns -1 on
 * failure.
 */
exports.decode = function (charCode) {
  var bigA = 65;     // 'A'
  var bigZ = 90;     // 'Z'

  var littleA = 97;  // 'a'
  var littleZ = 122; // 'z'

  var zero = 48;     // '0'
  var nine = 57;     // '9'

  var plus = 43;     // '+'
  var slash = 47;    // '/'

  var littleOffset = 26;
  var numberOffset = 52;

  // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  if (bigA <= charCode && charCode <= bigZ) {
    return (charCode - bigA);
  }

  // 26 - 51: abcdefghijklmnopqrstuvwxyz
  if (littleA <= charCode && charCode <= littleZ) {
    return (charCode - littleA + littleOffset);
  }

  // 52 - 61: 0123456789
  if (zero <= charCode && charCode <= nine) {
    return (charCode - zero + numberOffset);
  }

  // 62: +
  if (charCode == plus) {
    return 62;
  }

  // 63: /
  if (charCode == slash) {
    return 63;
  }

  // Invalid base64 digit.
  return -1;
};


/***/ }),

/***/ 85607:
/***/ ((__unused_webpack_module, exports) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

exports.GREATEST_LOWER_BOUND = 1;
exports.LEAST_UPPER_BOUND = 2;

/**
 * Recursive implementation of binary search.
 *
 * @param aLow Indices here and lower do not contain the needle.
 * @param aHigh Indices here and higher do not contain the needle.
 * @param aNeedle The element being searched for.
 * @param aHaystack The non-empty array being searched.
 * @param aCompare Function which takes two elements and returns -1, 0, or 1.
 * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
 *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
 *     closest element that is smaller than or greater than the one we are
 *     searching for, respectively, if the exact element cannot be found.
 */
function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
  // This function terminates when one of the following is true:
  //
  //   1. We find the exact element we are looking for.
  //
  //   2. We did not find the exact element, but we can return the index of
  //      the next-closest element.
  //
  //   3. We did not find the exact element, and there is no next-closest
  //      element than the one we are searching for, so we return -1.
  var mid = Math.floor((aHigh - aLow) / 2) + aLow;
  var cmp = aCompare(aNeedle, aHaystack[mid], true);
  if (cmp === 0) {
    // Found the element we are looking for.
    return mid;
  }
  else if (cmp > 0) {
    // Our needle is greater than aHaystack[mid].
    if (aHigh - mid > 1) {
      // The element is in the upper half.
      return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
    }

    // The exact needle element was not found in this haystack. Determine if
    // we are in termination case (3) or (2) and return the appropriate thing.
    if (aBias == exports.LEAST_UPPER_BOUND) {
      return aHigh < aHaystack.length ? aHigh : -1;
    } else {
      return mid;
    }
  }
  else {
    // Our needle is less than aHaystack[mid].
    if (mid - aLow > 1) {
      // The element is in the lower half.
      return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
    }

    // we are in termination case (3) or (2) and return the appropriate thing.
    if (aBias == exports.LEAST_UPPER_BOUND) {
      return mid;
    } else {
      return aLow < 0 ? -1 : aLow;
    }
  }
}

/**
 * This is an implementation of binary search which will always try and return
 * the index of the closest element if there is no exact hit. This is because
 * mappings between original and generated line/col pairs are single points,
 * and there is an implicit region between each of them, so a miss just means
 * that you aren't on the very start of a region.
 *
 * @param aNeedle The element you are looking for.
 * @param aHaystack The array that is being searched.
 * @param aCompare A function which takes the needle and an element in the
 *     array and returns -1, 0, or 1 depending on whether the needle is less
 *     than, equal to, or greater than the element, respectively.
 * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
 *     'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
 *     closest element that is smaller than or greater than the one we are
 *     searching for, respectively, if the exact element cannot be found.
 *     Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
 */
exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
  if (aHaystack.length === 0) {
    return -1;
  }

  var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
                              aCompare, aBias || exports.GREATEST_LOWER_BOUND);
  if (index < 0) {
    return -1;
  }

  // We have found either the exact element, or the next-closest element than
  // the one we are searching for. However, there may be more than one such
  // element. Make sure we always return the smallest of these.
  while (index - 1 >= 0) {
    if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
      break;
    }
    --index;
  }

  return index;
};


/***/ }),

/***/ 32508:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2014 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var util = __nccwpck_require__(63297);

/**
 * Determine whether mappingB is after mappingA with respect to generated
 * position.
 */
function generatedPositionAfter(mappingA, mappingB) {
  // Optimized for most common case
  var lineA = mappingA.generatedLine;
  var lineB = mappingB.generatedLine;
  var columnA = mappingA.generatedColumn;
  var columnB = mappingB.generatedColumn;
  return lineB > lineA || lineB == lineA && columnB >= columnA ||
         util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
}

/**
 * A data structure to provide a sorted view of accumulated mappings in a
 * performance conscious manner. It trades a neglibable overhead in general
 * case for a large speedup in case of mappings being added in order.
 */
function MappingList() {
  this._array = [];
  this._sorted = true;
  // Serves as infimum
  this._last = {generatedLine: -1, generatedColumn: 0};
}

/**
 * Iterate through internal items. This method takes the same arguments that
 * `Array.prototype.forEach` takes.
 *
 * NOTE: The order of the mappings is NOT guaranteed.
 */
MappingList.prototype.unsortedForEach =
  function MappingList_forEach(aCallback, aThisArg) {
    this._array.forEach(aCallback, aThisArg);
  };

/**
 * Add the given source mapping.
 *
 * @param Object aMapping
 */
MappingList.prototype.add = function MappingList_add(aMapping) {
  if (generatedPositionAfter(this._last, aMapping)) {
    this._last = aMapping;
    this._array.push(aMapping);
  } else {
    this._sorted = false;
    this._array.push(aMapping);
  }
};

/**
 * Returns the flat, sorted array of mappings. The mappings are sorted by
 * generated position.
 *
 * WARNING: This method returns internal data without copying, for
 * performance. The return value must NOT be mutated, and should be treated as
 * an immutable borrow. If you want to take ownership, you must make your own
 * copy.
 */
MappingList.prototype.toArray = function MappingList_toArray() {
  if (!this._sorted) {
    this._array.sort(util.compareByGeneratedPositionsInflated);
    this._sorted = true;
  }
  return this._array;
};

exports.H = MappingList;


/***/ }),

/***/ 55538:
/***/ ((__unused_webpack_module, exports) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

// It turns out that some (most?) JavaScript engines don't self-host
// `Array.prototype.sort`. This makes sense because C++ will likely remain
// faster than JS when doing raw CPU-intensive sorting. However, when using a
// custom comparator function, calling back and forth between the VM's C++ and
// JIT'd JS is rather slow *and* loses JIT type information, resulting in
// worse generated code for the comparator function than would be optimal. In
// fact, when sorting with a comparator, these costs outweigh the benefits of
// sorting in C++. By using our own JS-implemented Quick Sort (below), we get
// a ~3500ms mean speed-up in `bench/bench.html`.

function SortTemplate(comparator) {

/**
 * Swap the elements indexed by `x` and `y` in the array `ary`.
 *
 * @param {Array} ary
 *        The array.
 * @param {Number} x
 *        The index of the first item.
 * @param {Number} y
 *        The index of the second item.
 */
function swap(ary, x, y) {
  var temp = ary[x];
  ary[x] = ary[y];
  ary[y] = temp;
}

/**
 * Returns a random integer within the range `low .. high` inclusive.
 *
 * @param {Number} low
 *        The lower bound on the range.
 * @param {Number} high
 *        The upper bound on the range.
 */
function randomIntInRange(low, high) {
  return Math.round(low + (Math.random() * (high - low)));
}

/**
 * The Quick Sort algorithm.
 *
 * @param {Array} ary
 *        An array to sort.
 * @param {function} comparator
 *        Function to use to compare two items.
 * @param {Number} p
 *        Start index of the array
 * @param {Number} r
 *        End index of the array
 */
function doQuickSort(ary, comparator, p, r) {
  // If our lower bound is less than our upper bound, we (1) partition the
  // array into two pieces and (2) recurse on each half. If it is not, this is
  // the empty array and our base case.

  if (p < r) {
    // (1) Partitioning.
    //
    // The partitioning chooses a pivot between `p` and `r` and moves all
    // elements that are less than or equal to the pivot to the before it, and
    // all the elements that are greater than it after it. The effect is that
    // once partition is done, the pivot is in the exact place it will be when
    // the array is put in sorted order, and it will not need to be moved
    // again. This runs in O(n) time.

    // Always choose a random pivot so that an input array which is reverse
    // sorted does not cause O(n^2) running time.
    var pivotIndex = randomIntInRange(p, r);
    var i = p - 1;

    swap(ary, pivotIndex, r);
    var pivot = ary[r];

    // Immediately after `j` is incremented in this loop, the following hold
    // true:
    //
    //   * Every element in `ary[p .. i]` is less than or equal to the pivot.
    //
    //   * Every element in `ary[i+1 .. j-1]` is greater than the pivot.
    for (var j = p; j < r; j++) {
      if (comparator(ary[j], pivot, false) <= 0) {
        i += 1;
        swap(ary, i, j);
      }
    }

    swap(ary, i + 1, j);
    var q = i + 1;

    // (2) Recurse on each half.

    doQuickSort(ary, comparator, p, q - 1);
    doQuickSort(ary, comparator, q + 1, r);
  }
}

  return doQuickSort;
}

function cloneSort(comparator) {
  let template = SortTemplate.toString();
  let templateFn = new Function(`return ${template}`)();
  return templateFn(comparator);
}

/**
 * Sort the given array in-place with the given comparator function.
 *
 * @param {Array} ary
 *        An array to sort.
 * @param {function} comparator
 *        Function to use to compare two items.
 */

let sortCache = new WeakMap();
exports.U = function (ary, comparator, start = 0) {
  let doQuickSort = sortCache.get(comparator);
  if (doQuickSort === void 0) {
    doQuickSort = cloneSort(comparator);
    sortCache.set(comparator, doQuickSort);
  }
  doQuickSort(ary, comparator, start, ary.length - 1);
};


/***/ }),

/***/ 25146:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

var __webpack_unused_export__;
/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var util = __nccwpck_require__(63297);
var binarySearch = __nccwpck_require__(85607);
var ArraySet = __nccwpck_require__(65856)/* .ArraySet */ .I;
var base64VLQ = __nccwpck_require__(825);
var quickSort = __nccwpck_require__(55538)/* .quickSort */ .U;

function SourceMapConsumer(aSourceMap, aSourceMapURL) {
  var sourceMap = aSourceMap;
  if (typeof aSourceMap === 'string') {
    sourceMap = util.parseSourceMapInput(aSourceMap);
  }

  return sourceMap.sections != null
    ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)
    : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);
}

SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {
  return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);
}

/**
 * The version of the source mapping spec that we are consuming.
 */
SourceMapConsumer.prototype._version = 3;

// `__generatedMappings` and `__originalMappings` are arrays that hold the
// parsed mapping coordinates from the source map's "mappings" attribute. They
// are lazily instantiated, accessed via the `_generatedMappings` and
// `_originalMappings` getters respectively, and we only parse the mappings
// and create these arrays once queried for a source location. We jump through
// these hoops because there can be many thousands of mappings, and parsing
// them is expensive, so we only want to do it if we must.
//
// Each object in the arrays is of the form:
//
//     {
//       generatedLine: The line number in the generated code,
//       generatedColumn: The column number in the generated code,
//       source: The path to the original source file that generated this
//               chunk of code,
//       originalLine: The line number in the original source that
//                     corresponds to this chunk of generated code,
//       originalColumn: The column number in the original source that
//                       corresponds to this chunk of generated code,
//       name: The name of the original symbol which generated this chunk of
//             code.
//     }
//
// All properties except for `generatedLine` and `generatedColumn` can be
// `null`.
//
// `_generatedMappings` is ordered by the generated positions.
//
// `_originalMappings` is ordered by the original positions.

SourceMapConsumer.prototype.__generatedMappings = null;
Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {
  configurable: true,
  enumerable: true,
  get: function () {
    if (!this.__generatedMappings) {
      this._parseMappings(this._mappings, this.sourceRoot);
    }

    return this.__generatedMappings;
  }
});

SourceMapConsumer.prototype.__originalMappings = null;
Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {
  configurable: true,
  enumerable: true,
  get: function () {
    if (!this.__originalMappings) {
      this._parseMappings(this._mappings, this.sourceRoot);
    }

    return this.__originalMappings;
  }
});

SourceMapConsumer.prototype._charIsMappingSeparator =
  function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
    var c = aStr.charAt(index);
    return c === ";" || c === ",";
  };

/**
 * Parse the mappings in a string in to a data structure which we can easily
 * query (the ordered arrays in the `this.__generatedMappings` and
 * `this.__originalMappings` properties).
 */
SourceMapConsumer.prototype._parseMappings =
  function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
    throw new Error("Subclasses must implement _parseMappings");
  };

SourceMapConsumer.GENERATED_ORDER = 1;
SourceMapConsumer.ORIGINAL_ORDER = 2;

SourceMapConsumer.GREATEST_LOWER_BOUND = 1;
SourceMapConsumer.LEAST_UPPER_BOUND = 2;

/**
 * Iterate over each mapping between an original source/line/column and a
 * generated line/column in this source map.
 *
 * @param Function aCallback
 *        The function that is called with each mapping.
 * @param Object aContext
 *        Optional. If specified, this object will be the value of `this` every
 *        time that `aCallback` is called.
 * @param aOrder
 *        Either `SourceMapConsumer.GENERATED_ORDER` or
 *        `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to
 *        iterate over the mappings sorted by the generated file's line/column
 *        order or the original's source/line/column order, respectively. Defaults to
 *        `SourceMapConsumer.GENERATED_ORDER`.
 */
SourceMapConsumer.prototype.eachMapping =
  function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
    var context = aContext || null;
    var order = aOrder || SourceMapConsumer.GENERATED_ORDER;

    var mappings;
    switch (order) {
    case SourceMapConsumer.GENERATED_ORDER:
      mappings = this._generatedMappings;
      break;
    case SourceMapConsumer.ORIGINAL_ORDER:
      mappings = this._originalMappings;
      break;
    default:
      throw new Error("Unknown order of iteration.");
    }

    var sourceRoot = this.sourceRoot;
    mappings.map(function (mapping) {
      var source = mapping.source === null ? null : this._sources.at(mapping.source);
      source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);
      return {
        source: source,
        generatedLine: mapping.generatedLine,
        generatedColumn: mapping.generatedColumn,
        originalLine: mapping.originalLine,
        originalColumn: mapping.originalColumn,
        name: mapping.name === null ? null : this._names.at(mapping.name)
      };
    }, this).forEach(aCallback, context);
  };

/**
 * Returns all generated line and column information for the original source,
 * line, and column provided. If no column is provided, returns all mappings
 * corresponding to a either the line we are searching for or the next
 * closest line that has any mappings. Otherwise, returns all mappings
 * corresponding to the given line and either the column we are searching for
 * or the next closest column that has any offsets.
 *
 * The only argument is an object with the following properties:
 *
 *   - source: The filename of the original source.
 *   - line: The line number in the original source.  The line number is 1-based.
 *   - column: Optional. the column number in the original source.
 *    The column number is 0-based.
 *
 * and an array of objects is returned, each with the following properties:
 *
 *   - line: The line number in the generated source, or null.  The
 *    line number is 1-based.
 *   - column: The column number in the generated source, or null.
 *    The column number is 0-based.
 */
SourceMapConsumer.prototype.allGeneratedPositionsFor =
  function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
    var line = util.getArg(aArgs, 'line');

    // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping
    // returns the index of the closest mapping less than the needle. By
    // setting needle.originalColumn to 0, we thus find the last mapping for
    // the given line, provided such a mapping exists.
    var needle = {
      source: util.getArg(aArgs, 'source'),
      originalLine: line,
      originalColumn: util.getArg(aArgs, 'column', 0)
    };

    needle.source = this._findSourceIndex(needle.source);
    if (needle.source < 0) {
      return [];
    }

    var mappings = [];

    var index = this._findMapping(needle,
                                  this._originalMappings,
                                  "originalLine",
                                  "originalColumn",
                                  util.compareByOriginalPositions,
                                  binarySearch.LEAST_UPPER_BOUND);
    if (index >= 0) {
      var mapping = this._originalMappings[index];

      if (aArgs.column === undefined) {
        var originalLine = mapping.originalLine;

        // Iterate until either we run out of mappings, or we run into
        // a mapping for a different line than the one we found. Since
        // mappings are sorted, this is guaranteed to find all mappings for
        // the line we found.
        while (mapping && mapping.originalLine === originalLine) {
          mappings.push({
            line: util.getArg(mapping, 'generatedLine', null),
            column: util.getArg(mapping, 'generatedColumn', null),
            lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
          });

          mapping = this._originalMappings[++index];
        }
      } else {
        var originalColumn = mapping.originalColumn;

        // Iterate until either we run out of mappings, or we run into
        // a mapping for a different line than the one we were searching for.
        // Since mappings are sorted, this is guaranteed to find all mappings for
        // the line we are searching for.
        while (mapping &&
               mapping.originalLine === line &&
               mapping.originalColumn == originalColumn) {
          mappings.push({
            line: util.getArg(mapping, 'generatedLine', null),
            column: util.getArg(mapping, 'generatedColumn', null),
            lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
          });

          mapping = this._originalMappings[++index];
        }
      }
    }

    return mappings;
  };

exports.SourceMapConsumer = SourceMapConsumer;

/**
 * A BasicSourceMapConsumer instance represents a parsed source map which we can
 * query for information about the original file positions by giving it a file
 * position in the generated source.
 *
 * The first parameter is the raw source map (either as a JSON string, or
 * already parsed to an object). According to the spec, source maps have the
 * following attributes:
 *
 *   - version: Which version of the source map spec this map is following.
 *   - sources: An array of URLs to the original source files.
 *   - names: An array of identifiers which can be referrenced by individual mappings.
 *   - sourceRoot: Optional. The URL root from which all sources are relative.
 *   - sourcesContent: Optional. An array of contents of the original source files.
 *   - mappings: A string of base64 VLQs which contain the actual mappings.
 *   - file: Optional. The generated file this source map is associated with.
 *
 * Here is an example source map, taken from the source map spec[0]:
 *
 *     {
 *       version : 3,
 *       file: "out.js",
 *       sourceRoot : "",
 *       sources: ["foo.js", "bar.js"],
 *       names: ["src", "maps", "are", "fun"],
 *       mappings: "AA,AB;;ABCDE;"
 *     }
 *
 * The second parameter, if given, is a string whose value is the URL
 * at which the source map was found.  This URL is used to compute the
 * sources array.
 *
 * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#
 */
function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {
  var sourceMap = aSourceMap;
  if (typeof aSourceMap === 'string') {
    sourceMap = util.parseSourceMapInput(aSourceMap);
  }

  var version = util.getArg(sourceMap, 'version');
  var sources = util.getArg(sourceMap, 'sources');
  // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which
  // requires the array) to play nice here.
  var names = util.getArg(sourceMap, 'names', []);
  var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);
  var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);
  var mappings = util.getArg(sourceMap, 'mappings');
  var file = util.getArg(sourceMap, 'file', null);

  // Once again, Sass deviates from the spec and supplies the version as a
  // string rather than a number, so we use loose equality checking here.
  if (version != this._version) {
    throw new Error('Unsupported version: ' + version);
  }

  if (sourceRoot) {
    sourceRoot = util.normalize(sourceRoot);
  }

  sources = sources
    .map(String)
    // Some source maps produce relative source paths like "./foo.js" instead of
    // "foo.js".  Normalize these first so that future comparisons will succeed.
    // See bugzil.la/1090768.
    .map(util.normalize)
    // Always ensure that absolute sources are internally stored relative to
    // the source root, if the source root is absolute. Not doing this would
    // be particularly problematic when the source root is a prefix of the
    // source (valid, but why??). See github issue #199 and bugzil.la/1188982.
    .map(function (source) {
      return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)
        ? util.relative(sourceRoot, source)
        : source;
    });

  // Pass `true` below to allow duplicate names and sources. While source maps
  // are intended to be compressed and deduplicated, the TypeScript compiler
  // sometimes generates source maps with duplicates in them. See Github issue
  // #72 and bugzil.la/889492.
  this._names = ArraySet.fromArray(names.map(String), true);
  this._sources = ArraySet.fromArray(sources, true);

  this._absoluteSources = this._sources.toArray().map(function (s) {
    return util.computeSourceURL(sourceRoot, s, aSourceMapURL);
  });

  this.sourceRoot = sourceRoot;
  this.sourcesContent = sourcesContent;
  this._mappings = mappings;
  this._sourceMapURL = aSourceMapURL;
  this.file = file;
}

BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;

/**
 * Utility function to find the index of a source.  Returns -1 if not
 * found.
 */
BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {
  var relativeSource = aSource;
  if (this.sourceRoot != null) {
    relativeSource = util.relative(this.sourceRoot, relativeSource);
  }

  if (this._sources.has(relativeSource)) {
    return this._sources.indexOf(relativeSource);
  }

  // Maybe aSource is an absolute URL as returned by |sources|.  In
  // this case we can't simply undo the transform.
  var i;
  for (i = 0; i < this._absoluteSources.length; ++i) {
    if (this._absoluteSources[i] == aSource) {
      return i;
    }
  }

  return -1;
};

/**
 * Create a BasicSourceMapConsumer from a SourceMapGenerator.
 *
 * @param SourceMapGenerator aSourceMap
 *        The source map that will be consumed.
 * @param String aSourceMapURL
 *        The URL at which the source map can be found (optional)
 * @returns BasicSourceMapConsumer
 */
BasicSourceMapConsumer.fromSourceMap =
  function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {
    var smc = Object.create(BasicSourceMapConsumer.prototype);

    var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
    var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
    smc.sourceRoot = aSourceMap._sourceRoot;
    smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),
                                                            smc.sourceRoot);
    smc.file = aSourceMap._file;
    smc._sourceMapURL = aSourceMapURL;
    smc._absoluteSources = smc._sources.toArray().map(function (s) {
      return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);
    });

    // Because we are modifying the entries (by converting string sources and
    // names to indices into the sources and names ArraySets), we have to make
    // a copy of the entry or else bad things happen. Shared mutable state
    // strikes again! See github issue #191.

    var generatedMappings = aSourceMap._mappings.toArray().slice();
    var destGeneratedMappings = smc.__generatedMappings = [];
    var destOriginalMappings = smc.__originalMappings = [];

    for (var i = 0, length = generatedMappings.length; i < length; i++) {
      var srcMapping = generatedMappings[i];
      var destMapping = new Mapping;
      destMapping.generatedLine = srcMapping.generatedLine;
      destMapping.generatedColumn = srcMapping.generatedColumn;

      if (srcMapping.source) {
        destMapping.source = sources.indexOf(srcMapping.source);
        destMapping.originalLine = srcMapping.originalLine;
        destMapping.originalColumn = srcMapping.originalColumn;

        if (srcMapping.name) {
          destMapping.name = names.indexOf(srcMapping.name);
        }

        destOriginalMappings.push(destMapping);
      }

      destGeneratedMappings.push(destMapping);
    }

    quickSort(smc.__originalMappings, util.compareByOriginalPositions);

    return smc;
  };

/**
 * The version of the source mapping spec that we are consuming.
 */
BasicSourceMapConsumer.prototype._version = 3;

/**
 * The list of original sources.
 */
Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {
  get: function () {
    return this._absoluteSources.slice();
  }
});

/**
 * Provide the JIT with a nice shape / hidden class.
 */
function Mapping() {
  this.generatedLine = 0;
  this.generatedColumn = 0;
  this.source = null;
  this.originalLine = null;
  this.originalColumn = null;
  this.name = null;
}

/**
 * Parse the mappings in a string in to a data structure which we can easily
 * query (the ordered arrays in the `this.__generatedMappings` and
 * `this.__originalMappings` properties).
 */

const compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine;
function sortGenerated(array, start) {
  let l = array.length;
  let n = array.length - start;
  if (n <= 1) {
    return;
  } else if (n == 2) {
    let a = array[start];
    let b = array[start + 1];
    if (compareGenerated(a, b) > 0) {
      array[start] = b;
      array[start + 1] = a;
    }
  } else if (n < 20) {
    for (let i = start; i < l; i++) {
      for (let j = i; j > start; j--) {
        let a = array[j - 1];
        let b = array[j];
        if (compareGenerated(a, b) <= 0) {
          break;
        }
        array[j - 1] = b;
        array[j] = a;
      }
    }
  } else {
    quickSort(array, compareGenerated, start);
  }
}
BasicSourceMapConsumer.prototype._parseMappings =
  function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
    var generatedLine = 1;
    var previousGeneratedColumn = 0;
    var previousOriginalLine = 0;
    var previousOriginalColumn = 0;
    var previousSource = 0;
    var previousName = 0;
    var length = aStr.length;
    var index = 0;
    var cachedSegments = {};
    var temp = {};
    var originalMappings = [];
    var generatedMappings = [];
    var mapping, str, segment, end, value;

    let subarrayStart = 0;
    while (index < length) {
      if (aStr.charAt(index) === ';') {
        generatedLine++;
        index++;
        previousGeneratedColumn = 0;

        sortGenerated(generatedMappings, subarrayStart);
        subarrayStart = generatedMappings.length;
      }
      else if (aStr.charAt(index) === ',') {
        index++;
      }
      else {
        mapping = new Mapping();
        mapping.generatedLine = generatedLine;

        for (end = index; end < length; end++) {
          if (this._charIsMappingSeparator(aStr, end)) {
            break;
          }
        }
        str = aStr.slice(index, end);

        segment = [];
        while (index < end) {
          base64VLQ.decode(aStr, index, temp);
          value = temp.value;
          index = temp.rest;
          segment.push(value);
        }

        if (segment.length === 2) {
          throw new Error('Found a source, but no line and column');
        }

        if (segment.length === 3) {
          throw new Error('Found a source and line, but no column');
        }

        // Generated column.
        mapping.generatedColumn = previousGeneratedColumn + segment[0];
        previousGeneratedColumn = mapping.generatedColumn;

        if (segment.length > 1) {
          // Original source.
          mapping.source = previousSource + segment[1];
          previousSource += segment[1];

          // Original line.
          mapping.originalLine = previousOriginalLine + segment[2];
          previousOriginalLine = mapping.originalLine;
          // Lines are stored 0-based
          mapping.originalLine += 1;

          // Original column.
          mapping.originalColumn = previousOriginalColumn + segment[3];
          previousOriginalColumn = mapping.originalColumn;

          if (segment.length > 4) {
            // Original name.
            mapping.name = previousName + segment[4];
            previousName += segment[4];
          }
        }

        generatedMappings.push(mapping);
        if (typeof mapping.originalLine === 'number') {
          let currentSource = mapping.source;
          while (originalMappings.length <= currentSource) {
            originalMappings.push(null);
          }
          if (originalMappings[currentSource] === null) {
            originalMappings[currentSource] = [];
          }
          originalMappings[currentSource].push(mapping);
        }
      }
    }

    sortGenerated(generatedMappings, subarrayStart);
    this.__generatedMappings = generatedMappings;

    for (var i = 0; i < originalMappings.length; i++) {
      if (originalMappings[i] != null) {
        quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource);
      }
    }
    this.__originalMappings = [].concat(...originalMappings);
  };

/**
 * Find the mapping that best matches the hypothetical "needle" mapping that
 * we are searching for in the given "haystack" of mappings.
 */
BasicSourceMapConsumer.prototype._findMapping =
  function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,
                                         aColumnName, aComparator, aBias) {
    // To return the position we are searching for, we must first find the
    // mapping for the given position and then return the opposite position it
    // points to. Because the mappings are sorted, we can use binary search to
    // find the best mapping.

    if (aNeedle[aLineName] <= 0) {
      throw new TypeError('Line must be greater than or equal to 1, got '
                          + aNeedle[aLineName]);
    }
    if (aNeedle[aColumnName] < 0) {
      throw new TypeError('Column must be greater than or equal to 0, got '
                          + aNeedle[aColumnName]);
    }

    return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
  };

/**
 * Compute the last column for each generated mapping. The last column is
 * inclusive.
 */
BasicSourceMapConsumer.prototype.computeColumnSpans =
  function SourceMapConsumer_computeColumnSpans() {
    for (var index = 0; index < this._generatedMappings.length; ++index) {
      var mapping = this._generatedMappings[index];

      // Mappings do not contain a field for the last generated columnt. We
      // can come up with an optimistic estimate, however, by assuming that
      // mappings are contiguous (i.e. given two consecutive mappings, the
      // first mapping ends where the second one starts).
      if (index + 1 < this._generatedMappings.length) {
        var nextMapping = this._generatedMappings[index + 1];

        if (mapping.generatedLine === nextMapping.generatedLine) {
          mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
          continue;
        }
      }

      // The last mapping for each line spans the entire line.
      mapping.lastGeneratedColumn = Infinity;
    }
  };

/**
 * Returns the original source, line, and column information for the generated
 * source's line and column positions provided. The only argument is an object
 * with the following properties:
 *
 *   - line: The line number in the generated source.  The line number
 *     is 1-based.
 *   - column: The column number in the generated source.  The column
 *     number is 0-based.
 *   - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or
 *     'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the
 *     closest element that is smaller than or greater than the one we are
 *     searching for, respectively, if the exact element cannot be found.
 *     Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.
 *
 * and an object is returned with the following properties:
 *
 *   - source: The original source file, or null.
 *   - line: The line number in the original source, or null.  The
 *     line number is 1-based.
 *   - column: The column number in the original source, or null.  The
 *     column number is 0-based.
 *   - name: The original identifier, or null.
 */
BasicSourceMapConsumer.prototype.originalPositionFor =
  function SourceMapConsumer_originalPositionFor(aArgs) {
    var needle = {
      generatedLine: util.getArg(aArgs, 'line'),
      generatedColumn: util.getArg(aArgs, 'column')
    };

    var index = this._findMapping(
      needle,
      this._generatedMappings,
      "generatedLine",
      "generatedColumn",
      util.compareByGeneratedPositionsDeflated,
      util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)
    );

    if (index >= 0) {
      var mapping = this._generatedMappings[index];

      if (mapping.generatedLine === needle.generatedLine) {
        var source = util.getArg(mapping, 'source', null);
        if (source !== null) {
          source = this._sources.at(source);
          source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);
        }
        var name = util.getArg(mapping, 'name', null);
        if (name !== null) {
          name = this._names.at(name);
        }
        return {
          source: source,
          line: util.getArg(mapping, 'originalLine', null),
          column: util.getArg(mapping, 'originalColumn', null),
          name: name
        };
      }
    }

    return {
      source: null,
      line: null,
      column: null,
      name: null
    };
  };

/**
 * Return true if we have the source content for every source in the source
 * map, false otherwise.
 */
BasicSourceMapConsumer.prototype.hasContentsOfAllSources =
  function BasicSourceMapConsumer_hasContentsOfAllSources() {
    if (!this.sourcesContent) {
      return false;
    }
    return this.sourcesContent.length >= this._sources.size() &&
      !this.sourcesContent.some(function (sc) { return sc == null; });
  };

/**
 * Returns the original source content. The only argument is the url of the
 * original source file. Returns null if no original source content is
 * available.
 */
BasicSourceMapConsumer.prototype.sourceContentFor =
  function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
    if (!this.sourcesContent) {
      return null;
    }

    var index = this._findSourceIndex(aSource);
    if (index >= 0) {
      return this.sourcesContent[index];
    }

    var relativeSource = aSource;
    if (this.sourceRoot != null) {
      relativeSource = util.relative(this.sourceRoot, relativeSource);
    }

    var url;
    if (this.sourceRoot != null
        && (url = util.urlParse(this.sourceRoot))) {
      // XXX: file:// URIs and absolute paths lead to unexpected behavior for
      // many users. We can help them out when they expect file:// URIs to
      // behave like it would if they were running a local HTTP server. See
      // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.
      var fileUriAbsPath = relativeSource.replace(/^file:\/\//, "");
      if (url.scheme == "file"
          && this._sources.has(fileUriAbsPath)) {
        return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]
      }

      if ((!url.path || url.path == "/")
          && this._sources.has("/" + relativeSource)) {
        return this.sourcesContent[this._sources.indexOf("/" + relativeSource)];
      }
    }

    // This function is used recursively from
    // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we
    // don't want to throw if we can't find the source - we just want to
    // return null, so we provide a flag to exit gracefully.
    if (nullOnMissing) {
      return null;
    }
    else {
      throw new Error('"' + relativeSource + '" is not in the SourceMap.');
    }
  };

/**
 * Returns the generated line and column information for the original source,
 * line, and column positions provided. The only argument is an object with
 * the following properties:
 *
 *   - source: The filename of the original source.
 *   - line: The line number in the original source.  The line number
 *     is 1-based.
 *   - column: The column number in the original source.  The column
 *     number is 0-based.
 *   - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or
 *     'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the
 *     closest element that is smaller than or greater than the one we are
 *     searching for, respectively, if the exact element cannot be found.
 *     Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.
 *
 * and an object is returned with the following properties:
 *
 *   - line: The line number in the generated source, or null.  The
 *     line number is 1-based.
 *   - column: The column number in the generated source, or null.
 *     The column number is 0-based.
 */
BasicSourceMapConsumer.prototype.generatedPositionFor =
  function SourceMapConsumer_generatedPositionFor(aArgs) {
    var source = util.getArg(aArgs, 'source');
    source = this._findSourceIndex(source);
    if (source < 0) {
      return {
        line: null,
        column: null,
        lastColumn: null
      };
    }

    var needle = {
      source: source,
      originalLine: util.getArg(aArgs, 'line'),
      originalColumn: util.getArg(aArgs, 'column')
    };

    var index = this._findMapping(
      needle,
      this._originalMappings,
      "originalLine",
      "originalColumn",
      util.compareByOriginalPositions,
      util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)
    );

    if (index >= 0) {
      var mapping = this._originalMappings[index];

      if (mapping.source === needle.source) {
        return {
          line: util.getArg(mapping, 'generatedLine', null),
          column: util.getArg(mapping, 'generatedColumn', null),
          lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
        };
      }
    }

    return {
      line: null,
      column: null,
      lastColumn: null
    };
  };

__webpack_unused_export__ = BasicSourceMapConsumer;

/**
 * An IndexedSourceMapConsumer instance represents a parsed source map which
 * we can query for information. It differs from BasicSourceMapConsumer in
 * that it takes "indexed" source maps (i.e. ones with a "sections" field) as
 * input.
 *
 * The first parameter is a raw source map (either as a JSON string, or already
 * parsed to an object). According to the spec for indexed source maps, they
 * have the following attributes:
 *
 *   - version: Which version of the source map spec this map is following.
 *   - file: Optional. The generated file this source map is associated with.
 *   - sections: A list of section definitions.
 *
 * Each value under the "sections" field has two fields:
 *   - offset: The offset into the original specified at which this section
 *       begins to apply, defined as an object with a "line" and "column"
 *       field.
 *   - map: A source map definition. This source map could also be indexed,
 *       but doesn't have to be.
 *
 * Instead of the "map" field, it's also possible to have a "url" field
 * specifying a URL to retrieve a source map from, but that's currently
 * unsupported.
 *
 * Here's an example source map, taken from the source map spec[0], but
 * modified to omit a section which uses the "url" field.
 *
 *  {
 *    version : 3,
 *    file: "app.js",
 *    sections: [{
 *      offset: {line:100, column:10},
 *      map: {
 *        version : 3,
 *        file: "section.js",
 *        sources: ["foo.js", "bar.js"],
 *        names: ["src", "maps", "are", "fun"],
 *        mappings: "AAAA,E;;ABCDE;"
 *      }
 *    }],
 *  }
 *
 * The second parameter, if given, is a string whose value is the URL
 * at which the source map was found.  This URL is used to compute the
 * sources array.
 *
 * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt
 */
function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {
  var sourceMap = aSourceMap;
  if (typeof aSourceMap === 'string') {
    sourceMap = util.parseSourceMapInput(aSourceMap);
  }

  var version = util.getArg(sourceMap, 'version');
  var sections = util.getArg(sourceMap, 'sections');

  if (version != this._version) {
    throw new Error('Unsupported version: ' + version);
  }

  this._sources = new ArraySet();
  this._names = new ArraySet();

  var lastOffset = {
    line: -1,
    column: 0
  };
  this._sections = sections.map(function (s) {
    if (s.url) {
      // The url field will require support for asynchronicity.
      // See https://github.com/mozilla/source-map/issues/16
      throw new Error('Support for url field in sections not implemented.');
    }
    var offset = util.getArg(s, 'offset');
    var offsetLine = util.getArg(offset, 'line');
    var offsetColumn = util.getArg(offset, 'column');

    if (offsetLine < lastOffset.line ||
        (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {
      throw new Error('Section offsets must be ordered and non-overlapping.');
    }
    lastOffset = offset;

    return {
      generatedOffset: {
        // The offset fields are 0-based, but we use 1-based indices when
        // encoding/decoding from VLQ.
        generatedLine: offsetLine + 1,
        generatedColumn: offsetColumn + 1
      },
      consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)
    }
  });
}

IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;

/**
 * The version of the source mapping spec that we are consuming.
 */
IndexedSourceMapConsumer.prototype._version = 3;

/**
 * The list of original sources.
 */
Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {
  get: function () {
    var sources = [];
    for (var i = 0; i < this._sections.length; i++) {
      for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
        sources.push(this._sections[i].consumer.sources[j]);
      }
    }
    return sources;
  }
});

/**
 * Returns the original source, line, and column information for the generated
 * source's line and column positions provided. The only argument is an object
 * with the following properties:
 *
 *   - line: The line number in the generated source.  The line number
 *     is 1-based.
 *   - column: The column number in the generated source.  The column
 *     number is 0-based.
 *
 * and an object is returned with the following properties:
 *
 *   - source: The original source file, or null.
 *   - line: The line number in the original source, or null.  The
 *     line number is 1-based.
 *   - column: The column number in the original source, or null.  The
 *     column number is 0-based.
 *   - name: The original identifier, or null.
 */
IndexedSourceMapConsumer.prototype.originalPositionFor =
  function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
    var needle = {
      generatedLine: util.getArg(aArgs, 'line'),
      generatedColumn: util.getArg(aArgs, 'column')
    };

    // Find the section containing the generated position we're trying to map
    // to an original position.
    var sectionIndex = binarySearch.search(needle, this._sections,
      function(needle, section) {
        var cmp = needle.generatedLine - section.generatedOffset.generatedLine;
        if (cmp) {
          return cmp;
        }

        return (needle.generatedColumn -
                section.generatedOffset.generatedColumn);
      });
    var section = this._sections[sectionIndex];

    if (!section) {
      return {
        source: null,
        line: null,
        column: null,
        name: null
      };
    }

    return section.consumer.originalPositionFor({
      line: needle.generatedLine -
        (section.generatedOffset.generatedLine - 1),
      column: needle.generatedColumn -
        (section.generatedOffset.generatedLine === needle.generatedLine
         ? section.generatedOffset.generatedColumn - 1
         : 0),
      bias: aArgs.bias
    });
  };

/**
 * Return true if we have the source content for every source in the source
 * map, false otherwise.
 */
IndexedSourceMapConsumer.prototype.hasContentsOfAllSources =
  function IndexedSourceMapConsumer_hasContentsOfAllSources() {
    return this._sections.every(function (s) {
      return s.consumer.hasContentsOfAllSources();
    });
  };

/**
 * Returns the original source content. The only argument is the url of the
 * original source file. Returns null if no original source content is
 * available.
 */
IndexedSourceMapConsumer.prototype.sourceContentFor =
  function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
    for (var i = 0; i < this._sections.length; i++) {
      var section = this._sections[i];

      var content = section.consumer.sourceContentFor(aSource, true);
      if (content) {
        return content;
      }
    }
    if (nullOnMissing) {
      return null;
    }
    else {
      throw new Error('"' + aSource + '" is not in the SourceMap.');
    }
  };

/**
 * Returns the generated line and column information for the original source,
 * line, and column positions provided. The only argument is an object with
 * the following properties:
 *
 *   - source: The filename of the original source.
 *   - line: The line number in the original source.  The line number
 *     is 1-based.
 *   - column: The column number in the original source.  The column
 *     number is 0-based.
 *
 * and an object is returned with the following properties:
 *
 *   - line: The line number in the generated source, or null.  The
 *     line number is 1-based. 
 *   - column: The column number in the generated source, or null.
 *     The column number is 0-based.
 */
IndexedSourceMapConsumer.prototype.generatedPositionFor =
  function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
    for (var i = 0; i < this._sections.length; i++) {
      var section = this._sections[i];

      // Only consider this section if the requested source is in the list of
      // sources of the consumer.
      if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {
        continue;
      }
      var generatedPosition = section.consumer.generatedPositionFor(aArgs);
      if (generatedPosition) {
        var ret = {
          line: generatedPosition.line +
            (section.generatedOffset.generatedLine - 1),
          column: generatedPosition.column +
            (section.generatedOffset.generatedLine === generatedPosition.line
             ? section.generatedOffset.generatedColumn - 1
             : 0)
        };
        return ret;
      }
    }

    return {
      line: null,
      column: null
    };
  };

/**
 * Parse the mappings in a string in to a data structure which we can easily
 * query (the ordered arrays in the `this.__generatedMappings` and
 * `this.__originalMappings` properties).
 */
IndexedSourceMapConsumer.prototype._parseMappings =
  function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
    this.__generatedMappings = [];
    this.__originalMappings = [];
    for (var i = 0; i < this._sections.length; i++) {
      var section = this._sections[i];
      var sectionMappings = section.consumer._generatedMappings;
      for (var j = 0; j < sectionMappings.length; j++) {
        var mapping = sectionMappings[j];

        var source = section.consumer._sources.at(mapping.source);
        source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);
        this._sources.add(source);
        source = this._sources.indexOf(source);

        var name = null;
        if (mapping.name) {
          name = section.consumer._names.at(mapping.name);
          this._names.add(name);
          name = this._names.indexOf(name);
        }

        // The mappings coming from the consumer for the section have
        // generated positions relative to the start of the section, so we
        // need to offset them to be relative to the start of the concatenated
        // generated file.
        var adjustedMapping = {
          source: source,
          generatedLine: mapping.generatedLine +
            (section.generatedOffset.generatedLine - 1),
          generatedColumn: mapping.generatedColumn +
            (section.generatedOffset.generatedLine === mapping.generatedLine
            ? section.generatedOffset.generatedColumn - 1
            : 0),
          originalLine: mapping.originalLine,
          originalColumn: mapping.originalColumn,
          name: name
        };

        this.__generatedMappings.push(adjustedMapping);
        if (typeof adjustedMapping.originalLine === 'number') {
          this.__originalMappings.push(adjustedMapping);
        }
      }
    }

    quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
    quickSort(this.__originalMappings, util.compareByOriginalPositions);
  };

__webpack_unused_export__ = IndexedSourceMapConsumer;


/***/ }),

/***/ 47095:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var base64VLQ = __nccwpck_require__(825);
var util = __nccwpck_require__(63297);
var ArraySet = __nccwpck_require__(65856)/* .ArraySet */ .I;
var MappingList = __nccwpck_require__(32508)/* .MappingList */ .H;

/**
 * An instance of the SourceMapGenerator represents a source map which is
 * being built incrementally. You may pass an object with the following
 * properties:
 *
 *   - file: The filename of the generated source.
 *   - sourceRoot: A root for all relative URLs in this source map.
 */
function SourceMapGenerator(aArgs) {
  if (!aArgs) {
    aArgs = {};
  }
  this._file = util.getArg(aArgs, 'file', null);
  this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
  this._skipValidation = util.getArg(aArgs, 'skipValidation', false);
  this._sources = new ArraySet();
  this._names = new ArraySet();
  this._mappings = new MappingList();
  this._sourcesContents = null;
}

SourceMapGenerator.prototype._version = 3;

/**
 * Creates a new SourceMapGenerator based on a SourceMapConsumer
 *
 * @param aSourceMapConsumer The SourceMap.
 */
SourceMapGenerator.fromSourceMap =
  function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
    var sourceRoot = aSourceMapConsumer.sourceRoot;
    var generator = new SourceMapGenerator({
      file: aSourceMapConsumer.file,
      sourceRoot: sourceRoot
    });
    aSourceMapConsumer.eachMapping(function (mapping) {
      var newMapping = {
        generated: {
          line: mapping.generatedLine,
          column: mapping.generatedColumn
        }
      };

      if (mapping.source != null) {
        newMapping.source = mapping.source;
        if (sourceRoot != null) {
          newMapping.source = util.relative(sourceRoot, newMapping.source);
        }

        newMapping.original = {
          line: mapping.originalLine,
          column: mapping.originalColumn
        };

        if (mapping.name != null) {
          newMapping.name = mapping.name;
        }
      }

      generator.addMapping(newMapping);
    });
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var sourceRelative = sourceFile;
      if (sourceRoot !== null) {
        sourceRelative = util.relative(sourceRoot, sourceFile);
      }

      if (!generator._sources.has(sourceRelative)) {
        generator._sources.add(sourceRelative);
      }

      var content = aSourceMapConsumer.sourceContentFor(sourceFile);
      if (content != null) {
        generator.setSourceContent(sourceFile, content);
      }
    });
    return generator;
  };

/**
 * Add a single mapping from original source line and column to the generated
 * source's line and column for this source map being created. The mapping
 * object should have the following properties:
 *
 *   - generated: An object with the generated line and column positions.
 *   - original: An object with the original line and column positions.
 *   - source: The original source file (relative to the sourceRoot).
 *   - name: An optional original token name for this mapping.
 */
SourceMapGenerator.prototype.addMapping =
  function SourceMapGenerator_addMapping(aArgs) {
    var generated = util.getArg(aArgs, 'generated');
    var original = util.getArg(aArgs, 'original', null);
    var source = util.getArg(aArgs, 'source', null);
    var name = util.getArg(aArgs, 'name', null);

    if (!this._skipValidation) {
      this._validateMapping(generated, original, source, name);
    }

    if (source != null) {
      source = String(source);
      if (!this._sources.has(source)) {
        this._sources.add(source);
      }
    }

    if (name != null) {
      name = String(name);
      if (!this._names.has(name)) {
        this._names.add(name);
      }
    }

    this._mappings.add({
      generatedLine: generated.line,
      generatedColumn: generated.column,
      originalLine: original != null && original.line,
      originalColumn: original != null && original.column,
      source: source,
      name: name
    });
  };

/**
 * Set the source content for a source file.
 */
SourceMapGenerator.prototype.setSourceContent =
  function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
    var source = aSourceFile;
    if (this._sourceRoot != null) {
      source = util.relative(this._sourceRoot, source);
    }

    if (aSourceContent != null) {
      // Add the source content to the _sourcesContents map.
      // Create a new _sourcesContents map if the property is null.
      if (!this._sourcesContents) {
        this._sourcesContents = Object.create(null);
      }
      this._sourcesContents[util.toSetString(source)] = aSourceContent;
    } else if (this._sourcesContents) {
      // Remove the source file from the _sourcesContents map.
      // If the _sourcesContents map is empty, set the property to null.
      delete this._sourcesContents[util.toSetString(source)];
      if (Object.keys(this._sourcesContents).length === 0) {
        this._sourcesContents = null;
      }
    }
  };

/**
 * Applies the mappings of a sub-source-map for a specific source file to the
 * source map being generated. Each mapping to the supplied source file is
 * rewritten using the supplied source map. Note: The resolution for the
 * resulting mappings is the minimium of this map and the supplied map.
 *
 * @param aSourceMapConsumer The source map to be applied.
 * @param aSourceFile Optional. The filename of the source file.
 *        If omitted, SourceMapConsumer's file property will be used.
 * @param aSourceMapPath Optional. The dirname of the path to the source map
 *        to be applied. If relative, it is relative to the SourceMapConsumer.
 *        This parameter is needed when the two source maps aren't in the same
 *        directory, and the source map to be applied contains relative source
 *        paths. If so, those relative source paths need to be rewritten
 *        relative to the SourceMapGenerator.
 */
SourceMapGenerator.prototype.applySourceMap =
  function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
    var sourceFile = aSourceFile;
    // If aSourceFile is omitted, we will use the file property of the SourceMap
    if (aSourceFile == null) {
      if (aSourceMapConsumer.file == null) {
        throw new Error(
          'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
          'or the source map\'s "file" property. Both were omitted.'
        );
      }
      sourceFile = aSourceMapConsumer.file;
    }
    var sourceRoot = this._sourceRoot;
    // Make "sourceFile" relative if an absolute Url is passed.
    if (sourceRoot != null) {
      sourceFile = util.relative(sourceRoot, sourceFile);
    }
    // Applying the SourceMap can add and remove items from the sources and
    // the names array.
    var newSources = new ArraySet();
    var newNames = new ArraySet();

    // Find mappings for the "sourceFile"
    this._mappings.unsortedForEach(function (mapping) {
      if (mapping.source === sourceFile && mapping.originalLine != null) {
        // Check if it can be mapped by the source map, then update the mapping.
        var original = aSourceMapConsumer.originalPositionFor({
          line: mapping.originalLine,
          column: mapping.originalColumn
        });
        if (original.source != null) {
          // Copy mapping
          mapping.source = original.source;
          if (aSourceMapPath != null) {
            mapping.source = util.join(aSourceMapPath, mapping.source)
          }
          if (sourceRoot != null) {
            mapping.source = util.relative(sourceRoot, mapping.source);
          }
          mapping.originalLine = original.line;
          mapping.originalColumn = original.column;
          if (original.name != null) {
            mapping.name = original.name;
          }
        }
      }

      var source = mapping.source;
      if (source != null && !newSources.has(source)) {
        newSources.add(source);
      }

      var name = mapping.name;
      if (name != null && !newNames.has(name)) {
        newNames.add(name);
      }

    }, this);
    this._sources = newSources;
    this._names = newNames;

    // Copy sourcesContents of applied map.
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var content = aSourceMapConsumer.sourceContentFor(sourceFile);
      if (content != null) {
        if (aSourceMapPath != null) {
          sourceFile = util.join(aSourceMapPath, sourceFile);
        }
        if (sourceRoot != null) {
          sourceFile = util.relative(sourceRoot, sourceFile);
        }
        this.setSourceContent(sourceFile, content);
      }
    }, this);
  };

/**
 * A mapping can have one of the three levels of data:
 *
 *   1. Just the generated position.
 *   2. The Generated position, original position, and original source.
 *   3. Generated and original position, original source, as well as a name
 *      token.
 *
 * To maintain consistency, we validate that any new mapping being added falls
 * in to one of these categories.
 */
SourceMapGenerator.prototype._validateMapping =
  function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
                                              aName) {
    // When aOriginal is truthy but has empty values for .line and .column,
    // it is most likely a programmer error. In this case we throw a very
    // specific error message to try to guide them the right way.
    // For example: https://github.com/Polymer/polymer-bundler/pull/519
    if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
        throw new Error(
            'original.line and original.column are not numbers -- you probably meant to omit ' +
            'the original mapping entirely and only map the generated position. If so, pass ' +
            'null for the original mapping instead of an object with empty or null values.'
        );
    }

    if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
        && aGenerated.line > 0 && aGenerated.column >= 0
        && !aOriginal && !aSource && !aName) {
      // Case 1.
      return;
    }
    else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
             && aOriginal && 'line' in aOriginal && 'column' in aOriginal
             && aGenerated.line > 0 && aGenerated.column >= 0
             && aOriginal.line > 0 && aOriginal.column >= 0
             && aSource) {
      // Cases 2 and 3.
      return;
    }
    else {
      throw new Error('Invalid mapping: ' + JSON.stringify({
        generated: aGenerated,
        source: aSource,
        original: aOriginal,
        name: aName
      }));
    }
  };

/**
 * Serialize the accumulated mappings in to the stream of base 64 VLQs
 * specified by the source map format.
 */
SourceMapGenerator.prototype._serializeMappings =
  function SourceMapGenerator_serializeMappings() {
    var previousGeneratedColumn = 0;
    var previousGeneratedLine = 1;
    var previousOriginalColumn = 0;
    var previousOriginalLine = 0;
    var previousName = 0;
    var previousSource = 0;
    var result = '';
    var next;
    var mapping;
    var nameIdx;
    var sourceIdx;

    var mappings = this._mappings.toArray();
    for (var i = 0, len = mappings.length; i < len; i++) {
      mapping = mappings[i];
      next = ''

      if (mapping.generatedLine !== previousGeneratedLine) {
        previousGeneratedColumn = 0;
        while (mapping.generatedLine !== previousGeneratedLine) {
          next += ';';
          previousGeneratedLine++;
        }
      }
      else {
        if (i > 0) {
          if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
            continue;
          }
          next += ',';
        }
      }

      next += base64VLQ.encode(mapping.generatedColumn
                                 - previousGeneratedColumn);
      previousGeneratedColumn = mapping.generatedColumn;

      if (mapping.source != null) {
        sourceIdx = this._sources.indexOf(mapping.source);
        next += base64VLQ.encode(sourceIdx - previousSource);
        previousSource = sourceIdx;

        // lines are stored 0-based in SourceMap spec version 3
        next += base64VLQ.encode(mapping.originalLine - 1
                                   - previousOriginalLine);
        previousOriginalLine = mapping.originalLine - 1;

        next += base64VLQ.encode(mapping.originalColumn
                                   - previousOriginalColumn);
        previousOriginalColumn = mapping.originalColumn;

        if (mapping.name != null) {
          nameIdx = this._names.indexOf(mapping.name);
          next += base64VLQ.encode(nameIdx - previousName);
          previousName = nameIdx;
        }
      }

      result += next;
    }

    return result;
  };

SourceMapGenerator.prototype._generateSourcesContent =
  function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
    return aSources.map(function (source) {
      if (!this._sourcesContents) {
        return null;
      }
      if (aSourceRoot != null) {
        source = util.relative(aSourceRoot, source);
      }
      var key = util.toSetString(source);
      return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)
        ? this._sourcesContents[key]
        : null;
    }, this);
  };

/**
 * Externalize the source map.
 */
SourceMapGenerator.prototype.toJSON =
  function SourceMapGenerator_toJSON() {
    var map = {
      version: this._version,
      sources: this._sources.toArray(),
      names: this._names.toArray(),
      mappings: this._serializeMappings()
    };
    if (this._file != null) {
      map.file = this._file;
    }
    if (this._sourceRoot != null) {
      map.sourceRoot = this._sourceRoot;
    }
    if (this._sourcesContents) {
      map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
    }

    return map;
  };

/**
 * Render the source map being generated to a string.
 */
SourceMapGenerator.prototype.toString =
  function SourceMapGenerator_toString() {
    return JSON.stringify(this.toJSON());
  };

exports.SourceMapGenerator = SourceMapGenerator;


/***/ }),

/***/ 29642:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

var SourceMapGenerator = __nccwpck_require__(47095).SourceMapGenerator;
var util = __nccwpck_require__(63297);

// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other
// operating systems these days (capturing the result).
var REGEX_NEWLINE = /(\r?\n)/;

// Newline character code for charCodeAt() comparisons
var NEWLINE_CODE = 10;

// Private symbol for identifying `SourceNode`s when multiple versions of
// the source-map library are loaded. This MUST NOT CHANGE across
// versions!
var isSourceNode = "$$$isSourceNode$$$";

/**
 * SourceNodes provide a way to abstract over interpolating/concatenating
 * snippets of generated JavaScript source code while maintaining the line and
 * column information associated with the original source code.
 *
 * @param aLine The original line number.
 * @param aColumn The original column number.
 * @param aSource The original source's filename.
 * @param aChunks Optional. An array of strings which are snippets of
 *        generated JS, or other SourceNodes.
 * @param aName The original identifier.
 */
function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
  this.children = [];
  this.sourceContents = {};
  this.line = aLine == null ? null : aLine;
  this.column = aColumn == null ? null : aColumn;
  this.source = aSource == null ? null : aSource;
  this.name = aName == null ? null : aName;
  this[isSourceNode] = true;
  if (aChunks != null) this.add(aChunks);
}

/**
 * Creates a SourceNode from generated code and a SourceMapConsumer.
 *
 * @param aGeneratedCode The generated code
 * @param aSourceMapConsumer The SourceMap for the generated code
 * @param aRelativePath Optional. The path that relative sources in the
 *        SourceMapConsumer should be relative to.
 */
SourceNode.fromStringWithSourceMap =
  function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
    // The SourceNode we want to fill with the generated code
    // and the SourceMap
    var node = new SourceNode();

    // All even indices of this array are one line of the generated code,
    // while all odd indices are the newlines between two adjacent lines
    // (since `REGEX_NEWLINE` captures its match).
    // Processed fragments are accessed by calling `shiftNextLine`.
    var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
    var remainingLinesIndex = 0;
    var shiftNextLine = function() {
      var lineContents = getNextLine();
      // The last line of a file might not have a newline.
      var newLine = getNextLine() || "";
      return lineContents + newLine;

      function getNextLine() {
        return remainingLinesIndex < remainingLines.length ?
            remainingLines[remainingLinesIndex++] : undefined;
      }
    };

    // We need to remember the position of "remainingLines"
    var lastGeneratedLine = 1, lastGeneratedColumn = 0;

    // The generate SourceNodes we need a code range.
    // To extract it current and last mapping is used.
    // Here we store the last mapping.
    var lastMapping = null;

    aSourceMapConsumer.eachMapping(function (mapping) {
      if (lastMapping !== null) {
        // We add the code from "lastMapping" to "mapping":
        // First check if there is a new line in between.
        if (lastGeneratedLine < mapping.generatedLine) {
          // Associate first line with "lastMapping"
          addMappingWithCode(lastMapping, shiftNextLine());
          lastGeneratedLine++;
          lastGeneratedColumn = 0;
          // The remaining code is added without mapping
        } else {
          // There is no new line in between.
          // Associate the code between "lastGeneratedColumn" and
          // "mapping.generatedColumn" with "lastMapping"
          var nextLine = remainingLines[remainingLinesIndex] || '';
          var code = nextLine.substr(0, mapping.generatedColumn -
                                        lastGeneratedColumn);
          remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -
                                              lastGeneratedColumn);
          lastGeneratedColumn = mapping.generatedColumn;
          addMappingWithCode(lastMapping, code);
          // No more remaining code, continue
          lastMapping = mapping;
          return;
        }
      }
      // We add the generated code until the first mapping
      // to the SourceNode without any mapping.
      // Each line is added as separate string.
      while (lastGeneratedLine < mapping.generatedLine) {
        node.add(shiftNextLine());
        lastGeneratedLine++;
      }
      if (lastGeneratedColumn < mapping.generatedColumn) {
        var nextLine = remainingLines[remainingLinesIndex] || '';
        node.add(nextLine.substr(0, mapping.generatedColumn));
        remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
        lastGeneratedColumn = mapping.generatedColumn;
      }
      lastMapping = mapping;
    }, this);
    // We have processed all mappings.
    if (remainingLinesIndex < remainingLines.length) {
      if (lastMapping) {
        // Associate the remaining code in the current line with "lastMapping"
        addMappingWithCode(lastMapping, shiftNextLine());
      }
      // and add the remaining lines without any mapping
      node.add(remainingLines.splice(remainingLinesIndex).join(""));
    }

    // Copy sourcesContent into SourceNode
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var content = aSourceMapConsumer.sourceContentFor(sourceFile);
      if (content != null) {
        if (aRelativePath != null) {
          sourceFile = util.join(aRelativePath, sourceFile);
        }
        node.setSourceContent(sourceFile, content);
      }
    });

    return node;

    function addMappingWithCode(mapping, code) {
      if (mapping === null || mapping.source === undefined) {
        node.add(code);
      } else {
        var source = aRelativePath
          ? util.join(aRelativePath, mapping.source)
          : mapping.source;
        node.add(new SourceNode(mapping.originalLine,
                                mapping.originalColumn,
                                source,
                                code,
                                mapping.name));
      }
    }
  };

/**
 * Add a chunk of generated JS to this source node.
 *
 * @param aChunk A string snippet of generated JS code, another instance of
 *        SourceNode, or an array where each member is one of those things.
 */
SourceNode.prototype.add = function SourceNode_add(aChunk) {
  if (Array.isArray(aChunk)) {
    aChunk.forEach(function (chunk) {
      this.add(chunk);
    }, this);
  }
  else if (aChunk[isSourceNode] || typeof aChunk === "string") {
    if (aChunk) {
      this.children.push(aChunk);
    }
  }
  else {
    throw new TypeError(
      "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
    );
  }
  return this;
};

/**
 * Add a chunk of generated JS to the beginning of this source node.
 *
 * @param aChunk A string snippet of generated JS code, another instance of
 *        SourceNode, or an array where each member is one of those things.
 */
SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
  if (Array.isArray(aChunk)) {
    for (var i = aChunk.length-1; i >= 0; i--) {
      this.prepend(aChunk[i]);
    }
  }
  else if (aChunk[isSourceNode] || typeof aChunk === "string") {
    this.children.unshift(aChunk);
  }
  else {
    throw new TypeError(
      "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
    );
  }
  return this;
};

/**
 * Walk over the tree of JS snippets in this node and its children. The
 * walking function is called once for each snippet of JS and is passed that
 * snippet and the its original associated source's line/column location.
 *
 * @param aFn The traversal function.
 */
SourceNode.prototype.walk = function SourceNode_walk(aFn) {
  var chunk;
  for (var i = 0, len = this.children.length; i < len; i++) {
    chunk = this.children[i];
    if (chunk[isSourceNode]) {
      chunk.walk(aFn);
    }
    else {
      if (chunk !== '') {
        aFn(chunk, { source: this.source,
                     line: this.line,
                     column: this.column,
                     name: this.name });
      }
    }
  }
};

/**
 * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
 * each of `this.children`.
 *
 * @param aSep The separator.
 */
SourceNode.prototype.join = function SourceNode_join(aSep) {
  var newChildren;
  var i;
  var len = this.children.length;
  if (len > 0) {
    newChildren = [];
    for (i = 0; i < len-1; i++) {
      newChildren.push(this.children[i]);
      newChildren.push(aSep);
    }
    newChildren.push(this.children[i]);
    this.children = newChildren;
  }
  return this;
};

/**
 * Call String.prototype.replace on the very right-most source snippet. Useful
 * for trimming whitespace from the end of a source node, etc.
 *
 * @param aPattern The pattern to replace.
 * @param aReplacement The thing to replace the pattern with.
 */
SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
  var lastChild = this.children[this.children.length - 1];
  if (lastChild[isSourceNode]) {
    lastChild.replaceRight(aPattern, aReplacement);
  }
  else if (typeof lastChild === 'string') {
    this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
  }
  else {
    this.children.push(''.replace(aPattern, aReplacement));
  }
  return this;
};

/**
 * Set the source content for a source file. This will be added to the SourceMapGenerator
 * in the sourcesContent field.
 *
 * @param aSourceFile The filename of the source file
 * @param aSourceContent The content of the source file
 */
SourceNode.prototype.setSourceContent =
  function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
    this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
  };

/**
 * Walk over the tree of SourceNodes. The walking function is called for each
 * source file content and is passed the filename and source content.
 *
 * @param aFn The traversal function.
 */
SourceNode.prototype.walkSourceContents =
  function SourceNode_walkSourceContents(aFn) {
    for (var i = 0, len = this.children.length; i < len; i++) {
      if (this.children[i][isSourceNode]) {
        this.children[i].walkSourceContents(aFn);
      }
    }

    var sources = Object.keys(this.sourceContents);
    for (var i = 0, len = sources.length; i < len; i++) {
      aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
    }
  };

/**
 * Return the string representation of this source node. Walks over the tree
 * and concatenates all the various snippets together to one string.
 */
SourceNode.prototype.toString = function SourceNode_toString() {
  var str = "";
  this.walk(function (chunk) {
    str += chunk;
  });
  return str;
};

/**
 * Returns the string representation of this source node along with a source
 * map.
 */
SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
  var generated = {
    code: "",
    line: 1,
    column: 0
  };
  var map = new SourceMapGenerator(aArgs);
  var sourceMappingActive = false;
  var lastOriginalSource = null;
  var lastOriginalLine = null;
  var lastOriginalColumn = null;
  var lastOriginalName = null;
  this.walk(function (chunk, original) {
    generated.code += chunk;
    if (original.source !== null
        && original.line !== null
        && original.column !== null) {
      if(lastOriginalSource !== original.source
         || lastOriginalLine !== original.line
         || lastOriginalColumn !== original.column
         || lastOriginalName !== original.name) {
        map.addMapping({
          source: original.source,
          original: {
            line: original.line,
            column: original.column
          },
          generated: {
            line: generated.line,
            column: generated.column
          },
          name: original.name
        });
      }
      lastOriginalSource = original.source;
      lastOriginalLine = original.line;
      lastOriginalColumn = original.column;
      lastOriginalName = original.name;
      sourceMappingActive = true;
    } else if (sourceMappingActive) {
      map.addMapping({
        generated: {
          line: generated.line,
          column: generated.column
        }
      });
      lastOriginalSource = null;
      sourceMappingActive = false;
    }
    for (var idx = 0, length = chunk.length; idx < length; idx++) {
      if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
        generated.line++;
        generated.column = 0;
        // Mappings end at eol
        if (idx + 1 === length) {
          lastOriginalSource = null;
          sourceMappingActive = false;
        } else if (sourceMappingActive) {
          map.addMapping({
            source: original.source,
            original: {
              line: original.line,
              column: original.column
            },
            generated: {
              line: generated.line,
              column: generated.column
            },
            name: original.name
          });
        }
      } else {
        generated.column++;
      }
    }
  });
  this.walkSourceContents(function (sourceFile, sourceContent) {
    map.setSourceContent(sourceFile, sourceContent);
  });

  return { code: generated.code, map: map };
};

exports.SourceNode = SourceNode;


/***/ }),

/***/ 63297:
/***/ ((__unused_webpack_module, exports) => {

/* -*- Mode: js; js-indent-level: 2; -*- */
/*
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 */

/**
 * This is a helper function for getting values from parameter/options
 * objects.
 *
 * @param args The object we are extracting values from
 * @param name The name of the property we are getting.
 * @param defaultValue An optional value to return if the property is missing
 * from the object. If this is not specified and the property is missing, an
 * error will be thrown.
 */
function getArg(aArgs, aName, aDefaultValue) {
  if (aName in aArgs) {
    return aArgs[aName];
  } else if (arguments.length === 3) {
    return aDefaultValue;
  } else {
    throw new Error('"' + aName + '" is a required argument.');
  }
}
exports.getArg = getArg;

var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
var dataUrlRegexp = /^data:.+\,.+$/;

function urlParse(aUrl) {
  var match = aUrl.match(urlRegexp);
  if (!match) {
    return null;
  }
  return {
    scheme: match[1],
    auth: match[2],
    host: match[3],
    port: match[4],
    path: match[5]
  };
}
exports.urlParse = urlParse;

function urlGenerate(aParsedUrl) {
  var url = '';
  if (aParsedUrl.scheme) {
    url += aParsedUrl.scheme + ':';
  }
  url += '//';
  if (aParsedUrl.auth) {
    url += aParsedUrl.auth + '@';
  }
  if (aParsedUrl.host) {
    url += aParsedUrl.host;
  }
  if (aParsedUrl.port) {
    url += ":" + aParsedUrl.port
  }
  if (aParsedUrl.path) {
    url += aParsedUrl.path;
  }
  return url;
}
exports.urlGenerate = urlGenerate;

var MAX_CACHED_INPUTS = 32;

/**
 * Takes some function `f(input) -> result` and returns a memoized version of
 * `f`.
 *
 * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The
 * memoization is a dumb-simple, linear least-recently-used cache.
 */
function lruMemoize(f) {
  var cache = [];

  return function(input) {
    for (var i = 0; i < cache.length; i++) {
      if (cache[i].input === input) {
        var temp = cache[0];
        cache[0] = cache[i];
        cache[i] = temp;
        return cache[0].result;
      }
    }

    var result = f(input);

    cache.unshift({
      input,
      result,
    });

    if (cache.length > MAX_CACHED_INPUTS) {
      cache.pop();
    }

    return result;
  };
}

/**
 * Normalizes a path, or the path portion of a URL:
 *
 * - Replaces consecutive slashes with one slash.
 * - Removes unnecessary '.' parts.
 * - Removes unnecessary '<dir>/..' parts.
 *
 * Based on code in the Node.js 'path' core module.
 *
 * @param aPath The path or url to normalize.
 */
var normalize = lruMemoize(function normalize(aPath) {
  var path = aPath;
  var url = urlParse(aPath);
  if (url) {
    if (!url.path) {
      return aPath;
    }
    path = url.path;
  }
  var isAbsolute = exports.isAbsolute(path);
  // Split the path into parts between `/` characters. This is much faster than
  // using `.split(/\/+/g)`.
  var parts = [];
  var start = 0;
  var i = 0;
  while (true) {
    start = i;
    i = path.indexOf("/", start);
    if (i === -1) {
      parts.push(path.slice(start));
      break;
    } else {
      parts.push(path.slice(start, i));
      while (i < path.length && path[i] === "/") {
        i++;
      }
    }
  }

  for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
    part = parts[i];
    if (part === '.') {
      parts.splice(i, 1);
    } else if (part === '..') {
      up++;
    } else if (up > 0) {
      if (part === '') {
        // The first part is blank if the path is absolute. Trying to go
        // above the root is a no-op. Therefore we can remove all '..' parts
        // directly after the root.
        parts.splice(i + 1, up);
        up = 0;
      } else {
        parts.splice(i, 2);
        up--;
      }
    }
  }
  path = parts.join('/');

  if (path === '') {
    path = isAbsolute ? '/' : '.';
  }

  if (url) {
    url.path = path;
    return urlGenerate(url);
  }
  return path;
});
exports.normalize = normalize;

/**
 * Joins two paths/URLs.
 *
 * @param aRoot The root path or URL.
 * @param aPath The path or URL to be joined with the root.
 *
 * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
 *   scheme-relative URL: Then the scheme of aRoot, if any, is prepended
 *   first.
 * - Otherwise aPath is a path. If aRoot is a URL, then its path portion
 *   is updated with the result and aRoot is returned. Otherwise the result
 *   is returned.
 *   - If aPath is absolute, the result is aPath.
 *   - Otherwise the two paths are joined with a slash.
 * - Joining for example 'http://' and 'www.example.com' is also supported.
 */
function join(aRoot, aPath) {
  if (aRoot === "") {
    aRoot = ".";
  }
  if (aPath === "") {
    aPath = ".";
  }
  var aPathUrl = urlParse(aPath);
  var aRootUrl = urlParse(aRoot);
  if (aRootUrl) {
    aRoot = aRootUrl.path || '/';
  }

  // `join(foo, '//www.example.org')`
  if (aPathUrl && !aPathUrl.scheme) {
    if (aRootUrl) {
      aPathUrl.scheme = aRootUrl.scheme;
    }
    return urlGenerate(aPathUrl);
  }

  if (aPathUrl || aPath.match(dataUrlRegexp)) {
    return aPath;
  }

  // `join('http://', 'www.example.com')`
  if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
    aRootUrl.host = aPath;
    return urlGenerate(aRootUrl);
  }

  var joined = aPath.charAt(0) === '/'
    ? aPath
    : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);

  if (aRootUrl) {
    aRootUrl.path = joined;
    return urlGenerate(aRootUrl);
  }
  return joined;
}
exports.join = join;

exports.isAbsolute = function (aPath) {
  return aPath.charAt(0) === '/' || urlRegexp.test(aPath);
};

/**
 * Make a path relative to a URL or another path.
 *
 * @param aRoot The root path or URL.
 * @param aPath The path or URL to be made relative to aRoot.
 */
function relative(aRoot, aPath) {
  if (aRoot === "") {
    aRoot = ".";
  }

  aRoot = aRoot.replace(/\/$/, '');

  // It is possible for the path to be above the root. In this case, simply
  // checking whether the root is a prefix of the path won't work. Instead, we
  // need to remove components from the root one by one, until either we find
  // a prefix that fits, or we run out of components to remove.
  var level = 0;
  while (aPath.indexOf(aRoot + '/') !== 0) {
    var index = aRoot.lastIndexOf("/");
    if (index < 0) {
      return aPath;
    }

    // If the only part of the root that is left is the scheme (i.e. http://,
    // file:///, etc.), one or more slashes (/), or simply nothing at all, we
    // have exhausted all components, so the path is not relative to the root.
    aRoot = aRoot.slice(0, index);
    if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
      return aPath;
    }

    ++level;
  }

  // Make sure we add a "../" for each component we removed from the root.
  return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
}
exports.relative = relative;

var supportsNullProto = (function () {
  var obj = Object.create(null);
  return !('__proto__' in obj);
}());

function identity (s) {
  return s;
}

/**
 * Because behavior goes wacky when you set `__proto__` on objects, we
 * have to prefix all the strings in our set with an arbitrary character.
 *
 * See https://github.com/mozilla/source-map/pull/31 and
 * https://github.com/mozilla/source-map/issues/30
 *
 * @param String aStr
 */
function toSetString(aStr) {
  if (isProtoString(aStr)) {
    return '$' + aStr;
  }

  return aStr;
}
exports.toSetString = supportsNullProto ? identity : toSetString;

function fromSetString(aStr) {
  if (isProtoString(aStr)) {
    return aStr.slice(1);
  }

  return aStr;
}
exports.fromSetString = supportsNullProto ? identity : fromSetString;

function isProtoString(s) {
  if (!s) {
    return false;
  }

  var length = s.length;

  if (length < 9 /* "__proto__".length */) {
    return false;
  }

  if (s.charCodeAt(length - 1) !== 95  /* '_' */ ||
      s.charCodeAt(length - 2) !== 95  /* '_' */ ||
      s.charCodeAt(length - 3) !== 111 /* 'o' */ ||
      s.charCodeAt(length - 4) !== 116 /* 't' */ ||
      s.charCodeAt(length - 5) !== 111 /* 'o' */ ||
      s.charCodeAt(length - 6) !== 114 /* 'r' */ ||
      s.charCodeAt(length - 7) !== 112 /* 'p' */ ||
      s.charCodeAt(length - 8) !== 95  /* '_' */ ||
      s.charCodeAt(length - 9) !== 95  /* '_' */) {
    return false;
  }

  for (var i = length - 10; i >= 0; i--) {
    if (s.charCodeAt(i) !== 36 /* '$' */) {
      return false;
    }
  }

  return true;
}

/**
 * Comparator between two mappings where the original positions are compared.
 *
 * Optionally pass in `true` as `onlyCompareGenerated` to consider two
 * mappings with the same original source/line/column, but different generated
 * line and column the same. Useful when searching for a mapping with a
 * stubbed out mapping.
 */
function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
  var cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0 || onlyCompareOriginal) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByOriginalPositions = compareByOriginalPositions;

function compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) {
  var cmp

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0 || onlyCompareOriginal) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource;

/**
 * Comparator between two mappings with deflated source and name indices where
 * the generated positions are compared.
 *
 * Optionally pass in `true` as `onlyCompareGenerated` to consider two
 * mappings with the same generated line and column, but different
 * source/name/original line and column the same. Useful when searching for a
 * mapping with a stubbed out mapping.
 */
function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
  var cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0 || onlyCompareGenerated) {
    return cmp;
  }

  cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;

function compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) {
  var cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0 || onlyCompareGenerated) {
    return cmp;
  }

  cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine;

function strcmp(aStr1, aStr2) {
  if (aStr1 === aStr2) {
    return 0;
  }

  if (aStr1 === null) {
    return 1; // aStr2 !== null
  }

  if (aStr2 === null) {
    return -1; // aStr1 !== null
  }

  if (aStr1 > aStr2) {
    return 1;
  }

  return -1;
}

/**
 * Comparator between two mappings with inflated source and name strings where
 * the generated positions are compared.
 */
function compareByGeneratedPositionsInflated(mappingA, mappingB) {
  var cmp = mappingA.generatedLine - mappingB.generatedLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.generatedColumn - mappingB.generatedColumn;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = strcmp(mappingA.source, mappingB.source);
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalLine - mappingB.originalLine;
  if (cmp !== 0) {
    return cmp;
  }

  cmp = mappingA.originalColumn - mappingB.originalColumn;
  if (cmp !== 0) {
    return cmp;
  }

  return strcmp(mappingA.name, mappingB.name);
}
exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;

/**
 * Strip any JSON XSSI avoidance prefix from the string (as documented
 * in the source maps specification), and then parse the string as
 * JSON.
 */
function parseSourceMapInput(str) {
  return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ''));
}
exports.parseSourceMapInput = parseSourceMapInput;

/**
 * Compute the URL of a source given the the source root, the source's
 * URL, and the source map's URL.
 */
function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
  sourceURL = sourceURL || '';

  if (sourceRoot) {
    // This follows what Chrome does.
    if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {
      sourceRoot += '/';
    }
    // The spec says:
    //   Line 4: An optional source root, useful for relocating source
    //   files on a server or removing repeated values in the
    //   “sources†entry.  This value is prepended to the individual
    //   entries in the “source†field.
    sourceURL = sourceRoot + sourceURL;
  }

  // Historically, SourceMapConsumer did not take the sourceMapURL as
  // a parameter.  This mode is still somewhat supported, which is why
  // this code block is conditional.  However, it's preferable to pass
  // the source map URL to SourceMapConsumer, so that this function
  // can implement the source URL resolution algorithm as outlined in
  // the spec.  This block is basically the equivalent of:
  //    new URL(sourceURL, sourceMapURL).toString()
  // ... except it avoids using URL, which wasn't available in the
  // older releases of node still supported by this library.
  //
  // The spec says:
  //   If the sources are not absolute URLs after prepending of the
  //   “sourceRootâ€, the sources are resolved relative to the
  //   SourceMap (like resolving script src in a html document).
  if (sourceMapURL) {
    var parsed = urlParse(sourceMapURL);
    if (!parsed) {
      throw new Error("sourceMapURL could not be parsed");
    }
    if (parsed.path) {
      // Strip the last path component, but keep the "/".
      var index = parsed.path.lastIndexOf('/');
      if (index >= 0) {
        parsed.path = parsed.path.substring(0, index + 1);
      }
    }
    sourceURL = join(urlGenerate(parsed), sourceURL);
  }

  return normalize(sourceURL);
}
exports.computeSourceURL = computeSourceURL;


/***/ }),

/***/ 26766:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

/*
 * Copyright 2009-2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE.txt or:
 * http://opensource.org/licenses/BSD-3-Clause
 */
exports.SourceMapGenerator = __nccwpck_require__(47095).SourceMapGenerator;
exports.SourceMapConsumer = __nccwpck_require__(25146).SourceMapConsumer;
exports.SourceNode = __nccwpck_require__(29642).SourceNode;


/***/ }),

/***/ 85146:
/***/ (function(module) {

//! stable.js 0.1.8, https://github.com/Two-Screen/stable
//! © 2018 Angry Bytes and contributors. MIT licensed.

(function (global, factory) {
   true ? module.exports = factory() :
  0;
}(this, (function () { 'use strict';

  // A stable array sort, because `Array#sort()` is not guaranteed stable.
  // This is an implementation of merge sort, without recursion.

  var stable = function (arr, comp) {
    return exec(arr.slice(), comp)
  };

  stable.inplace = function (arr, comp) {
    var result = exec(arr, comp);

    // This simply copies back if the result isn't in the original array,
    // which happens on an odd number of passes.
    if (result !== arr) {
      pass(result, null, arr.length, arr);
    }

    return arr
  };

  // Execute the sort using the input array and a second buffer as work space.
  // Returns one of those two, containing the final result.
  function exec(arr, comp) {
    if (typeof(comp) !== 'function') {
      comp = function (a, b) {
        return String(a).localeCompare(b)
      };
    }

    // Short-circuit when there's nothing to sort.
    var len = arr.length;
    if (len <= 1) {
      return arr
    }

    // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.
    // Chunks are the size of the left or right hand in merge sort.
    // Stop when the left-hand covers all of the array.
    var buffer = new Array(len);
    for (var chk = 1; chk < len; chk *= 2) {
      pass(arr, comp, chk, buffer);

      var tmp = arr;
      arr = buffer;
      buffer = tmp;
    }

    return arr
  }

  // Run a single pass with the given chunk size.
  var pass = function (arr, comp, chk, result) {
    var len = arr.length;
    var i = 0;
    // Step size / double chunk size.
    var dbl = chk * 2;
    // Bounds of the left and right chunks.
    var l, r, e;
    // Iterators over the left and right chunk.
    var li, ri;

    // Iterate over pairs of chunks.
    for (l = 0; l < len; l += dbl) {
      r = l + chk;
      e = r + chk;
      if (r > len) r = len;
      if (e > len) e = len;

      // Iterate both chunks in parallel.
      li = l;
      ri = r;
      while (true) {
        // Compare the chunks.
        if (li < r && ri < e) {
          // This works for a regular `sort()` compatible comparator,
          // but also for a simple comparator like: `a > b`
          if (comp(arr[li], arr[ri]) <= 0) {
            result[i++] = arr[li++];
          }
          else {
            result[i++] = arr[ri++];
          }
        }
        // Nothing to compare, just flush what's left.
        else if (li < r) {
          result[i++] = arr[li++];
        }
        else if (ri < e) {
          result[i++] = arr[ri++];
        }
        // Both iterators are at the chunk ends.
        else {
          break
        }
      }
    }
  };

  return stable;

})));


/***/ }),

/***/ 78679:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.OP_9 = exports.IE_8 = exports.IE_7 = exports.IE_6 = exports.IE_5_5 = exports.FF_2 = void 0;
const FF_2 = 'firefox 2';
exports.FF_2 = FF_2;
const IE_5_5 = 'ie 5.5';
exports.IE_5_5 = IE_5_5;
const IE_6 = 'ie 6';
exports.IE_6 = IE_6;
const IE_7 = 'ie 7';
exports.IE_7 = IE_7;
const IE_8 = 'ie 8';
exports.IE_8 = IE_8;
const OP_9 = 'opera 9';
exports.OP_9 = OP_9;

/***/ }),

/***/ 17417:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.VALUE = exports.SELECTOR = exports.PROPERTY = exports.MEDIA_QUERY = void 0;
const MEDIA_QUERY = 'media query';
exports.MEDIA_QUERY = MEDIA_QUERY;
const PROPERTY = 'property';
exports.PROPERTY = PROPERTY;
const SELECTOR = 'selector';
exports.SELECTOR = SELECTOR;
const VALUE = 'value';
exports.VALUE = VALUE;

/***/ }),

/***/ 3750:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.RULE = exports.DECL = exports.ATRULE = void 0;
const ATRULE = 'atrule';
exports.ATRULE = ATRULE;
const DECL = 'decl';
exports.DECL = DECL;
const RULE = 'rule';
exports.RULE = RULE;

/***/ }),

/***/ 89384:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.HTML = exports.BODY = void 0;
const BODY = 'body';
exports.BODY = BODY;
const HTML = 'html';
exports.HTML = HTML;

/***/ }),

/***/ 76211:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = exists;

function exists(selector, index, value) {
  const node = selector.at(index);
  return node && node.value && node.value.toLowerCase() === value;
}

module.exports = exports.default;

/***/ }),

/***/ 25884:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _browserslist = _interopRequireDefault(__nccwpck_require__(55478));

var _plugins = _interopRequireDefault(__nccwpck_require__(92373));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function pluginCreator(opts = {}) {
  return {
    postcssPlugin: 'stylehacks',

    OnceExit(css, {
      result
    }) {
      const resultOpts = result.opts || {};
      const browsers = (0, _browserslist.default)(null, {
        stats: resultOpts.stats,
        path: __dirname,
        env: resultOpts.env
      });

      const processors = _plugins.default.reduce((list, Plugin) => {
        const hack = new Plugin(result);
        const applied = browsers.some(browser => {
          return hack.targets.some(target => browser === target);
        });

        if (applied) {
          return list;
        }

        return [...list, hack];
      }, []);

      css.walk(node => {
        processors.forEach(proc => {
          if (!~proc.nodeTypes.indexOf(node.type)) {
            return;
          }

          if (opts.lint) {
            return proc.detectAndWarn(node);
          }

          return proc.detectAndResolve(node);
        });
      });
    }

  };
}

pluginCreator.detect = node => {
  return _plugins.default.some(Plugin => {
    const hack = new Plugin();
    return hack.any(node);
  });
};

pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 72047:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = isMixin;

function isMixin(node) {
  const {
    selector
  } = node; // If the selector ends with a ':' it is likely a part of a custom mixin.

  if (!selector || selector[selector.length - 1] === ':') {
    return true;
  }

  return false;
}

module.exports = exports.default;

/***/ }),

/***/ 17786:
/***/ ((module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = plugin;

function plugin(targets, nodeTypes, detect) {
  class Plugin {
    constructor(result) {
      this.nodes = [];
      this.result = result;
      this.targets = targets;
      this.nodeTypes = nodeTypes;
    }

    push(node, metadata) {
      node._stylehacks = Object.assign({}, metadata, {
        message: `Bad ${metadata.identifier}: ${metadata.hack}`,
        browsers: this.targets
      });
      this.nodes.push(node);
    }

    any(node) {
      if (~this.nodeTypes.indexOf(node.type)) {
        detect.apply(this, arguments);
        return !!node._stylehacks;
      }

      return false;
    }

    detectAndResolve(...args) {
      this.nodes = [];
      detect.apply(this, args);
      return this.resolve();
    }

    detectAndWarn(...args) {
      this.nodes = [];
      detect.apply(this, args);
      return this.warn();
    }

    resolve() {
      return this.nodes.forEach(node => node.remove());
    }

    warn() {
      return this.nodes.forEach(node => {
        const {
          message,
          browsers,
          identifier,
          hack
        } = node._stylehacks;
        return node.warn(this.result, message, {
          browsers,
          identifier,
          hack
        });
      });
    }

  }

  return Plugin;
}

module.exports = exports.default;

/***/ }),

/***/ 20190:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _exists = _interopRequireDefault(__nccwpck_require__(76211));

var _isMixin = _interopRequireDefault(__nccwpck_require__(72047));

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

var _tags = __nccwpck_require__(89384);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function analyse(ctx, rule) {
  return selectors => {
    selectors.each(selector => {
      if ((0, _exists.default)(selector, 0, _tags.BODY) && (0, _exists.default)(selector, 1, ':empty') && (0, _exists.default)(selector, 2, ' ') && selector.at(3)) {
        ctx.push(rule, {
          identifier: _identifiers.SELECTOR,
          hack: selector.toString()
        });
      }
    });
  };
}

var _default = (0, _plugin.default)([_browsers.FF_2], [_postcss.RULE], function (rule) {
  if ((0, _isMixin.default)(rule)) {
    return;
  }

  (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.selector);
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 442:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _exists = _interopRequireDefault(__nccwpck_require__(76211));

var _isMixin = _interopRequireDefault(__nccwpck_require__(72047));

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

var _tags = __nccwpck_require__(89384);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function analyse(ctx, rule) {
  return selectors => {
    selectors.each(selector => {
      if ((0, _exists.default)(selector, 0, _tags.HTML) && ((0, _exists.default)(selector, 1, '>') || (0, _exists.default)(selector, 1, '~')) && selector.at(2) && selector.at(2).type === 'comment' && (0, _exists.default)(selector, 3, ' ') && (0, _exists.default)(selector, 4, _tags.BODY) && (0, _exists.default)(selector, 5, ' ') && selector.at(6)) {
        ctx.push(rule, {
          identifier: _identifiers.SELECTOR,
          hack: selector.toString()
        });
      }
    });
  };
}

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
  if ((0, _isMixin.default)(rule)) {
    return;
  }

  if (rule.raws.selector && rule.raws.selector.raw) {
    (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.raws.selector.raw);
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 89107:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _exists = _interopRequireDefault(__nccwpck_require__(76211));

var _isMixin = _interopRequireDefault(__nccwpck_require__(72047));

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

var _tags = __nccwpck_require__(89384);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function analyse(ctx, rule) {
  return selectors => {
    selectors.each(selector => {
      if ((0, _exists.default)(selector, 0, _tags.HTML) && (0, _exists.default)(selector, 1, ':first-child') && (0, _exists.default)(selector, 2, ' ') && selector.at(3)) {
        ctx.push(rule, {
          identifier: _identifiers.SELECTOR,
          hack: selector.toString()
        });
      }
    });
  };
}

var _default = (0, _plugin.default)([_browsers.OP_9], [_postcss.RULE], function (rule) {
  if ((0, _isMixin.default)(rule)) {
    return;
  }

  (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.selector);
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 55527:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.DECL], function (decl) {
  const match = decl.value.match(/!\w/);

  if (match) {
    const hack = decl.value.substr(match.index, decl.value.length - 1);
    this.push(decl, {
      identifier: '!important',
      hack
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 92373:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _bodyEmpty = _interopRequireDefault(__nccwpck_require__(20190));

var _htmlCombinatorCommentBody = _interopRequireDefault(__nccwpck_require__(442));

var _htmlFirstChild = _interopRequireDefault(__nccwpck_require__(89107));

var _important = _interopRequireDefault(__nccwpck_require__(55527));

var _leadingStar = _interopRequireDefault(__nccwpck_require__(25619));

var _leadingUnderscore = _interopRequireDefault(__nccwpck_require__(3965));

var _mediaSlash = _interopRequireDefault(__nccwpck_require__(17368));

var _mediaSlash0Slash = _interopRequireDefault(__nccwpck_require__(55794));

var _mediaSlash2 = _interopRequireDefault(__nccwpck_require__(42541));

var _slash = _interopRequireDefault(__nccwpck_require__(73831));

var _starHtml = _interopRequireDefault(__nccwpck_require__(94183));

var _trailingSlashComma = _interopRequireDefault(__nccwpck_require__(27537));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = [_bodyEmpty.default, _htmlCombinatorCommentBody.default, _htmlFirstChild.default, _important.default, _leadingStar.default, _leadingUnderscore.default, _mediaSlash.default, _mediaSlash0Slash.default, _mediaSlash2.default, _slash.default, _starHtml.default, _trailingSlashComma.default];
exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 25619:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const hacks = '!_$_&_*_)_=_%_+_,_._/_`_]_#_~_?_:_|'.split('_');

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE, _postcss.DECL], function (node) {
  if (node.type === _postcss.DECL) {
    // some values are not picked up by before, so ensure they are
    // at the beginning of the value
    hacks.some(hack => {
      if (!node.prop.indexOf(hack)) {
        this.push(node, {
          identifier: _identifiers.PROPERTY,
          hack: node.prop
        });
        return true;
      }
    });
    let {
      before
    } = node.raws;

    if (!before) {
      return;
    }

    hacks.some(hack => {
      if (~before.indexOf(hack)) {
        this.push(node, {
          identifier: _identifiers.PROPERTY,
          hack: `${before.trim()}${node.prop}`
        });
        return true;
      }
    });
  } else {
    // test for the @property: value; hack
    let {
      name
    } = node;
    let len = name.length - 1;

    if (name.lastIndexOf(':') === len) {
      this.push(node, {
        identifier: _identifiers.PROPERTY,
        hack: `@${name.substr(0, len)}`
      });
    }
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 3965:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function vendorPrefix(prop) {
  let match = prop.match(/^(-\w+-)/);

  if (match) {
    return match[0];
  }

  return '';
}

var _default = (0, _plugin.default)([_browsers.IE_6], [_postcss.DECL], function (decl) {
  const {
    before
  } = decl.raws;

  if (before && ~before.indexOf('_')) {
    this.push(decl, {
      identifier: _identifiers.PROPERTY,
      hack: `${before.trim()}${decl.prop}`
    });
  }

  if (decl.prop[0] === '-' && decl.prop[1] !== '-' && vendorPrefix(decl.prop) === '') {
    this.push(decl, {
      identifier: _identifiers.PROPERTY,
      hack: decl.prop
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 17368:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _plugin.default)([_browsers.IE_8], [_postcss.ATRULE], function (rule) {
  const params = rule.params.trim();

  if (params.toLowerCase() === '\\0screen') {
    this.push(rule, {
      identifier: _identifiers.MEDIA_QUERY,
      hack: params
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 55794:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7, _browsers.IE_8], [_postcss.ATRULE], function (rule) {
  const params = rule.params.trim();

  if (params.toLowerCase() === '\\0screen\\,screen\\9') {
    this.push(rule, {
      identifier: _identifiers.MEDIA_QUERY,
      hack: params
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 42541:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE], function (rule) {
  const params = rule.params.trim();

  if (params.toLowerCase() === 'screen\\9') {
    this.push(rule, {
      identifier: _identifiers.MEDIA_QUERY,
      hack: params
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 73831:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _plugin.default)([_browsers.IE_6, _browsers.IE_7, _browsers.IE_8], [_postcss.DECL], function (decl) {
  let v = decl.value;

  if (v && v.length > 2 && v.indexOf('\\9') === v.length - 2) {
    this.push(decl, {
      identifier: _identifiers.VALUE,
      hack: v
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 94183:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _postcssSelectorParser = _interopRequireDefault(__nccwpck_require__(32997));

var _exists = _interopRequireDefault(__nccwpck_require__(76211));

var _isMixin = _interopRequireDefault(__nccwpck_require__(72047));

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

var _tags = __nccwpck_require__(89384);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function analyse(ctx, rule) {
  return selectors => {
    selectors.each(selector => {
      if ((0, _exists.default)(selector, 0, '*') && (0, _exists.default)(selector, 1, ' ') && (0, _exists.default)(selector, 2, _tags.HTML) && (0, _exists.default)(selector, 3, ' ') && selector.at(4)) {
        ctx.push(rule, {
          identifier: _identifiers.SELECTOR,
          hack: selector.toString()
        });
      }
    });
  };
}

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6], [_postcss.RULE], function (rule) {
  if ((0, _isMixin.default)(rule)) {
    return;
  }

  (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.selector);
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 27537:
/***/ ((module, exports, __nccwpck_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.default = void 0;

var _plugin = _interopRequireDefault(__nccwpck_require__(17786));

var _isMixin = _interopRequireDefault(__nccwpck_require__(72047));

var _browsers = __nccwpck_require__(78679);

var _identifiers = __nccwpck_require__(17417);

var _postcss = __nccwpck_require__(3750);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
  if ((0, _isMixin.default)(rule)) {
    return;
  }

  const {
    selector
  } = rule;
  const trim = selector.trim();

  if (trim.lastIndexOf(',') === selector.length - 1 || trim.lastIndexOf('\\') === selector.length - 1) {
    this.push(rule, {
      identifier: _identifiers.SELECTOR,
      hack: selector
    });
  }
});

exports.default = _default;
module.exports = exports.default;

/***/ }),

/***/ 39854:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


var csstree = __nccwpck_require__(65035),
  List = csstree.List,
  stable = __nccwpck_require__(85146),
  specificity = __nccwpck_require__(63160);

/**
 * Flatten a CSS AST to a selectors list.
 *
 * @param {import('css-tree').CssNode} cssAst css-tree AST to flatten
 * @return {Array} selectors
 */
function flattenToSelectors(cssAst) {
  var selectors = [];

  csstree.walk(cssAst, {
    visit: 'Rule',
    enter: function (node) {
      if (node.type !== 'Rule') {
        return;
      }

      var atrule = this.atrule;
      var rule = node;

      node.prelude.children.each(function (selectorNode, selectorItem) {
        var selector = {
          item: selectorItem,
          atrule: atrule,
          rule: rule,
          pseudos: /** @type {{item: any; list: any[]}[]} */ ([]),
        };

        selectorNode.children.each(function (
          selectorChildNode,
          selectorChildItem,
          selectorChildList
        ) {
          if (
            selectorChildNode.type === 'PseudoClassSelector' ||
            selectorChildNode.type === 'PseudoElementSelector'
          ) {
            selector.pseudos.push({
              item: selectorChildItem,
              list: selectorChildList,
            });
          }
        });

        selectors.push(selector);
      });
    },
  });

  return selectors;
}

/**
 * Filter selectors by Media Query.
 *
 * @param {Array} selectors to filter
 * @param {Array} useMqs Array with strings of media queries that should pass (<name> <expression>)
 * @return {Array} Filtered selectors that match the passed media queries
 */
function filterByMqs(selectors, useMqs) {
  return selectors.filter(function (selector) {
    if (selector.atrule === null) {
      return ~useMqs.indexOf('');
    }

    var mqName = selector.atrule.name;
    var mqStr = mqName;
    if (
      selector.atrule.expression &&
      selector.atrule.expression.children.first().type === 'MediaQueryList'
    ) {
      var mqExpr = csstree.generate(selector.atrule.expression);
      mqStr = [mqName, mqExpr].join(' ');
    }

    return ~useMqs.indexOf(mqStr);
  });
}

/**
 * Filter selectors by the pseudo-elements and/or -classes they contain.
 *
 * @param {Array} selectors to filter
 * @param {Array} usePseudos Array with strings of single or sequence of pseudo-elements and/or -classes that should pass
 * @return {Array} Filtered selectors that match the passed pseudo-elements and/or -classes
 */
function filterByPseudos(selectors, usePseudos) {
  return selectors.filter(function (selector) {
    var pseudoSelectorsStr = csstree.generate({
      type: 'Selector',
      children: new List().fromArray(
        selector.pseudos.map(function (pseudo) {
          return pseudo.item.data;
        })
      ),
    });
    return ~usePseudos.indexOf(pseudoSelectorsStr);
  });
}

/**
 * Remove pseudo-elements and/or -classes from the selectors for proper matching.
 *
 * @param {Array} selectors to clean
 * @return {void}
 */
function cleanPseudos(selectors) {
  selectors.forEach(function (selector) {
    selector.pseudos.forEach(function (pseudo) {
      pseudo.list.remove(pseudo.item);
    });
  });
}

/**
 * Compares two selector specificities.
 * extracted from https://github.com/keeganstreet/specificity/blob/master/specificity.js#L211
 *
 * @param {Array} aSpecificity Specificity of selector A
 * @param {Array} bSpecificity Specificity of selector B
 * @return {number} Score of selector specificity A compared to selector specificity B
 */
function compareSpecificity(aSpecificity, bSpecificity) {
  for (var i = 0; i < 4; i += 1) {
    if (aSpecificity[i] < bSpecificity[i]) {
      return -1;
    } else if (aSpecificity[i] > bSpecificity[i]) {
      return 1;
    }
  }

  return 0;
}

/**
 * Compare two simple selectors.
 *
 * @param {Object} aSimpleSelectorNode Simple selector A
 * @param {Object} bSimpleSelectorNode Simple selector B
 * @return {number} Score of selector A compared to selector B
 */
function compareSimpleSelectorNode(aSimpleSelectorNode, bSimpleSelectorNode) {
  var aSpecificity = specificity(aSimpleSelectorNode),
    bSpecificity = specificity(bSimpleSelectorNode);
  return compareSpecificity(aSpecificity, bSpecificity);
}

function _bySelectorSpecificity(selectorA, selectorB) {
  return compareSimpleSelectorNode(selectorA.item.data, selectorB.item.data);
}

/**
 * Sort selectors stably by their specificity.
 *
 * @param {Array} selectors to be sorted
 * @return {Array} Stable sorted selectors
 */
function sortSelectors(selectors) {
  return stable(selectors, _bySelectorSpecificity);
}

/**
 * Convert a css-tree AST style declaration to CSSStyleDeclaration property.
 *
 * @param {import('css-tree').CssNode} declaration css-tree style declaration
 * @return {Object} CSSStyleDeclaration property
 */
function csstreeToStyleDeclaration(declaration) {
  var propertyName = declaration.property,
    propertyValue = csstree.generate(declaration.value),
    propertyPriority = declaration.important ? 'important' : '';
  return {
    name: propertyName,
    value: propertyValue,
    priority: propertyPriority,
  };
}

/**
 * Gets the CSS string of a style element
 *
 * @param {Object} elem style element
 * @return {string} CSS string or empty array if no styles are set
 */
function getCssStr(elem) {
  if (
    elem.children.length > 0 &&
    (elem.children[0].type === 'text' || elem.children[0].type === 'cdata')
  ) {
    return elem.children[0].value;
  }
  return '';
}

/**
 * Sets the CSS string of a style element
 *
 * @param {Object} elem style element
 * @param {string} css string to be set
 * @return {string} reference to field with CSS
 */
function setCssStr(elem, css) {
  if (elem.children.length === 0) {
    elem.children.push({
      type: 'text',
      value: '',
    });
  }

  if (elem.children[0].type !== 'text' && elem.children[0].type !== 'cdata') {
    return css;
  }

  elem.children[0].value = css;

  return css;
}

module.exports.flattenToSelectors = flattenToSelectors;

module.exports.filterByMqs = filterByMqs;
module.exports.filterByPseudos = filterByPseudos;
module.exports.cleanPseudos = cleanPseudos;

module.exports.compareSpecificity = compareSpecificity;
module.exports.compareSimpleSelectorNode = compareSimpleSelectorNode;

module.exports.sortSelectors = sortSelectors;

module.exports.csstreeToStyleDeclaration = csstreeToStyleDeclaration;

module.exports.getCssStr = getCssStr;
module.exports.setCssStr = setCssStr;


/***/ }),

/***/ 86495:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


// Based on https://www.w3.org/TR/SVG11/paths.html#PathDataBNF

const argsCountPerCommand = {
  M: 2,
  m: 2,
  Z: 0,
  z: 0,
  L: 2,
  l: 2,
  H: 1,
  h: 1,
  V: 1,
  v: 1,
  C: 6,
  c: 6,
  S: 4,
  s: 4,
  Q: 4,
  q: 4,
  T: 2,
  t: 2,
  A: 7,
  a: 7,
};

/**
 * @param {string} c
 */
const isCommand = (c) => {
  return c in argsCountPerCommand;
};

/**
 * @param {string} c
 */
const isWsp = (c) => {
  const codePoint = c.codePointAt(0);
  return (
    codePoint === 0x20 ||
    codePoint === 0x9 ||
    codePoint === 0xd ||
    codePoint === 0xa
  );
};

/**
 * @param {string} c
 */
const isDigit = (c) => {
  const codePoint = c.codePointAt(0);
  if (codePoint == null) {
    return false;
  }
  return 48 <= codePoint && codePoint <= 57;
};

/**
 * @typedef {'none' | 'sign' | 'whole' | 'decimal_point' | 'decimal' | 'e' | 'exponent_sign' | 'exponent'} ReadNumberState
 */

/**
 * @param {string} string
 * @param {number} cursor
 * @return {[number, number | null]}
 */
const readNumber = (string, cursor) => {
  let i = cursor;
  let value = '';
  let state = /** @type {ReadNumberState} */ ('none');
  for (; i < string.length; i += 1) {
    const c = string[i];
    if (c === '+' || c === '-') {
      if (state === 'none') {
        state = 'sign';
        value += c;
        continue;
      }
      if (state === 'e') {
        state = 'exponent_sign';
        value += c;
        continue;
      }
    }
    if (isDigit(c)) {
      if (state === 'none' || state === 'sign' || state === 'whole') {
        state = 'whole';
        value += c;
        continue;
      }
      if (state === 'decimal_point' || state === 'decimal') {
        state = 'decimal';
        value += c;
        continue;
      }
      if (state === 'e' || state === 'exponent_sign' || state === 'exponent') {
        state = 'exponent';
        value += c;
        continue;
      }
    }
    if (c === '.') {
      if (state === 'none' || state === 'sign' || state === 'whole') {
        state = 'decimal_point';
        value += c;
        continue;
      }
    }
    if (c === 'E' || c == 'e') {
      if (
        state === 'whole' ||
        state === 'decimal_point' ||
        state === 'decimal'
      ) {
        state = 'e';
        value += c;
        continue;
      }
    }
    break;
  }
  const number = Number.parseFloat(value);
  if (Number.isNaN(number)) {
    return [cursor, null];
  } else {
    // step back to delegate iteration to parent loop
    return [i - 1, number];
  }
};

/**
 * @param {string} string
 */
const parsePathData = (string) => {
  const pathData = [];
  let command = null;
  let args = /** @type {number[]} */ ([]);
  let argsCount = 0;
  let canHaveComma = false;
  let hadComma = false;
  for (let i = 0; i < string.length; i += 1) {
    const c = string.charAt(i);
    if (isWsp(c)) {
      continue;
    }
    // allow comma only between arguments
    if (canHaveComma && c === ',') {
      if (hadComma) {
        break;
      }
      hadComma = true;
      continue;
    }
    if (isCommand(c)) {
      if (hadComma) {
        return pathData;
      }
      if (command == null) {
        // moveto should be leading command
        if (c !== 'M' && c !== 'm') {
          return pathData;
        }
      } else {
        // stop if previous command arguments are not flushed
        if (args.length !== 0) {
          return pathData;
        }
      }
      command = c;
      args = [];
      argsCount = argsCountPerCommand[command];
      canHaveComma = false;
      // flush command without arguments
      if (argsCount === 0) {
        pathData.push({ command, args });
      }
      continue;
    }
    // avoid parsing arguments if no command detected
    if (command == null) {
      return pathData;
    }
    // read next argument
    let newCursor = i;
    let number = null;
    if (command === 'A' || command === 'a') {
      const position = args.length;
      if (position === 0 || position === 1) {
        // allow only positive number without sign as first two arguments
        if (c !== '+' && c !== '-') {
          [newCursor, number] = readNumber(string, i);
        }
      }
      if (position === 2 || position === 5 || position === 6) {
        [newCursor, number] = readNumber(string, i);
      }
      if (position === 3 || position === 4) {
        // read flags
        if (c === '0') {
          number = 0;
        }
        if (c === '1') {
          number = 1;
        }
      }
    } else {
      [newCursor, number] = readNumber(string, i);
    }
    if (number == null) {
      return pathData;
    }
    args.push(number);
    canHaveComma = true;
    hadComma = false;
    i = newCursor;
    // flush arguments when necessary count is reached
    if (args.length === argsCount) {
      pathData.push({ command, args });
      // subsequent moveto coordinates are threated as implicit lineto commands
      if (command === 'M') {
        command = 'L';
      }
      if (command === 'm') {
        command = 'l';
      }
      args = [];
    }
  }
  return pathData;
};
exports.parsePathData = parsePathData;

/**
 * @typedef {{
 *   number: number;
 *   precision?: number;
 * }} StringifyNumberOptions
 */
/**
 * @param {StringifyNumberOptions} param
 */
const stringifyNumber = ({ number, precision }) => {
  if (precision != null) {
    const ratio = 10 ** precision;
    number = Math.round(number * ratio) / ratio;
  }
  // remove zero whole from decimal number
  return number.toString().replace(/^0\./, '.').replace(/^-0\./, '-.');
};

/**
 * @typedef {{
 *   command: string;
 *   args: number[];
 *   precision?: number;
 *   disableSpaceAfterFlags?: boolean;
 * }} StringifyArgsOptions
 */
/**
 *
 * Elliptical arc large-arc and sweep flags are rendered with spaces
 * because many non-browser environments are not able to parse such paths
 *
 * @param {StringifyArgsOptions} param
 */
const stringifyArgs = ({
  command,
  args,
  precision,
  disableSpaceAfterFlags,
}) => {
  let result = '';
  let prev = '';
  for (let i = 0; i < args.length; i += 1) {
    const number = args[i];
    const numberString = stringifyNumber({ number, precision });
    if (
      disableSpaceAfterFlags &&
      (command === 'A' || command === 'a') &&
      (i === 4 || i === 5)
    ) {
      result += numberString;
    } else if (i === 0 || numberString.startsWith('-')) {
      // avoid space before first and negative numbers
      result += numberString;
    } else if (prev.includes('.') && numberString.startsWith('.')) {
      // remove space before decimal with zero whole
      // only when previous number is also decimal
      result += numberString;
    } else {
      result += ` ${numberString}`;
    }
    prev = numberString;
  }
  return result;
};

/**
 *
 * @typedef {{
 *   command: string;
 *   args: number[];
 * }} Command
 */
/**
 * @typedef {{
 *   pathData: Command[];
 *   precision?: number;
 *   disableSpaceAfterFlags?: boolean;
 * }} StringifyPathDataOptions
 */
/**
 * @param {StringifyPathDataOptions} param
 */
const stringifyPathData = ({ pathData, precision, disableSpaceAfterFlags }) => {
  // combine sequence of the same commands
  let combined = [];
  for (let i = 0; i < pathData.length; i += 1) {
    const { command, args } = pathData[i];
    if (i === 0) {
      combined.push({ command, args });
    } else {
      const last = combined[combined.length - 1];
      // match leading moveto with following lineto
      if (i === 1) {
        if (command === 'L') {
          last.command = 'M';
        }
        if (command === 'l') {
          last.command = 'm';
        }
      }
      if (
        (last.command === command &&
          last.command !== 'M' &&
          last.command !== 'm') ||
        // combine matching moveto and lineto sequences
        (last.command === 'M' && command === 'L') ||
        (last.command === 'm' && command === 'l')
      ) {
        last.args = [...last.args, ...args];
      } else {
        combined.push({ command, args });
      }
    }
  }
  let result = '';
  for (const { command, args } of combined) {
    result +=
      command +
      stringifyArgs({ command, args, precision, disableSpaceAfterFlags });
  }
  return result;
};
exports.stringifyPathData = stringifyPathData;


/***/ }),

/***/ 88786:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const stable = __nccwpck_require__(85146);
const csstree = __nccwpck_require__(65035);
const specificity = __nccwpck_require__(63160);
const { selectAll, is } = __nccwpck_require__(4508);
const svgoCssSelectAdapter = __nccwpck_require__(83305);
const { compareSpecificity } = __nccwpck_require__(39854);
const {
  attrsGroups,
  inheritableAttrs,
  presentationNonInheritableGroupAttrs,
} = __nccwpck_require__(94434);

const cssSelectOptions = {
  xmlMode: true,
  adapter: svgoCssSelectAdapter,
};

const parseRule = (ruleNode, dynamic) => {
  let selectors;
  let selectorsSpecificity;
  const declarations = [];
  csstree.walk(ruleNode, (cssNode) => {
    if (cssNode.type === 'SelectorList') {
      // compute specificity from original node to consider pseudo classes
      selectorsSpecificity = specificity(cssNode);
      const newSelectorsNode = csstree.clone(cssNode);
      csstree.walk(newSelectorsNode, (pseudoClassNode, item, list) => {
        if (pseudoClassNode.type === 'PseudoClassSelector') {
          dynamic = true;
          list.remove(item);
        }
      });
      selectors = csstree.generate(newSelectorsNode);
      return csstree.walk.skip;
    }
    if (cssNode.type === 'Declaration') {
      declarations.push({
        name: cssNode.property,
        value: csstree.generate(cssNode.value),
        important: cssNode.important,
      });
      return csstree.walk.skip;
    }
  });
  return {
    dynamic,
    selectors,
    specificity: selectorsSpecificity,
    declarations,
  };
};

const parseStylesheet = (css, dynamic) => {
  const rules = [];
  const ast = csstree.parse(css);
  csstree.walk(ast, (cssNode) => {
    if (cssNode.type === 'Rule') {
      rules.push(parseRule(cssNode, dynamic || false));
      return csstree.walk.skip;
    }
    if (cssNode.type === 'Atrule') {
      if (cssNode.name === 'keyframes') {
        return csstree.walk.skip;
      }
      csstree.walk(cssNode, (ruleNode) => {
        if (ruleNode.type === 'Rule') {
          rules.push(parseRule(ruleNode, dynamic || true));
          return csstree.walk.skip;
        }
      });
      return csstree.walk.skip;
    }
  });
  return rules;
};

const computeOwnStyle = (node, stylesheet) => {
  const computedStyle = {};
  const importantStyles = new Map();

  // collect attributes
  for (const [name, value] of Object.entries(node.attributes)) {
    if (attrsGroups.presentation.includes(name)) {
      computedStyle[name] = { type: 'static', inherited: false, value };
      importantStyles.set(name, false);
    }
  }

  // collect matching rules
  for (const { selectors, declarations, dynamic } of stylesheet) {
    if (is(node, selectors, cssSelectOptions)) {
      for (const { name, value, important } of declarations) {
        const computed = computedStyle[name];
        if (computed && computed.type === 'dynamic') {
          continue;
        }
        if (dynamic) {
          computedStyle[name] = { type: 'dynamic', inherited: false };
          continue;
        }
        if (
          computed == null ||
          important === true ||
          importantStyles.get(name) === false
        ) {
          computedStyle[name] = { type: 'static', inherited: false, value };
          importantStyles.set(name, important);
        }
      }
    }
  }

  // collect inline styles
  for (const [name, { value, priority }] of node.style.properties) {
    const computed = computedStyle[name];
    const important = priority === 'important';
    if (computed && computed.type === 'dynamic') {
      continue;
    }
    if (
      computed == null ||
      important === true ||
      importantStyles.get(name) === false
    ) {
      computedStyle[name] = { type: 'static', inherited: false, value };
      importantStyles.set(name, important);
    }
  }

  return computedStyle;
};

const computeStyle = (node) => {
  // find root
  let root = node;
  while (root.parentNode) {
    root = root.parentNode;
  }
  // find all styles
  const styleNodes = selectAll('style', root, cssSelectOptions);
  // parse all styles
  const stylesheet = [];
  for (const styleNode of styleNodes) {
    const dynamic =
      styleNode.attributes.media != null &&
      styleNode.attributes.media !== 'all';
    if (
      styleNode.attributes.type == null ||
      styleNode.attributes.type === '' ||
      styleNode.attributes.type === 'text/css'
    ) {
      const children = styleNode.children;
      for (const child of children) {
        if (child.type === 'text' || child.type === 'cdata') {
          stylesheet.push(...parseStylesheet(child.value, dynamic));
        }
      }
    }
  }
  // sort by selectors specificity
  stable.inplace(stylesheet, (a, b) =>
    compareSpecificity(a.specificity, b.specificity)
  );

  // collect inherited styles
  const computedStyles = computeOwnStyle(node, stylesheet);
  let parent = node;
  while (parent.parentNode && parent.parentNode.type !== 'root') {
    const inheritedStyles = computeOwnStyle(parent.parentNode, stylesheet);
    for (const [name, computed] of Object.entries(inheritedStyles)) {
      if (
        computedStyles[name] == null &&
        // ignore not inheritable styles
        inheritableAttrs.includes(name) === true &&
        presentationNonInheritableGroupAttrs.includes(name) === false
      ) {
        computedStyles[name] = { ...computed, inherited: true };
      }
    }
    parent = parent.parentNode;
  }

  return computedStyles;
};
exports.computeStyle = computeStyle;


/***/ }),

/***/ 3921:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const fs = __nccwpck_require__(35747);
const path = __nccwpck_require__(85622);
const {
  extendDefaultPlugins,
  optimize,
  createContentItem,
} = __nccwpck_require__(64599);

const importConfig = async (configFile) => {
  const config = require(configFile);
  if (config == null || typeof config !== 'object' || Array.isArray(config)) {
    throw Error(`Invalid config file "${configFile}"`);
  }
  return config;
},importConfig$$mod = async (cconfig, configFile) => {
  
  if (config == null || typeof config !== 'object' || Array.isArray(config)) {
    throw Error(`Invalid config file "${configFile}"`);
  }
  return config;
};

const isFile = async (file) => {
  try {
    const stats = await fs.promises.stat(file);
    return stats.isFile();
  } catch {
    return false;
  }
};

const loadConfig = async (configFile, cwd = process.cwd()) => {
  if (configFile != null) {
    if (path.isAbsolute(configFile)) {
      return await importConfig(configFile);
    } else {
      return await importConfig(path.join(cwd, configFile));
    }
  }
  let dir = cwd;
  // eslint-disable-next-line no-constant-condition
  while (true) {
    const file = path.join(dir, 'svgo.config.js');
    if (await isFile(file)) {
      return await importConfig(file);
    }
    const parent = path.dirname(dir);
    if (dir === parent) {
      return null;
    }
    dir = parent;
  }
};

exports.loadConfig = loadConfig;
exports.extendDefaultPlugins = extendDefaultPlugins;
exports.optimize = optimize;
exports.createContentItem = createContentItem;


/***/ }),

/***/ 64599:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const {
  defaultPlugins,
  resolvePluginConfig,
  extendDefaultPlugins,
} = __nccwpck_require__(31056);
const svg2js = __nccwpck_require__(80975);
const js2svg = __nccwpck_require__(53537);
const invokePlugins = __nccwpck_require__(15257);
const JSAPI = __nccwpck_require__(88692);
const { encodeSVGDatauri } = __nccwpck_require__(44074);

exports.extendDefaultPlugins = extendDefaultPlugins;

const optimize = (input, config) => {
  if (config == null) {
    config = {};
  }
  if (typeof config !== 'object') {
    throw Error('Config should be an object');
  }
  const maxPassCount = config.multipass ? 10 : 1;
  let prevResultSize = Number.POSITIVE_INFINITY;
  let svgjs = null;
  const info = {};
  if (config.path != null) {
    info.path = config.path;
  }
  for (let i = 0; i < maxPassCount; i += 1) {
    info.multipassCount = i;
    svgjs = svg2js(input);
    if (svgjs.error != null) {
      if (config.path != null) {
        svgjs.path = config.path;
      }
      return svgjs;
    }
    const plugins = config.plugins || defaultPlugins;
    if (Array.isArray(plugins) === false) {
      throw Error(
        "Invalid plugins list. Provided 'plugins' in config should be an array."
      );
    }
    const resolvedPlugins = plugins.map((plugin) =>
      resolvePluginConfig(plugin, config)
    );
    svgjs = invokePlugins(svgjs, info, resolvedPlugins);
    svgjs = js2svg(svgjs, config.js2svg);
    if (svgjs.error) {
      throw Error(svgjs.error);
    }
    if (svgjs.data.length < prevResultSize) {
      input = svgjs.data;
      prevResultSize = svgjs.data.length;
    } else {
      if (config.datauri) {
        svgjs.data = encodeSVGDatauri(svgjs.data, config.datauri);
      }
      if (config.path != null) {
        svgjs.path = config.path;
      }
      return svgjs;
    }
  }
  return svgjs;
};
exports.optimize = optimize;

/**
 * The factory that creates a content item with the helper methods.
 *
 * @param {Object} data which is passed to jsAPI constructor
 * @returns {JSAPI} content item
 */
const createContentItem = (data) => {
  return new JSAPI(data);
};
exports.createContentItem = createContentItem;


/***/ }),

/***/ 31056:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const pluginsMap = __nccwpck_require__(73087);

const pluginsOrder = [
  'removeDoctype',
  'removeXMLProcInst',
  'removeComments',
  'removeMetadata',
  'removeXMLNS',
  'removeEditorsNSData',
  'cleanupAttrs',
  'mergeStyles',
  'inlineStyles',
  'minifyStyles',
  'convertStyleToAttrs',
  'cleanupIDs',
  'prefixIds',
  'removeRasterImages',
  'removeUselessDefs',
  'cleanupNumericValues',
  'cleanupListOfValues',
  'convertColors',
  'removeUnknownsAndDefaults',
  'removeNonInheritableGroupAttrs',
  'removeUselessStrokeAndFill',
  'removeViewBox',
  'cleanupEnableBackground',
  'removeHiddenElems',
  'removeEmptyText',
  'convertShapeToPath',
  'convertEllipseToCircle',
  'moveElemsAttrsToGroup',
  'moveGroupAttrsToElems',
  'collapseGroups',
  'convertPathData',
  'convertTransform',
  'removeEmptyAttrs',
  'removeEmptyContainers',
  'mergePaths',
  'removeUnusedNS',
  'sortAttrs',
  'sortDefsChildren',
  'removeTitle',
  'removeDesc',
  'removeDimensions',
  'removeAttrs',
  'removeAttributesBySelector',
  'removeElementsByAttr',
  'addClassesToSVGElement',
  'removeStyleElement',
  'removeScriptElement',
  'addAttributesToSVGElement',
  'removeOffCanvasPaths',
  'reusePaths',
];
const defaultPlugins = pluginsOrder.filter((name) => pluginsMap[name].active);
exports.defaultPlugins = defaultPlugins;

const extendDefaultPlugins = (plugins) => {
  const extendedPlugins = pluginsOrder.map((name) => ({
    name,
    active: pluginsMap[name].active,
  }));
  for (const plugin of plugins) {
    const resolvedPlugin = resolvePluginConfig(plugin, {});
    const index = pluginsOrder.indexOf(resolvedPlugin.name);
    if (index === -1) {
      extendedPlugins.push(plugin);
    } else {
      extendedPlugins[index] = plugin;
    }
  }
  return extendedPlugins;
};
exports.extendDefaultPlugins = extendDefaultPlugins;

const resolvePluginConfig = (plugin, config) => {
  let configParams = {};
  if ('floatPrecision' in config) {
    configParams.floatPrecision = config.floatPrecision;
  }
  if (typeof plugin === 'string') {
    // resolve builtin plugin specified as string
    const pluginConfig = pluginsMap[plugin];
    if (pluginConfig == null) {
      throw Error(`Unknown builtin plugin "${plugin}" specified.`);
    }
    return {
      ...pluginConfig,
      name: plugin,
      active: true,
      params: { ...pluginConfig.params, ...configParams },
    };
  }
  if (typeof plugin === 'object' && plugin != null) {
    if (plugin.name == null) {
      throw Error(`Plugin name should be specified`);
    }
    if (plugin.fn) {
      // resolve custom plugin with implementation
      return {
        active: true,
        ...plugin,
        params: { ...configParams, ...plugin.params },
      };
    } else {
      // resolve builtin plugin specified as object without implementation
      const pluginConfig = pluginsMap[plugin.name];
      if (pluginConfig == null) {
        throw Error(`Unknown builtin plugin "${plugin.name}" specified.`);
      }
      return {
        ...pluginConfig,
        active: true,
        ...plugin,
        params: { ...pluginConfig.params, ...configParams, ...plugin.params },
      };
    }
  }
  return null;
};
exports.resolvePluginConfig = resolvePluginConfig;


/***/ }),

/***/ 76334:
/***/ ((module) => {

"use strict";


var CSSClassList = function (node) {
  this.parentNode = node;
  this.classNames = new Set();
  const value = node.attributes.class;
  if (value != null) {
    this.addClassValueHandler();
    this.setClassValue(value);
  }
};

// attr.class.value

CSSClassList.prototype.addClassValueHandler = function () {
  Object.defineProperty(this.parentNode.attributes, 'class', {
    get: this.getClassValue.bind(this),
    set: this.setClassValue.bind(this),
    enumerable: true,
    configurable: true,
  });
};

CSSClassList.prototype.getClassValue = function () {
  var arrClassNames = Array.from(this.classNames);
  return arrClassNames.join(' ');
};

CSSClassList.prototype.setClassValue = function (newValue) {
  if (typeof newValue === 'undefined') {
    this.classNames.clear();
    return;
  }
  var arrClassNames = newValue.split(' ');
  this.classNames = new Set(arrClassNames);
};

CSSClassList.prototype.add = function (/* variadic */) {
  this.addClassValueHandler();
  Object.values(arguments).forEach(this._addSingle.bind(this));
};

CSSClassList.prototype._addSingle = function (className) {
  this.classNames.add(className);
};

CSSClassList.prototype.remove = function (/* variadic */) {
  this.addClassValueHandler();
  Object.values(arguments).forEach(this._removeSingle.bind(this));
};

CSSClassList.prototype._removeSingle = function (className) {
  this.classNames.delete(className);
};

CSSClassList.prototype.item = function (index) {
  var arrClassNames = Array.from(this.classNames);
  return arrClassNames[index];
};

CSSClassList.prototype.toggle = function (className, force) {
  if (this.contains(className) || force === false) {
    this.classNames.delete(className);
  }
  this.classNames.add(className);
};

CSSClassList.prototype.contains = function (className) {
  return this.classNames.has(className);
};

module.exports = CSSClassList;


/***/ }),

/***/ 83305:
/***/ ((module) => {

"use strict";


/**
 * @param {any} node
 * @return {node is any}
 */
const isTag = (node) => {
  return node.type === 'element';
};

const existsOne = (test, elems) => {
  return elems.some((elem) => {
    if (isTag(elem)) {
      return test(elem) || existsOne(test, getChildren(elem));
    } else {
      return false;
    }
  });
};

const getAttributeValue = (elem, name) => {
  return elem.attributes[name];
};

const getChildren = (node) => {
  return node.children || [];
};

const getName = (elemAst) => {
  return elemAst.name;
};

const getParent = (node) => {
  return node.parentNode || null;
};

const getSiblings = (elem) => {
  var parent = getParent(elem);
  return parent ? getChildren(parent) : [];
};

const getText = (node) => {
  if (node.children[0].type === 'text' && node.children[0].type === 'cdata') {
    return node.children[0].value;
  }
  return '';
};

const hasAttrib = (elem, name) => {
  return elem.attributes[name] !== undefined;
};

const removeSubsets = (nodes) => {
  let idx = nodes.length;
  let node;
  let ancestor;
  let replace;
  // Check if each node (or one of its ancestors) is already contained in the
  // array.
  while (--idx > -1) {
    node = ancestor = nodes[idx];
    // Temporarily remove the node under consideration
    nodes[idx] = null;
    replace = true;
    while (ancestor) {
      if (nodes.includes(ancestor)) {
        replace = false;
        nodes.splice(idx, 1);
        break;
      }
      ancestor = getParent(ancestor);
    }
    // If the node has been found to be unique, re-insert it.
    if (replace) {
      nodes[idx] = node;
    }
  }
  return nodes;
};

const findAll = (test, elems) => {
  const result = [];
  for (const elem of elems) {
    if (isTag(elem)) {
      if (test(elem)) {
        result.push(elem);
      }
      result.push(...findAll(test, getChildren(elem)));
    }
  }
  return result;
};

const findOne = (test, elems) => {
  for (const elem of elems) {
    if (isTag(elem)) {
      if (test(elem)) {
        return elem;
      }
      const result = findOne(test, getChildren(elem));
      if (result) {
        return result;
      }
    }
  }
  return null;
};

const svgoCssSelectAdapter = {
  isTag,
  existsOne,
  getAttributeValue,
  getChildren,
  getName,
  getParent,
  getSiblings,
  getText,
  hasAttrib,
  removeSubsets,
  findAll,
  findOne,
};

module.exports = svgoCssSelectAdapter;


/***/ }),

/***/ 7289:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


var csstree = __nccwpck_require__(65035),
  csstools = __nccwpck_require__(39854);

var CSSStyleDeclaration = function (node) {
  this.parentNode = node;

  this.properties = new Map();
  this.hasSynced = false;

  this.styleValue = null;

  this.parseError = false;
  const value = node.attributes.style;
  if (value != null) {
    this.addStyleValueHandler();
    this.setStyleValue(value);
  }
};

// attr.style.value

CSSStyleDeclaration.prototype.addStyleValueHandler = function () {
  Object.defineProperty(this.parentNode.attributes, 'style', {
    get: this.getStyleValue.bind(this),
    set: this.setStyleValue.bind(this),
    enumerable: true,
    configurable: true,
  });
};

CSSStyleDeclaration.prototype.getStyleValue = function () {
  return this.getCssText();
};

CSSStyleDeclaration.prototype.setStyleValue = function (newValue) {
  this.properties.clear(); // reset all existing properties
  this.styleValue = newValue;
  this.hasSynced = false; // raw css changed
};

CSSStyleDeclaration.prototype._loadCssText = function () {
  if (this.hasSynced) {
    return;
  }
  this.hasSynced = true; // must be set here to prevent loop in setProperty(...)

  if (!this.styleValue || this.styleValue.length === 0) {
    return;
  }
  var inlineCssStr = this.styleValue;

  var declarations = {};
  try {
    declarations = csstree.parse(inlineCssStr, {
      context: 'declarationList',
      parseValue: false,
    });
  } catch (parseError) {
    this.parseError = parseError;
    return;
  }
  this.parseError = false;

  var self = this;
  declarations.children.each(function (declaration) {
    try {
      var styleDeclaration = csstools.csstreeToStyleDeclaration(declaration);
      self.setProperty(
        styleDeclaration.name,
        styleDeclaration.value,
        styleDeclaration.priority
      );
    } catch (styleError) {
      if (styleError.message !== 'Unknown node type: undefined') {
        self.parseError = styleError;
      }
    }
  });
};

// only reads from properties

/**
 * Get the textual representation of the declaration block (equivalent to .cssText attribute).
 *
 * @return {string} Textual representation of the declaration block (empty string for no properties)
 */
CSSStyleDeclaration.prototype.getCssText = function () {
  var properties = this.getProperties();

  if (this.parseError) {
    // in case of a parse error, pass through original styles
    return this.styleValue;
  }

  var cssText = [];
  properties.forEach(function (property, propertyName) {
    var strImportant = property.priority === 'important' ? '!important' : '';
    cssText.push(
      propertyName.trim() + ':' + property.value.trim() + strImportant
    );
  });
  return cssText.join(';');
};

CSSStyleDeclaration.prototype._handleParseError = function () {
  if (this.parseError) {
    console.warn(
      "Warning: Parse error when parsing inline styles, style properties of this element cannot be used. The raw styles can still be get/set using .attr('style').value. Error details: " +
        this.parseError
    );
  }
};

CSSStyleDeclaration.prototype._getProperty = function (propertyName) {
  if (typeof propertyName === 'undefined') {
    throw Error('1 argument required, but only 0 present.');
  }

  var properties = this.getProperties();
  this._handleParseError();

  var property = properties.get(propertyName.trim());
  return property;
};

/**
 * Return the optional priority, "important".
 *
 * @param {string} propertyName representing the property name to be checked.
 * @return {string} priority that represents the priority (e.g. "important") if one exists. If none exists, returns the empty string.
 */
CSSStyleDeclaration.prototype.getPropertyPriority = function (propertyName) {
  var property = this._getProperty(propertyName);
  return property ? property.priority : '';
};

/**
 * Return the property value given a property name.
 *
 * @param {string} propertyName representing the property name to be checked.
 * @return {string} value containing the value of the property. If not set, returns the empty string.
 */
CSSStyleDeclaration.prototype.getPropertyValue = function (propertyName) {
  var property = this._getProperty(propertyName);
  return property ? property.value : null;
};

/**
 * Return a property name.
 *
 * @param {number} index of the node to be fetched. The index is zero-based.
 * @return {string} propertyName that is the name of the CSS property at the specified index.
 */
CSSStyleDeclaration.prototype.item = function (index) {
  if (typeof index === 'undefined') {
    throw Error('1 argument required, but only 0 present.');
  }

  var properties = this.getProperties();
  this._handleParseError();

  return Array.from(properties.keys())[index];
};

/**
 * Return all properties of the node.
 *
 * @return {Map} properties that is a Map with propertyName as key and property (propertyValue + propertyPriority) as value.
 */
CSSStyleDeclaration.prototype.getProperties = function () {
  this._loadCssText();
  return this.properties;
};

// writes to properties

/**
 * Remove a property from the CSS declaration block.
 *
 * @param {string} propertyName representing the property name to be removed.
 * @return {string} oldValue equal to the value of the CSS property before it was removed.
 */
CSSStyleDeclaration.prototype.removeProperty = function (propertyName) {
  if (typeof propertyName === 'undefined') {
    throw Error('1 argument required, but only 0 present.');
  }

  this.addStyleValueHandler();

  var properties = this.getProperties();
  this._handleParseError();

  var oldValue = this.getPropertyValue(propertyName);
  properties.delete(propertyName.trim());
  return oldValue;
};

/**
 * Modify an existing CSS property or creates a new CSS property in the declaration block.
 *
 * @param {string} propertyName representing the CSS property name to be modified.
 * @param {string} value containing the new property value. If not specified, treated as the empty string. value must not contain "!important" -- that should be set using the priority parameter.
 * @param {string} priority allowing the "important" CSS priority to be set. If not specified, treated as the empty string.
 * @return {{value: string, priority: string}}
 */
CSSStyleDeclaration.prototype.setProperty = function (
  propertyName,
  value,
  priority
) {
  if (typeof propertyName === 'undefined') {
    throw Error('propertyName argument required, but only not present.');
  }

  this.addStyleValueHandler();

  var properties = this.getProperties();
  this._handleParseError();

  var property = {
    value: value.trim(),
    priority: priority.trim(),
  };
  properties.set(propertyName.trim(), property);

  return property;
};

module.exports = CSSStyleDeclaration;


/***/ }),

/***/ 53537:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


var EOL = __nccwpck_require__(12087).EOL,
  textElems = __nccwpck_require__(94434).textElems;

var defaults = {
  doctypeStart: '<!DOCTYPE',
  doctypeEnd: '>',
  procInstStart: '<?',
  procInstEnd: '?>',
  tagOpenStart: '<',
  tagOpenEnd: '>',
  tagCloseStart: '</',
  tagCloseEnd: '>',
  tagShortStart: '<',
  tagShortEnd: '/>',
  attrStart: '="',
  attrEnd: '"',
  commentStart: '<!--',
  commentEnd: '-->',
  cdataStart: '<![CDATA[',
  cdataEnd: ']]>',
  textStart: '',
  textEnd: '',
  indent: 4,
  regEntities: /[&'"<>]/g,
  regValEntities: /[&"<>]/g,
  encodeEntity: encodeEntity,
  pretty: false,
  useShortTags: true,
};

var entities = {
  '&': '&amp;',
  "'": '&apos;',
  '"': '&quot;',
  '>': '&gt;',
  '<': '&lt;',
};

/**
 * Convert SVG-as-JS object to SVG (XML) string.
 *
 * @param {Object} data input data
 * @param {Object} config config
 *
 * @return {Object} output data
 */
module.exports = function (data, config) {
  return new JS2SVG(config).convert(data);
};

function JS2SVG(config) {
  if (config) {
    this.config = Object.assign({}, defaults, config);
  } else {
    this.config = Object.assign({}, defaults);
  }

  var indent = this.config.indent;
  if (typeof indent == 'number' && !isNaN(indent)) {
    this.config.indent = indent < 0 ? '\t' : ' '.repeat(indent);
  } else if (typeof indent != 'string') {
    this.config.indent = '    ';
  }

  if (this.config.pretty) {
    this.config.doctypeEnd += EOL;
    this.config.procInstEnd += EOL;
    this.config.commentEnd += EOL;
    this.config.cdataEnd += EOL;
    this.config.tagShortEnd += EOL;
    this.config.tagOpenEnd += EOL;
    this.config.tagCloseEnd += EOL;
    this.config.textEnd += EOL;
  }

  this.indentLevel = 0;
  this.textContext = null;
}

function encodeEntity(char) {
  return entities[char];
}

/**
 * Start conversion.
 *
 * @param {Object} data input data
 *
 * @return {String}
 */
JS2SVG.prototype.convert = function (data) {
  var svg = '';

  this.indentLevel++;

  for (const item of data.children) {
    if (item.type === 'element') {
      svg += this.createElem(item);
    }
    if (item.type === 'text') {
      svg += this.createText(item);
    }
    if (item.type === 'doctype') {
      svg += this.createDoctype(item);
    }
    if (item.type === 'instruction') {
      svg += this.createProcInst(item);
    }
    if (item.type === 'comment') {
      svg += this.createComment(item);
    }
    if (item.type === 'cdata') {
      svg += this.createCDATA(item);
    }
  }

  this.indentLevel--;

  return {
    data: svg,
    info: {
      width: this.width,
      height: this.height,
    },
  };
};

/**
 * Create indent string in accordance with the current node level.
 *
 * @return {String}
 */
JS2SVG.prototype.createIndent = function () {
  var indent = '';

  if (this.config.pretty && !this.textContext) {
    indent = this.config.indent.repeat(this.indentLevel - 1);
  }

  return indent;
};

/**
 * Create doctype tag.
 *
 * @param {String} doctype doctype body string
 *
 * @return {String}
 */
JS2SVG.prototype.createDoctype = function (node) {
  const { doctype } = node.data;
  return this.config.doctypeStart + doctype + this.config.doctypeEnd;
};

/**
 * Create XML Processing Instruction tag.
 *
 * @param {Object} instruction instruction object
 *
 * @return {String}
 */
JS2SVG.prototype.createProcInst = function (node) {
  const { name, value } = node;
  return (
    this.config.procInstStart + name + ' ' + value + this.config.procInstEnd
  );
};

/**
 * Create comment tag.
 *
 * @param {String} comment comment body
 *
 * @return {String}
 */
JS2SVG.prototype.createComment = function (node) {
  const { value } = node;
  return this.config.commentStart + value + this.config.commentEnd;
};

/**
 * Create CDATA section.
 *
 * @param {String} cdata CDATA body
 *
 * @return {String}
 */
JS2SVG.prototype.createCDATA = function (node) {
  const { value } = node;
  return (
    this.createIndent() + this.config.cdataStart + value + this.config.cdataEnd
  );
};

/**
 * Create element tag.
 *
 * @param {Object} data element object
 *
 * @return {String}
 */
JS2SVG.prototype.createElem = function (data) {
  // beautiful injection for obtaining SVG information :)
  if (
    data.name === 'svg' &&
    data.attributes.width != null &&
    data.attributes.height != null
  ) {
    this.width = data.attributes.width;
    this.height = data.attributes.height;
  }

  // empty element and short tag
  if (data.children.length === 0) {
    if (this.config.useShortTags) {
      return (
        this.createIndent() +
        this.config.tagShortStart +
        data.name +
        this.createAttrs(data) +
        this.config.tagShortEnd
      );
    } else {
      return (
        this.createIndent() +
        this.config.tagShortStart +
        data.name +
        this.createAttrs(data) +
        this.config.tagOpenEnd +
        this.config.tagCloseStart +
        data.name +
        this.config.tagCloseEnd
      );
    }
    // non-empty element
  } else {
    var tagOpenStart = this.config.tagOpenStart,
      tagOpenEnd = this.config.tagOpenEnd,
      tagCloseStart = this.config.tagCloseStart,
      tagCloseEnd = this.config.tagCloseEnd,
      openIndent = this.createIndent(),
      closeIndent = this.createIndent(),
      processedData = '',
      dataEnd = '';

    if (this.textContext) {
      tagOpenStart = defaults.tagOpenStart;
      tagOpenEnd = defaults.tagOpenEnd;
      tagCloseStart = defaults.tagCloseStart;
      tagCloseEnd = defaults.tagCloseEnd;
      openIndent = '';
    } else if (data.isElem(textElems)) {
      tagOpenEnd = defaults.tagOpenEnd;
      tagCloseStart = defaults.tagCloseStart;
      closeIndent = '';
      this.textContext = data;
    }

    processedData += this.convert(data).data;

    if (this.textContext == data) {
      this.textContext = null;
    }

    return (
      openIndent +
      tagOpenStart +
      data.name +
      this.createAttrs(data) +
      tagOpenEnd +
      processedData +
      dataEnd +
      closeIndent +
      tagCloseStart +
      data.name +
      tagCloseEnd
    );
  }
};

/**
 * Create element attributes.
 *
 * @param {Object} elem attributes object
 *
 * @return {String}
 */
JS2SVG.prototype.createAttrs = function (element) {
  let attrs = '';
  for (const [name, value] of Object.entries(element.attributes)) {
    if (value !== undefined) {
      const encodedValue = value
        .toString()
        .replace(this.config.regValEntities, this.config.encodeEntity);
      attrs +=
        ' ' + name + this.config.attrStart + encodedValue + this.config.attrEnd;
    } else {
      attrs += ' ' + name;
    }
  }
  return attrs;
};

/**
 * Create text node.
 *
 * @param {String} text text
 *
 * @return {String}
 */
JS2SVG.prototype.createText = function (node) {
  const { value } = node;
  return (
    this.createIndent() +
    this.config.textStart +
    value.replace(this.config.regEntities, this.config.encodeEntity) +
    (this.textContext ? '' : this.config.textEnd)
  );
};


/***/ }),

/***/ 88692:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const { selectAll, selectOne, is } = __nccwpck_require__(4508);
const { parseName } = __nccwpck_require__(44074);
const svgoCssSelectAdapter = __nccwpck_require__(83305);
const CSSClassList = __nccwpck_require__(76334);
const CSSStyleDeclaration = __nccwpck_require__(7289);

var cssSelectOpts = {
  xmlMode: true,
  adapter: svgoCssSelectAdapter,
};

const attrsHandler = {
  get: (attributes, name) => {
    // eslint-disable-next-line no-prototype-builtins
    if (attributes.hasOwnProperty(name)) {
      return {
        name,
        get value() {
          return attributes[name];
        },
        set value(value) {
          attributes[name] = value;
        },
      };
    }
  },
  set: (attributes, name, attr) => {
    attributes[name] = attr.value;
    return true;
  },
};

var JSAPI = function (data, parentNode) {
  Object.assign(this, data);
  if (this.type === 'element') {
    if (this.attributes == null) {
      this.attributes = {};
    }
    if (this.children == null) {
      this.children = [];
    }
    Object.defineProperty(this, 'class', {
      writable: true,
      configurable: true,
      value: new CSSClassList(this),
    });
    Object.defineProperty(this, 'style', {
      writable: true,
      configurable: true,
      value: new CSSStyleDeclaration(this),
    });
    Object.defineProperty(this, 'parentNode', {
      writable: true,
      value: parentNode,
    });

    // temporary attrs polyfill
    // TODO remove after migration
    const element = this;
    Object.defineProperty(this, 'attrs', {
      configurable: true,
      get() {
        return new Proxy(element.attributes, attrsHandler);
      },
      set(value) {
        const newAttributes = {};
        for (const attr of Object.values(value)) {
          newAttributes[attr.name] = attr.value;
        }
        element.attributes = newAttributes;
      },
    });
  }
};
module.exports = JSAPI;

/**
 * Perform a deep clone of this node.
 *
 * @return {Object} element
 */
JSAPI.prototype.clone = function () {
  const { children, ...nodeData } = this;
  // Deep-clone node data.
  const clonedNode = new JSAPI(JSON.parse(JSON.stringify(nodeData)), null);
  if (children) {
    clonedNode.children = children.map((child) => {
      const clonedChild = child.clone();
      clonedChild.parentNode = clonedNode;
      return clonedChild;
    });
  }
  return clonedNode;
};

/**
 * Determine if item is an element
 * (any, with a specific name or in a names array).
 *
 * @param {String|Array} [param] element name or names arrays
 * @return {Boolean}
 */
JSAPI.prototype.isElem = function (param) {
  if (this.type !== 'element') {
    return false;
  }
  if (param == null) {
    return true;
  }
  if (Array.isArray(param)) {
    return param.includes(this.name);
  }
  return this.name === param;
};

/**
 * Renames an element
 *
 * @param {String} name new element name
 * @return {Object} element
 */
JSAPI.prototype.renameElem = function (name) {
  if (name && typeof name === 'string') this.name = name;

  return this;
};

/**
 * Determine if element is empty.
 *
 * @return {Boolean}
 */
JSAPI.prototype.isEmpty = function () {
  return !this.children || !this.children.length;
};

/**
 * Find the closest ancestor of the current element.
 * @param elemName
 *
 * @return {?Object}
 */
JSAPI.prototype.closestElem = function (elemName) {
  var elem = this;

  while ((elem = elem.parentNode) && !elem.isElem(elemName));

  return elem;
};

/**
 * Changes children by removing elements and/or adding new elements.
 *
 * @param {Number} start Index at which to start changing the children.
 * @param {Number} n Number of elements to remove.
 * @param {Array|Object} [insertion] Elements to add to the children.
 * @return {Array} Removed elements.
 */
JSAPI.prototype.spliceContent = function (start, n, insertion) {
  if (arguments.length < 2) return [];

  if (!Array.isArray(insertion))
    insertion = Array.apply(null, arguments).slice(2);

  insertion.forEach(function (inner) {
    inner.parentNode = this;
  }, this);

  return this.children.splice.apply(
    this.children,
    [start, n].concat(insertion)
  );
};

/**
 * Determine if element has an attribute
 * (any, or by name or by name + value).
 *
 * @param {String} [name] attribute name
 * @param {String} [val] attribute value (will be toString()'ed)
 * @return {Boolean}
 */
JSAPI.prototype.hasAttr = function (name, val) {
  if (this.type !== 'element') {
    return false;
  }
  if (Object.keys(this.attributes).length === 0) {
    return false;
  }
  if (name == null) {
    return true;
  }
  // eslint-disable-next-line no-prototype-builtins
  if (this.attributes.hasOwnProperty(name) === false) {
    return false;
  }
  if (val !== undefined) {
    return this.attributes[name] === val.toString();
  }
  return true;
};

/**
 * Determine if element has an attribute by local name
 * (any, or by name or by name + value).
 *
 * @param {String} [localName] local attribute name
 * @param {Number|String|RegExp|Function} [val] attribute value (will be toString()'ed or executed, otherwise ignored)
 * @return {Boolean}
 */
JSAPI.prototype.hasAttrLocal = function (localName, val) {
  if (!this.attrs || !Object.keys(this.attrs).length) return false;

  if (!arguments.length) return !!this.attrs;

  var callback;

  switch (val != null && val.constructor && val.constructor.name) {
    case 'Number': // same as String
    case 'String':
      callback = stringValueTest;
      break;
    case 'RegExp':
      callback = regexpValueTest;
      break;
    case 'Function':
      callback = funcValueTest;
      break;
    default:
      callback = nameTest;
  }
  return this.someAttr(callback);

  function nameTest(attr) {
    const { local } = parseName(attr.name);
    return local === localName;
  }

  function stringValueTest(attr) {
    const { local } = parseName(attr.name);
    return local === localName && val == attr.value;
  }

  function regexpValueTest(attr) {
    const { local } = parseName(attr.name);
    return local === localName && val.test(attr.value);
  }

  function funcValueTest(attr) {
    const { local } = parseName(attr.name);
    return local === localName && val(attr.value);
  }
};

/**
 * Get a specific attribute from an element
 * (by name or name + value).
 *
 * @param {String} name attribute name
 * @param {String} [val] attribute value (will be toString()'ed)
 * @return {Object|Undefined}
 */
JSAPI.prototype.attr = function (name, val) {
  if (this.hasAttr(name, val)) {
    return this.attrs[name];
  }
};

/**
 * Get computed attribute value from an element
 *
 * @param {String} name attribute name
 * @return {Object|Undefined}
 */
JSAPI.prototype.computedAttr = function (name, val) {
  if (!arguments.length) return;

  for (
    var elem = this;
    elem && (!elem.hasAttr(name) || !elem.attributes[name]);
    elem = elem.parentNode
  );

  if (val != null) {
    return elem ? elem.hasAttr(name, val) : false;
  } else if (elem && elem.hasAttr(name)) {
    return elem.attributes[name];
  }
};

/**
 * Remove a specific attribute.
 *
 * @param {String|Array} name attribute name
 * @param {String} [val] attribute value
 * @return {Boolean}
 */
JSAPI.prototype.removeAttr = function (name, val) {
  if (this.type !== 'element') {
    return false;
  }
  if (arguments.length === 0) {
    return false;
  }
  if (Array.isArray(name)) {
    for (const nameItem of name) {
      this.removeAttr(nameItem, val);
    }
    return false;
  }
  if (this.hasAttr(name, val) === false) {
    return false;
  }
  delete this.attributes[name];
  return true;
};

/**
 * Add attribute.
 *
 * @param {Object} [attr={}] attribute object
 * @return {Object|Boolean} created attribute or false if no attr was passed in
 */
JSAPI.prototype.addAttr = function (attr) {
  attr = attr || {};

  if (attr.name === undefined) return false;

  this.attributes[attr.name] = attr.value;

  if (attr.name === 'class') {
    // newly added class attribute
    this.class.hasClass();
  }

  if (attr.name === 'style') {
    // newly added style attribute
    this.style.hasStyle();
  }

  return this.attrs[attr.name];
};

/**
 * Iterates over all attributes.
 *
 * @param {Function} callback callback
 * @param {Object} [context] callback context
 * @return {Boolean} false if there are no any attributes
 */
JSAPI.prototype.eachAttr = function (callback, context) {
  if (this.type !== 'element') {
    return false;
  }
  if (callback == null) {
    return false;
  }
  for (const attr of Object.values(this.attrs)) {
    callback.call(context, attr);
  }
  return true;
};

/**
 * Tests whether some attribute passes the test.
 *
 * @param {Function} callback callback
 * @param {Object} [context] callback context
 * @return {Boolean} false if there are no any attributes
 */
JSAPI.prototype.someAttr = function (callback, context) {
  if (this.type !== 'element') {
    return false;
  }

  for (const attr of Object.values(this.attrs)) {
    if (callback.call(context, attr)) return true;
  }

  return false;
};

/**
 * Evaluate a string of CSS selectors against the element and returns matched elements.
 *
 * @param {String} selectors CSS selector(s) string
 * @return {Array} null if no elements matched
 */
JSAPI.prototype.querySelectorAll = function (selectors) {
  var matchedEls = selectAll(selectors, this, cssSelectOpts);

  return matchedEls.length > 0 ? matchedEls : null;
};

/**
 * Evaluate a string of CSS selectors against the element and returns only the first matched element.
 *
 * @param {String} selectors CSS selector(s) string
 * @return {Array} null if no element matched
 */
JSAPI.prototype.querySelector = function (selectors) {
  return selectOne(selectors, this, cssSelectOpts);
};

/**
 * Test if a selector matches a given element.
 *
 * @param {String} selector CSS selector string
 * @return {Boolean} true if element would be selected by selector string, false if it does not
 */
JSAPI.prototype.matches = function (selector) {
  return is(this, selector, cssSelectOpts);
};


/***/ }),

/***/ 15257:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const { visit } = __nccwpck_require__(56138);

/**
 * Plugins engine.
 *
 * @module plugins
 *
 * @param {Object} data input data
 * @param {Object} info extra information
 * @param {Array} plugins plugins object from config
 * @return {Object} output data
 */
module.exports = function (data, info, plugins) {
  // Try to group sequential elements of plugins array
  // to optimize ast traversing
  const groups = [];
  let prev;
  for (const plugin of plugins) {
    if (prev && plugin.type == prev[0].type) {
      prev.push(plugin);
    } else {
      prev = [plugin];
      groups.push(prev);
    }
  }
  for (const group of groups) {
    switch (group[0].type) {
      case 'perItem':
        data = perItem(data, info, group);
        break;
      case 'perItemReverse':
        data = perItem(data, info, group, true);
        break;
      case 'full':
        data = full(data, info, group);
        break;
      case 'visitor':
        for (const plugin of group) {
          if (plugin.active) {
            const visitor = plugin.fn(data, plugin.params, info);
            visit(data, visitor);
          }
        }
        break;
    }
  }
  return data;
};

/**
 * Direct or reverse per-item loop.
 *
 * @param {Object} data input data
 * @param {Object} info extra information
 * @param {Array} plugins plugins list to process
 * @param {boolean} [reverse] reverse pass?
 * @return {Object} output data
 */
function perItem(data, info, plugins, reverse) {
  function monkeys(items) {
    items.children = items.children.filter(function (item) {
      // reverse pass
      if (reverse && item.children) {
        monkeys(item);
      }

      // main filter
      var filter = true;

      for (var i = 0; filter && i < plugins.length; i++) {
        var plugin = plugins[i];

        if (plugin.active && plugin.fn(item, plugin.params, info) === false) {
          filter = false;
        }
      }

      // direct pass
      if (!reverse && item.children) {
        monkeys(item);
      }

      return filter;
    });

    return items;
  }

  return monkeys(data);
}

/**
 * "Full" plugins.
 *
 * @param {Object} data input data
 * @param {Object} info extra information
 * @param {Array} plugins plugins list to process
 * @return {Object} output data
 */
function full(data, info, plugins) {
  plugins.forEach(function (plugin) {
    if (plugin.active) {
      data = plugin.fn(data, plugin.params, info);
    }
  });

  return data;
}


/***/ }),

/***/ 80975:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


const SAX = __nccwpck_require__(69414);
const JSAPI = __nccwpck_require__(88692);
const { textElems } = __nccwpck_require__(94434);

const entityDeclaration = /<!ENTITY\s+(\S+)\s+(?:'([^']+)'|"([^"]+)")\s*>/g;

const config = {
  strict: true,
  trim: false,
  normalize: false,
  lowercase: true,
  xmlns: true,
  position: true,
};

/**
 * Convert SVG (XML) string to SVG-as-JS object.
 *
 * @param {String} data input data
 */
module.exports = function (data) {
  const sax = SAX.parser(config.strict, config);
  const root = new JSAPI({ type: 'root', children: [] });
  let current = root;
  let stack = [root];

  function pushToContent(node) {
    const wrapped = new JSAPI(node, current);
    current.children.push(wrapped);
    return wrapped;
  }

  sax.ondoctype = function (doctype) {
    pushToContent({
      type: 'doctype',
      // TODO parse doctype for name, public and system to match xast
      name: 'svg',
      data: {
        doctype,
      },
    });

    const subsetStart = doctype.indexOf('[');
    let entityMatch;

    if (subsetStart >= 0) {
      entityDeclaration.lastIndex = subsetStart;

      while ((entityMatch = entityDeclaration.exec(data)) != null) {
        sax.ENTITIES[entityMatch[1]] = entityMatch[2] || entityMatch[3];
      }
    }
  };

  sax.onprocessinginstruction = function (data) {
    pushToContent({
      type: 'instruction',
      name: data.name,
      value: data.body,
    });
  };

  sax.oncomment = function (comment) {
    pushToContent({
      type: 'comment',
      value: comment.trim(),
    });
  };

  sax.oncdata = function (cdata) {
    pushToContent({
      type: 'cdata',
      value: cdata,
    });
  };

  sax.onopentag = function (data) {
    var element = {
      type: 'element',
      name: data.name,
      attributes: {},
      children: [],
    };

    for (const [name, attr] of Object.entries(data.attributes)) {
      element.attributes[name] = attr.value;
    }

    element = pushToContent(element);
    current = element;

    stack.push(element);
  };

  sax.ontext = function (text) {
    // prevent trimming of meaningful whitespace inside textual tags
    if (textElems.includes(current.name) && !data.prefix) {
      pushToContent({
        type: 'text',
        value: text,
      });
    } else if (/\S/.test(text)) {
      pushToContent({
        type: 'text',
        value: text.trim(),
      });
    }
  };

  sax.onclosetag = function () {
    stack.pop();
    current = stack[stack.length - 1];
  };

  sax.onerror = function (e) {
    e.message = 'Error in parsing SVG: ' + e.message;
    if (e.message.indexOf('Unexpected end') < 0) {
      throw e;
    }
  };

  try {
    sax.write(data).close();
    return root;
  } catch (e) {
    return { error: e.message };
  }
};


/***/ }),

/***/ 44074:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


/**
 * Encode plain SVG data string into Data URI string.
 *
 * @param {string} str input string
 * @param {string} type Data URI type
 * @return {string} output string
 */
exports.encodeSVGDatauri = function (str, type) {
  var prefix = 'data:image/svg+xml';
  if (!type || type === 'base64') {
    // base64
    prefix += ';base64,';
    str = prefix + Buffer.from(str).toString('base64');
  } else if (type === 'enc') {
    // URI encoded
    str = prefix + ',' + encodeURIComponent(str);
  } else if (type === 'unenc') {
    // unencoded
    str = prefix + ',' + str;
  }
  return str;
};

/**
 * Decode SVG Data URI string into plain SVG string.
 *
 * @param {string} str input string
 * @return {string} output string
 */
exports.decodeSVGDatauri = function (str) {
  var regexp = /data:image\/svg\+xml(;charset=[^;,]*)?(;base64)?,(.*)/;
  var match = regexp.exec(str);

  // plain string
  if (!match) return str;

  var data = match[3];

  if (match[2]) {
    // base64
    str = Buffer.from(data, 'base64').toString('utf8');
  } else if (data.charAt(0) === '%') {
    // URI encoded
    str = decodeURIComponent(data);
  } else if (data.charAt(0) === '<') {
    // unencoded
    str = data;
  }
  return str;
};

/**
 * @param {any[]} a
 * @param {any[]} b
 */
exports.intersectArrays = function (a, b) {
  return a.filter(function (n) {
    return b.indexOf(n) > -1;
  });
};

/**
 * Convert a row of numbers to an optimized string view.
 *
 * @example
 * [0, -1, .5, .5] → "0-1 .5.5"
 *
 * @param {number[]} data
 * @param {Object} params
 * @param {string} [command] path data instruction
 * @return {string}
 */
exports.cleanupOutData = function (data, params, command) {
  var str = '',
    delimiter,
    prev;

  data.forEach(function (item, i) {
    // space delimiter by default
    delimiter = ' ';

    // no extra space in front of first number
    if (i == 0) delimiter = '';

    // no extra space after 'arcto' command flags(large-arc and sweep flags)
    // a20 60 45 0 1 30 20 → a20 60 45 0130 20
    if (params.noSpaceAfterFlags && (command == 'A' || command == 'a')) {
      var pos = i % 7;
      if (pos == 4 || pos == 5) delimiter = '';
    }

    // remove floating-point numbers leading zeros
    // 0.5 → .5
    // -0.5 → -.5
    const itemStr = params.leadingZero
      ? removeLeadingZero(item)
      : item.toString();

    // no extra space in front of negative number or
    // in front of a floating number if a previous number is floating too
    if (
      params.negativeExtraSpace &&
      delimiter != '' &&
      (item < 0 || (itemStr.charAt(0) === '.' && prev % 1 !== 0))
    ) {
      delimiter = '';
    }
    // save prev item value
    prev = item;
    str += delimiter + itemStr;
  });
  return str;
};

/**
 * Remove floating-point numbers leading zero.
 *
 * @example
 * 0.5 → .5
 *
 * @example
 * -0.5 → -.5
 *
 * @param {number} num input number
 *
 * @return {string} output number as string
 */
var removeLeadingZero = function (num) {
  var strNum = num.toString();

  if (0 < num && num < 1 && strNum.charAt(0) === '0') {
    strNum = strNum.slice(1);
  } else if (-1 < num && num < 0 && strNum.charAt(1) === '0') {
    strNum = strNum.charAt(0) + strNum.slice(2);
  }
  return strNum;
};
exports.removeLeadingZero = removeLeadingZero;

const parseName = (name) => {
  if (name == null) {
    return {
      prefix: '',
      local: '',
    };
  }
  if (name === 'xmlns') {
    return {
      prefix: 'xmlns',
      local: '',
    };
  }
  const chunks = name.split(':');
  if (chunks.length === 1) {
    return {
      prefix: '',
      local: chunks[0],
    };
  }
  return {
    prefix: chunks[0],
    local: chunks[1],
  };
};
exports.parseName = parseName;


/***/ }),

/***/ 56138:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { selectAll, selectOne, is } = __nccwpck_require__(4508);
const xastAdaptor = __nccwpck_require__(83305);

const cssSelectOptions = {
  xmlMode: true,
  adapter: xastAdaptor,
};

const querySelectorAll = (node, selector) => {
  return selectAll(selector, node, cssSelectOptions);
};
exports.querySelectorAll = querySelectorAll;

const querySelector = (node, selector) => {
  return selectOne(selector, node, cssSelectOptions);
};
exports.querySelector = querySelector;

const matches = (node, selector) => {
  return is(node, selector, cssSelectOptions);
};
exports.matches = matches;

const closestByName = (node, name) => {
  let currentNode = node;
  while (currentNode) {
    if (currentNode.type === 'element' && currentNode.name === name) {
      return currentNode;
    }
    currentNode = currentNode.parentNode;
  }
  return null;
};
exports.closestByName = closestByName;

const traverseBreak = Symbol();
exports.traverseBreak = traverseBreak;

const traverse = (node, fn) => {
  if (fn(node) === traverseBreak) {
    return traverseBreak;
  }
  if (node.type === 'root' || node.type === 'element') {
    for (const child of node.children) {
      if (traverse(child, fn) === traverseBreak) {
        return traverseBreak;
      }
    }
  }
};
exports.traverse = traverse;

const visit = (node, visitor) => {
  const callbacks = visitor[node.type];
  if (callbacks && callbacks.enter) {
    callbacks.enter(node);
  }
  // visit root children
  if (node.type === 'root') {
    // copy children array to not loose cursor when children is spliced
    for (const child of node.children) {
      visit(child, visitor);
    }
  }
  // visit element children if still attached to parent
  if (node.type === 'element') {
    if (node.parentNode.children.includes(node)) {
      for (const child of node.children) {
        visit(child, visitor);
      }
    }
  }
  if (callbacks && callbacks.exit) {
    callbacks.exit(node);
  }
};
exports.visit = visit;

const detachNodeFromParent = (node) => {
  const parentNode = node.parentNode;
  // avoid splice to not break for loops
  parentNode.children = parentNode.children.filter((child) => child !== node);
};
exports.detachNodeFromParent = detachNodeFromParent;


/***/ }),

/***/ 99971:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


// TODO implement as separate plugin

const {
  transformsMultiply,
  transform2js,
  transformArc,
} = __nccwpck_require__(22857);
const { removeLeadingZero } = __nccwpck_require__(44074);
const { referencesProps, attrsGroupsDefaults } = __nccwpck_require__(94434);

const regNumericValues = /[-+]?(\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;
const defaultStrokeWidth = attrsGroupsDefaults.presentation['stroke-width'];

/**
 * Apply transformation(s) to the Path data.
 *
 * @param {Object} elem current element
 * @param {Array} path input path data
 * @param {Object} params whether to apply transforms to stroked lines and transform precision (used for stroke width)
 * @return {Array} output path data
 */
const applyTransforms = (elem, pathData, params) => {
  // if there are no 'stroke' attr and references to other objects such as
  // gradiends or clip-path which are also subjects to transform.
  if (
    elem.attributes.transform == null ||
    elem.attributes.transform === '' ||
    // styles are not considered when applying transform
    // can be fixed properly with new style engine
    elem.attributes.style != null ||
    Object.entries(elem.attributes).some(
      ([name, value]) =>
        referencesProps.includes(name) && value.includes('url(')
    )
  ) {
    return;
  }

  const matrix = transformsMultiply(transform2js(elem.attributes.transform));
  const stroke = elem.computedAttr('stroke');
  const id = elem.computedAttr('id');
  const transformPrecision = params.transformPrecision;

  if (stroke && stroke != 'none') {
    if (
      !params.applyTransformsStroked ||
      ((matrix.data[0] != matrix.data[3] ||
        matrix.data[1] != -matrix.data[2]) &&
        (matrix.data[0] != -matrix.data[3] || matrix.data[1] != matrix.data[2]))
    )
      return;

    // "stroke-width" should be inside the part with ID, otherwise it can be overrided in <use>
    if (id) {
      let idElem = elem;
      let hasStrokeWidth = false;

      do {
        if (idElem.attributes['stroke-width']) {
          hasStrokeWidth = true;
        }
      } while (
        idElem.attributes.id !== id &&
        !hasStrokeWidth &&
        (idElem = idElem.parentNode)
      );

      if (!hasStrokeWidth) return;
    }

    const scale = +Math.sqrt(
      matrix.data[0] * matrix.data[0] + matrix.data[1] * matrix.data[1]
    ).toFixed(transformPrecision);

    if (scale !== 1) {
      const strokeWidth =
        elem.computedAttr('stroke-width') || defaultStrokeWidth;

      if (
        elem.attributes['vector-effect'] == null ||
        elem.attributes['vector-effect'] !== 'non-scaling-stroke'
      ) {
        if (elem.attributes['stroke-width'] != null) {
          elem.attributes['stroke-width'] = elem.attributes['stroke-width']
            .trim()
            .replace(regNumericValues, (num) => removeLeadingZero(num * scale));
        } else {
          elem.attributes[
            'stroke-width'
          ] = strokeWidth.replace(regNumericValues, (num) =>
            removeLeadingZero(num * scale)
          );
        }

        if (elem.attributes['stroke-dashoffset'] != null) {
          elem.attributes['stroke-dashoffset'] = elem.attributes[
            'stroke-dashoffset'
          ]
            .trim()
            .replace(regNumericValues, (num) => removeLeadingZero(num * scale));
        }

        if (elem.attributes['stroke-dasharray'] != null) {
          elem.attributes['stroke-dasharray'] = elem.attributes[
            'stroke-dasharray'
          ]
            .trim()
            .replace(regNumericValues, (num) => removeLeadingZero(num * scale));
        }
      }
    }
  } else if (id) {
    // Stroke and stroke-width can be redefined with <use>
    return;
  }

  applyMatrixToPathData(pathData, matrix.data);

  // remove transform attr
  delete elem.attributes.transform;

  return;
};
exports.applyTransforms = applyTransforms;

const transformAbsolutePoint = (matrix, x, y) => {
  const newX = matrix[0] * x + matrix[2] * y + matrix[4];
  const newY = matrix[1] * x + matrix[3] * y + matrix[5];
  return [newX, newY];
};

const transformRelativePoint = (matrix, x, y) => {
  const newX = matrix[0] * x + matrix[2] * y;
  const newY = matrix[1] * x + matrix[3] * y;
  return [newX, newY];
};

const applyMatrixToPathData = (pathData, matrix) => {
  let start = [0, 0];
  let cursor = [0, 0];

  for (const pathItem of pathData) {
    let { instruction: command, data: args } = pathItem;
    // moveto (x y)
    if (command === 'M') {
      cursor[0] = args[0];
      cursor[1] = args[1];
      start[0] = cursor[0];
      start[1] = cursor[1];
      const [x, y] = transformAbsolutePoint(matrix, args[0], args[1]);
      args[0] = x;
      args[1] = y;
    }
    if (command === 'm') {
      cursor[0] += args[0];
      cursor[1] += args[1];
      start[0] = cursor[0];
      start[1] = cursor[1];
      const [x, y] = transformRelativePoint(matrix, args[0], args[1]);
      args[0] = x;
      args[1] = y;
    }

    // horizontal lineto (x)
    // convert to lineto to handle two-dimentional transforms
    if (command === 'H') {
      command = 'L';
      args = [args[0], cursor[1]];
    }
    if (command === 'h') {
      command = 'l';
      args = [args[0], 0];
    }

    // vertical lineto (y)
    // convert to lineto to handle two-dimentional transforms
    if (command === 'V') {
      command = 'L';
      args = [cursor[0], args[0]];
    }
    if (command === 'v') {
      command = 'l';
      args = [0, args[0]];
    }

    // lineto (x y)
    if (command === 'L') {
      cursor[0] = args[0];
      cursor[1] = args[1];
      const [x, y] = transformAbsolutePoint(matrix, args[0], args[1]);
      args[0] = x;
      args[1] = y;
    }
    if (command === 'l') {
      cursor[0] += args[0];
      cursor[1] += args[1];
      const [x, y] = transformRelativePoint(matrix, args[0], args[1]);
      args[0] = x;
      args[1] = y;
    }

    // curveto (x1 y1 x2 y2 x y)
    if (command === 'C') {
      cursor[0] = args[4];
      cursor[1] = args[5];
      const [x1, y1] = transformAbsolutePoint(matrix, args[0], args[1]);
      const [x2, y2] = transformAbsolutePoint(matrix, args[2], args[3]);
      const [x, y] = transformAbsolutePoint(matrix, args[4], args[5]);
      args[0] = x1;
      args[1] = y1;
      args[2] = x2;
      args[3] = y2;
      args[4] = x;
      args[5] = y;
    }
    if (command === 'c') {
      cursor[0] += args[4];
      cursor[1] += args[5];
      const [x1, y1] = transformRelativePoint(matrix, args[0], args[1]);
      const [x2, y2] = transformRelativePoint(matrix, args[2], args[3]);
      const [x, y] = transformRelativePoint(matrix, args[4], args[5]);
      args[0] = x1;
      args[1] = y1;
      args[2] = x2;
      args[3] = y2;
      args[4] = x;
      args[5] = y;
    }

    // smooth curveto (x2 y2 x y)
    if (command === 'S') {
      cursor[0] = args[2];
      cursor[1] = args[3];
      const [x2, y2] = transformAbsolutePoint(matrix, args[0], args[1]);
      const [x, y] = transformAbsolutePoint(matrix, args[2], args[3]);
      args[0] = x2;
      args[1] = y2;
      args[2] = x;
      args[3] = y;
    }
    if (command === 's') {
      cursor[0] += args[2];
      cursor[1] += args[3];
      const [x2, y2] = transformRelativePoint(matrix, args[0], args[1]);
      const [x, y] = transformRelativePoint(matrix, args[2], args[3]);
      args[0] = x2;
      args[1] = y2;
      args[2] = x;
      args[3] = y;
    }

    // quadratic Bézier curveto (x1 y1 x y)
    if (command === 'Q') {
      cursor[0] = args[2];
      cursor[1] = args[3];
      const [x1, y1] = transformAbsolutePoint(matrix, args[0], args[1]);
      const [x, y] = transformAbsolutePoint(matrix, args[2], args[3]);
      args[0] = x1;
      args[1] = y1;
      args[2] = x;
      args[3] = y;
    }
    if (command === 'q') {
      cursor[0] += args[2];
      cursor[1] += args[3];
      const [x1, y1] = transformRelativePoint(matrix, args[0], args[1]);
      const [x, y] = transformRelativePoint(matrix, args[2], args[3]);
      args[0] = x1;
      args[1] = y1;
      args[2] = x;
      args[3] = y;
    }

    // smooth quadratic Bézier curveto (x y)
    if (command === 'T') {
      cursor[0] = args[0];
      cursor[1] = args[1];
      const [x, y] = transformAbsolutePoint(matrix, args[0], args[1]);
      args[0] = x;
      args[1] = y;
    }
    if (command === 't') {
      cursor[0] += args[0];
      cursor[1] += args[1];
      const [x, y] = transformRelativePoint(matrix, args[0], args[1]);
      args[0] = x;
      args[1] = y;
    }

    // elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y)
    if (command === 'A') {
      transformArc(cursor, args, matrix);
      cursor[0] = args[5];
      cursor[1] = args[6];
      // reduce number of digits in rotation angle
      if (Math.abs(args[2]) > 80) {
        const a = args[0];
        const rotation = args[2];
        args[0] = args[1];
        args[1] = a;
        args[2] = rotation + (rotation > 0 ? -90 : 90);
      }
      const [x, y] = transformAbsolutePoint(matrix, args[5], args[6]);
      args[5] = x;
      args[6] = y;
    }
    if (command === 'a') {
      transformArc([0, 0], args, matrix);
      cursor[0] += args[5];
      cursor[1] += args[6];
      // reduce number of digits in rotation angle
      if (Math.abs(args[2]) > 80) {
        const a = args[0];
        const rotation = args[2];
        args[0] = args[1];
        args[1] = a;
        args[2] = rotation + (rotation > 0 ? -90 : 90);
      }
      const [x, y] = transformRelativePoint(matrix, args[5], args[6]);
      args[5] = x;
      args[6] = y;
    }

    pathItem.instruction = command;
    pathItem.data = args;
  }
};


/***/ }),

/***/ 94434:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


// https://www.w3.org/TR/SVG11/intro.html#Definitions
exports.elemsGroups = {
  animation: [
    'animate',
    'animateColor',
    'animateMotion',
    'animateTransform',
    'set',
  ],
  descriptive: ['desc', 'metadata', 'title'],
  shape: ['circle', 'ellipse', 'line', 'path', 'polygon', 'polyline', 'rect'],
  structural: ['defs', 'g', 'svg', 'symbol', 'use'],
  paintServer: [
    'solidColor',
    'linearGradient',
    'radialGradient',
    'meshGradient',
    'pattern',
    'hatch',
  ],
  nonRendering: [
    'linearGradient',
    'radialGradient',
    'pattern',
    'clipPath',
    'mask',
    'marker',
    'symbol',
    'filter',
    'solidColor',
  ],
  container: [
    'a',
    'defs',
    'g',
    'marker',
    'mask',
    'missing-glyph',
    'pattern',
    'svg',
    'switch',
    'symbol',
    'foreignObject',
  ],
  textContent: [
    'altGlyph',
    'altGlyphDef',
    'altGlyphItem',
    'glyph',
    'glyphRef',
    'textPath',
    'text',
    'tref',
    'tspan',
  ],
  textContentChild: ['altGlyph', 'textPath', 'tref', 'tspan'],
  lightSource: [
    'feDiffuseLighting',
    'feSpecularLighting',
    'feDistantLight',
    'fePointLight',
    'feSpotLight',
  ],
  filterPrimitive: [
    'feBlend',
    'feColorMatrix',
    'feComponentTransfer',
    'feComposite',
    'feConvolveMatrix',
    'feDiffuseLighting',
    'feDisplacementMap',
    'feFlood',
    'feGaussianBlur',
    'feImage',
    'feMerge',
    'feMorphology',
    'feOffset',
    'feSpecularLighting',
    'feTile',
    'feTurbulence',
  ],
};

exports.textElems = exports.elemsGroups.textContent.concat('title');

exports.pathElems = ['path', 'glyph', 'missing-glyph'];

// https://www.w3.org/TR/SVG11/intro.html#Definitions
exports.attrsGroups = {
  animationAddition: ['additive', 'accumulate'],
  animationAttributeTarget: ['attributeType', 'attributeName'],
  animationEvent: ['onbegin', 'onend', 'onrepeat', 'onload'],
  animationTiming: [
    'begin',
    'dur',
    'end',
    'min',
    'max',
    'restart',
    'repeatCount',
    'repeatDur',
    'fill',
  ],
  animationValue: [
    'calcMode',
    'values',
    'keyTimes',
    'keySplines',
    'from',
    'to',
    'by',
  ],
  conditionalProcessing: [
    'requiredFeatures',
    'requiredExtensions',
    'systemLanguage',
  ],
  core: ['id', 'tabindex', 'xml:base', 'xml:lang', 'xml:space'],
  graphicalEvent: [
    'onfocusin',
    'onfocusout',
    'onactivate',
    'onclick',
    'onmousedown',
    'onmouseup',
    'onmouseover',
    'onmousemove',
    'onmouseout',
    'onload',
  ],
  presentation: [
    'alignment-baseline',
    'baseline-shift',
    'clip',
    'clip-path',
    'clip-rule',
    'color',
    'color-interpolation',
    'color-interpolation-filters',
    'color-profile',
    'color-rendering',
    'cursor',
    'direction',
    'display',
    'dominant-baseline',
    'enable-background',
    'fill',
    'fill-opacity',
    'fill-rule',
    'filter',
    'flood-color',
    'flood-opacity',
    'font-family',
    'font-size',
    'font-size-adjust',
    'font-stretch',
    'font-style',
    'font-variant',
    'font-weight',
    'glyph-orientation-horizontal',
    'glyph-orientation-vertical',
    'image-rendering',
    'letter-spacing',
    'lighting-color',
    'marker-end',
    'marker-mid',
    'marker-start',
    'mask',
    'opacity',
    'overflow',
    'paint-order',
    'pointer-events',
    'shape-rendering',
    'stop-color',
    'stop-opacity',
    'stroke',
    'stroke-dasharray',
    'stroke-dashoffset',
    'stroke-linecap',
    'stroke-linejoin',
    'stroke-miterlimit',
    'stroke-opacity',
    'stroke-width',
    'text-anchor',
    'text-decoration',
    'text-overflow',
    'text-rendering',
    'transform',
    'unicode-bidi',
    'vector-effect',
    'visibility',
    'word-spacing',
    'writing-mode',
  ],
  xlink: [
    'xlink:href',
    'xlink:show',
    'xlink:actuate',
    'xlink:type',
    'xlink:role',
    'xlink:arcrole',
    'xlink:title',
  ],
  documentEvent: [
    'onunload',
    'onabort',
    'onerror',
    'onresize',
    'onscroll',
    'onzoom',
  ],
  filterPrimitive: ['x', 'y', 'width', 'height', 'result'],
  transferFunction: [
    'type',
    'tableValues',
    'slope',
    'intercept',
    'amplitude',
    'exponent',
    'offset',
  ],
};

exports.attrsGroupsDefaults = {
  core: { 'xml:space': 'default' },
  presentation: {
    clip: 'auto',
    'clip-path': 'none',
    'clip-rule': 'nonzero',
    mask: 'none',
    opacity: '1',
    'stop-color': '#000',
    'stop-opacity': '1',
    'fill-opacity': '1',
    'fill-rule': 'nonzero',
    fill: '#000',
    stroke: 'none',
    'stroke-width': '1',
    'stroke-linecap': 'butt',
    'stroke-linejoin': 'miter',
    'stroke-miterlimit': '4',
    'stroke-dasharray': 'none',
    'stroke-dashoffset': '0',
    'stroke-opacity': '1',
    'paint-order': 'normal',
    'vector-effect': 'none',
    display: 'inline',
    visibility: 'visible',
    'marker-start': 'none',
    'marker-mid': 'none',
    'marker-end': 'none',
    'color-interpolation': 'sRGB',
    'color-interpolation-filters': 'linearRGB',
    'color-rendering': 'auto',
    'shape-rendering': 'auto',
    'text-rendering': 'auto',
    'image-rendering': 'auto',
    'font-style': 'normal',
    'font-variant': 'normal',
    'font-weight': 'normal',
    'font-stretch': 'normal',
    'font-size': 'medium',
    'font-size-adjust': 'none',
    kerning: 'auto',
    'letter-spacing': 'normal',
    'word-spacing': 'normal',
    'text-decoration': 'none',
    'text-anchor': 'start',
    'text-overflow': 'clip',
    'writing-mode': 'lr-tb',
    'glyph-orientation-vertical': 'auto',
    'glyph-orientation-horizontal': '0deg',
    direction: 'ltr',
    'unicode-bidi': 'normal',
    'dominant-baseline': 'auto',
    'alignment-baseline': 'baseline',
    'baseline-shift': 'baseline',
  },
  transferFunction: {
    slope: '1',
    intercept: '0',
    amplitude: '1',
    exponent: '1',
    offset: '0',
  },
};

// https://www.w3.org/TR/SVG11/eltindex.html
exports.elems = {
  a: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
      'xlink',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'target',
    ],
    defaults: {
      target: '_self',
    },
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
      // not spec compliant
      'tspan',
    ],
  },
  altGlyph: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
      'xlink',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'x',
      'y',
      'dx',
      'dy',
      'glyphRef',
      'format',
      'rotate',
    ],
  },
  altGlyphDef: {
    attrsGroups: ['core'],
    content: ['glyphRef'],
  },
  altGlyphItem: {
    attrsGroups: ['core'],
    content: ['glyphRef', 'altGlyphItem'],
  },
  animate: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'animationAddition',
      'animationAttributeTarget',
      'animationEvent',
      'animationTiming',
      'animationValue',
      'presentation',
      'xlink',
    ],
    attrs: ['externalResourcesRequired'],
    contentGroups: ['descriptive'],
  },
  animateColor: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'animationEvent',
      'xlink',
      'animationAttributeTarget',
      'animationTiming',
      'animationValue',
      'animationAddition',
      'presentation',
    ],
    attrs: ['externalResourcesRequired'],
    contentGroups: ['descriptive'],
  },
  animateMotion: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'animationEvent',
      'xlink',
      'animationTiming',
      'animationValue',
      'animationAddition',
    ],
    attrs: [
      'externalResourcesRequired',
      'path',
      'keyPoints',
      'rotate',
      'origin',
    ],
    defaults: {
      rotate: '0',
    },
    contentGroups: ['descriptive'],
    content: ['mpath'],
  },
  animateTransform: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'animationEvent',
      'xlink',
      'animationAttributeTarget',
      'animationTiming',
      'animationValue',
      'animationAddition',
    ],
    attrs: ['externalResourcesRequired', 'type'],
    contentGroups: ['descriptive'],
  },
  circle: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'cx',
      'cy',
      'r',
    ],
    defaults: {
      cx: '0',
      cy: '0',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  clipPath: {
    attrsGroups: ['conditionalProcessing', 'core', 'presentation'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'clipPathUnits',
    ],
    defaults: {
      clipPathUnits: 'userSpaceOnUse',
    },
    contentGroups: ['animation', 'descriptive', 'shape'],
    content: ['text', 'use'],
  },
  'color-profile': {
    attrsGroups: ['core', 'xlink'],
    attrs: ['local', 'name', 'rendering-intent'],
    defaults: {
      name: 'sRGB',
      'rendering-intent': 'auto',
    },
    contentGroups: ['descriptive'],
  },
  cursor: {
    attrsGroups: ['core', 'conditionalProcessing', 'xlink'],
    attrs: ['externalResourcesRequired', 'x', 'y'],
    defaults: {
      x: '0',
      y: '0',
    },
    contentGroups: ['descriptive'],
  },
  defs: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: ['class', 'style', 'externalResourcesRequired', 'transform'],
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  desc: {
    attrsGroups: ['core'],
    attrs: ['class', 'style'],
  },
  ellipse: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'cx',
      'cy',
      'rx',
      'ry',
    ],
    defaults: {
      cx: '0',
      cy: '0',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  feBlend: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: [
      'class',
      'style',
      // TODO: in - 'If no value is provided and this is the first filter primitive,
      // then this filter primitive will use SourceGraphic as its input'
      'in',
      'in2',
      'mode',
    ],
    defaults: {
      mode: 'normal',
    },
    content: ['animate', 'set'],
  },
  feColorMatrix: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in', 'type', 'values'],
    defaults: {
      type: 'matrix',
    },
    content: ['animate', 'set'],
  },
  feComponentTransfer: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in'],
    content: ['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR'],
  },
  feComposite: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in', 'in2', 'operator', 'k1', 'k2', 'k3', 'k4'],
    defaults: {
      operator: 'over',
      k1: '0',
      k2: '0',
      k3: '0',
      k4: '0',
    },
    content: ['animate', 'set'],
  },
  feConvolveMatrix: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: [
      'class',
      'style',
      'in',
      'order',
      'kernelMatrix',
      // TODO: divisor - 'The default value is the sum of all values in kernelMatrix,
      // with the exception that if the sum is zero, then the divisor is set to 1'
      'divisor',
      'bias',
      // TODO: targetX - 'By default, the convolution matrix is centered in X over each
      // pixel of the input image (i.e., targetX = floor ( orderX / 2 ))'
      'targetX',
      'targetY',
      'edgeMode',
      // TODO: kernelUnitLength - 'The first number is the <dx> value. The second number
      // is the <dy> value. If the <dy> value is not specified, it defaults to the same value as <dx>'
      'kernelUnitLength',
      'preserveAlpha',
    ],
    defaults: {
      order: '3',
      bias: '0',
      edgeMode: 'duplicate',
      preserveAlpha: 'false',
    },
    content: ['animate', 'set'],
  },
  feDiffuseLighting: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: [
      'class',
      'style',
      'in',
      'surfaceScale',
      'diffuseConstant',
      'kernelUnitLength',
    ],
    defaults: {
      surfaceScale: '1',
      diffuseConstant: '1',
    },
    contentGroups: ['descriptive'],
    content: [
      // TODO: 'exactly one light source element, in any order'
      'feDistantLight',
      'fePointLight',
      'feSpotLight',
    ],
  },
  feDisplacementMap: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: [
      'class',
      'style',
      'in',
      'in2',
      'scale',
      'xChannelSelector',
      'yChannelSelector',
    ],
    defaults: {
      scale: '0',
      xChannelSelector: 'A',
      yChannelSelector: 'A',
    },
    content: ['animate', 'set'],
  },
  feDistantLight: {
    attrsGroups: ['core'],
    attrs: ['azimuth', 'elevation'],
    defaults: {
      azimuth: '0',
      elevation: '0',
    },
    content: ['animate', 'set'],
  },
  feFlood: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style'],
    content: ['animate', 'animateColor', 'set'],
  },
  feFuncA: {
    attrsGroups: ['core', 'transferFunction'],
    content: ['set', 'animate'],
  },
  feFuncB: {
    attrsGroups: ['core', 'transferFunction'],
    content: ['set', 'animate'],
  },
  feFuncG: {
    attrsGroups: ['core', 'transferFunction'],
    content: ['set', 'animate'],
  },
  feFuncR: {
    attrsGroups: ['core', 'transferFunction'],
    content: ['set', 'animate'],
  },
  feGaussianBlur: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in', 'stdDeviation'],
    defaults: {
      stdDeviation: '0',
    },
    content: ['set', 'animate'],
  },
  feImage: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive', 'xlink'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'preserveAspectRatio',
      'href',
      'xlink:href',
    ],
    defaults: {
      preserveAspectRatio: 'xMidYMid meet',
    },
    content: ['animate', 'animateTransform', 'set'],
  },
  feMerge: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style'],
    content: ['feMergeNode'],
  },
  feMergeNode: {
    attrsGroups: ['core'],
    attrs: ['in'],
    content: ['animate', 'set'],
  },
  feMorphology: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in', 'operator', 'radius'],
    defaults: {
      operator: 'erode',
      radius: '0',
    },
    content: ['animate', 'set'],
  },
  feOffset: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in', 'dx', 'dy'],
    defaults: {
      dx: '0',
      dy: '0',
    },
    content: ['animate', 'set'],
  },
  fePointLight: {
    attrsGroups: ['core'],
    attrs: ['x', 'y', 'z'],
    defaults: {
      x: '0',
      y: '0',
      z: '0',
    },
    content: ['animate', 'set'],
  },
  feSpecularLighting: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: [
      'class',
      'style',
      'in',
      'surfaceScale',
      'specularConstant',
      'specularExponent',
      'kernelUnitLength',
    ],
    defaults: {
      surfaceScale: '1',
      specularConstant: '1',
      specularExponent: '1',
    },
    contentGroups: [
      'descriptive',
      // TODO: exactly one 'light source element'
      'lightSource',
    ],
  },
  feSpotLight: {
    attrsGroups: ['core'],
    attrs: [
      'x',
      'y',
      'z',
      'pointsAtX',
      'pointsAtY',
      'pointsAtZ',
      'specularExponent',
      'limitingConeAngle',
    ],
    defaults: {
      x: '0',
      y: '0',
      z: '0',
      pointsAtX: '0',
      pointsAtY: '0',
      pointsAtZ: '0',
      specularExponent: '1',
    },
    content: ['animate', 'set'],
  },
  feTile: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: ['class', 'style', 'in'],
    content: ['animate', 'set'],
  },
  feTurbulence: {
    attrsGroups: ['core', 'presentation', 'filterPrimitive'],
    attrs: [
      'class',
      'style',
      'baseFrequency',
      'numOctaves',
      'seed',
      'stitchTiles',
      'type',
    ],
    defaults: {
      baseFrequency: '0',
      numOctaves: '1',
      seed: '0',
      stitchTiles: 'noStitch',
      type: 'turbulence',
    },
    content: ['animate', 'set'],
  },
  filter: {
    attrsGroups: ['core', 'presentation', 'xlink'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'x',
      'y',
      'width',
      'height',
      'filterRes',
      'filterUnits',
      'primitiveUnits',
      'href',
      'xlink:href',
    ],
    defaults: {
      primitiveUnits: 'userSpaceOnUse',
      x: '-10%',
      y: '-10%',
      width: '120%',
      height: '120%',
    },
    contentGroups: ['descriptive', 'filterPrimitive'],
    content: ['animate', 'set'],
  },
  font: {
    attrsGroups: ['core', 'presentation'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'horiz-origin-x',
      'horiz-origin-y',
      'horiz-adv-x',
      'vert-origin-x',
      'vert-origin-y',
      'vert-adv-y',
    ],
    defaults: {
      'horiz-origin-x': '0',
      'horiz-origin-y': '0',
    },
    contentGroups: ['descriptive'],
    content: ['font-face', 'glyph', 'hkern', 'missing-glyph', 'vkern'],
  },
  'font-face': {
    attrsGroups: ['core'],
    attrs: [
      'font-family',
      'font-style',
      'font-variant',
      'font-weight',
      'font-stretch',
      'font-size',
      'unicode-range',
      'units-per-em',
      'panose-1',
      'stemv',
      'stemh',
      'slope',
      'cap-height',
      'x-height',
      'accent-height',
      'ascent',
      'descent',
      'widths',
      'bbox',
      'ideographic',
      'alphabetic',
      'mathematical',
      'hanging',
      'v-ideographic',
      'v-alphabetic',
      'v-mathematical',
      'v-hanging',
      'underline-position',
      'underline-thickness',
      'strikethrough-position',
      'strikethrough-thickness',
      'overline-position',
      'overline-thickness',
    ],
    defaults: {
      'font-style': 'all',
      'font-variant': 'normal',
      'font-weight': 'all',
      'font-stretch': 'normal',
      'unicode-range': 'U+0-10FFFF',
      'units-per-em': '1000',
      'panose-1': '0 0 0 0 0 0 0 0 0 0',
      slope: '0',
    },
    contentGroups: ['descriptive'],
    content: [
      // TODO: "at most one 'font-face-src' element"
      'font-face-src',
    ],
  },
  // TODO: empty content
  'font-face-format': {
    attrsGroups: ['core'],
    attrs: ['string'],
  },
  'font-face-name': {
    attrsGroups: ['core'],
    attrs: ['name'],
  },
  'font-face-src': {
    attrsGroups: ['core'],
    content: ['font-face-name', 'font-face-uri'],
  },
  'font-face-uri': {
    attrsGroups: ['core', 'xlink'],
    attrs: ['href', 'xlink:href'],
    content: ['font-face-format'],
  },
  foreignObject: {
    attrsGroups: [
      'core',
      'conditionalProcessing',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'x',
      'y',
      'width',
      'height',
    ],
    defaults: {
      x: 0,
      y: 0,
    },
  },
  g: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: ['class', 'style', 'externalResourcesRequired', 'transform'],
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  glyph: {
    attrsGroups: ['core', 'presentation'],
    attrs: [
      'class',
      'style',
      'd',
      'horiz-adv-x',
      'vert-origin-x',
      'vert-origin-y',
      'vert-adv-y',
      'unicode',
      'glyph-name',
      'orientation',
      'arabic-form',
      'lang',
    ],
    defaults: {
      'arabic-form': 'initial',
    },
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  glyphRef: {
    attrsGroups: ['core', 'presentation'],
    attrs: [
      'class',
      'style',
      'd',
      'horiz-adv-x',
      'vert-origin-x',
      'vert-origin-y',
      'vert-adv-y',
    ],
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  hatch: {
    attrsGroups: ['core', 'presentation', 'xlink'],
    attrs: [
      'class',
      'style',
      'x',
      'y',
      'pitch',
      'rotate',
      'hatchUnits',
      'hatchContentUnits',
      'transform',
    ],
    defaults: {
      hatchUnits: 'objectBoundingBox',
      hatchContentUnits: 'userSpaceOnUse',
      x: '0',
      y: '0',
      pitch: '0',
      rotate: '0',
    },
    contentGroups: ['animation', 'descriptive'],
    content: ['hatchPath'],
  },
  hatchPath: {
    attrsGroups: ['core', 'presentation', 'xlink'],
    attrs: ['class', 'style', 'd', 'offset'],
    defaults: {
      offset: '0',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  hkern: {
    attrsGroups: ['core'],
    attrs: ['u1', 'g1', 'u2', 'g2', 'k'],
  },
  image: {
    attrsGroups: [
      'core',
      'conditionalProcessing',
      'graphicalEvent',
      'xlink',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'preserveAspectRatio',
      'transform',
      'x',
      'y',
      'width',
      'height',
      'href',
      'xlink:href',
    ],
    defaults: {
      x: '0',
      y: '0',
      preserveAspectRatio: 'xMidYMid meet',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  line: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'x1',
      'y1',
      'x2',
      'y2',
    ],
    defaults: {
      x1: '0',
      y1: '0',
      x2: '0',
      y2: '0',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  linearGradient: {
    attrsGroups: ['core', 'presentation', 'xlink'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'x1',
      'y1',
      'x2',
      'y2',
      'gradientUnits',
      'gradientTransform',
      'spreadMethod',
      'href',
      'xlink:href',
    ],
    defaults: {
      x1: '0',
      y1: '0',
      x2: '100%',
      y2: '0',
      spreadMethod: 'pad',
    },
    contentGroups: ['descriptive'],
    content: ['animate', 'animateTransform', 'set', 'stop'],
  },
  marker: {
    attrsGroups: ['core', 'presentation'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'viewBox',
      'preserveAspectRatio',
      'refX',
      'refY',
      'markerUnits',
      'markerWidth',
      'markerHeight',
      'orient',
    ],
    defaults: {
      markerUnits: 'strokeWidth',
      refX: '0',
      refY: '0',
      markerWidth: '3',
      markerHeight: '3',
    },
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  mask: {
    attrsGroups: ['conditionalProcessing', 'core', 'presentation'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'x',
      'y',
      'width',
      'height',
      'mask-type',
      'maskUnits',
      'maskContentUnits',
    ],
    defaults: {
      maskUnits: 'objectBoundingBox',
      maskContentUnits: 'userSpaceOnUse',
      x: '-10%',
      y: '-10%',
      width: '120%',
      height: '120%',
    },
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  metadata: {
    attrsGroups: ['core'],
  },
  'missing-glyph': {
    attrsGroups: ['core', 'presentation'],
    attrs: [
      'class',
      'style',
      'd',
      'horiz-adv-x',
      'vert-origin-x',
      'vert-origin-y',
      'vert-adv-y',
    ],
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  mpath: {
    attrsGroups: ['core', 'xlink'],
    attrs: ['externalResourcesRequired', 'href', 'xlink:href'],
    contentGroups: ['descriptive'],
  },
  path: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'd',
      'pathLength',
    ],
    contentGroups: ['animation', 'descriptive'],
  },
  pattern: {
    attrsGroups: ['conditionalProcessing', 'core', 'presentation', 'xlink'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'viewBox',
      'preserveAspectRatio',
      'x',
      'y',
      'width',
      'height',
      'patternUnits',
      'patternContentUnits',
      'patternTransform',
      'href',
      'xlink:href',
    ],
    defaults: {
      patternUnits: 'objectBoundingBox',
      patternContentUnits: 'userSpaceOnUse',
      x: '0',
      y: '0',
      width: '0',
      height: '0',
      preserveAspectRatio: 'xMidYMid meet',
    },
    contentGroups: [
      'animation',
      'descriptive',
      'paintServer',
      'shape',
      'structural',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  polygon: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'points',
    ],
    contentGroups: ['animation', 'descriptive'],
  },
  polyline: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'points',
    ],
    contentGroups: ['animation', 'descriptive'],
  },
  radialGradient: {
    attrsGroups: ['core', 'presentation', 'xlink'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'cx',
      'cy',
      'r',
      'fx',
      'fy',
      'fr',
      'gradientUnits',
      'gradientTransform',
      'spreadMethod',
      'href',
      'xlink:href',
    ],
    defaults: {
      gradientUnits: 'objectBoundingBox',
      cx: '50%',
      cy: '50%',
      r: '50%',
    },
    contentGroups: ['descriptive'],
    content: ['animate', 'animateTransform', 'set', 'stop'],
  },
  meshGradient: {
    attrsGroups: ['core', 'presentation', 'xlink'],
    attrs: ['class', 'style', 'x', 'y', 'gradientUnits', 'transform'],
    contentGroups: ['descriptive', 'paintServer', 'animation'],
    content: ['meshRow'],
  },
  meshRow: {
    attrsGroups: ['core', 'presentation'],
    attrs: ['class', 'style'],
    contentGroups: ['descriptive'],
    content: ['meshPatch'],
  },
  meshPatch: {
    attrsGroups: ['core', 'presentation'],
    attrs: ['class', 'style'],
    contentGroups: ['descriptive'],
    content: ['stop'],
  },
  rect: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'x',
      'y',
      'width',
      'height',
      'rx',
      'ry',
    ],
    defaults: {
      x: '0',
      y: '0',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  script: {
    attrsGroups: ['core', 'xlink'],
    attrs: ['externalResourcesRequired', 'type', 'href', 'xlink:href'],
  },
  set: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'animation',
      'xlink',
      'animationAttributeTarget',
      'animationTiming',
    ],
    attrs: ['externalResourcesRequired', 'to'],
    contentGroups: ['descriptive'],
  },
  solidColor: {
    attrsGroups: ['core', 'presentation'],
    attrs: ['class', 'style'],
    contentGroups: ['paintServer'],
  },
  stop: {
    attrsGroups: ['core', 'presentation'],
    attrs: ['class', 'style', 'offset', 'path'],
    content: ['animate', 'animateColor', 'set'],
  },
  style: {
    attrsGroups: ['core'],
    attrs: ['type', 'media', 'title'],
    defaults: {
      type: 'text/css',
    },
  },
  svg: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'documentEvent',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'x',
      'y',
      'width',
      'height',
      'viewBox',
      'preserveAspectRatio',
      'zoomAndPan',
      'version',
      'baseProfile',
      'contentScriptType',
      'contentStyleType',
    ],
    defaults: {
      x: '0',
      y: '0',
      width: '100%',
      height: '100%',
      preserveAspectRatio: 'xMidYMid meet',
      zoomAndPan: 'magnify',
      version: '1.1',
      baseProfile: 'none',
      contentScriptType: 'application/ecmascript',
      contentStyleType: 'text/css',
    },
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  switch: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: ['class', 'style', 'externalResourcesRequired', 'transform'],
    contentGroups: ['animation', 'descriptive', 'shape'],
    content: [
      'a',
      'foreignObject',
      'g',
      'image',
      'svg',
      'switch',
      'text',
      'use',
    ],
  },
  symbol: {
    attrsGroups: ['core', 'graphicalEvent', 'presentation'],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'preserveAspectRatio',
      'viewBox',
      'refX',
      'refY',
    ],
    defaults: {
      refX: 0,
      refY: 0,
    },
    contentGroups: [
      'animation',
      'descriptive',
      'shape',
      'structural',
      'paintServer',
    ],
    content: [
      'a',
      'altGlyphDef',
      'clipPath',
      'color-profile',
      'cursor',
      'filter',
      'font',
      'font-face',
      'foreignObject',
      'image',
      'marker',
      'mask',
      'pattern',
      'script',
      'style',
      'switch',
      'text',
      'view',
    ],
  },
  text: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'lengthAdjust',
      'x',
      'y',
      'dx',
      'dy',
      'rotate',
      'textLength',
    ],
    defaults: {
      x: '0',
      y: '0',
      lengthAdjust: 'spacing',
    },
    contentGroups: ['animation', 'descriptive', 'textContentChild'],
    content: ['a'],
  },
  textPath: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
      'xlink',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'href',
      'xlink:href',
      'startOffset',
      'method',
      'spacing',
      'd',
    ],
    defaults: {
      startOffset: '0',
      method: 'align',
      spacing: 'exact',
    },
    contentGroups: ['descriptive'],
    content: [
      'a',
      'altGlyph',
      'animate',
      'animateColor',
      'set',
      'tref',
      'tspan',
    ],
  },
  title: {
    attrsGroups: ['core'],
    attrs: ['class', 'style'],
  },
  tref: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
      'xlink',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'href',
      'xlink:href',
    ],
    contentGroups: ['descriptive'],
    content: ['animate', 'animateColor', 'set'],
  },
  tspan: {
    attrsGroups: [
      'conditionalProcessing',
      'core',
      'graphicalEvent',
      'presentation',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'x',
      'y',
      'dx',
      'dy',
      'rotate',
      'textLength',
      'lengthAdjust',
    ],
    contentGroups: ['descriptive'],
    content: [
      'a',
      'altGlyph',
      'animate',
      'animateColor',
      'set',
      'tref',
      'tspan',
    ],
  },
  use: {
    attrsGroups: [
      'core',
      'conditionalProcessing',
      'graphicalEvent',
      'presentation',
      'xlink',
    ],
    attrs: [
      'class',
      'style',
      'externalResourcesRequired',
      'transform',
      'x',
      'y',
      'width',
      'height',
      'href',
      'xlink:href',
    ],
    defaults: {
      x: '0',
      y: '0',
    },
    contentGroups: ['animation', 'descriptive'],
  },
  view: {
    attrsGroups: ['core'],
    attrs: [
      'externalResourcesRequired',
      'viewBox',
      'preserveAspectRatio',
      'zoomAndPan',
      'viewTarget',
    ],
    contentGroups: ['descriptive'],
  },
  vkern: {
    attrsGroups: ['core'],
    attrs: ['u1', 'g1', 'u2', 'g2', 'k'],
  },
};

// https://wiki.inkscape.org/wiki/index.php/Inkscape-specific_XML_attributes
exports.editorNamespaces = [
  'http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd',
  'http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd',
  'http://www.inkscape.org/namespaces/inkscape',
  'http://www.bohemiancoding.com/sketch/ns',
  'http://ns.adobe.com/AdobeIllustrator/10.0/',
  'http://ns.adobe.com/Graphs/1.0/',
  'http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/',
  'http://ns.adobe.com/Variables/1.0/',
  'http://ns.adobe.com/SaveForWeb/1.0/',
  'http://ns.adobe.com/Extensibility/1.0/',
  'http://ns.adobe.com/Flows/1.0/',
  'http://ns.adobe.com/ImageReplacement/1.0/',
  'http://ns.adobe.com/GenericCustomNamespace/1.0/',
  'http://ns.adobe.com/XPath/1.0/',
  'http://schemas.microsoft.com/visio/2003/SVGExtensions/',
  'http://taptrix.com/vectorillustrator/svg_extensions',
  'http://www.figma.com/figma/ns',
  'http://purl.org/dc/elements/1.1/',
  'http://creativecommons.org/ns#',
  'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
  'http://www.serif.com/',
  'http://www.vector.evaxdesign.sk',
];

// https://www.w3.org/TR/SVG11/linking.html#processingIRI
exports.referencesProps = [
  'clip-path',
  'color-profile',
  'fill',
  'filter',
  'marker-start',
  'marker-mid',
  'marker-end',
  'mask',
  'stroke',
  'style',
];

// https://www.w3.org/TR/SVG11/propidx.html
exports.inheritableAttrs = [
  'clip-rule',
  'color',
  'color-interpolation',
  'color-interpolation-filters',
  'color-profile',
  'color-rendering',
  'cursor',
  'direction',
  'dominant-baseline',
  'fill',
  'fill-opacity',
  'fill-rule',
  'font',
  'font-family',
  'font-size',
  'font-size-adjust',
  'font-stretch',
  'font-style',
  'font-variant',
  'font-weight',
  'glyph-orientation-horizontal',
  'glyph-orientation-vertical',
  'image-rendering',
  'letter-spacing',
  'marker',
  'marker-end',
  'marker-mid',
  'marker-start',
  'paint-order',
  'pointer-events',
  'shape-rendering',
  'stroke',
  'stroke-dasharray',
  'stroke-dashoffset',
  'stroke-linecap',
  'stroke-linejoin',
  'stroke-miterlimit',
  'stroke-opacity',
  'stroke-width',
  'text-anchor',
  'text-rendering',
  'transform',
  'visibility',
  'word-spacing',
  'writing-mode',
];

exports.presentationNonInheritableGroupAttrs = [
  'display',
  'clip-path',
  'filter',
  'mask',
  'opacity',
  'text-decoration',
  'transform',
  'unicode-bidi',
  'visibility',
];

// https://www.w3.org/TR/SVG11/single-page.html#types-ColorKeywords
exports.colorsNames = {
  aliceblue: '#f0f8ff',
  antiquewhite: '#faebd7',
  aqua: '#0ff',
  aquamarine: '#7fffd4',
  azure: '#f0ffff',
  beige: '#f5f5dc',
  bisque: '#ffe4c4',
  black: '#000',
  blanchedalmond: '#ffebcd',
  blue: '#00f',
  blueviolet: '#8a2be2',
  brown: '#a52a2a',
  burlywood: '#deb887',
  cadetblue: '#5f9ea0',
  chartreuse: '#7fff00',
  chocolate: '#d2691e',
  coral: '#ff7f50',
  cornflowerblue: '#6495ed',
  cornsilk: '#fff8dc',
  crimson: '#dc143c',
  cyan: '#0ff',
  darkblue: '#00008b',
  darkcyan: '#008b8b',
  darkgoldenrod: '#b8860b',
  darkgray: '#a9a9a9',
  darkgreen: '#006400',
  darkgrey: '#a9a9a9',
  darkkhaki: '#bdb76b',
  darkmagenta: '#8b008b',
  darkolivegreen: '#556b2f',
  darkorange: '#ff8c00',
  darkorchid: '#9932cc',
  darkred: '#8b0000',
  darksalmon: '#e9967a',
  darkseagreen: '#8fbc8f',
  darkslateblue: '#483d8b',
  darkslategray: '#2f4f4f',
  darkslategrey: '#2f4f4f',
  darkturquoise: '#00ced1',
  darkviolet: '#9400d3',
  deeppink: '#ff1493',
  deepskyblue: '#00bfff',
  dimgray: '#696969',
  dimgrey: '#696969',
  dodgerblue: '#1e90ff',
  firebrick: '#b22222',
  floralwhite: '#fffaf0',
  forestgreen: '#228b22',
  fuchsia: '#f0f',
  gainsboro: '#dcdcdc',
  ghostwhite: '#f8f8ff',
  gold: '#ffd700',
  goldenrod: '#daa520',
  gray: '#808080',
  green: '#008000',
  greenyellow: '#adff2f',
  grey: '#808080',
  honeydew: '#f0fff0',
  hotpink: '#ff69b4',
  indianred: '#cd5c5c',
  indigo: '#4b0082',
  ivory: '#fffff0',
  khaki: '#f0e68c',
  lavender: '#e6e6fa',
  lavenderblush: '#fff0f5',
  lawngreen: '#7cfc00',
  lemonchiffon: '#fffacd',
  lightblue: '#add8e6',
  lightcoral: '#f08080',
  lightcyan: '#e0ffff',
  lightgoldenrodyellow: '#fafad2',
  lightgray: '#d3d3d3',
  lightgreen: '#90ee90',
  lightgrey: '#d3d3d3',
  lightpink: '#ffb6c1',
  lightsalmon: '#ffa07a',
  lightseagreen: '#20b2aa',
  lightskyblue: '#87cefa',
  lightslategray: '#789',
  lightslategrey: '#789',
  lightsteelblue: '#b0c4de',
  lightyellow: '#ffffe0',
  lime: '#0f0',
  limegreen: '#32cd32',
  linen: '#faf0e6',
  magenta: '#f0f',
  maroon: '#800000',
  mediumaquamarine: '#66cdaa',
  mediumblue: '#0000cd',
  mediumorchid: '#ba55d3',
  mediumpurple: '#9370db',
  mediumseagreen: '#3cb371',
  mediumslateblue: '#7b68ee',
  mediumspringgreen: '#00fa9a',
  mediumturquoise: '#48d1cc',
  mediumvioletred: '#c71585',
  midnightblue: '#191970',
  mintcream: '#f5fffa',
  mistyrose: '#ffe4e1',
  moccasin: '#ffe4b5',
  navajowhite: '#ffdead',
  navy: '#000080',
  oldlace: '#fdf5e6',
  olive: '#808000',
  olivedrab: '#6b8e23',
  orange: '#ffa500',
  orangered: '#ff4500',
  orchid: '#da70d6',
  palegoldenrod: '#eee8aa',
  palegreen: '#98fb98',
  paleturquoise: '#afeeee',
  palevioletred: '#db7093',
  papayawhip: '#ffefd5',
  peachpuff: '#ffdab9',
  peru: '#cd853f',
  pink: '#ffc0cb',
  plum: '#dda0dd',
  powderblue: '#b0e0e6',
  purple: '#800080',
  rebeccapurple: '#639',
  red: '#f00',
  rosybrown: '#bc8f8f',
  royalblue: '#4169e1',
  saddlebrown: '#8b4513',
  salmon: '#fa8072',
  sandybrown: '#f4a460',
  seagreen: '#2e8b57',
  seashell: '#fff5ee',
  sienna: '#a0522d',
  silver: '#c0c0c0',
  skyblue: '#87ceeb',
  slateblue: '#6a5acd',
  slategray: '#708090',
  slategrey: '#708090',
  snow: '#fffafa',
  springgreen: '#00ff7f',
  steelblue: '#4682b4',
  tan: '#d2b48c',
  teal: '#008080',
  thistle: '#d8bfd8',
  tomato: '#ff6347',
  turquoise: '#40e0d0',
  violet: '#ee82ee',
  wheat: '#f5deb3',
  white: '#fff',
  whitesmoke: '#f5f5f5',
  yellow: '#ff0',
  yellowgreen: '#9acd32',
};

exports.colorsShortNames = {
  '#f0ffff': 'azure',
  '#f5f5dc': 'beige',
  '#ffe4c4': 'bisque',
  '#a52a2a': 'brown',
  '#ff7f50': 'coral',
  '#ffd700': 'gold',
  '#808080': 'gray',
  '#008000': 'green',
  '#4b0082': 'indigo',
  '#fffff0': 'ivory',
  '#f0e68c': 'khaki',
  '#faf0e6': 'linen',
  '#800000': 'maroon',
  '#000080': 'navy',
  '#808000': 'olive',
  '#ffa500': 'orange',
  '#da70d6': 'orchid',
  '#cd853f': 'peru',
  '#ffc0cb': 'pink',
  '#dda0dd': 'plum',
  '#800080': 'purple',
  '#f00': 'red',
  '#ff0000': 'red',
  '#fa8072': 'salmon',
  '#a0522d': 'sienna',
  '#c0c0c0': 'silver',
  '#fffafa': 'snow',
  '#d2b48c': 'tan',
  '#008080': 'teal',
  '#ff6347': 'tomato',
  '#ee82ee': 'violet',
  '#f5deb3': 'wheat',
};

// https://www.w3.org/TR/SVG11/single-page.html#types-DataTypeColor
exports.colorsProps = [
  'color',
  'fill',
  'stroke',
  'stop-color',
  'flood-color',
  'lighting-color',
];


/***/ }),

/***/ 8963:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { parsePathData, stringifyPathData } = __nccwpck_require__(86495);

var prevCtrlPoint;

/**
 * Convert path string to JS representation.
 *
 * @param {String} pathString input string
 * @param {Object} params plugin params
 * @return {Array} output array
 */
exports.path2js = function (path) {
  if (path.pathJS) return path.pathJS;
  const pathData = []; // JS representation of the path data
  const newPathData = parsePathData(path.attributes.d);
  for (const { command, args } of newPathData) {
    if (command === 'Z' || command === 'z') {
      pathData.push({ instruction: 'z' });
    } else {
      pathData.push({ instruction: command, data: args });
    }
  }
  // First moveto is actually absolute. Subsequent coordinates were separated above.
  if (pathData.length && pathData[0].instruction == 'm') {
    pathData[0].instruction = 'M';
  }
  path.pathJS = pathData;
  return pathData;
};

/**
 * Convert relative Path data to absolute.
 *
 * @param {Array} data input data
 * @return {Array} output data
 */
var relative2absolute = (exports.relative2absolute = function (data) {
  var currentPoint = [0, 0],
    subpathPoint = [0, 0],
    i;

  return data.map(function (item) {
    var instruction = item.instruction,
      itemData = item.data && item.data.slice();

    if (instruction == 'M') {
      set(currentPoint, itemData);
      set(subpathPoint, itemData);
    } else if ('mlcsqt'.indexOf(instruction) > -1) {
      for (i = 0; i < itemData.length; i++) {
        itemData[i] += currentPoint[i % 2];
      }
      set(currentPoint, itemData);

      if (instruction == 'm') {
        set(subpathPoint, itemData);
      }
    } else if (instruction == 'a') {
      itemData[5] += currentPoint[0];
      itemData[6] += currentPoint[1];
      set(currentPoint, itemData);
    } else if (instruction == 'h') {
      itemData[0] += currentPoint[0];
      currentPoint[0] = itemData[0];
    } else if (instruction == 'v') {
      itemData[0] += currentPoint[1];
      currentPoint[1] = itemData[0];
    } else if ('MZLCSQTA'.indexOf(instruction) > -1) {
      set(currentPoint, itemData);
    } else if (instruction == 'H') {
      currentPoint[0] = itemData[0];
    } else if (instruction == 'V') {
      currentPoint[1] = itemData[0];
    } else if (instruction == 'z') {
      set(currentPoint, subpathPoint);
    }

    return instruction == 'z'
      ? { instruction: 'z' }
      : {
          instruction: instruction.toUpperCase(),
          data: itemData,
        };
  });
});

/**
 * Compute Cubic Bézie bounding box.
 *
 * @see https://pomax.github.io/bezierinfo/
 *
 * @param {Float} xa
 * @param {Float} ya
 * @param {Float} xb
 * @param {Float} yb
 * @param {Float} xc
 * @param {Float} yc
 * @param {Float} xd
 * @param {Float} yd
 *
 * @return {Object}
 */
exports.computeCubicBoundingBox = function (xa, ya, xb, yb, xc, yc, xd, yd) {
  var minx = Number.POSITIVE_INFINITY,
    miny = Number.POSITIVE_INFINITY,
    maxx = Number.NEGATIVE_INFINITY,
    maxy = Number.NEGATIVE_INFINITY,
    ts,
    t,
    x,
    y,
    i;

  // X
  if (xa < minx) {
    minx = xa;
  }
  if (xa > maxx) {
    maxx = xa;
  }
  if (xd < minx) {
    minx = xd;
  }
  if (xd > maxx) {
    maxx = xd;
  }

  ts = computeCubicFirstDerivativeRoots(xa, xb, xc, xd);

  for (i = 0; i < ts.length; i++) {
    t = ts[i];

    if (t >= 0 && t <= 1) {
      x = computeCubicBaseValue(t, xa, xb, xc, xd);
      // y = computeCubicBaseValue(t, ya, yb, yc, yd);

      if (x < minx) {
        minx = x;
      }
      if (x > maxx) {
        maxx = x;
      }
    }
  }

  // Y
  if (ya < miny) {
    miny = ya;
  }
  if (ya > maxy) {
    maxy = ya;
  }
  if (yd < miny) {
    miny = yd;
  }
  if (yd > maxy) {
    maxy = yd;
  }

  ts = computeCubicFirstDerivativeRoots(ya, yb, yc, yd);

  for (i = 0; i < ts.length; i++) {
    t = ts[i];

    if (t >= 0 && t <= 1) {
      // x = computeCubicBaseValue(t, xa, xb, xc, xd);
      y = computeCubicBaseValue(t, ya, yb, yc, yd);

      if (y < miny) {
        miny = y;
      }
      if (y > maxy) {
        maxy = y;
      }
    }
  }

  return {
    minx: minx,
    miny: miny,
    maxx: maxx,
    maxy: maxy,
  };
};

// compute the value for the cubic bezier function at time=t
function computeCubicBaseValue(t, a, b, c, d) {
  var mt = 1 - t;

  return (
    mt * mt * mt * a + 3 * mt * mt * t * b + 3 * mt * t * t * c + t * t * t * d
  );
}

// compute the value for the first derivative of the cubic bezier function at time=t
function computeCubicFirstDerivativeRoots(a, b, c, d) {
  var result = [-1, -1],
    tl = -a + 2 * b - c,
    tr = -Math.sqrt(-a * (c - d) + b * b - b * (c + d) + c * c),
    dn = -a + 3 * b - 3 * c + d;

  if (dn !== 0) {
    result[0] = (tl + tr) / dn;
    result[1] = (tl - tr) / dn;
  }

  return result;
}

/**
 * Compute Quadratic Bézier bounding box.
 *
 * @see https://pomax.github.io/bezierinfo/
 *
 * @param {Float} xa
 * @param {Float} ya
 * @param {Float} xb
 * @param {Float} yb
 * @param {Float} xc
 * @param {Float} yc
 *
 * @return {Object}
 */
exports.computeQuadraticBoundingBox = function (xa, ya, xb, yb, xc, yc) {
  var minx = Number.POSITIVE_INFINITY,
    miny = Number.POSITIVE_INFINITY,
    maxx = Number.NEGATIVE_INFINITY,
    maxy = Number.NEGATIVE_INFINITY,
    t,
    x,
    y;

  // X
  if (xa < minx) {
    minx = xa;
  }
  if (xa > maxx) {
    maxx = xa;
  }
  if (xc < minx) {
    minx = xc;
  }
  if (xc > maxx) {
    maxx = xc;
  }

  t = computeQuadraticFirstDerivativeRoot(xa, xb, xc);

  if (t >= 0 && t <= 1) {
    x = computeQuadraticBaseValue(t, xa, xb, xc);
    // y = computeQuadraticBaseValue(t, ya, yb, yc);

    if (x < minx) {
      minx = x;
    }
    if (x > maxx) {
      maxx = x;
    }
  }

  // Y
  if (ya < miny) {
    miny = ya;
  }
  if (ya > maxy) {
    maxy = ya;
  }
  if (yc < miny) {
    miny = yc;
  }
  if (yc > maxy) {
    maxy = yc;
  }

  t = computeQuadraticFirstDerivativeRoot(ya, yb, yc);

  if (t >= 0 && t <= 1) {
    // x = computeQuadraticBaseValue(t, xa, xb, xc);
    y = computeQuadraticBaseValue(t, ya, yb, yc);

    if (y < miny) {
      miny = y;
    }
    if (y > maxy) {
      maxy = y;
    }
  }

  return {
    minx: minx,
    miny: miny,
    maxx: maxx,
    maxy: maxy,
  };
};

// compute the value for the quadratic bezier function at time=t
function computeQuadraticBaseValue(t, a, b, c) {
  var mt = 1 - t;

  return mt * mt * a + 2 * mt * t * b + t * t * c;
}

// compute the value for the first derivative of the quadratic bezier function at time=t
function computeQuadraticFirstDerivativeRoot(a, b, c) {
  var t = -1,
    denominator = a - 2 * b + c;

  if (denominator !== 0) {
    t = (a - b) / denominator;
  }

  return t;
}

/**
 * Convert path array to string.
 *
 * @param {Array} path input path data
 * @param {Object} params plugin params
 * @return {String} output path string
 */
exports.js2path = function (path, data, params) {
  path.pathJS = data;

  const pathData = [];
  for (const item of data) {
    // remove moveto commands which are followed by moveto commands
    if (
      pathData.length !== 0 &&
      (item.instruction === 'M' || item.instruction === 'm')
    ) {
      const last = pathData[pathData.length - 1];
      if (last.command === 'M' || last.command === 'm') {
        pathData.pop();
      }
    }
    pathData.push({
      command: item.instruction,
      args: item.data || [],
    });
  }

  path.attributes.d = stringifyPathData({
    pathData,
    precision: params.floatPrecision,
    disableSpaceAfterFlags: params.noSpaceAfterFlags,
  });
};

function set(dest, source) {
  dest[0] = source[source.length - 2];
  dest[1] = source[source.length - 1];
  return dest;
}

/**
 * Checks if two paths have an intersection by checking convex hulls
 * collision using Gilbert-Johnson-Keerthi distance algorithm
 * https://web.archive.org/web/20180822200027/http://entropyinteractive.com/2011/04/gjk-algorithm/
 *
 * @param {Array} path1 JS path representation
 * @param {Array} path2 JS path representation
 * @return {Boolean}
 */
exports.intersects = function (path1, path2) {
  // Collect points of every subpath.
  var points1 = relative2absolute(path1).reduce(gatherPoints, []),
    points2 = relative2absolute(path2).reduce(gatherPoints, []);

  // Axis-aligned bounding box check.
  if (
    points1.maxX <= points2.minX ||
    points2.maxX <= points1.minX ||
    points1.maxY <= points2.minY ||
    points2.maxY <= points1.minY ||
    points1.every(function (set1) {
      return points2.every(function (set2) {
        return (
          set1[set1.maxX][0] <= set2[set2.minX][0] ||
          set2[set2.maxX][0] <= set1[set1.minX][0] ||
          set1[set1.maxY][1] <= set2[set2.minY][1] ||
          set2[set2.maxY][1] <= set1[set1.minY][1]
        );
      });
    })
  )
    return false;

  // Get a convex hull from points of each subpath. Has the most complexity O(n·log n).
  var hullNest1 = points1.map(convexHull),
    hullNest2 = points2.map(convexHull);

  // Check intersection of every subpath of the first path with every subpath of the second.
  return hullNest1.some(function (hull1) {
    if (hull1.length < 3) return false;

    return hullNest2.some(function (hull2) {
      if (hull2.length < 3) return false;

      var simplex = [getSupport(hull1, hull2, [1, 0])], // create the initial simplex
        direction = minus(simplex[0]); // set the direction to point towards the origin

      var iterations = 1e4; // infinite loop protection, 10 000 iterations is more than enough
      // eslint-disable-next-line no-constant-condition
      while (true) {
        // eslint-disable-next-line no-constant-condition
        if (iterations-- == 0) {
          console.error(
            'Error: infinite loop while processing mergePaths plugin.'
          );
          return true; // true is the safe value that means “do nothing with pathsâ€
        }
        // add a new point
        simplex.push(getSupport(hull1, hull2, direction));
        // see if the new point was on the correct side of the origin
        if (dot(direction, simplex[simplex.length - 1]) <= 0) return false;
        // process the simplex
        if (processSimplex(simplex, direction)) return true;
      }
    });
  });

  function getSupport(a, b, direction) {
    return sub(supportPoint(a, direction), supportPoint(b, minus(direction)));
  }

  // Computes farthest polygon point in particular direction.
  // Thanks to knowledge of min/max x and y coordinates we can choose a quadrant to search in.
  // Since we're working on convex hull, the dot product is increasing until we find the farthest point.
  function supportPoint(polygon, direction) {
    var index =
        direction[1] >= 0
          ? direction[0] < 0
            ? polygon.maxY
            : polygon.maxX
          : direction[0] < 0
          ? polygon.minX
          : polygon.minY,
      max = -Infinity,
      value;
    while ((value = dot(polygon[index], direction)) > max) {
      max = value;
      index = ++index % polygon.length;
    }
    return polygon[(index || polygon.length) - 1];
  }
};

function processSimplex(simplex, direction) {
  // we only need to handle to 1-simplex and 2-simplex
  if (simplex.length == 2) {
    // 1-simplex
    let a = simplex[1],
      b = simplex[0],
      AO = minus(simplex[1]),
      AB = sub(b, a);
    // AO is in the same direction as AB
    if (dot(AO, AB) > 0) {
      // get the vector perpendicular to AB facing O
      set(direction, orth(AB, a));
    } else {
      set(direction, AO);
      // only A remains in the simplex
      simplex.shift();
    }
  } else {
    // 2-simplex
    let a = simplex[2], // [a, b, c] = simplex
      b = simplex[1],
      c = simplex[0],
      AB = sub(b, a),
      AC = sub(c, a),
      AO = minus(a),
      ACB = orth(AB, AC), // the vector perpendicular to AB facing away from C
      ABC = orth(AC, AB); // the vector perpendicular to AC facing away from B

    if (dot(ACB, AO) > 0) {
      if (dot(AB, AO) > 0) {
        // region 4
        set(direction, ACB);
        simplex.shift(); // simplex = [b, a]
      } else {
        // region 5
        set(direction, AO);
        simplex.splice(0, 2); // simplex = [a]
      }
    } else if (dot(ABC, AO) > 0) {
      if (dot(AC, AO) > 0) {
        // region 6
        set(direction, ABC);
        simplex.splice(1, 1); // simplex = [c, a]
      } else {
        // region 5 (again)
        set(direction, AO);
        simplex.splice(0, 2); // simplex = [a]
      }
    } // region 7
    else return true;
  }
  return false;
}

function minus(v) {
  return [-v[0], -v[1]];
}

function sub(v1, v2) {
  return [v1[0] - v2[0], v1[1] - v2[1]];
}

function dot(v1, v2) {
  return v1[0] * v2[0] + v1[1] * v2[1];
}

function orth(v, from) {
  var o = [-v[1], v[0]];
  return dot(o, minus(from)) < 0 ? minus(o) : o;
}

function gatherPoints(points, item, index, path) {
  var subPath = points.length && points[points.length - 1],
    prev = index && path[index - 1],
    basePoint = subPath.length && subPath[subPath.length - 1],
    data = item.data,
    ctrlPoint = basePoint;

  switch (item.instruction) {
    case 'M':
      points.push((subPath = []));
      break;
    case 'H':
      addPoint(subPath, [data[0], basePoint[1]]);
      break;
    case 'V':
      addPoint(subPath, [basePoint[0], data[0]]);
      break;
    case 'Q':
      addPoint(subPath, data.slice(0, 2));
      prevCtrlPoint = [data[2] - data[0], data[3] - data[1]]; // Save control point for shorthand
      break;
    case 'T':
      if (prev.instruction == 'Q' || prev.instruction == 'T') {
        ctrlPoint = [
          basePoint[0] + prevCtrlPoint[0],
          basePoint[1] + prevCtrlPoint[1],
        ];
        addPoint(subPath, ctrlPoint);
        prevCtrlPoint = [data[0] - ctrlPoint[0], data[1] - ctrlPoint[1]];
      }
      break;
    case 'C':
      // Approximate quibic Bezier curve with middle points between control points
      addPoint(subPath, [
        0.5 * (basePoint[0] + data[0]),
        0.5 * (basePoint[1] + data[1]),
      ]);
      addPoint(subPath, [0.5 * (data[0] + data[2]), 0.5 * (data[1] + data[3])]);
      addPoint(subPath, [0.5 * (data[2] + data[4]), 0.5 * (data[3] + data[5])]);
      prevCtrlPoint = [data[4] - data[2], data[5] - data[3]]; // Save control point for shorthand
      break;
    case 'S':
      if (prev.instruction == 'C' || prev.instruction == 'S') {
        addPoint(subPath, [
          basePoint[0] + 0.5 * prevCtrlPoint[0],
          basePoint[1] + 0.5 * prevCtrlPoint[1],
        ]);
        ctrlPoint = [
          basePoint[0] + prevCtrlPoint[0],
          basePoint[1] + prevCtrlPoint[1],
        ];
      }
      addPoint(subPath, [
        0.5 * (ctrlPoint[0] + data[0]),
        0.5 * (ctrlPoint[1] + data[1]),
      ]);
      addPoint(subPath, [0.5 * (data[0] + data[2]), 0.5 * (data[1] + data[3])]);
      prevCtrlPoint = [data[2] - data[0], data[3] - data[1]];
      break;
    case 'A':
      // Convert the arc to bezier curves and use the same approximation
      var curves = a2c.apply(0, basePoint.concat(data));
      for (var cData; (cData = curves.splice(0, 6).map(toAbsolute)).length; ) {
        addPoint(subPath, [
          0.5 * (basePoint[0] + cData[0]),
          0.5 * (basePoint[1] + cData[1]),
        ]);
        addPoint(subPath, [
          0.5 * (cData[0] + cData[2]),
          0.5 * (cData[1] + cData[3]),
        ]);
        addPoint(subPath, [
          0.5 * (cData[2] + cData[4]),
          0.5 * (cData[3] + cData[5]),
        ]);
        if (curves.length) addPoint(subPath, (basePoint = cData.slice(-2)));
      }
      break;
  }
  // Save final command coordinates
  if (data && data.length >= 2) addPoint(subPath, data.slice(-2));
  return points;

  function toAbsolute(n, i) {
    return n + basePoint[i % 2];
  }

  // Writes data about the extreme points on each axle
  function addPoint(path, point) {
    if (!path.length || point[1] > path[path.maxY][1]) {
      path.maxY = path.length;
      points.maxY = points.length ? Math.max(point[1], points.maxY) : point[1];
    }
    if (!path.length || point[0] > path[path.maxX][0]) {
      path.maxX = path.length;
      points.maxX = points.length ? Math.max(point[0], points.maxX) : point[0];
    }
    if (!path.length || point[1] < path[path.minY][1]) {
      path.minY = path.length;
      points.minY = points.length ? Math.min(point[1], points.minY) : point[1];
    }
    if (!path.length || point[0] < path[path.minX][0]) {
      path.minX = path.length;
      points.minX = points.length ? Math.min(point[0], points.minX) : point[0];
    }
    path.push(point);
  }
}

/**
 * Forms a convex hull from set of points of every subpath using monotone chain convex hull algorithm.
 * https://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain
 *
 * @param points An array of [X, Y] coordinates
 */
function convexHull(points) {
  points.sort(function (a, b) {
    return a[0] == b[0] ? a[1] - b[1] : a[0] - b[0];
  });

  var lower = [],
    minY = 0,
    bottom = 0;
  for (let i = 0; i < points.length; i++) {
    while (
      lower.length >= 2 &&
      cross(lower[lower.length - 2], lower[lower.length - 1], points[i]) <= 0
    ) {
      lower.pop();
    }
    if (points[i][1] < points[minY][1]) {
      minY = i;
      bottom = lower.length;
    }
    lower.push(points[i]);
  }

  var upper = [],
    maxY = points.length - 1,
    top = 0;
  for (let i = points.length; i--; ) {
    while (
      upper.length >= 2 &&
      cross(upper[upper.length - 2], upper[upper.length - 1], points[i]) <= 0
    ) {
      upper.pop();
    }
    if (points[i][1] > points[maxY][1]) {
      maxY = i;
      top = upper.length;
    }
    upper.push(points[i]);
  }

  // last points are equal to starting points of the other part
  upper.pop();
  lower.pop();

  var hull = lower.concat(upper);

  hull.minX = 0; // by sorting
  hull.maxX = lower.length;
  hull.minY = bottom;
  hull.maxY = (lower.length + top) % hull.length;

  return hull;
}

function cross(o, a, b) {
  return (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - o[0]);
}

/* Based on code from Snap.svg (Apache 2 license). http://snapsvg.io/
 * Thanks to Dmitry Baranovskiy for his great work!
 */

function a2c(
  x1,
  y1,
  rx,
  ry,
  angle,
  large_arc_flag,
  sweep_flag,
  x2,
  y2,
  recursive
) {
  // for more information of where this Math came from visit:
  // https://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
  var _120 = (Math.PI * 120) / 180,
    rad = (Math.PI / 180) * (+angle || 0),
    res = [],
    rotateX = function (x, y, rad) {
      return x * Math.cos(rad) - y * Math.sin(rad);
    },
    rotateY = function (x, y, rad) {
      return x * Math.sin(rad) + y * Math.cos(rad);
    };
  if (!recursive) {
    x1 = rotateX(x1, y1, -rad);
    y1 = rotateY(x1, y1, -rad);
    x2 = rotateX(x2, y2, -rad);
    y2 = rotateY(x2, y2, -rad);
    var x = (x1 - x2) / 2,
      y = (y1 - y2) / 2;
    var h = (x * x) / (rx * rx) + (y * y) / (ry * ry);
    if (h > 1) {
      h = Math.sqrt(h);
      rx = h * rx;
      ry = h * ry;
    }
    var rx2 = rx * rx,
      ry2 = ry * ry,
      k =
        (large_arc_flag == sweep_flag ? -1 : 1) *
        Math.sqrt(
          Math.abs(
            (rx2 * ry2 - rx2 * y * y - ry2 * x * x) /
              (rx2 * y * y + ry2 * x * x)
          )
        ),
      cx = (k * rx * y) / ry + (x1 + x2) / 2,
      cy = (k * -ry * x) / rx + (y1 + y2) / 2,
      f1 = Math.asin(((y1 - cy) / ry).toFixed(9)),
      f2 = Math.asin(((y2 - cy) / ry).toFixed(9));

    f1 = x1 < cx ? Math.PI - f1 : f1;
    f2 = x2 < cx ? Math.PI - f2 : f2;
    f1 < 0 && (f1 = Math.PI * 2 + f1);
    f2 < 0 && (f2 = Math.PI * 2 + f2);
    if (sweep_flag && f1 > f2) {
      f1 = f1 - Math.PI * 2;
    }
    if (!sweep_flag && f2 > f1) {
      f2 = f2 - Math.PI * 2;
    }
  } else {
    f1 = recursive[0];
    f2 = recursive[1];
    cx = recursive[2];
    cy = recursive[3];
  }
  var df = f2 - f1;
  if (Math.abs(df) > _120) {
    var f2old = f2,
      x2old = x2,
      y2old = y2;
    f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
    x2 = cx + rx * Math.cos(f2);
    y2 = cy + ry * Math.sin(f2);
    res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [
      f2,
      f2old,
      cx,
      cy,
    ]);
  }
  df = f2 - f1;
  var c1 = Math.cos(f1),
    s1 = Math.sin(f1),
    c2 = Math.cos(f2),
    s2 = Math.sin(f2),
    t = Math.tan(df / 4),
    hx = (4 / 3) * rx * t,
    hy = (4 / 3) * ry * t,
    m = [
      -hx * s1,
      hy * c1,
      x2 + hx * s2 - x1,
      y2 - hy * c2 - y1,
      x2 - x1,
      y2 - y1,
    ];
  if (recursive) {
    return m.concat(res);
  } else {
    res = m.concat(res);
    var newres = [];
    for (var i = 0, n = res.length; i < n; i++) {
      newres[i] =
        i % 2
          ? rotateY(res[i - 1], res[i], rad)
          : rotateX(res[i], res[i + 1], rad);
    }
    return newres;
  }
}


/***/ }),

/***/ 22857:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


var regTransformTypes = /matrix|translate|scale|rotate|skewX|skewY/,
  regTransformSplit = /\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/,
  regNumericValues = /[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;

/**
 * Convert transform string to JS representation.
 *
 * @param {String} transformString input string
 * @param {Object} params plugin params
 * @return {Array} output array
 */
exports.transform2js = function (transformString) {
  // JS representation of the transform data
  var transforms = [],
    // current transform context
    current;

  // split value into ['', 'translate', '10 50', '', 'scale', '2', '', 'rotate', '-45', '']
  transformString.split(regTransformSplit).forEach(function (item) {
    var num;

    if (item) {
      // if item is a translate function
      if (regTransformTypes.test(item)) {
        // then collect it and change current context
        transforms.push((current = { name: item }));
        // else if item is data
      } else {
        // then split it into [10, 50] and collect as context.data
        // eslint-disable-next-line no-cond-assign
        while ((num = regNumericValues.exec(item))) {
          num = Number(num);
          if (current.data) current.data.push(num);
          else current.data = [num];
        }
      }
    }
  });

  // return empty array if broken transform (no data)
  return current && current.data ? transforms : [];
};

/**
 * Multiply transforms into one.
 *
 * @param {Array} input transforms array
 * @return {Array} output matrix array
 */
exports.transformsMultiply = function (transforms) {
  // convert transforms objects to the matrices
  transforms = transforms.map(function (transform) {
    if (transform.name === 'matrix') {
      return transform.data;
    }
    return transformToMatrix(transform);
  });

  // multiply all matrices into one
  transforms = {
    name: 'matrix',
    data:
      transforms.length > 0 ? transforms.reduce(multiplyTransformMatrices) : [],
  };

  return transforms;
};

/**
 * Do math like a schoolgirl.
 *
 * @type {Object}
 */
var mth = (exports.mth = {
  rad: function (deg) {
    return (deg * Math.PI) / 180;
  },

  deg: function (rad) {
    return (rad * 180) / Math.PI;
  },

  cos: function (deg) {
    return Math.cos(this.rad(deg));
  },

  acos: function (val, floatPrecision) {
    return +this.deg(Math.acos(val)).toFixed(floatPrecision);
  },

  sin: function (deg) {
    return Math.sin(this.rad(deg));
  },

  asin: function (val, floatPrecision) {
    return +this.deg(Math.asin(val)).toFixed(floatPrecision);
  },

  tan: function (deg) {
    return Math.tan(this.rad(deg));
  },

  atan: function (val, floatPrecision) {
    return +this.deg(Math.atan(val)).toFixed(floatPrecision);
  },
});

/**
 * Decompose matrix into simple transforms. See
 * https://frederic-wang.fr/decomposition-of-2d-transform-matrices.html
 *
 * @param {Object} data matrix transform object
 * @return {Object|Array} transforms array or original transform object
 */
exports.matrixToTransform = function (transform, params) {
  var floatPrecision = params.floatPrecision,
    data = transform.data,
    transforms = [],
    sx = +Math.hypot(data[0], data[1]).toFixed(params.transformPrecision),
    sy = +((data[0] * data[3] - data[1] * data[2]) / sx).toFixed(
      params.transformPrecision
    ),
    colsSum = data[0] * data[2] + data[1] * data[3],
    rowsSum = data[0] * data[1] + data[2] * data[3],
    scaleBefore = rowsSum != 0 || sx == sy;

  // [..., ..., ..., ..., tx, ty] → translate(tx, ty)
  if (data[4] || data[5]) {
    transforms.push({
      name: 'translate',
      data: data.slice(4, data[5] ? 6 : 5),
    });
  }

  // [sx, 0, tan(a)·sy, sy, 0, 0] → skewX(a)·scale(sx, sy)
  if (!data[1] && data[2]) {
    transforms.push({
      name: 'skewX',
      data: [mth.atan(data[2] / sy, floatPrecision)],
    });

    // [sx, sx·tan(a), 0, sy, 0, 0] → skewY(a)·scale(sx, sy)
  } else if (data[1] && !data[2]) {
    transforms.push({
      name: 'skewY',
      data: [mth.atan(data[1] / data[0], floatPrecision)],
    });
    sx = data[0];
    sy = data[3];

    // [sx·cos(a), sx·sin(a), sy·-sin(a), sy·cos(a), x, y] → rotate(a[, cx, cy])·(scale or skewX) or
    // [sx·cos(a), sy·sin(a), sx·-sin(a), sy·cos(a), x, y] → scale(sx, sy)·rotate(a[, cx, cy]) (if !scaleBefore)
  } else if (!colsSum || (sx == 1 && sy == 1) || !scaleBefore) {
    if (!scaleBefore) {
      sx = (data[0] < 0 ? -1 : 1) * Math.hypot(data[0], data[2]);
      sy = (data[3] < 0 ? -1 : 1) * Math.hypot(data[1], data[3]);
      transforms.push({ name: 'scale', data: [sx, sy] });
    }
    var angle = Math.min(Math.max(-1, data[0] / sx), 1),
      rotate = [
        mth.acos(angle, floatPrecision) *
          ((scaleBefore ? 1 : sy) * data[1] < 0 ? -1 : 1),
      ];

    if (rotate[0]) transforms.push({ name: 'rotate', data: rotate });

    if (rowsSum && colsSum)
      transforms.push({
        name: 'skewX',
        data: [mth.atan(colsSum / (sx * sx), floatPrecision)],
      });

    // rotate(a, cx, cy) can consume translate() within optional arguments cx, cy (rotation point)
    if (rotate[0] && (data[4] || data[5])) {
      transforms.shift();
      var cos = data[0] / sx,
        sin = data[1] / (scaleBefore ? sx : sy),
        x = data[4] * (scaleBefore || sy),
        y = data[5] * (scaleBefore || sx),
        denom =
          (Math.pow(1 - cos, 2) + Math.pow(sin, 2)) * (scaleBefore || sx * sy);
      rotate.push(((1 - cos) * x - sin * y) / denom);
      rotate.push(((1 - cos) * y + sin * x) / denom);
    }

    // Too many transformations, return original matrix if it isn't just a scale/translate
  } else if (data[1] || data[2]) {
    return transform;
  }

  if ((scaleBefore && (sx != 1 || sy != 1)) || !transforms.length)
    transforms.push({
      name: 'scale',
      data: sx == sy ? [sx] : [sx, sy],
    });

  return transforms;
};

/**
 * Convert transform to the matrix data.
 *
 * @param {Object} transform transform object
 * @return {Array} matrix data
 */
function transformToMatrix(transform) {
  if (transform.name === 'matrix') return transform.data;

  var matrix;

  switch (transform.name) {
    case 'translate':
      // [1, 0, 0, 1, tx, ty]
      matrix = [1, 0, 0, 1, transform.data[0], transform.data[1] || 0];
      break;
    case 'scale':
      // [sx, 0, 0, sy, 0, 0]
      matrix = [
        transform.data[0],
        0,
        0,
        transform.data[1] || transform.data[0],
        0,
        0,
      ];
      break;
    case 'rotate':
      // [cos(a), sin(a), -sin(a), cos(a), x, y]
      var cos = mth.cos(transform.data[0]),
        sin = mth.sin(transform.data[0]),
        cx = transform.data[1] || 0,
        cy = transform.data[2] || 0;

      matrix = [
        cos,
        sin,
        -sin,
        cos,
        (1 - cos) * cx + sin * cy,
        (1 - cos) * cy - sin * cx,
      ];
      break;
    case 'skewX':
      // [1, 0, tan(a), 1, 0, 0]
      matrix = [1, 0, mth.tan(transform.data[0]), 1, 0, 0];
      break;
    case 'skewY':
      // [1, tan(a), 0, 1, 0, 0]
      matrix = [1, mth.tan(transform.data[0]), 0, 1, 0, 0];
      break;
  }

  return matrix;
}

/**
 * Applies transformation to an arc. To do so, we represent ellipse as a matrix, multiply it
 * by the transformation matrix and use a singular value decomposition to represent in a form
 * rotate(θ)·scale(a b)·rotate(φ). This gives us new ellipse params a, b and θ.
 * SVD is being done with the formulae provided by Wolffram|Alpha (svd {{m0, m2}, {m1, m3}})
 *
 * @param {Array} cursor [x, y]
 * @param {Array} arc [a, b, rotation in deg]
 * @param {Array} transform transformation matrix
 * @return {Array} arc transformed input arc
 */
exports.transformArc = function (cursor, arc, transform) {
  const x = arc[5] - cursor[0];
  const y = arc[6] - cursor[1];
  var a = arc[0],
    b = arc[1],
    rot = (arc[2] * Math.PI) / 180,
    cos = Math.cos(rot),
    sin = Math.sin(rot),
    h =
      Math.pow(x * cos + y * sin, 2) / (4 * a * a) +
      Math.pow(y * cos - x * sin, 2) / (4 * b * b);
  if (h > 1) {
    h = Math.sqrt(h);
    a *= h;
    b *= h;
  }
  var ellipse = [a * cos, a * sin, -b * sin, b * cos, 0, 0],
    m = multiplyTransformMatrices(transform, ellipse),
    // Decompose the new ellipse matrix
    lastCol = m[2] * m[2] + m[3] * m[3],
    squareSum = m[0] * m[0] + m[1] * m[1] + lastCol,
    root =
      Math.hypot(m[0] - m[3], m[1] + m[2]) *
      Math.hypot(m[0] + m[3], m[1] - m[2]);

  if (!root) {
    // circle
    arc[0] = arc[1] = Math.sqrt(squareSum / 2);
    arc[2] = 0;
  } else {
    var majorAxisSqr = (squareSum + root) / 2,
      minorAxisSqr = (squareSum - root) / 2,
      major = Math.abs(majorAxisSqr - lastCol) > 1e-6,
      sub = (major ? majorAxisSqr : minorAxisSqr) - lastCol,
      rowsSum = m[0] * m[2] + m[1] * m[3],
      term1 = m[0] * sub + m[2] * rowsSum,
      term2 = m[1] * sub + m[3] * rowsSum;
    arc[0] = Math.sqrt(majorAxisSqr);
    arc[1] = Math.sqrt(minorAxisSqr);
    arc[2] =
      (((major ? term2 < 0 : term1 > 0) ? -1 : 1) *
        Math.acos((major ? term1 : term2) / Math.hypot(term1, term2)) *
        180) /
      Math.PI;
  }

  if (transform[0] < 0 !== transform[3] < 0) {
    // Flip the sweep flag if coordinates are being flipped horizontally XOR vertically
    arc[4] = 1 - arc[4];
  }

  return arc;
};

/**
 * Multiply transformation matrices.
 *
 * @param {Array} a matrix A data
 * @param {Array} b matrix B data
 * @return {Array} result
 */
function multiplyTransformMatrices(a, b) {
  return [
    a[0] * b[0] + a[2] * b[1],
    a[1] * b[0] + a[3] * b[1],
    a[0] * b[2] + a[2] * b[3],
    a[1] * b[2] + a[3] * b[3],
    a[0] * b[4] + a[2] * b[5] + a[4],
    a[1] * b[4] + a[3] * b[5] + a[5],
  ];
}


/***/ }),

/***/ 26335:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { closestByName } = __nccwpck_require__(56138);

exports.type = 'perItem';

exports.active = false;

exports.description = 'adds attributes to an outer <svg> element';

var ENOCLS = `Error in plugin "addAttributesToSVGElement": absent parameters.
It should have a list of "attributes" or one "attribute".
Config example:

plugins: [
  {
    name: 'addAttributesToSVGElement',
    params: {
      attribute: "mySvg"
    }
  }
]

plugins: [
  {
    name: 'addAttributesToSVGElement',
    params: {
      attributes: ["mySvg", "size-big"]
    }
  }
]

plugins: [
  {
    name: 'addAttributesToSVGElement',
    params: {
      attributes: [
        {
          focusable: false
        },
        {
          'data-image': icon
        }
      ]
    }
  }
]
`;

/**
 * Add attributes to an outer <svg> element. Example config:
 *
 * @author April Arcus
 */
exports.fn = (node, params) => {
  if (
    node.type === 'element' &&
    node.name === 'svg' &&
    closestByName(node.parentNode, 'svg') == null
  ) {
    if (!params || !(Array.isArray(params.attributes) || params.attribute)) {
      console.error(ENOCLS);
      return;
    }

    const attributes = params.attributes || [params.attribute];

    for (const attribute of attributes) {
      if (typeof attribute === 'string') {
        if (node.attributes[attribute] == null) {
          node.attributes[attribute] = undefined;
        }
      }
      if (typeof attribute === 'object') {
        for (const key of Object.keys(attribute)) {
          if (node.attributes[key] == null) {
            node.attributes[key] = attribute[key];
          }
        }
      }
    }
  }
};


/***/ }),

/***/ 68708:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'full';

exports.active = false;

exports.description = 'adds classnames to an outer <svg> element';

var ENOCLS = `Error in plugin "addClassesToSVGElement": absent parameters.
It should have a list of classes in "classNames" or one "className".
Config example:

plugins:
- addClassesToSVGElement:
    className: "mySvg"

plugins:
- addClassesToSVGElement:
    classNames: ["mySvg", "size-big"]
`;

/**
 * Add classnames to an outer <svg> element. Example config:
 *
 * plugins:
 * - addClassesToSVGElement:
 *     className: 'mySvg'
 *
 * plugins:
 * - addClassesToSVGElement:
 *     classNames: ['mySvg', 'size-big']
 *
 * @author April Arcus
 */
exports.fn = function (data, params) {
  if (
    !params ||
    !(
      (Array.isArray(params.classNames) && params.classNames.some(String)) ||
      params.className
    )
  ) {
    console.error(ENOCLS);
    return data;
  }

  var classNames = params.classNames || [params.className],
    svg = data.children[0];

  if (svg.isElem('svg')) {
    svg.class.add.apply(svg.class, classNames);
  }

  return data;
};


/***/ }),

/***/ 19696:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description =
  'cleanups attributes from newlines, trailing and repeating spaces';

exports.params = {
  newlines: true,
  trim: true,
  spaces: true,
};

var regNewlinesNeedSpace = /(\S)\r?\n(\S)/g,
  regNewlines = /\r?\n/g,
  regSpaces = /\s{2,}/g;

/**
 * Cleanup attributes values from newlines, trailing and repeating spaces.
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element') {
    for (const name of Object.keys(item.attributes)) {
      if (params.newlines) {
        // new line which requires a space instead of themselve
        item.attributes[name] = item.attributes[name].replace(
          regNewlinesNeedSpace,
          (match, p1, p2) => p1 + ' ' + p2
        );

        // simple new line
        item.attributes[name] = item.attributes[name].replace(regNewlines, '');
      }

      if (params.trim) {
        item.attributes[name] = item.attributes[name].trim();
      }

      if (params.spaces) {
        item.attributes[name] = item.attributes[name].replace(regSpaces, ' ');
      }
    }
  }
};


/***/ }),

/***/ 23176:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { traverse } = __nccwpck_require__(56138);

exports.type = 'full';

exports.active = true;

exports.description =
  'remove or cleanup enable-background attribute when possible';

/**
 * Remove or cleanup enable-background attr which coincides with a width/height box.
 *
 * @see https://www.w3.org/TR/SVG11/filters.html#EnableBackgroundProperty
 *
 * @example
 * <svg width="100" height="50" enable-background="new 0 0 100 50">
 *             ⬇
 * <svg width="100" height="50">
 *
 * @param {Object} root current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (root) {
  const regEnableBackground = /^new\s0\s0\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)$/;
  let hasFilter = false;
  const elems = ['svg', 'mask', 'pattern'];

  traverse(root, (node) => {
    if (node.type === 'element') {
      if (
        elems.includes(node.name) &&
        node.attributes['enable-background'] != null &&
        node.attributes.width != null &&
        node.attributes.height != null
      ) {
        const match = node.attributes['enable-background'].match(
          regEnableBackground
        );

        if (match) {
          if (
            node.attributes.width === match[1] &&
            node.attributes.height === match[3]
          ) {
            if (node.name === 'svg') {
              delete node.attributes['enable-background'];
            } else {
              node.attributes['enable-background'] = 'new';
            }
          }
        }
      }
      if (node.name === 'filter') {
        hasFilter = true;
      }
    }
  });

  if (hasFilter === false) {
    traverse(root, (node) => {
      if (node.type === 'element') {
        //we don't need 'enable-background' if we have no filters
        delete node.attributes['enable-background'];
      }
    });
  }

  return root;
};


/***/ }),

/***/ 61878:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { traverse, traverseBreak } = __nccwpck_require__(56138);
const { parseName } = __nccwpck_require__(44074);

exports.type = 'full';

exports.active = true;

exports.description = 'removes unused IDs and minifies used';

exports.params = {
  remove: true,
  minify: true,
  prefix: '',
  preserve: [],
  preservePrefixes: [],
  force: false,
};

var referencesProps = new Set(__nccwpck_require__(94434).referencesProps),
  regReferencesUrl = /\burl\(("|')?#(.+?)\1\)/,
  regReferencesHref = /^#(.+?)$/,
  regReferencesBegin = /(\w+)\./,
  styleOrScript = ['style', 'script'],
  generateIDchars = [
    'a',
    'b',
    'c',
    'd',
    'e',
    'f',
    'g',
    'h',
    'i',
    'j',
    'k',
    'l',
    'm',
    'n',
    'o',
    'p',
    'q',
    'r',
    's',
    't',
    'u',
    'v',
    'w',
    'x',
    'y',
    'z',
    'A',
    'B',
    'C',
    'D',
    'E',
    'F',
    'G',
    'H',
    'I',
    'J',
    'K',
    'L',
    'M',
    'N',
    'O',
    'P',
    'Q',
    'R',
    'S',
    'T',
    'U',
    'V',
    'W',
    'X',
    'Y',
    'Z',
  ],
  maxIDindex = generateIDchars.length - 1;

/**
 * Remove unused and minify used IDs
 * (only if there are no any <style> or <script>).
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 *
 * @author Kir Belevich
 */
exports.fn = function (root, params) {
  var currentID,
    currentIDstring,
    IDs = new Map(),
    referencesIDs = new Map(),
    hasStyleOrScript = false,
    preserveIDs = new Set(
      Array.isArray(params.preserve)
        ? params.preserve
        : params.preserve
        ? [params.preserve]
        : []
    ),
    preserveIDPrefixes = new Set(
      Array.isArray(params.preservePrefixes)
        ? params.preservePrefixes
        : params.preservePrefixes
        ? [params.preservePrefixes]
        : []
    ),
    idValuePrefix = '#',
    idValuePostfix = '.';

  traverse(root, (node) => {
    if (hasStyleOrScript === true) {
      return traverseBreak;
    }

    // quit if <style> or <script> present ('force' param prevents quitting)
    if (!params.force) {
      if (node.isElem(styleOrScript) && node.children.length !== 0) {
        hasStyleOrScript = true;
        return;
      }

      // Don't remove IDs if the whole SVG consists only of defs.
      if (node.type === 'element' && node.name === 'svg') {
        let hasDefsOnly = true;
        for (const child of node.children) {
          if (child.type !== 'element' || child.name !== 'defs') {
            hasDefsOnly = false;
            break;
          }
        }
        if (hasDefsOnly) {
          return traverseBreak;
        }
      }
    }

    // …and don't remove any ID if yes
    if (node.type === 'element') {
      for (const [name, value] of Object.entries(node.attributes)) {
        let key;
        let match;

        // save IDs
        if (name === 'id') {
          key = value;
          if (IDs.has(key)) {
            delete node.attributes.id; // remove repeated id
          } else {
            IDs.set(key, node);
          }
        } else {
          // save references
          const { local } = parseName(name);
          if (
            referencesProps.has(name) &&
            (match = value.match(regReferencesUrl))
          ) {
            key = match[2]; // url() reference
          } else if (
            (local === 'href' && (match = value.match(regReferencesHref))) ||
            (name === 'begin' && (match = value.match(regReferencesBegin)))
          ) {
            key = match[1]; // href reference
          }
          if (key) {
            const refs = referencesIDs.get(key) || [];
            refs.push({ element: node, name, value });
            referencesIDs.set(key, refs);
          }
        }
      }
    }
  });

  if (hasStyleOrScript) {
    return root;
  }

  const idPreserved = (id) =>
    preserveIDs.has(id) || idMatchesPrefix(preserveIDPrefixes, id);

  for (const [key, refs] of referencesIDs) {
    if (IDs.has(key)) {
      // replace referenced IDs with the minified ones
      if (params.minify && !idPreserved(key)) {
        do {
          currentIDstring = getIDstring(
            (currentID = generateID(currentID)),
            params
          );
        } while (idPreserved(currentIDstring));

        IDs.get(key).attributes.id = currentIDstring;

        for (const { element, name, value } of refs) {
          element.attributes[name] = value.includes(idValuePrefix)
            ? value.replace(
                idValuePrefix + key,
                idValuePrefix + currentIDstring
              )
            : value.replace(
                key + idValuePostfix,
                currentIDstring + idValuePostfix
              );
        }
      }
      // don't remove referenced IDs
      IDs.delete(key);
    }
  }
  // remove non-referenced IDs attributes from elements
  if (params.remove) {
    for (var keyElem of IDs) {
      if (!idPreserved(keyElem[0])) {
        delete keyElem[1].attributes.id;
      }
    }
  }
  return root;
};

/**
 * Check if an ID starts with any one of a list of strings.
 *
 * @param {Array} of prefix strings
 * @param {String} current ID
 * @return {Boolean} if currentID starts with one of the strings in prefixArray
 */
function idMatchesPrefix(prefixArray, currentID) {
  if (!currentID) return false;

  for (var prefix of prefixArray) if (currentID.startsWith(prefix)) return true;
  return false;
}

/**
 * Generate unique minimal ID.
 *
 * @param {Array} [currentID] current ID
 * @return {Array} generated ID array
 */
function generateID(currentID) {
  if (!currentID) return [0];

  currentID[currentID.length - 1]++;

  for (var i = currentID.length - 1; i > 0; i--) {
    if (currentID[i] > maxIDindex) {
      currentID[i] = 0;

      if (currentID[i - 1] !== undefined) {
        currentID[i - 1]++;
      }
    }
  }
  if (currentID[0] > maxIDindex) {
    currentID[0] = 0;
    currentID.unshift(0);
  }
  return currentID;
}

/**
 * Get string from generated ID array.
 *
 * @param {Array} arr input ID array
 * @return {String} output ID string
 */
function getIDstring(arr, params) {
  var str = params.prefix;
  return str + arr.map((i) => generateIDchars[i]).join('');
}


/***/ }),

/***/ 39312:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { removeLeadingZero } = __nccwpck_require__(44074);

exports.type = 'perItem';

exports.active = false;

exports.description = 'rounds list of values to the fixed precision';

exports.params = {
  floatPrecision: 3,
  leadingZero: true,
  defaultPx: true,
  convertToPx: true,
};

const regNumericValues = /^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/;
const regSeparator = /\s+,?\s*|,\s*/;
const absoluteLengths = {
  // relative to px
  cm: 96 / 2.54,
  mm: 96 / 25.4,
  in: 96,
  pt: 4 / 3,
  pc: 16,
};

/**
 * Round list of values to the fixed precision.
 *
 * @example
 * <svg viewBox="0 0 200.28423 200.28423" enable-background="new 0 0 200.28423 200.28423">
 *         ⬇
 * <svg viewBox="0 0 200.284 200.284" enable-background="new 0 0 200.284 200.284">
 *
 *
 * <polygon points="208.250977 77.1308594 223.069336 ... "/>
 *         ⬇
 * <polygon points="208.251 77.131 223.069 ... "/>
 *
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author kiyopikko
 */
exports.fn = function (item, params) {
  if (item.type !== 'element') {
    return;
  }

  if (item.attributes.points != null) {
    item.attributes.points = roundValues(item.attributes.points);
  }

  if (item.attributes['enable-background'] != null) {
    item.attributes['enable-background'] = roundValues(
      item.attributes['enable-background']
    );
  }

  if (item.attributes.viewBox != null) {
    item.attributes.viewBox = roundValues(item.attributes.viewBox);
  }

  if (item.attributes['stroke-dasharray'] != null) {
    item.attributes['stroke-dasharray'] = roundValues(
      item.attributes['stroke-dasharray']
    );
  }

  if (item.attributes.dx != null) {
    item.attributes.dx = roundValues(item.attributes.dx);
  }

  if (item.attributes.dy != null) {
    item.attributes.dy = roundValues(item.attributes.dy);
  }

  if (item.attributes.x != null) {
    item.attributes.x = roundValues(item.attributes.x);
  }

  if (item.attributes.y != null) {
    item.attributes.y = roundValues(item.attributes.y);
  }

  function roundValues(lists) {
    var num,
      units,
      match,
      matchNew,
      listsArr = lists.split(regSeparator),
      roundedList = [];

    for (const elem of listsArr) {
      match = elem.match(regNumericValues);
      matchNew = elem.match(/new/);

      // if attribute value matches regNumericValues
      if (match) {
        // round it to the fixed precision
        (num = +(+match[1]).toFixed(params.floatPrecision)),
          (units = match[3] || '');

        // convert absolute values to pixels
        if (params.convertToPx && units && units in absoluteLengths) {
          var pxNum = +(absoluteLengths[units] * match[1]).toFixed(
            params.floatPrecision
          );

          if (String(pxNum).length < match[0].length)
            (num = pxNum), (units = 'px');
        }

        // and remove leading zero
        if (params.leadingZero) {
          num = removeLeadingZero(num);
        }

        // remove default 'px' units
        if (params.defaultPx && units === 'px') {
          units = '';
        }

        roundedList.push(num + units);
      }
      // if attribute value is "new"(only enable-background).
      else if (matchNew) {
        roundedList.push('new');
      } else if (elem) {
        roundedList.push(elem);
      }
    }

    return roundedList.join(' ');
  }
};


/***/ }),

/***/ 73163:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description =
  'rounds numeric values to the fixed precision, removes default ‘px’ units';

exports.params = {
  floatPrecision: 3,
  leadingZero: true,
  defaultPx: true,
  convertToPx: true,
};

var regNumericValues = /^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/,
  removeLeadingZero = __nccwpck_require__(44074).removeLeadingZero,
  absoluteLengths = {
    // relative to px
    cm: 96 / 2.54,
    mm: 96 / 25.4,
    in: 96,
    pt: 4 / 3,
    pc: 16,
  };

/**
 * Round numeric values to the fixed precision,
 * remove default 'px' units.
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element') {
    var floatPrecision = params.floatPrecision;

    if (item.attributes.viewBox != null) {
      var nums = item.attributes.viewBox.split(/\s,?\s*|,\s*/g);
      item.attributes.viewBox = nums
        .map(function (value) {
          var num = +value;
          return isNaN(num) ? value : +num.toFixed(floatPrecision);
        })
        .join(' ');
    }

    for (const [name, value] of Object.entries(item.attributes)) {
      // The `version` attribute is a text string and cannot be rounded
      if (name === 'version') {
        continue;
      }

      var match = value.match(regNumericValues);

      // if attribute value matches regNumericValues
      if (match) {
        // round it to the fixed precision
        var num = +(+match[1]).toFixed(floatPrecision),
          units = match[3] || '';

        // convert absolute values to pixels
        if (params.convertToPx && units && units in absoluteLengths) {
          var pxNum = +(absoluteLengths[units] * match[1]).toFixed(
            floatPrecision
          );

          if (String(pxNum).length < match[0].length) {
            num = pxNum;
            units = 'px';
          }
        }

        // and remove leading zero
        if (params.leadingZero) {
          num = removeLeadingZero(num);
        }

        // remove default 'px' units
        if (params.defaultPx && units === 'px') {
          units = '';
        }

        item.attributes[name] = num + units;
      }
    }
  }
};


/***/ }),

/***/ 83479:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { inheritableAttrs, elemsGroups } = __nccwpck_require__(94434);

exports.type = 'perItemReverse';

exports.active = true;

exports.description = 'collapses useless groups';

function hasAnimatedAttr(item, name) {
  if (item.type === 'element') {
    return (
      (elemsGroups.animation.includes(item.name) &&
        item.attributes.attributeName === name) ||
      (item.children.length !== 0 &&
        item.children.some((child) => hasAnimatedAttr(child, name)))
    );
  }
  return false;
}

/*
 * Collapse useless groups.
 *
 * @example
 * <g>
 *     <g attr1="val1">
 *         <path d="..."/>
 *     </g>
 * </g>
 *         ⬇
 * <g>
 *     <g>
 *         <path attr1="val1" d="..."/>
 *     </g>
 * </g>
 *         ⬇
 * <path attr1="val1" d="..."/>
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  // non-empty elements
  if (
    item.type === 'element' &&
    item.name !== 'switch' &&
    item.children.length !== 0
  ) {
    item.children.forEach(function (g, i) {
      // non-empty groups
      if (g.type === 'element' && g.name === 'g' && g.children.length !== 0) {
        // move group attibutes to the single child element
        if (Object.keys(g.attributes).length !== 0 && g.children.length === 1) {
          var inner = g.children[0];

          if (
            inner.type === 'element' &&
            inner.attributes.id == null &&
            g.attributes.filter == null &&
            (g.attributes.class == null || inner.attributes.class == null) &&
            ((g.attributes['clip-path'] == null && g.attributes.mask == null) ||
              (inner.type === 'element' &&
                inner.name === 'g' &&
                g.attributes.transform == null &&
                inner.attributes.transform == null))
          ) {
            for (const [name, value] of Object.entries(g.attributes)) {
              if (g.children.some((item) => hasAnimatedAttr(item, name)))
                return;

              if (inner.attributes[name] == null) {
                inner.attributes[name] = value;
              } else if (name == 'transform') {
                inner.attributes[name] = value + ' ' + inner.attributes[name];
              } else if (inner.attributes[name] === 'inherit') {
                inner.attributes[name] = value;
              } else if (
                inheritableAttrs.includes(name) === false &&
                inner.attributes[name] !== value
              ) {
                return;
              }

              delete g.attributes[name];
            }
          }
        }

        // collapse groups without attributes
        if (
          Object.keys(g.attributes).length === 0 &&
          !g.children.some((item) => item.isElem(elemsGroups.animation))
        ) {
          item.spliceContent(i, 1, g.children);
        }
      }
    });
  }
};


/***/ }),

/***/ 61865:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'converts colors: rgb() to #rrggbb and #rrggbb to #rgb';

exports.params = {
  currentColor: false,
  names2hex: true,
  rgb2hex: true,
  shorthex: true,
  shortname: true,
};

var collections = __nccwpck_require__(94434),
  rNumber = '([+-]?(?:\\d*\\.\\d+|\\d+\\.?)%?)',
  rComma = '\\s*,\\s*',
  regRGB = new RegExp(
    '^rgb\\(\\s*' + rNumber + rComma + rNumber + rComma + rNumber + '\\s*\\)$'
  ),
  regHEX = /^#(([a-fA-F0-9])\2){3}$/,
  none = /\bnone\b/i;

/**
 * Convert different colors formats in element attributes to hex.
 *
 * @see https://www.w3.org/TR/SVG11/types.html#DataTypeColor
 * @see https://www.w3.org/TR/SVG11/single-page.html#types-ColorKeywords
 *
 * @example
 * Convert color name keyword to long hex:
 * fuchsia âž¡ #ff00ff
 *
 * Convert rgb() to long hex:
 * rgb(255, 0, 255) âž¡ #ff00ff
 * rgb(50%, 100, 100%) âž¡ #7f64ff
 *
 * Convert long hex to short hex:
 * #aabbcc âž¡ #abc
 *
 * Convert hex to short name
 * #000080 âž¡ navy
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element') {
    for (const [name, value] of Object.entries(item.attributes)) {
      if (collections.colorsProps.includes(name)) {
        let val = value;
        let match;

        // Convert colors to currentColor
        if (params.currentColor) {
          if (typeof params.currentColor === 'string') {
            match = val === params.currentColor;
          } else if (params.currentColor.exec) {
            match = params.currentColor.exec(val);
          } else {
            match = !val.match(none);
          }
          if (match) {
            val = 'currentColor';
          }
        }

        // Convert color name keyword to long hex
        if (params.names2hex && val.toLowerCase() in collections.colorsNames) {
          val = collections.colorsNames[val.toLowerCase()];
        }

        // Convert rgb() to long hex
        if (params.rgb2hex && (match = val.match(regRGB))) {
          match = match.slice(1, 4).map(function (m) {
            if (m.indexOf('%') > -1) m = Math.round(parseFloat(m) * 2.55);

            return Math.max(0, Math.min(m, 255));
          });

          val = rgb2hex(match);
        }

        // Convert long hex to short hex
        if (params.shorthex && (match = val.match(regHEX))) {
          val = '#' + match[0][1] + match[0][3] + match[0][5];
        }

        // Convert hex to short name
        if (params.shortname) {
          var lowerVal = val.toLowerCase();
          if (lowerVal in collections.colorsShortNames) {
            val = collections.colorsShortNames[lowerVal];
          }
        }

        item.attributes[name] = val;
      }
    }
  }
};

/**
 * Convert [r, g, b] to #rrggbb.
 *
 * @see https://gist.github.com/983535
 *
 * @example
 * rgb2hex([255, 255, 255]) // '#ffffff'
 *
 * @param {Array} rgb [r, g, b]
 * @return {String} #rrggbb
 *
 * @author Jed Schmidt
 */
function rgb2hex(rgb) {
  return (
    '#' +
    ('00000' + ((rgb[0] << 16) | (rgb[1] << 8) | rgb[2]).toString(16))
      .slice(-6)
      .toUpperCase()
  );
}


/***/ }),

/***/ 33838:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'converts non-eccentric <ellipse>s to <circle>s';

/**
 * Converts non-eccentric <ellipse>s to <circle>s.
 *
 * @see https://www.w3.org/TR/SVG11/shapes.html
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Taylor Hunt
 */
exports.fn = function (item) {
  if (item.isElem('ellipse')) {
    const rx = item.attributes.rx || 0;
    const ry = item.attributes.ry || 0;

    if (
      rx === ry ||
      rx === 'auto' ||
      ry === 'auto' // SVG2
    ) {
      var radius = rx !== 'auto' ? rx : ry;
      item.renameElem('circle');
      delete item.attributes.rx;
      delete item.attributes.ry;
      item.attributes.r = radius;
    }
  }
};


/***/ }),

/***/ 95642:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { computeStyle } = __nccwpck_require__(88786);
const { pathElems } = __nccwpck_require__(94434);
const { path2js, js2path } = __nccwpck_require__(8963);
const { applyTransforms } = __nccwpck_require__(99971);
const { cleanupOutData } = __nccwpck_require__(44074);

exports.type = 'perItem';

exports.active = true;

exports.description =
  'optimizes path data: writes in shorter form, applies transformations';

exports.params = {
  applyTransforms: true,
  applyTransformsStroked: true,
  makeArcs: {
    threshold: 2.5, // coefficient of rounding error
    tolerance: 0.5, // percentage of radius
  },
  straightCurves: true,
  lineShorthands: true,
  curveSmoothShorthands: true,
  floatPrecision: 3,
  transformPrecision: 5,
  removeUseless: true,
  collapseRepeated: true,
  utilizeAbsolute: true,
  leadingZero: true,
  negativeExtraSpace: true,
  noSpaceAfterFlags: false, // a20 60 45 0 1 30 20 → a20 60 45 0130 20
  forceAbsolutePath: false,
};

let roundData;
let precision;
let error;
let arcThreshold;
let arcTolerance;

/**
 * Convert absolute Path to relative,
 * collapse repeated instructions,
 * detect and convert Lineto shorthands,
 * remove useless instructions like "l0,0",
 * trim useless delimiters and leading zeros,
 * decrease accuracy of floating-point numbers.
 *
 * @see https://www.w3.org/TR/SVG11/paths.html#PathData
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (
    item.type === 'element' &&
    pathElems.includes(item.name) &&
    item.attributes.d != null
  ) {
    const computedStyle = computeStyle(item);
    precision = params.floatPrecision;
    error =
      precision !== false ? +Math.pow(0.1, precision).toFixed(precision) : 1e-2;
    roundData = precision > 0 && precision < 20 ? strongRound : round;
    if (params.makeArcs) {
      arcThreshold = params.makeArcs.threshold;
      arcTolerance = params.makeArcs.tolerance;
    }
    const hasMarkerMid = computedStyle['marker-mid'] != null;

    const maybeHasStroke =
      computedStyle.stroke &&
      (computedStyle.stroke.type === 'dynamic' ||
        computedStyle.stroke.value !== 'none');
    const maybeHasLinecap =
      computedStyle['stroke-linecap'] &&
      (computedStyle['stroke-linecap'].type === 'dynamic' ||
        computedStyle['stroke-linecap'].value !== 'butt');
    const maybeHasStrokeAndLinecap = maybeHasStroke && maybeHasLinecap;

    var data = path2js(item);

    // TODO: get rid of functions returns
    if (data.length) {
      if (params.applyTransforms) {
        applyTransforms(item, data, params);
      }

      convertToRelative(data);

      data = filters(data, params, {
        maybeHasStrokeAndLinecap,
        hasMarkerMid,
      });

      if (params.utilizeAbsolute) {
        data = convertToMixed(data, params);
      }

      js2path(item, data, params);
    }
  }
};

/**
 * Convert absolute path data coordinates to relative.
 *
 * @param {Array} path input path data
 * @param {Object} params plugin params
 * @return {Array} output path data
 */
const convertToRelative = (pathData) => {
  let start = [0, 0];
  let cursor = [0, 0];
  let prevCoords = [0, 0];

  for (let i = 0; i < pathData.length; i += 1) {
    const pathItem = pathData[i];
    let { instruction: command, data: args } = pathItem;

    // moveto (x y)
    if (command === 'm') {
      // update start and cursor
      cursor[0] += args[0];
      cursor[1] += args[1];
      start[0] = cursor[0];
      start[1] = cursor[1];
    }
    if (command === 'M') {
      // M → m
      // skip first moveto
      if (i !== 0) {
        command = 'm';
      }
      args[0] -= cursor[0];
      args[1] -= cursor[1];
      // update start and cursor
      cursor[0] += args[0];
      cursor[1] += args[1];
      start[0] = cursor[0];
      start[1] = cursor[1];
    }

    // lineto (x y)
    if (command === 'l') {
      cursor[0] += args[0];
      cursor[1] += args[1];
    }
    if (command === 'L') {
      // L → l
      command = 'l';
      args[0] -= cursor[0];
      args[1] -= cursor[1];
      cursor[0] += args[0];
      cursor[1] += args[1];
    }

    // horizontal lineto (x)
    if (command === 'h') {
      cursor[0] += args[0];
    }
    if (command === 'H') {
      // H → h
      command = 'h';
      args[0] -= cursor[0];
      cursor[0] += args[0];
    }

    // vertical lineto (y)
    if (command === 'v') {
      cursor[1] += args[0];
    }
    if (command === 'V') {
      // V → v
      command = 'v';
      args[0] -= cursor[1];
      cursor[1] += args[0];
    }

    // curveto (x1 y1 x2 y2 x y)
    if (command === 'c') {
      cursor[0] += args[4];
      cursor[1] += args[5];
    }
    if (command === 'C') {
      // C → c
      command = 'c';
      args[0] -= cursor[0];
      args[1] -= cursor[1];
      args[2] -= cursor[0];
      args[3] -= cursor[1];
      args[4] -= cursor[0];
      args[5] -= cursor[1];
      cursor[0] += args[4];
      cursor[1] += args[5];
    }

    // smooth curveto (x2 y2 x y)
    if (command === 's') {
      cursor[0] += args[2];
      cursor[1] += args[3];
    }
    if (command === 'S') {
      // S → s
      command = 's';
      args[0] -= cursor[0];
      args[1] -= cursor[1];
      args[2] -= cursor[0];
      args[3] -= cursor[1];
      cursor[0] += args[2];
      cursor[1] += args[3];
    }

    // quadratic Bézier curveto (x1 y1 x y)
    if (command === 'q') {
      cursor[0] += args[2];
      cursor[1] += args[3];
    }
    if (command === 'Q') {
      // Q → q
      command = 'q';
      args[0] -= cursor[0];
      args[1] -= cursor[1];
      args[2] -= cursor[0];
      args[3] -= cursor[1];
      cursor[0] += args[2];
      cursor[1] += args[3];
    }

    // smooth quadratic Bézier curveto (x y)
    if (command === 't') {
      cursor[0] += args[0];
      cursor[1] += args[1];
    }
    if (command === 'T') {
      // T → t
      command = 't';
      args[0] -= cursor[0];
      args[1] -= cursor[1];
      cursor[0] += args[0];
      cursor[1] += args[1];
    }

    // elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y)
    if (command === 'a') {
      cursor[0] += args[5];
      cursor[1] += args[6];
    }
    if (command === 'A') {
      // A → a
      command = 'a';
      args[5] -= cursor[0];
      args[6] -= cursor[1];
      cursor[0] += args[5];
      cursor[1] += args[6];
    }

    // closepath
    if (command === 'Z' || command === 'z') {
      // reset cursor
      cursor[0] = start[0];
      cursor[1] = start[1];
    }

    pathItem.instruction = command;
    pathItem.data = args;
    // store absolute coordinates for later use
    // base should preserve reference from other element
    pathItem.base = prevCoords;
    pathItem.coords = [cursor[0], cursor[1]];
    prevCoords = pathItem.coords;
  }

  return pathData;
};

/**
 * Main filters loop.
 *
 * @param {Array} path input path data
 * @param {Object} params plugin params
 * @return {Array} output path data
 */
function filters(path, params, { maybeHasStrokeAndLinecap, hasMarkerMid }) {
  var stringify = data2Path.bind(null, params),
    relSubpoint = [0, 0],
    pathBase = [0, 0],
    prev = {};

  path = path.filter(function (item, index, path) {
    var instruction = item.instruction,
      data = item.data,
      next = path[index + 1];

    if (data) {
      var sdata = data,
        circle;

      if (instruction === 's') {
        sdata = [0, 0].concat(data);

        if ('cs'.indexOf(prev.instruction) > -1) {
          var pdata = prev.data,
            n = pdata.length;

          // (-x, -y) of the prev tangent point relative to the current point
          sdata[0] = pdata[n - 2] - pdata[n - 4];
          sdata[1] = pdata[n - 1] - pdata[n - 3];
        }
      }

      // convert curves to arcs if possible
      if (
        params.makeArcs &&
        (instruction == 'c' || instruction == 's') &&
        isConvex(sdata) &&
        (circle = findCircle(sdata))
      ) {
        var r = roundData([circle.radius])[0],
          angle = findArcAngle(sdata, circle),
          sweep = sdata[5] * sdata[0] - sdata[4] * sdata[1] > 0 ? 1 : 0,
          arc = {
            instruction: 'a',
            data: [r, r, 0, 0, sweep, sdata[4], sdata[5]],
            coords: item.coords.slice(),
            base: item.base,
          },
          output = [arc],
          // relative coordinates to adjust the found circle
          relCenter = [
            circle.center[0] - sdata[4],
            circle.center[1] - sdata[5],
          ],
          relCircle = { center: relCenter, radius: circle.radius },
          arcCurves = [item],
          hasPrev = 0,
          suffix = '',
          nextLonghand;

        if (
          (prev.instruction == 'c' &&
            isConvex(prev.data) &&
            isArcPrev(prev.data, circle)) ||
          (prev.instruction == 'a' &&
            prev.sdata &&
            isArcPrev(prev.sdata, circle))
        ) {
          arcCurves.unshift(prev);
          arc.base = prev.base;
          arc.data[5] = arc.coords[0] - arc.base[0];
          arc.data[6] = arc.coords[1] - arc.base[1];
          var prevData = prev.instruction == 'a' ? prev.sdata : prev.data;
          var prevAngle = findArcAngle(prevData, {
            center: [
              prevData[4] + circle.center[0],
              prevData[5] + circle.center[1],
            ],
            radius: circle.radius,
          });
          angle += prevAngle;
          if (angle > Math.PI) arc.data[3] = 1;
          hasPrev = 1;
        }

        // check if next curves are fitting the arc
        for (
          var j = index;
          (next = path[++j]) && ~'cs'.indexOf(next.instruction);

        ) {
          var nextData = next.data;
          if (next.instruction == 's') {
            nextLonghand = makeLonghand(
              { instruction: 's', data: next.data.slice() },
              path[j - 1].data
            );
            nextData = nextLonghand.data;
            nextLonghand.data = nextData.slice(0, 2);
            suffix = stringify([nextLonghand]);
          }
          if (isConvex(nextData) && isArc(nextData, relCircle)) {
            angle += findArcAngle(nextData, relCircle);
            if (angle - 2 * Math.PI > 1e-3) break; // more than 360°
            if (angle > Math.PI) arc.data[3] = 1;
            arcCurves.push(next);
            if (2 * Math.PI - angle > 1e-3) {
              // less than 360°
              arc.coords = next.coords;
              arc.data[5] = arc.coords[0] - arc.base[0];
              arc.data[6] = arc.coords[1] - arc.base[1];
            } else {
              // full circle, make a half-circle arc and add a second one
              arc.data[5] = 2 * (relCircle.center[0] - nextData[4]);
              arc.data[6] = 2 * (relCircle.center[1] - nextData[5]);
              arc.coords = [
                arc.base[0] + arc.data[5],
                arc.base[1] + arc.data[6],
              ];
              arc = {
                instruction: 'a',
                data: [
                  r,
                  r,
                  0,
                  0,
                  sweep,
                  next.coords[0] - arc.coords[0],
                  next.coords[1] - arc.coords[1],
                ],
                coords: next.coords,
                base: arc.coords,
              };
              output.push(arc);
              j++;
              break;
            }
            relCenter[0] -= nextData[4];
            relCenter[1] -= nextData[5];
          } else break;
        }

        if ((stringify(output) + suffix).length < stringify(arcCurves).length) {
          if (path[j] && path[j].instruction == 's') {
            makeLonghand(path[j], path[j - 1].data);
          }
          if (hasPrev) {
            var prevArc = output.shift();
            roundData(prevArc.data);
            relSubpoint[0] += prevArc.data[5] - prev.data[prev.data.length - 2];
            relSubpoint[1] += prevArc.data[6] - prev.data[prev.data.length - 1];
            prev.instruction = 'a';
            prev.data = prevArc.data;
            item.base = prev.coords = prevArc.coords;
          }
          arc = output.shift();
          if (arcCurves.length == 1) {
            item.sdata = sdata.slice(); // preserve curve data for future checks
          } else if (arcCurves.length - 1 - hasPrev > 0) {
            // filter out consumed next items
            path.splice.apply(
              path,
              [index + 1, arcCurves.length - 1 - hasPrev].concat(output)
            );
          }
          if (!arc) return false;
          instruction = 'a';
          data = arc.data;
          item.coords = arc.coords;
        }
      }

      // Rounding relative coordinates, taking in account accummulating error
      // to get closer to absolute coordinates. Sum of rounded value remains same:
      // l .25 3 .25 2 .25 3 .25 2 -> l .3 3 .2 2 .3 3 .2 2
      if (precision !== false) {
        if ('mltqsc'.indexOf(instruction) > -1) {
          for (var i = data.length; i--; ) {
            data[i] += item.base[i % 2] - relSubpoint[i % 2];
          }
        } else if (instruction == 'h') {
          data[0] += item.base[0] - relSubpoint[0];
        } else if (instruction == 'v') {
          data[0] += item.base[1] - relSubpoint[1];
        } else if (instruction == 'a') {
          data[5] += item.base[0] - relSubpoint[0];
          data[6] += item.base[1] - relSubpoint[1];
        }
        roundData(data);

        if (instruction == 'h') relSubpoint[0] += data[0];
        else if (instruction == 'v') relSubpoint[1] += data[0];
        else {
          relSubpoint[0] += data[data.length - 2];
          relSubpoint[1] += data[data.length - 1];
        }
        roundData(relSubpoint);

        if (instruction.toLowerCase() == 'm') {
          pathBase[0] = relSubpoint[0];
          pathBase[1] = relSubpoint[1];
        }
      }

      // convert straight curves into lines segments
      if (params.straightCurves) {
        if (
          (instruction === 'c' && isCurveStraightLine(data)) ||
          (instruction === 's' && isCurveStraightLine(sdata))
        ) {
          if (next && next.instruction == 's') makeLonghand(next, data); // fix up next curve
          instruction = 'l';
          data = data.slice(-2);
        } else if (instruction === 'q' && isCurveStraightLine(data)) {
          if (next && next.instruction == 't') makeLonghand(next, data); // fix up next curve
          instruction = 'l';
          data = data.slice(-2);
        } else if (
          instruction === 't' &&
          prev.instruction !== 'q' &&
          prev.instruction !== 't'
        ) {
          instruction = 'l';
          data = data.slice(-2);
        } else if (instruction === 'a' && (data[0] === 0 || data[1] === 0)) {
          instruction = 'l';
          data = data.slice(-2);
        }
      }

      // horizontal and vertical line shorthands
      // l 50 0 → h 50
      // l 0 50 → v 50
      if (params.lineShorthands && instruction === 'l') {
        if (data[1] === 0) {
          instruction = 'h';
          data.pop();
        } else if (data[0] === 0) {
          instruction = 'v';
          data.shift();
        }
      }

      // collapse repeated commands
      // h 20 h 30 -> h 50
      if (
        params.collapseRepeated &&
        hasMarkerMid === false &&
        'mhv'.indexOf(instruction) > -1 &&
        prev.instruction &&
        instruction == prev.instruction.toLowerCase() &&
        ((instruction != 'h' && instruction != 'v') ||
          prev.data[0] >= 0 == data[0] >= 0)
      ) {
        prev.data[0] += data[0];
        if (instruction != 'h' && instruction != 'v') {
          prev.data[1] += data[1];
        }
        prev.coords = item.coords;
        path[index] = prev;
        return false;
      }

      // convert curves into smooth shorthands
      if (params.curveSmoothShorthands && prev.instruction) {
        // curveto
        if (instruction === 'c') {
          // c + c → c + s
          if (
            prev.instruction === 'c' &&
            data[0] === -(prev.data[2] - prev.data[4]) &&
            data[1] === -(prev.data[3] - prev.data[5])
          ) {
            instruction = 's';
            data = data.slice(2);
          }

          // s + c → s + s
          else if (
            prev.instruction === 's' &&
            data[0] === -(prev.data[0] - prev.data[2]) &&
            data[1] === -(prev.data[1] - prev.data[3])
          ) {
            instruction = 's';
            data = data.slice(2);
          }

          // [^cs] + c → [^cs] + s
          else if (
            'cs'.indexOf(prev.instruction) === -1 &&
            data[0] === 0 &&
            data[1] === 0
          ) {
            instruction = 's';
            data = data.slice(2);
          }
        }

        // quadratic Bézier curveto
        else if (instruction === 'q') {
          // q + q → q + t
          if (
            prev.instruction === 'q' &&
            data[0] === prev.data[2] - prev.data[0] &&
            data[1] === prev.data[3] - prev.data[1]
          ) {
            instruction = 't';
            data = data.slice(2);
          }

          // t + q → t + t
          else if (
            prev.instruction === 't' &&
            data[2] === prev.data[0] &&
            data[3] === prev.data[1]
          ) {
            instruction = 't';
            data = data.slice(2);
          }
        }
      }

      // remove useless non-first path segments
      if (params.removeUseless && !maybeHasStrokeAndLinecap) {
        // l 0,0 / h 0 / v 0 / q 0,0 0,0 / t 0,0 / c 0,0 0,0 0,0 / s 0,0 0,0
        if (
          'lhvqtcs'.indexOf(instruction) > -1 &&
          data.every(function (i) {
            return i === 0;
          })
        ) {
          path[index] = prev;
          return false;
        }

        // a 25,25 -30 0,1 0,0
        if (instruction === 'a' && data[5] === 0 && data[6] === 0) {
          path[index] = prev;
          return false;
        }
      }

      item.instruction = instruction;
      item.data = data;

      prev = item;
    } else {
      // z resets coordinates
      relSubpoint[0] = pathBase[0];
      relSubpoint[1] = pathBase[1];
      if (prev.instruction == 'z') return false;
      prev = item;
    }

    return true;
  });

  return path;
}

/**
 * Writes data in shortest form using absolute or relative coordinates.
 *
 * @param {Array} data input path data
 * @return {Boolean} output
 */
function convertToMixed(path, params) {
  var prev = path[0];

  path = path.filter(function (item, index) {
    if (index == 0) return true;
    if (!item.data) {
      prev = item;
      return true;
    }

    var instruction = item.instruction,
      data = item.data,
      adata = data && data.slice(0);

    if ('mltqsc'.indexOf(instruction) > -1) {
      for (var i = adata.length; i--; ) {
        adata[i] += item.base[i % 2];
      }
    } else if (instruction == 'h') {
      adata[0] += item.base[0];
    } else if (instruction == 'v') {
      adata[0] += item.base[1];
    } else if (instruction == 'a') {
      adata[5] += item.base[0];
      adata[6] += item.base[1];
    }

    roundData(adata);

    var absoluteDataStr = cleanupOutData(adata, params),
      relativeDataStr = cleanupOutData(data, params);

    // Convert to absolute coordinates if it's shorter or forceAbsolutePath is true.
    // v-20 -> V0
    // Don't convert if it fits following previous instruction.
    // l20 30-10-50 instead of l20 30L20 30
    if (
      params.forceAbsolutePath ||
      (absoluteDataStr.length < relativeDataStr.length &&
        !(
          params.negativeExtraSpace &&
          instruction == prev.instruction &&
          prev.instruction.charCodeAt(0) > 96 &&
          absoluteDataStr.length == relativeDataStr.length - 1 &&
          (data[0] < 0 ||
            (/^0\./.test(data[0]) && prev.data[prev.data.length - 1] % 1))
        ))
    ) {
      item.instruction = instruction.toUpperCase();
      item.data = adata;
    }

    prev = item;

    return true;
  });

  return path;
}

/**
 * Checks if curve is convex. Control points of such a curve must form
 * a convex quadrilateral with diagonals crosspoint inside of it.
 *
 * @param {Array} data input path data
 * @return {Boolean} output
 */
function isConvex(data) {
  var center = getIntersection([
    0,
    0,
    data[2],
    data[3],
    data[0],
    data[1],
    data[4],
    data[5],
  ]);

  return (
    center &&
    data[2] < center[0] == center[0] < 0 &&
    data[3] < center[1] == center[1] < 0 &&
    data[4] < center[0] == center[0] < data[0] &&
    data[5] < center[1] == center[1] < data[1]
  );
}

/**
 * Computes lines equations by two points and returns their intersection point.
 *
 * @param {Array} coords 8 numbers for 4 pairs of coordinates (x,y)
 * @return {Array|undefined} output coordinate of lines' crosspoint
 */
function getIntersection(coords) {
  // Prev line equation parameters.
  var a1 = coords[1] - coords[3], // y1 - y2
    b1 = coords[2] - coords[0], // x2 - x1
    c1 = coords[0] * coords[3] - coords[2] * coords[1], // x1 * y2 - x2 * y1
    // Next line equation parameters
    a2 = coords[5] - coords[7], // y1 - y2
    b2 = coords[6] - coords[4], // x2 - x1
    c2 = coords[4] * coords[7] - coords[5] * coords[6], // x1 * y2 - x2 * y1
    denom = a1 * b2 - a2 * b1;

  if (!denom) return; // parallel lines havn't an intersection

  var cross = [(b1 * c2 - b2 * c1) / denom, (a1 * c2 - a2 * c1) / -denom];
  if (
    !isNaN(cross[0]) &&
    !isNaN(cross[1]) &&
    isFinite(cross[0]) &&
    isFinite(cross[1])
  ) {
    return cross;
  }
}

/**
 * Decrease accuracy of floating-point numbers
 * in path data keeping a specified number of decimals.
 * Smart rounds values like 2.3491 to 2.35 instead of 2.349.
 * Doesn't apply "smartness" if the number precision fits already.
 *
 * @param {Array} data input data array
 * @return {Array} output data array
 */
function strongRound(data) {
  for (var i = data.length; i-- > 0; ) {
    if (data[i].toFixed(precision) != data[i]) {
      var rounded = +data[i].toFixed(precision - 1);
      data[i] =
        +Math.abs(rounded - data[i]).toFixed(precision + 1) >= error
          ? +data[i].toFixed(precision)
          : rounded;
    }
  }
  return data;
}

/**
 * Simple rounding function if precision is 0.
 *
 * @param {Array} data input data array
 * @return {Array} output data array
 */
function round(data) {
  for (var i = data.length; i-- > 0; ) {
    data[i] = Math.round(data[i]);
  }
  return data;
}

/**
 * Checks if a curve is a straight line by measuring distance
 * from middle points to the line formed by end points.
 *
 * @param {Array} xs array of curve points x-coordinates
 * @param {Array} ys array of curve points y-coordinates
 * @return {Boolean}
 */

function isCurveStraightLine(data) {
  // Get line equation a·x + b·y + c = 0 coefficients a, b (c = 0) by start and end points.
  var i = data.length - 2,
    a = -data[i + 1], // y1 − y2 (y1 = 0)
    b = data[i], // x2 − x1 (x1 = 0)
    d = 1 / (a * a + b * b); // same part for all points

  if (i <= 1 || !isFinite(d)) return false; // curve that ends at start point isn't the case

  // Distance from point (x0, y0) to the line is sqrt((c − a·x0 − b·y0)² / (a² + b²))
  while ((i -= 2) >= 0) {
    if (Math.sqrt(Math.pow(a * data[i] + b * data[i + 1], 2) * d) > error)
      return false;
  }

  return true;
}

/**
 * Converts next curve from shorthand to full form using the current curve data.
 *
 * @param {Object} item curve to convert
 * @param {Array} data current curve data
 */

function makeLonghand(item, data) {
  switch (item.instruction) {
    case 's':
      item.instruction = 'c';
      break;
    case 't':
      item.instruction = 'q';
      break;
  }
  item.data.unshift(
    data[data.length - 2] - data[data.length - 4],
    data[data.length - 1] - data[data.length - 3]
  );
  return item;
}

/**
 * Returns distance between two points
 *
 * @param {Array} point1 first point coordinates
 * @param {Array} point2 second point coordinates
 * @return {Number} distance
 */

function getDistance(point1, point2) {
  return Math.hypot(point1[0] - point2[0], point1[1] - point2[1]);
}

/**
 * Returns coordinates of the curve point corresponding to the certain t
 * a·(1 - t)³·p1 + b·(1 - t)²·t·p2 + c·(1 - t)·t²·p3 + d·t³·p4,
 * where pN are control points and p1 is zero due to relative coordinates.
 *
 * @param {Array} curve array of curve points coordinates
 * @param {Number} t parametric position from 0 to 1
 * @return {Array} Point coordinates
 */

function getCubicBezierPoint(curve, t) {
  var sqrT = t * t,
    cubT = sqrT * t,
    mt = 1 - t,
    sqrMt = mt * mt;

  return [
    3 * sqrMt * t * curve[0] + 3 * mt * sqrT * curve[2] + cubT * curve[4],
    3 * sqrMt * t * curve[1] + 3 * mt * sqrT * curve[3] + cubT * curve[5],
  ];
}

/**
 * Finds circle by 3 points of the curve and checks if the curve fits the found circle.
 *
 * @param {Array} curve
 * @return {Object|undefined} circle
 */

function findCircle(curve) {
  var midPoint = getCubicBezierPoint(curve, 1 / 2),
    m1 = [midPoint[0] / 2, midPoint[1] / 2],
    m2 = [(midPoint[0] + curve[4]) / 2, (midPoint[1] + curve[5]) / 2],
    center = getIntersection([
      m1[0],
      m1[1],
      m1[0] + m1[1],
      m1[1] - m1[0],
      m2[0],
      m2[1],
      m2[0] + (m2[1] - midPoint[1]),
      m2[1] - (m2[0] - midPoint[0]),
    ]),
    radius = center && getDistance([0, 0], center),
    tolerance = Math.min(arcThreshold * error, (arcTolerance * radius) / 100);

  if (
    center &&
    radius < 1e15 &&
    [1 / 4, 3 / 4].every(function (point) {
      return (
        Math.abs(
          getDistance(getCubicBezierPoint(curve, point), center) - radius
        ) <= tolerance
      );
    })
  )
    return { center: center, radius: radius };
}

/**
 * Checks if a curve fits the given circle.
 *
 * @param {Object} circle
 * @param {Array} curve
 * @return {Boolean}
 */

function isArc(curve, circle) {
  var tolerance = Math.min(
    arcThreshold * error,
    (arcTolerance * circle.radius) / 100
  );

  return [0, 1 / 4, 1 / 2, 3 / 4, 1].every(function (point) {
    return (
      Math.abs(
        getDistance(getCubicBezierPoint(curve, point), circle.center) -
          circle.radius
      ) <= tolerance
    );
  });
}

/**
 * Checks if a previous curve fits the given circle.
 *
 * @param {Object} circle
 * @param {Array} curve
 * @return {Boolean}
 */

function isArcPrev(curve, circle) {
  return isArc(curve, {
    center: [circle.center[0] + curve[4], circle.center[1] + curve[5]],
    radius: circle.radius,
  });
}

/**
 * Finds angle of a curve fitting the given arc.

 * @param {Array} curve
 * @param {Object} relCircle
 * @return {Number} angle
 */

function findArcAngle(curve, relCircle) {
  var x1 = -relCircle.center[0],
    y1 = -relCircle.center[1],
    x2 = curve[4] - relCircle.center[0],
    y2 = curve[5] - relCircle.center[1];

  return Math.acos(
    (x1 * x2 + y1 * y2) / Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2))
  );
}

/**
 * Converts given path data to string.
 *
 * @param {Object} params
 * @param {Array} pathData
 * @return {String}
 */

function data2Path(params, pathData) {
  return pathData.reduce(function (pathString, item) {
    var strData = '';
    if (item.data) {
      strData = cleanupOutData(roundData(item.data.slice()), params);
    }
    return pathString + item.instruction + strData;
  }, '');
}


/***/ }),

/***/ 67854:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { stringifyPathData } = __nccwpck_require__(86495);

exports.type = 'perItem';

exports.active = true;

exports.description = 'converts basic shapes to more compact path form';

exports.params = {
  convertArcs: false,
  floatPrecision: null,
};

const regNumber = /[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;

/**
 * Converts basic shape to more compact path.
 * It also allows further optimizations like
 * combining paths with similar attributes.
 *
 * @see https://www.w3.org/TR/SVG11/shapes.html
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Lev Solntsev
 */
exports.fn = function (item, params) {
  const precision = params ? params.floatPrecision : null;
  const convertArcs = params && params.convertArcs;

  if (
    item.isElem('rect') &&
    item.attributes.width != null &&
    item.attributes.height != null &&
    item.attributes.rx == null &&
    item.attributes.ry == null
  ) {
    const x = Number(item.attributes.x || '0');
    const y = Number(item.attributes.y || '0');
    const width = Number(item.attributes.width);
    const height = Number(item.attributes.height);
    // Values like '100%' compute to NaN, thus running after
    // cleanupNumericValues when 'px' units has already been removed.
    // TODO: Calculate sizes from % and non-px units if possible.
    if (isNaN(x - y + width - height)) return;
    const pathData = [
      { command: 'M', args: [x, y] },
      { command: 'H', args: [x + width] },
      { command: 'V', args: [y + height] },
      { command: 'H', args: [x] },
      { command: 'z', args: [] },
    ];
    item.attributes.d = stringifyPathData({ pathData, precision });
    item.renameElem('path');
    delete item.attributes.x;
    delete item.attributes.y;
    delete item.attributes.width;
    delete item.attributes.height;
  }

  if (item.isElem('line')) {
    const x1 = Number(item.attributes.x1 || '0');
    const y1 = Number(item.attributes.y1 || '0');
    const x2 = Number(item.attributes.x2 || '0');
    const y2 = Number(item.attributes.y2 || '0');
    if (isNaN(x1 - y1 + x2 - y2)) return;
    const pathData = [
      { command: 'M', args: [x1, y1] },
      { command: 'L', args: [x2, y2] },
    ];
    item.attributes.d = stringifyPathData({ pathData, precision });
    item.renameElem('path');
    delete item.attributes.x1;
    delete item.attributes.y1;
    delete item.attributes.x2;
    delete item.attributes.y2;
  }

  if (
    (item.isElem('polyline') || item.isElem('polygon')) &&
    item.attributes.points != null
  ) {
    const coords = (item.attributes.points.match(regNumber) || []).map(Number);
    if (coords.length < 4) return false;
    const pathData = [];
    for (let i = 0; i < coords.length; i += 2) {
      pathData.push({
        command: i === 0 ? 'M' : 'L',
        args: coords.slice(i, i + 2),
      });
    }
    if (item.isElem('polygon')) {
      pathData.push({ command: 'z', args: [] });
    }
    item.attributes.d = stringifyPathData({ pathData, precision });
    item.renameElem('path');
    delete item.attributes.points;
  }

  if (item.isElem('circle') && convertArcs) {
    const cx = Number(item.attributes.cx || '0');
    const cy = Number(item.attributes.cy || '0');
    const r = Number(item.attributes.r || '0');
    if (isNaN(cx - cy + r)) {
      return;
    }
    const pathData = [
      { command: 'M', args: [cx, cy - r] },
      { command: 'A', args: [r, r, 0, 1, 0, cx, cy + r] },
      { command: 'A', args: [r, r, 0, 1, 0, cx, cy - r] },
      { command: 'z', args: [] },
    ];
    item.attributes.d = stringifyPathData({ pathData, precision });
    item.renameElem('path');
    delete item.attributes.cx;
    delete item.attributes.cy;
    delete item.attributes.r;
  }

  if (item.isElem('ellipse') && convertArcs) {
    const ecx = Number(item.attributes.cx || '0');
    const ecy = Number(item.attributes.cy || '0');
    const rx = Number(item.attributes.rx || '0');
    const ry = Number(item.attributes.ry || '0');
    if (isNaN(ecx - ecy + rx - ry)) {
      return;
    }
    const pathData = [
      { command: 'M', args: [ecx, ecy - ry] },
      { command: 'A', args: [rx, ry, 0, 1, 0, ecx, ecy + ry] },
      { command: 'A', args: [rx, ry, 0, 1, 0, ecx, ecy - ry] },
      { command: 'z', args: [] },
    ];
    item.attributes.d = stringifyPathData({ pathData, precision });
    item.renameElem('path');
    delete item.attributes.cx;
    delete item.attributes.cy;
    delete item.attributes.rx;
    delete item.attributes.ry;
  }
};


/***/ }),

/***/ 33926:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description = 'converts style to attributes';

exports.params = {
  keepImportant: false,
};

var stylingProps = __nccwpck_require__(94434).attrsGroups.presentation,
  rEscape = '\\\\(?:[0-9a-f]{1,6}\\s?|\\r\\n|.)', // Like \" or \2051. Code points consume one space.
  rAttr = '\\s*(' + g('[^:;\\\\]', rEscape) + '*?)\\s*', // attribute name like ‘fill’
  rSingleQuotes = "'(?:[^'\\n\\r\\\\]|" + rEscape + ")*?(?:'|$)", // string in single quotes: 'smth'
  rQuotes = '"(?:[^"\\n\\r\\\\]|' + rEscape + ')*?(?:"|$)', // string in double quotes: "smth"
  rQuotedString = new RegExp('^' + g(rSingleQuotes, rQuotes) + '$'),
  // Parentheses, E.g.: url(data:image/png;base64,iVBO...).
  // ':' and ';' inside of it should be threated as is. (Just like in strings.)
  rParenthesis =
    '\\(' + g('[^\'"()\\\\]+', rEscape, rSingleQuotes, rQuotes) + '*?' + '\\)',
  // The value. It can have strings and parentheses (see above). Fallbacks to anything in case of unexpected input.
  rValue =
    '\\s*(' +
    g(
      '[^!\'"();\\\\]+?',
      rEscape,
      rSingleQuotes,
      rQuotes,
      rParenthesis,
      '[^;]*?'
    ) +
    '*?' +
    ')',
  // End of declaration. Spaces outside of capturing groups help to do natural trimming.
  rDeclEnd = '\\s*(?:;\\s*|$)',
  // Important rule
  rImportant = '(\\s*!important(?![-(\\w]))?',
  // Final RegExp to parse CSS declarations.
  regDeclarationBlock = new RegExp(
    rAttr + ':' + rValue + rImportant + rDeclEnd,
    'ig'
  ),
  // Comments expression. Honors escape sequences and strings.
  regStripComments = new RegExp(
    g(rEscape, rSingleQuotes, rQuotes, '/\\*[^]*?\\*/'),
    'ig'
  );

/**
 * Convert style in attributes. Cleanups comments and illegal declarations (without colon) as a side effect.
 *
 * @example
 * <g style="fill:#000; color: #fff;">
 *             ⬇
 * <g fill="#000" color="#fff">
 *
 * @example
 * <g style="fill:#000; color: #fff; -webkit-blah: blah">
 *             ⬇
 * <g fill="#000" color="#fff" style="-webkit-blah: blah">
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element' && item.attributes.style != null) {
    // ['opacity: 1', 'color: #000']
    let styles = [];
    const newAttributes = {};

    // Strip CSS comments preserving escape sequences and strings.
    const styleValue = item.attributes.style.replace(
      regStripComments,
      (match) => {
        return match[0] == '/'
          ? ''
          : match[0] == '\\' && /[-g-z]/i.test(match[1])
          ? match[1]
          : match;
      }
    );

    regDeclarationBlock.lastIndex = 0;
    // eslint-disable-next-line no-cond-assign
    for (var rule; (rule = regDeclarationBlock.exec(styleValue)); ) {
      if (!params.keepImportant || !rule[3]) {
        styles.push([rule[1], rule[2]]);
      }
    }

    if (styles.length) {
      styles = styles.filter(function (style) {
        if (style[0]) {
          var prop = style[0].toLowerCase(),
            val = style[1];

          if (rQuotedString.test(val)) {
            val = val.slice(1, -1);
          }

          if (stylingProps.includes(prop)) {
            newAttributes[prop] = val;

            return false;
          }
        }

        return true;
      });

      Object.assign(item.attributes, newAttributes);

      if (styles.length) {
        item.attributes.style = styles
          .map((declaration) => declaration.join(':'))
          .join(';');
      } else {
        delete item.attributes.style;
      }
    }
  }
};

function g() {
  return '(?:' + Array.prototype.join.call(arguments, '|') + ')';
}


/***/ }),

/***/ 9936:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'collapses multiple transformations and optimizes it';

exports.params = {
  convertToShorts: true,
  // degPrecision: 3, // transformPrecision (or matrix precision) - 2 by default
  floatPrecision: 3,
  transformPrecision: 5,
  matrixToTransform: true,
  shortTranslate: true,
  shortScale: true,
  shortRotate: true,
  removeUseless: true,
  collapseIntoOne: true,
  leadingZero: true,
  negativeExtraSpace: false,
};

var cleanupOutData = __nccwpck_require__(44074).cleanupOutData,
  transform2js = __nccwpck_require__(22857).transform2js,
  transformsMultiply = __nccwpck_require__(22857).transformsMultiply,
  matrixToTransform = __nccwpck_require__(22857).matrixToTransform,
  degRound,
  floatRound,
  transformRound;

/**
 * Convert matrices to the short aliases,
 * convert long translate, scale or rotate transform notations to the shorts ones,
 * convert transforms to the matrices and multiply them all into one,
 * remove useless transforms.
 *
 * @see https://www.w3.org/TR/SVG11/coords.html#TransformMatrixDefined
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element') {
    // transform
    if (item.attributes.transform != null) {
      convertTransform(item, 'transform', params);
    }

    // gradientTransform
    if (item.attributes.gradientTransform != null) {
      convertTransform(item, 'gradientTransform', params);
    }

    // patternTransform
    if (item.attributes.patternTransform != null) {
      convertTransform(item, 'patternTransform', params);
    }
  }
};

/**
 * Main function.
 *
 * @param {Object} item input item
 * @param {String} attrName attribute name
 * @param {Object} params plugin params
 */
function convertTransform(item, attrName, params) {
  let data = transform2js(item.attributes[attrName]);
  params = definePrecision(data, params);

  if (params.collapseIntoOne && data.length > 1) {
    data = [transformsMultiply(data)];
  }

  if (params.convertToShorts) {
    data = convertToShorts(data, params);
  } else {
    data.forEach(roundTransform);
  }

  if (params.removeUseless) {
    data = removeUseless(data);
  }

  if (data.length) {
    item.attributes[attrName] = js2transform(data, params);
  } else {
    delete item.attributes[attrName];
  }
}

/**
 * Defines precision to work with certain parts.
 * transformPrecision - for scale and four first matrix parameters (needs a better precision due to multiplying),
 * floatPrecision - for translate including two last matrix and rotate parameters,
 * degPrecision - for rotate and skew. By default it's equal to (rougly)
 * transformPrecision - 2 or floatPrecision whichever is lower. Can be set in params.
 *
 * @param {Array} transforms input array
 * @param {Object} params plugin params
 * @return {Array} output array
 */
function definePrecision(data, params) {
  var matrixData = data.reduce(getMatrixData, []),
    significantDigits = params.transformPrecision;

  // Clone params so it don't affect other elements transformations.
  params = Object.assign({}, params);

  // Limit transform precision with matrix one. Calculating with larger precision doesn't add any value.
  if (matrixData.length) {
    params.transformPrecision = Math.min(
      params.transformPrecision,
      Math.max.apply(Math, matrixData.map(floatDigits)) ||
        params.transformPrecision
    );

    significantDigits = Math.max.apply(
      Math,
      matrixData.map(function (n) {
        return String(n).replace(/\D+/g, '').length; // Number of digits in a number. 123.45 → 5
      })
    );
  }
  // No sense in angle precision more then number of significant digits in matrix.
  if (!('degPrecision' in params)) {
    params.degPrecision = Math.max(
      0,
      Math.min(params.floatPrecision, significantDigits - 2)
    );
  }

  floatRound =
    params.floatPrecision >= 1 && params.floatPrecision < 20
      ? smartRound.bind(this, params.floatPrecision)
      : round;
  degRound =
    params.degPrecision >= 1 && params.floatPrecision < 20
      ? smartRound.bind(this, params.degPrecision)
      : round;
  transformRound =
    params.transformPrecision >= 1 && params.floatPrecision < 20
      ? smartRound.bind(this, params.transformPrecision)
      : round;

  return params;
}

/**
 * Gathers four first matrix parameters.
 *
 * @param {Array} a array of data
 * @param {Object} transform
 * @return {Array} output array
 */
function getMatrixData(a, b) {
  return b.name == 'matrix' ? a.concat(b.data.slice(0, 4)) : a;
}

/**
 * Returns number of digits after the point. 0.125 → 3
 */
function floatDigits(n) {
  return (n = String(n)).slice(n.indexOf('.')).length - 1;
}

/**
 * Convert transforms to the shorthand alternatives.
 *
 * @param {Array} transforms input array
 * @param {Object} params plugin params
 * @return {Array} output array
 */
function convertToShorts(transforms, params) {
  for (var i = 0; i < transforms.length; i++) {
    var transform = transforms[i];

    // convert matrix to the short aliases
    if (params.matrixToTransform && transform.name === 'matrix') {
      var decomposed = matrixToTransform(transform, params);
      if (
        decomposed != transform &&
        js2transform(decomposed, params).length <=
          js2transform([transform], params).length
      ) {
        transforms.splice.apply(transforms, [i, 1].concat(decomposed));
      }
      transform = transforms[i];
    }

    // fixed-point numbers
    // 12.754997 → 12.755
    roundTransform(transform);

    // convert long translate transform notation to the shorts one
    // translate(10 0) → translate(10)
    if (
      params.shortTranslate &&
      transform.name === 'translate' &&
      transform.data.length === 2 &&
      !transform.data[1]
    ) {
      transform.data.pop();
    }

    // convert long scale transform notation to the shorts one
    // scale(2 2) → scale(2)
    if (
      params.shortScale &&
      transform.name === 'scale' &&
      transform.data.length === 2 &&
      transform.data[0] === transform.data[1]
    ) {
      transform.data.pop();
    }

    // convert long rotate transform notation to the short one
    // translate(cx cy) rotate(a) translate(-cx -cy) → rotate(a cx cy)
    if (
      params.shortRotate &&
      transforms[i - 2] &&
      transforms[i - 2].name === 'translate' &&
      transforms[i - 1].name === 'rotate' &&
      transforms[i].name === 'translate' &&
      transforms[i - 2].data[0] === -transforms[i].data[0] &&
      transforms[i - 2].data[1] === -transforms[i].data[1]
    ) {
      transforms.splice(i - 2, 3, {
        name: 'rotate',
        data: [
          transforms[i - 1].data[0],
          transforms[i - 2].data[0],
          transforms[i - 2].data[1],
        ],
      });

      // splice compensation
      i -= 2;
    }
  }

  return transforms;
}

/**
 * Remove useless transforms.
 *
 * @param {Array} transforms input array
 * @return {Array} output array
 */
function removeUseless(transforms) {
  return transforms.filter(function (transform) {
    // translate(0), rotate(0[, cx, cy]), skewX(0), skewY(0)
    if (
      (['translate', 'rotate', 'skewX', 'skewY'].indexOf(transform.name) > -1 &&
        (transform.data.length == 1 || transform.name == 'rotate') &&
        !transform.data[0]) ||
      // translate(0, 0)
      (transform.name == 'translate' &&
        !transform.data[0] &&
        !transform.data[1]) ||
      // scale(1)
      (transform.name == 'scale' &&
        transform.data[0] == 1 &&
        (transform.data.length < 2 || transform.data[1] == 1)) ||
      // matrix(1 0 0 1 0 0)
      (transform.name == 'matrix' &&
        transform.data[0] == 1 &&
        transform.data[3] == 1 &&
        !(
          transform.data[1] ||
          transform.data[2] ||
          transform.data[4] ||
          transform.data[5]
        ))
    ) {
      return false;
    }

    return true;
  });
}

/**
 * Convert transforms JS representation to string.
 *
 * @param {Array} transformJS JS representation array
 * @param {Object} params plugin params
 * @return {String} output string
 */
function js2transform(transformJS, params) {
  var transformString = '';

  // collect output value string
  transformJS.forEach(function (transform) {
    roundTransform(transform);
    transformString +=
      (transformString && ' ') +
      transform.name +
      '(' +
      cleanupOutData(transform.data, params) +
      ')';
  });

  return transformString;
}

function roundTransform(transform) {
  switch (transform.name) {
    case 'translate':
      transform.data = floatRound(transform.data);
      break;
    case 'rotate':
      transform.data = degRound(transform.data.slice(0, 1)).concat(
        floatRound(transform.data.slice(1))
      );
      break;
    case 'skewX':
    case 'skewY':
      transform.data = degRound(transform.data);
      break;
    case 'scale':
      transform.data = transformRound(transform.data);
      break;
    case 'matrix':
      transform.data = transformRound(transform.data.slice(0, 4)).concat(
        floatRound(transform.data.slice(4))
      );
      break;
  }
  return transform;
}

/**
 * Rounds numbers in array.
 *
 * @param {Array} data input data array
 * @return {Array} output data array
 */
function round(data) {
  return data.map(Math.round);
}

/**
 * Decrease accuracy of floating-point numbers
 * in transforms keeping a specified number of decimals.
 * Smart rounds values like 2.349 to 2.35.
 *
 * @param {Number} fixed number of decimals
 * @param {Array} data input data array
 * @return {Array} output data array
 */
function smartRound(precision, data) {
  for (
    var i = data.length,
      tolerance = +Math.pow(0.1, precision).toFixed(precision);
    i--;

  ) {
    if (data[i].toFixed(precision) != data[i]) {
      var rounded = +data[i].toFixed(precision - 1);
      data[i] =
        +Math.abs(rounded - data[i]).toFixed(precision + 1) >= tolerance
          ? +data[i].toFixed(precision)
          : rounded;
    }
  }
  return data;
}


/***/ }),

/***/ 81462:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const csstree = __nccwpck_require__(65035);
const { querySelectorAll, closestByName } = __nccwpck_require__(56138);
const cssTools = __nccwpck_require__(39854);

exports.type = 'full';

exports.active = true;

exports.params = {
  onlyMatchedOnce: true,
  removeMatchedSelectors: true,
  useMqs: ['', 'screen'],
  usePseudos: [''],
};

exports.description = 'inline styles (additional options)';

/**
 * Moves + merges styles from style elements to element styles
 *
 * Options
 *   onlyMatchedOnce (default: true)
 *     inline only selectors that match once
 *
 *   removeMatchedSelectors (default: true)
 *     clean up matched selectors,
 *     leave selectors that hadn't matched
 *
 *   useMqs (default: ['', 'screen'])
 *     what media queries to be used
 *     empty string element for styles outside media queries
 *
 *   usePseudos (default: [''])
 *     what pseudo-classes/-elements to be used
 *     empty string element for all non-pseudo-classes and/or -elements
 *
 * @param {Object} root document element
 * @param {Object} opts plugin params
 *
 * @author strarsis <strarsis@gmail.com>
 */
exports.fn = function (root, opts) {
  // collect <style/>s
  var styleEls = querySelectorAll(root, 'style');

  //no <styles/>s, nothing to do
  if (styleEls.length === 0) {
    return root;
  }

  var styles = [],
    selectors = [];

  for (var styleEl of styleEls) {
    // values other than the empty string or text/css are not used
    if (
      styleEl.attributes.type != null &&
      styleEl.attributes.type !== '' &&
      styleEl.attributes.type !== 'text/css'
    ) {
      continue;
    }
    // skip empty <style/>s or <foreignObject> content.
    if (
      styleEl.children.length === 0 ||
      closestByName(styleEl, 'foreignObject')
    ) {
      continue;
    }

    var cssStr = cssTools.getCssStr(styleEl);

    // collect <style/>s and their css ast
    var cssAst = {};
    try {
      cssAst = csstree.parse(cssStr, {
        parseValue: false,
        parseCustomProperty: false,
      });
    } catch (parseError) {
      // console.warn('Warning: Parse error of styles of <style/> element, skipped. Error details: ' + parseError);
      continue;
    }

    styles.push({
      styleEl: styleEl,
      cssAst: cssAst,
    });

    selectors = selectors.concat(cssTools.flattenToSelectors(cssAst));
  }

  // filter for mediaqueries to be used or without any mediaquery
  var selectorsMq = cssTools.filterByMqs(selectors, opts.useMqs);

  // filter for pseudo elements to be used
  var selectorsPseudo = cssTools.filterByPseudos(selectorsMq, opts.usePseudos);

  // remove PseudoClass from its SimpleSelector for proper matching
  cssTools.cleanPseudos(selectorsPseudo);

  // stable sort selectors
  var sortedSelectors = cssTools.sortSelectors(selectorsPseudo).reverse();

  var selector, selectedEl;

  // match selectors
  for (selector of sortedSelectors) {
    var selectorStr = csstree.generate(selector.item.data),
      selectedEls = null;

    try {
      selectedEls = querySelectorAll(root, selectorStr);
    } catch (selectError) {
      // console.warn('Warning: Syntax error when trying to select \n\n' + selectorStr + '\n\n, skipped. Error details: ' + selectError);
      continue;
    }

    if (selectedEls.length === 0) {
      // nothing selected
      continue;
    }

    selector.selectedEls = selectedEls;
  }

  // apply <style/> styles to matched elements
  for (selector of sortedSelectors) {
    if (!selector.selectedEls) {
      continue;
    }

    if (
      opts.onlyMatchedOnce &&
      selector.selectedEls !== null &&
      selector.selectedEls.length > 1
    ) {
      // skip selectors that match more than once if option onlyMatchedOnce is enabled
      continue;
    }

    // apply <style/> to matched elements
    for (selectedEl of selector.selectedEls) {
      if (selector.rule === null) {
        continue;
      }

      // merge declarations
      csstree.walk(selector.rule, {
        visit: 'Declaration',
        enter: function (styleCsstreeDeclaration) {
          // existing inline styles have higher priority
          // no inline styles, external styles,                                    external styles used
          // inline styles,    external styles same   priority as inline styles,   inline   styles used
          // inline styles,    external styles higher priority than inline styles, external styles used
          var styleDeclaration = cssTools.csstreeToStyleDeclaration(
            styleCsstreeDeclaration
          );
          if (
            selectedEl.style.getPropertyValue(styleDeclaration.name) !== null &&
            selectedEl.style.getPropertyPriority(styleDeclaration.name) >=
              styleDeclaration.priority
          ) {
            return;
          }
          selectedEl.style.setProperty(
            styleDeclaration.name,
            styleDeclaration.value,
            styleDeclaration.priority
          );
        },
      });
    }

    if (
      opts.removeMatchedSelectors &&
      selector.selectedEls !== null &&
      selector.selectedEls.length > 0
    ) {
      // clean up matching simple selectors if option removeMatchedSelectors is enabled
      selector.rule.prelude.children.remove(selector.item);
    }
  }

  if (!opts.removeMatchedSelectors) {
    return root; // no further processing required
  }

  // clean up matched class + ID attribute values
  for (selector of sortedSelectors) {
    if (!selector.selectedEls) {
      continue;
    }

    if (
      opts.onlyMatchedOnce &&
      selector.selectedEls !== null &&
      selector.selectedEls.length > 1
    ) {
      // skip selectors that match more than once if option onlyMatchedOnce is enabled
      continue;
    }

    for (selectedEl of selector.selectedEls) {
      // class
      var firstSubSelector = selector.item.data.children.first();
      if (firstSubSelector.type === 'ClassSelector') {
        selectedEl.class.remove(firstSubSelector.name);
      }
      // clean up now empty class attributes
      if (typeof selectedEl.class.item(0) === 'undefined') {
        delete selectedEl.attributes.class;
      }

      // ID
      if (firstSubSelector.type === 'IdSelector') {
        if (selectedEl.attributes.id === firstSubSelector.name) {
          delete selectedEl.attributes.id;
        }
      }
    }
  }

  // clean up now empty elements
  for (var style of styles) {
    csstree.walk(style.cssAst, {
      visit: 'Rule',
      enter: function (node, item, list) {
        // clean up <style/> atrules without any rulesets left
        if (
          node.type === 'Atrule' &&
          // only Atrules containing rulesets
          node.block !== null &&
          node.block.children.isEmpty()
        ) {
          list.remove(item);
          return;
        }

        // clean up <style/> rulesets without any css selectors left
        if (node.type === 'Rule' && node.prelude.children.isEmpty()) {
          list.remove(item);
        }
      },
    });

    if (style.cssAst.children.isEmpty()) {
      // clean up now emtpy <style/>s
      var styleParentEl = style.styleEl.parentNode;
      styleParentEl.spliceContent(
        styleParentEl.children.indexOf(style.styleEl),
        1
      );

      if (
        styleParentEl.name === 'defs' &&
        styleParentEl.children.length === 0
      ) {
        // also clean up now empty <def/>s
        var defsParentEl = styleParentEl.parentNode;
        defsParentEl.spliceContent(
          defsParentEl.children.indexOf(styleParentEl),
          1
        );
      }

      continue;
    }

    // update existing, left over <style>s
    cssTools.setCssStr(style.styleEl, csstree.generate(style.cssAst));
  }

  return root;
};


/***/ }),

/***/ 19713:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { computeStyle } = __nccwpck_require__(88786);
const { path2js, js2path, intersects } = __nccwpck_require__(8963);

exports.type = 'perItem';

exports.active = true;

exports.description = 'merges multiple paths in one if possible';

exports.params = {
  collapseRepeated: true,
  force: false,
  leadingZero: true,
  negativeExtraSpace: true,
  noSpaceAfterFlags: false, // a20 60 45 0 1 30 20 → a20 60 45 0130 20
};

/**
 * Merge multiple Paths into one.
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich, Lev Solntsev
 */
exports.fn = function (item, params) {
  if (item.type !== 'element' || item.children.length === 0) return;

  let prevContentItem = null;
  let prevContentItemKeys = null;

  item.children = item.children.filter(function (contentItem) {
    if (
      prevContentItem &&
      prevContentItem.isElem('path') &&
      prevContentItem.children.length === 0 &&
      prevContentItem.attributes.d != null &&
      contentItem.isElem('path') &&
      contentItem.children.length === 0 &&
      contentItem.attributes.d != null
    ) {
      const computedStyle = computeStyle(contentItem);
      // keep path to not break markers
      if (
        computedStyle['marker-start'] ||
        computedStyle['marker-mid'] ||
        computedStyle['marker-end']
      ) {
        return true;
      }
      if (!prevContentItemKeys) {
        prevContentItemKeys = Object.keys(prevContentItem.attributes);
      }

      const contentItemAttrs = Object.keys(contentItem.attributes);
      const equalData =
        prevContentItemKeys.length == contentItemAttrs.length &&
        contentItemAttrs.every(function (key) {
          return (
            key == 'd' ||
            (prevContentItem.attributes[key] != null &&
              prevContentItem.attributes[key] == contentItem.attributes[key])
          );
        });
      const prevPathJS = path2js(prevContentItem);
      const curPathJS = path2js(contentItem);

      if (equalData && (params.force || !intersects(prevPathJS, curPathJS))) {
        js2path(prevContentItem, prevPathJS.concat(curPathJS), params);
        return false;
      }
    }

    prevContentItem = contentItem;
    prevContentItemKeys = null;
    return true;
  });
};


/***/ }),

/***/ 62899:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { closestByName, detachNodeFromParent } = __nccwpck_require__(56138);
const JSAPI = __nccwpck_require__(88692);

exports.type = 'visitor';
exports.active = true;
exports.description = 'merge multiple style elements into one';

/**
 * Merge multiple style elements into one.
 *
 * @author strarsis <strarsis@gmail.com>
 */
exports.fn = () => {
  let firstStyleElement = null;
  let collectedStyles = '';
  let styleContentType = 'text';

  const enterElement = (node) => {
    // collect style elements
    if (node.name !== 'style') {
      return;
    }

    // skip <style> with invalid type attribute
    if (
      node.attributes.type != null &&
      node.attributes.type !== '' &&
      node.attributes.type !== 'text/css'
    ) {
      return;
    }

    // skip <foreignObject> content
    if (closestByName(node, 'foreignObject')) {
      return;
    }

    // extract style element content
    let css = '';
    for (const child of node.children) {
      if (child.type === 'text') {
        css += child.value;
      }
      if (child.type === 'cdata') {
        styleContentType = 'cdata';
        css += child.value;
      }
    }

    // remove empty style elements
    if (css.trim().length === 0) {
      detachNodeFromParent(node);
      return;
    }

    // collect css and wrap with media query if present in attribute
    if (node.attributes.media == null) {
      collectedStyles += css;
    } else {
      collectedStyles += `@media ${node.attributes.media}{${css}}`;
      delete node.attributes.media;
    }

    // combine collected styles in the first style element
    if (firstStyleElement == null) {
      firstStyleElement = node;
    } else {
      detachNodeFromParent(node);
      firstStyleElement.children = [
        new JSAPI(
          { type: styleContentType, value: collectedStyles },
          firstStyleElement
        ),
      ];
    }
  };

  return {
    element: {
      enter: enterElement,
    },
  };
};


/***/ }),

/***/ 66250:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const csso = __nccwpck_require__(21811);
const { traverse } = __nccwpck_require__(56138);

exports.type = 'full';

exports.active = true;

exports.description =
  'minifies styles and removes unused styles based on usage data';

exports.params = {
  // ... CSSO options goes here

  // additional
  usage: {
    force: false, // force to use usage data even if it unsafe (document contains <script> or on* attributes)
    ids: true,
    classes: true,
    tags: true,
  },
};

/**
 * Minifies styles (<style> element + style attribute) using CSSO
 *
 * @author strarsis <strarsis@gmail.com>
 */
exports.fn = function (ast, options) {
  options = options || {};

  var minifyOptionsForStylesheet = cloneObject(options);
  var minifyOptionsForAttribute = cloneObject(options);
  var elems = findStyleElems(ast);

  minifyOptionsForStylesheet.usage = collectUsageData(ast, options);
  minifyOptionsForAttribute.usage = null;

  elems.forEach(function (elem) {
    if (elem.isElem('style')) {
      if (
        elem.children[0].type === 'text' ||
        elem.children[0].type === 'cdata'
      ) {
        const styleCss = elem.children[0].value;
        const minified = csso.minify(styleCss, minifyOptionsForStylesheet).css;
        // preserve cdata if necessary
        // TODO split cdata -> text optimisation into separate plugin
        if (styleCss.indexOf('>') >= 0 || styleCss.indexOf('<') >= 0) {
          elem.children[0].type = 'cdata';
          elem.children[0].value = minified;
        } else {
          elem.children[0].type = 'text';
          elem.children[0].value = minified;
        }
      }
    } else {
      // style attribute
      var elemStyle = elem.attributes.style;

      elem.attributes.style = csso.minifyBlock(
        elemStyle,
        minifyOptionsForAttribute
      ).css;
    }
  });

  return ast;
};

function cloneObject(obj) {
  return { ...obj };
}

function findStyleElems(ast) {
  const nodesWithStyles = [];
  traverse(ast, (node) => {
    if (node.type === 'element') {
      if (node.name === 'style' && node.children.length !== 0) {
        nodesWithStyles.push(node);
      } else if (node.attributes.style != null) {
        nodesWithStyles.push(node);
      }
    }
  });
  return nodesWithStyles;
}

function shouldFilter(options, name) {
  if ('usage' in options === false) {
    return true;
  }

  if (options.usage && name in options.usage === false) {
    return true;
  }

  return Boolean(options.usage && options.usage[name]);
}

function collectUsageData(ast, options) {
  let safe = true;
  const usageData = {};
  let hasData = false;
  const rawData = {
    ids: Object.create(null),
    classes: Object.create(null),
    tags: Object.create(null),
  };

  traverse(ast, (node) => {
    if (node.type === 'element') {
      if (node.name === 'script') {
        safe = false;
      }

      rawData.tags[node.name] = true;

      if (node.attributes.id != null) {
        rawData.ids[node.attributes.id] = true;
      }

      if (node.attributes.class != null) {
        node.attributes.class
          .replace(/^\s+|\s+$/g, '')
          .split(/\s+/)
          .forEach((className) => {
            rawData.classes[className] = true;
          });
      }

      if (Object.keys(node.attributes).some((name) => /^on/i.test(name))) {
        safe = false;
      }
    }
  });

  if (!safe && options.usage && options.usage.force) {
    safe = true;
  }

  for (const [key, data] of Object.entries(rawData)) {
    if (shouldFilter(options, key)) {
      usageData[key] = Object.keys(data);
      hasData = true;
    }
  }

  return safe && hasData ? usageData : null;
}


/***/ }),

/***/ 61468:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { inheritableAttrs, pathElems } = __nccwpck_require__(94434);

exports.type = 'perItemReverse';

exports.active = true;

exports.description = 'moves elements attributes to the existing group wrapper';

/**
 * Collapse content's intersected and inheritable
 * attributes to the existing group wrapper.
 *
 * @example
 * <g attr1="val1">
 *     <g attr2="val2">
 *         text
 *     </g>
 *     <circle attr2="val2" attr3="val3"/>
 * </g>
 *              ⬇
 * <g attr1="val1" attr2="val2">
 *     <g>
 *         text
 *     </g>
 *    <circle attr3="val3"/>
 * </g>
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (
    item.type === 'element' &&
    item.name === 'g' &&
    item.children.length > 1
  ) {
    var intersection = {},
      hasTransform = false,
      hasClip =
        item.attributes['clip-path'] != null || item.attributes.mask != null,
      intersected = item.children.every(function (inner) {
        if (
          inner.type === 'element' &&
          Object.keys(inner.attributes).length !== 0
        ) {
          // don't mess with possible styles (hack until CSS parsing is implemented)
          if (inner.attributes.class) return false;
          if (!Object.keys(intersection).length) {
            intersection = inner.attributes;
          } else {
            intersection = intersectInheritableAttrs(
              intersection,
              inner.attributes
            );

            if (!intersection) return false;
          }

          return true;
        }
      }),
      allPath = item.children.every(function (inner) {
        return inner.isElem(pathElems);
      });

    if (intersected) {
      item.children.forEach(function (g) {
        for (const [name, value] of Object.entries(intersection)) {
          if ((!allPath && !hasClip) || name !== 'transform') {
            delete g.attributes[name];

            if (name === 'transform') {
              if (!hasTransform) {
                if (item.attributes.transform != null) {
                  item.attributes.transform =
                    item.attributes.transform + ' ' + value;
                } else {
                  item.attributes.transform = value;
                }

                hasTransform = true;
              }
            } else {
              item.attributes[name] = value;
            }
          }
        }
      });
    }
  }
};

/**
 * Intersect inheritable attributes.
 *
 * @param {Object} a first attrs object
 * @param {Object} b second attrs object
 *
 * @return {Object} intersected attrs object
 */
function intersectInheritableAttrs(a, b) {
  var c = {};

  for (const [name, value] of Object.entries(a)) {
    if (
      // eslint-disable-next-line no-prototype-builtins
      b.hasOwnProperty(name) &&
      inheritableAttrs.includes(name) &&
      value === b[name]
    ) {
      c[name] = value;
    }
  }

  if (!Object.keys(c).length) return false;

  return c;
}


/***/ }),

/***/ 77302:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { pathElems, referencesProps } = __nccwpck_require__(94434);

exports.type = 'perItem';

exports.active = true;

exports.description = 'moves some group attributes to the content elements';

const pathElemsWithGroupsAndText = [...pathElems, 'g', 'text'];

/**
 * Move group attrs to the content elements.
 *
 * @example
 * <g transform="scale(2)">
 *     <path transform="rotate(45)" d="M0,0 L10,20"/>
 *     <path transform="translate(10, 20)" d="M0,10 L20,30"/>
 * </g>
 *                          ⬇
 * <g>
 *     <path transform="scale(2) rotate(45)" d="M0,0 L10,20"/>
 *     <path transform="scale(2) translate(10, 20)" d="M0,10 L20,30"/>
 * </g>
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  // move group transform attr to content's pathElems
  if (
    item.type === 'element' &&
    item.name === 'g' &&
    item.children.length !== 0 &&
    item.attributes.transform != null &&
    Object.entries(item.attributes).some(
      ([name, value]) =>
        referencesProps.includes(name) && value.includes('url(')
    ) === false &&
    item.children.every(
      (inner) =>
        pathElemsWithGroupsAndText.includes(inner.name) &&
        inner.attributes.id == null
    )
  ) {
    for (const inner of item.children) {
      const value = item.attributes.transform;
      if (inner.attributes.transform != null) {
        inner.attributes.transform = value + ' ' + inner.attributes.transform;
      } else {
        inner.attributes.transform = value;
      }
    }

    delete item.attributes.transform;
  }
};


/***/ }),

/***/ 73087:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.addAttributesToSVGElement = __nccwpck_require__(26335);
exports.addClassesToSVGElement = __nccwpck_require__(68708);
exports.cleanupAttrs = __nccwpck_require__(19696);
exports.cleanupEnableBackground = __nccwpck_require__(23176);
exports.cleanupIDs = __nccwpck_require__(61878);
exports.cleanupListOfValues = __nccwpck_require__(39312);
exports.cleanupNumericValues = __nccwpck_require__(73163);
exports.collapseGroups = __nccwpck_require__(83479);
exports.convertColors = __nccwpck_require__(61865);
exports.convertEllipseToCircle = __nccwpck_require__(33838);
exports.convertPathData = __nccwpck_require__(95642);
exports.convertShapeToPath = __nccwpck_require__(67854);
exports.convertStyleToAttrs = __nccwpck_require__(33926);
exports.convertTransform = __nccwpck_require__(9936);
exports.mergeStyles = __nccwpck_require__(62899);
exports.inlineStyles = __nccwpck_require__(81462);
exports.mergePaths = __nccwpck_require__(19713);
exports.minifyStyles = __nccwpck_require__(66250);
exports.moveElemsAttrsToGroup = __nccwpck_require__(61468);
exports.moveGroupAttrsToElems = __nccwpck_require__(77302);
exports.prefixIds = __nccwpck_require__(65933);
exports.removeAttributesBySelector = __nccwpck_require__(33917);
exports.removeAttrs = __nccwpck_require__(42418);
exports.removeComments = __nccwpck_require__(20160);
exports.removeDesc = __nccwpck_require__(73143);
exports.removeDimensions = __nccwpck_require__(73540);
exports.removeDoctype = __nccwpck_require__(83654);
exports.removeEditorsNSData = __nccwpck_require__(6250);
exports.removeElementsByAttr = __nccwpck_require__(13551);
exports.removeEmptyAttrs = __nccwpck_require__(55712);
exports.removeEmptyContainers = __nccwpck_require__(67752);
exports.removeEmptyText = __nccwpck_require__(56962);
exports.removeHiddenElems = __nccwpck_require__(66667);
exports.removeMetadata = __nccwpck_require__(92263);
exports.removeNonInheritableGroupAttrs = __nccwpck_require__(56516);
exports.removeOffCanvasPaths = __nccwpck_require__(91654);
exports.removeRasterImages = __nccwpck_require__(35926);
exports.removeScriptElement = __nccwpck_require__(48009);
exports.removeStyleElement = __nccwpck_require__(97295);
exports.removeTitle = __nccwpck_require__(20257);
exports.removeUnknownsAndDefaults = __nccwpck_require__(1961);
exports.removeUnusedNS = __nccwpck_require__(42737);
exports.removeUselessDefs = __nccwpck_require__(38067);
exports.removeUselessStrokeAndFill = __nccwpck_require__(27240);
exports.removeViewBox = __nccwpck_require__(85704);
exports.removeXMLNS = __nccwpck_require__(11928);
exports.removeXMLProcInst = __nccwpck_require__(57709);
exports.reusePaths = __nccwpck_require__(92823);
exports.sortAttrs = __nccwpck_require__(76964);
exports.sortDefsChildren = __nccwpck_require__(49983);


/***/ }),

/***/ 65933:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.params = {
  delim: '__',
  prefixIds: true,
  prefixClassNames: true,
};

exports.description = 'prefix IDs';

var csstree = __nccwpck_require__(65035),
  collections = __nccwpck_require__(94434),
  referencesProps = collections.referencesProps,
  rxId = /^#(.*)$/, // regular expression for matching an ID + extracing its name
  addPrefix = null;

const unquote = (string) => {
  const first = string.charAt(0);
  if (first === "'" || first === '"') {
    if (first === string.charAt(string.length - 1)) {
      return string.slice(1, -1);
    }
  }
  return string;
};

// Escapes a string for being used as ID
var escapeIdentifierName = function (str) {
  return str.replace(/[. ]/g, '_');
};

// Matches an #ID value, captures the ID name
var matchId = function (urlVal) {
  var idUrlMatches = urlVal.match(rxId);
  if (idUrlMatches === null) {
    return false;
  }
  return idUrlMatches[1];
};

// Matches an url(...) value, captures the URL
var matchUrl = function (val) {
  var urlMatches = /url\((.*?)\)/gi.exec(val);
  if (urlMatches === null) {
    return false;
  }
  return urlMatches[1];
};

// prefixes an #ID
var prefixId = function (val) {
  var idName = matchId(val);
  if (!idName) {
    return false;
  }
  return '#' + addPrefix(idName);
};

// prefixes a class attribute value
const addPrefixToClassAttr = (element, name) => {
  if (
    element.attributes[name] == null ||
    element.attributes[name].length === 0
  ) {
    return;
  }

  element.attributes[name] = element.attributes[name]
    .split(/\s+/)
    .map(addPrefix)
    .join(' ');
};

// prefixes an ID attribute value
const addPrefixToIdAttr = (element, name) => {
  if (
    element.attributes[name] == null ||
    element.attributes[name].length === 0
  ) {
    return;
  }

  element.attributes[name] = addPrefix(element.attributes[name]);
};

// prefixes a href attribute value
const addPrefixToHrefAttr = (element, name) => {
  if (
    element.attributes[name] == null ||
    element.attributes[name].length === 0
  ) {
    return;
  }

  const idPrefixed = prefixId(element.attributes[name]);
  if (!idPrefixed) {
    return;
  }
  element.attributes[name] = idPrefixed;
};

// prefixes an URL attribute value
const addPrefixToUrlAttr = (element, name) => {
  if (
    element.attributes[name] == null ||
    element.attributes[name].length === 0
  ) {
    return;
  }

  // url(...) in value
  const urlVal = matchUrl(element.attributes[name]);
  if (!urlVal) {
    return;
  }

  const idPrefixed = prefixId(urlVal);
  if (!idPrefixed) {
    return;
  }

  element.attributes[name] = 'url(' + idPrefixed + ')';
};

// prefixes begin/end attribute value
const addPrefixToBeginEndAttr = (element, name) => {
  if (
    element.attributes[name] == null ||
    element.attributes[name].length === 0
  ) {
    return;
  }

  const parts = element.attributes[name].split('; ').map((val) => {
    val = val.trim();

    if (val.endsWith('.end') || val.endsWith('.start')) {
      const [id, postfix] = val.split('.');

      let idPrefixed = prefixId(`#${id}`);

      if (!idPrefixed) {
        return val;
      }

      idPrefixed = idPrefixed.slice(1);
      return `${idPrefixed}.${postfix}`;
    } else {
      return val;
    }
  });

  element.attributes[name] = parts.join('; ');
};

const getBasename = (path) => {
  // extract everything after latest slash or backslash
  const matched = path.match(/[/\\]([^/\\]+)$/);
  if (matched) {
    return matched[1];
  }
  return '';
};

/**
 * Prefixes identifiers
 *
 * @param {Object} node node
 * @param {Object} opts plugin params
 * @param {Object} extra plugin extra information
 *
 * @author strarsis <strarsis@gmail.com>
 */
exports.fn = function (node, opts, extra) {
  // skip subsequent passes when multipass is used
  if (extra.multipassCount && extra.multipassCount > 0) {
    return;
  }

  // prefix, from file name or option
  var prefix = 'prefix';
  if (opts.prefix) {
    if (typeof opts.prefix === 'function') {
      prefix = opts.prefix(node, extra);
    } else {
      prefix = opts.prefix;
    }
  } else if (opts.prefix === false) {
    prefix = false;
  } else if (extra && extra.path && extra.path.length > 0) {
    var filename = getBasename(extra.path);
    prefix = filename;
  }

  // prefixes a normal value
  addPrefix = function (name) {
    if (prefix === false) {
      return escapeIdentifierName(name);
    }
    return escapeIdentifierName(prefix + opts.delim + name);
  };

  // <style/> property values

  if (node.type === 'element' && node.name === 'style') {
    if (node.children.length === 0) {
      // skip empty <style/>s
      return;
    }

    var cssStr = '';
    if (node.children[0].type === 'text' || node.children[0].type === 'cdata') {
      cssStr = node.children[0].value;
    }

    var cssAst = {};
    try {
      cssAst = csstree.parse(cssStr, {
        parseValue: true,
        parseCustomProperty: false,
      });
    } catch (parseError) {
      console.warn(
        'Warning: Parse error of styles of <style/> element, skipped. Error details: ' +
          parseError
      );
      return;
    }

    var idPrefixed = '';
    csstree.walk(cssAst, function (node) {
      // #ID, .class
      if (
        ((opts.prefixIds && node.type === 'IdSelector') ||
          (opts.prefixClassNames && node.type === 'ClassSelector')) &&
        node.name
      ) {
        node.name = addPrefix(node.name);
        return;
      }

      // url(...) in value
      if (
        node.type === 'Url' &&
        node.value.value &&
        node.value.value.length > 0
      ) {
        idPrefixed = prefixId(unquote(node.value.value));
        if (!idPrefixed) {
          return;
        }
        node.value.value = idPrefixed;
      }
    });

    // update <style>s
    node.children[0].value = csstree.generate(cssAst);
    return;
  }

  // element attributes

  if (node.type !== 'element') {
    return;
  }

  // Nodes

  if (opts.prefixIds) {
    // ID
    addPrefixToIdAttr(node, 'id');
  }

  if (opts.prefixClassNames) {
    // Class
    addPrefixToClassAttr(node, 'class');
  }

  // References

  // href
  addPrefixToHrefAttr(node, 'href');

  // (xlink:)href (deprecated, must be still supported)
  addPrefixToHrefAttr(node, 'xlink:href');

  // (referenceable) properties
  for (var referencesProp of referencesProps) {
    addPrefixToUrlAttr(node, referencesProp);
  }

  addPrefixToBeginEndAttr(node, 'begin');
  addPrefixToBeginEndAttr(node, 'end');
};


/***/ }),

/***/ 33917:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description =
  'removes attributes of elements that match a css selector';

/**
 * Removes attributes of elements that match a css selector.
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @example
 * <caption>A selector removing a single attribute</caption>
 * plugins:
 *   - removeAttributesBySelector:
 *       selector: "[fill='#00ff00']"
 *       attributes: "fill"
 *
 * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/>
 *   ↓
 * <rect x="0" y="0" width="100" height="100" stroke="#00ff00"/>
 *
 * <caption>A selector removing multiple attributes</caption>
 * plugins:
 *   - removeAttributesBySelector:
 *       selector: "[fill='#00ff00']"
 *       attributes:
 *         - fill
 *         - stroke
 *
 * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/>
 *   ↓
 * <rect x="0" y="0" width="100" height="100"/>
 *
 * <caption>Multiple selectors removing attributes</caption>
 * plugins:
 *   - removeAttributesBySelector:
 *       selectors:
 *         - selector: "[fill='#00ff00']"
 *           attributes: "fill"
 *
 *         - selector: "#remove"
 *           attributes:
 *             - stroke
 *             - id
 *
 * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/>
 *   ↓
 * <rect x="0" y="0" width="100" height="100"/>
 *
 * @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors|MDN CSS Selectors}
 *
 * @author Bradley Mease
 */
exports.fn = function (item, params) {
  var selectors = Array.isArray(params.selectors) ? params.selectors : [params];

  selectors.map(({ selector, attributes }) => {
    if (item.matches(selector)) {
      if (Array.isArray(attributes)) {
        for (const name of attributes) {
          delete item.attributes[name];
        }
      } else {
        delete item.attributes[attributes];
      }
    }
  });
};


/***/ }),

/***/ 42418:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


var DEFAULT_SEPARATOR = ':';

exports.type = 'perItem';

exports.active = false;

exports.description = 'removes specified attributes';

exports.params = {
  elemSeparator: DEFAULT_SEPARATOR,
  preserveCurrentColor: false,
  attrs: [],
};

/**
 * Remove attributes
 *
 * @param elemSeparator
 *   format: string
 *
 * @param preserveCurrentColor
 *   format: boolean
 *
 * @param attrs:
 *
 *   format: [ element* : attribute* : value* ]
 *
 *   element   : regexp (wrapped into ^...$), single * or omitted > all elements (must be present when value is used)
 *   attribute : regexp (wrapped into ^...$)
 *   value     : regexp (wrapped into ^...$), single * or omitted > all values
 *
 *   examples:
 *
 *     > basic: remove fill attribute
 *     ---
 *     removeAttrs:
 *       attrs: 'fill'
 *
 *     > remove fill attribute on path element
 *     ---
 *       attrs: 'path:fill'
 *
 *     > remove fill attribute on path element where value is none
 *     ---
 *       attrs: 'path:fill:none'
 *
 *
 *     > remove all fill and stroke attribute
 *     ---
 *       attrs:
 *         - 'fill'
 *         - 'stroke'
 *
 *     [is same as]
 *
 *       attrs: '(fill|stroke)'
 *
 *     [is same as]
 *
 *       attrs: '*:(fill|stroke)'
 *
 *     [is same as]
 *
 *       attrs: '.*:(fill|stroke)'
 *
 *     [is same as]
 *
 *       attrs: '.*:(fill|stroke):.*'
 *
 *
 *     > remove all stroke related attributes
 *     ----
 *     attrs: 'stroke.*'
 *
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Benny Schudel
 */
exports.fn = function (item, params) {
  // wrap into an array if params is not
  if (!Array.isArray(params.attrs)) {
    params.attrs = [params.attrs];
  }

  if (item.type === 'element') {
    var elemSeparator =
      typeof params.elemSeparator == 'string'
        ? params.elemSeparator
        : DEFAULT_SEPARATOR;
    var preserveCurrentColor =
      typeof params.preserveCurrentColor == 'boolean'
        ? params.preserveCurrentColor
        : false;

    // prepare patterns
    var patterns = params.attrs.map(function (pattern) {
      // if no element separators (:), assume it's attribute name, and apply to all elements *regardless of value*
      if (pattern.indexOf(elemSeparator) === -1) {
        pattern = ['.*', elemSeparator, pattern, elemSeparator, '.*'].join('');

        // if only 1 separator, assume it's element and attribute name, and apply regardless of attribute value
      } else if (pattern.split(elemSeparator).length < 3) {
        pattern = [pattern, elemSeparator, '.*'].join('');
      }

      // create regexps for element, attribute name, and attribute value
      return pattern.split(elemSeparator).map(function (value) {
        // adjust single * to match anything
        if (value === '*') {
          value = '.*';
        }

        return new RegExp(['^', value, '$'].join(''), 'i');
      });
    });

    // loop patterns
    patterns.forEach(function (pattern) {
      // matches element
      if (pattern[0].test(item.name)) {
        // loop attributes
        for (const [name, value] of Object.entries(item.attributes)) {
          var isFillCurrentColor =
            preserveCurrentColor && name == 'fill' && value == 'currentColor';
          var isStrokeCurrentColor =
            preserveCurrentColor && name == 'stroke' && value == 'currentColor';

          if (!(isFillCurrentColor || isStrokeCurrentColor)) {
            // matches attribute name
            if (pattern[1].test(name)) {
              // matches attribute value
              if (pattern[2].test(value)) {
                delete item.attributes[name];
              }
            }
          }
        }
      }
    });
  }
};


/***/ }),

/***/ 20160:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes comments';

/**
 * Remove comments.
 *
 * @example
 * <!-- Generator: Adobe Illustrator 15.0.0, SVG Export
 * Plug-In . SVG Version: 6.00 Build 0)  -->
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (item.type === 'comment' && item.value.charAt(0) !== '!') {
    return false;
  }
};


/***/ }),

/***/ 73143:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.params = {
  removeAny: true,
};

exports.description = 'removes <desc>';

var standardDescs = /^(Created with|Created using)/;

/**
 * Removes <desc>.
 * Removes only standard editors content or empty elements 'cause it can be used for accessibility.
 * Enable parameter 'removeAny' to remove any description.
 *
 * https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Daniel Wabyick
 */
exports.fn = function (item, params) {
  return (
    !item.isElem('desc') ||
    !(
      params.removeAny ||
      item.children.length === 0 ||
      (item.children[0].type === 'text' &&
        standardDescs.test(item.children[0].value))
    )
  );
};


/***/ }),

/***/ 73540:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description =
  'removes width and height in presence of viewBox (opposite to removeViewBox, disable it first)';

/**
 * Remove width/height attributes and add the viewBox attribute if it's missing
 *
 * @example
 * <svg width="100" height="50" />
 *   ↓
 * <svg viewBox="0 0 100 50" />
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if true, with and height will be filtered out
 *
 * @author Benny Schudel
 */
exports.fn = function (item) {
  if (item.type === 'element' && item.name === 'svg') {
    if (item.attributes.viewBox != null) {
      delete item.attributes.width;
      delete item.attributes.height;
    } else if (
      item.attributes.width != null &&
      item.attributes.height != null &&
      Number.isNaN(Number(item.attributes.width)) === false &&
      Number.isNaN(Number(item.attributes.height)) === false
    ) {
      const width = Number(item.attributes.width);
      const height = Number(item.attributes.height);
      item.attributes.viewBox = `0 0 ${width} ${height}`;
      delete item.attributes.width;
      delete item.attributes.height;
    }
  }
};


/***/ }),

/***/ 83654:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes doctype declaration';

/**
 * Remove DOCTYPE declaration.
 *
 * "Unfortunately the SVG DTDs are a source of so many
 * issues that the SVG WG has decided not to write one
 * for the upcoming SVG 1.2 standard. In fact SVG WG
 * members are even telling people not to use a DOCTYPE
 * declaration in SVG 1.0 and 1.1 documents"
 * https://jwatt.org/svg/authoring/#doctype-declaration
 *
 * @example
 * <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 * q"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 *
 * @example
 * <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 * "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
 *     <!-- an internal subset can be embedded here -->
 * ]>
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (item.type === 'doctype') {
    return false;
  }
};


/***/ }),

/***/ 6250:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { parseName } = __nccwpck_require__(44074);
const { editorNamespaces } = __nccwpck_require__(94434);

exports.type = 'perItem';

exports.active = true;

exports.description = 'removes editors namespaces, elements and attributes';

const prefixes = [];

exports.params = {
  additionalNamespaces: [],
};

/**
 * Remove editors namespaces, elements and attributes.
 *
 * @example
 * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd">
 * <sodipodi:namedview/>
 * <path sodipodi:nodetypes="cccc"/>
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  let namespaces = editorNamespaces;
  if (Array.isArray(params.additionalNamespaces)) {
    namespaces = [...editorNamespaces, ...params.additionalNamespaces];
  }

  if (item.type === 'element') {
    if (item.isElem('svg')) {
      for (const [name, value] of Object.entries(item.attributes)) {
        const { prefix, local } = parseName(name);
        if (prefix === 'xmlns' && namespaces.includes(value)) {
          prefixes.push(local);

          // <svg xmlns:sodipodi="">
          delete item.attributes[name];
        }
      }
    }

    // <* sodipodi:*="">
    for (const name of Object.keys(item.attributes)) {
      const { prefix } = parseName(name);
      if (prefixes.includes(prefix)) {
        delete item.attributes[name];
      }
    }

    // <sodipodi:*>
    const { prefix } = parseName(item.name);
    if (prefixes.includes(prefix)) {
      return false;
    }
  }
};


/***/ }),

/***/ 13551:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description =
  'removes arbitrary elements by ID or className (disabled by default)';

exports.params = {
  id: [],
  class: [],
};

/**
 * Remove arbitrary SVG elements by ID or className.
 *
 * @param id
 *   examples:
 *
 *     > single: remove element with ID of `elementID`
 *     ---
 *     removeElementsByAttr:
 *       id: 'elementID'
 *
 *     > list: remove multiple elements by ID
 *     ---
 *     removeElementsByAttr:
 *       id:
 *         - 'elementID'
 *         - 'anotherID'
 *
 * @param class
 *   examples:
 *
 *     > single: remove all elements with class of `elementClass`
 *     ---
 *     removeElementsByAttr:
 *       class: 'elementClass'
 *
 *     > list: remove all elements with class of `elementClass` or `anotherClass`
 *     ---
 *     removeElementsByAttr:
 *       class:
 *         - 'elementClass'
 *         - 'anotherClass'
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Eli Dupuis (@elidupuis)
 */
exports.fn = function (item, params) {
  // wrap params in an array if not already
  ['id', 'class'].forEach(function (key) {
    if (!Array.isArray(params[key])) {
      params[key] = [params[key]];
    }
  });

  // abort if current item is no an element
  if (item.type !== 'element') {
    return;
  }

  // remove element if it's `id` matches configured `id` params
  if (item.attributes.id != null && params.id.length !== 0) {
    return params.id.includes(item.attributes.id) === false;
  }

  // remove element if it's `class` contains any of the configured `class` params
  if (item.attributes.class && params.class.length !== 0) {
    const classList = item.attributes.class.split(' ');
    return params.class.some((item) => classList.includes(item)) === false;
  }
};


/***/ }),

/***/ 55712:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { attrsGroups } = __nccwpck_require__(94434);

exports.type = 'perItem';

exports.active = true;

exports.description = 'removes empty attributes';

/**
 * Remove attributes with empty values.
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (item.type === 'element') {
    for (const [name, value] of Object.entries(item.attributes)) {
      if (
        value === '' &&
        // empty conditional processing attributes prevents elements from rendering
        attrsGroups.conditionalProcessing.includes(name) === false
      ) {
        delete item.attributes[name];
      }
    }
  }
};


/***/ }),

/***/ 67752:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { elemsGroups } = __nccwpck_require__(94434);

exports.type = 'perItemReverse';

exports.active = true;

exports.description = 'removes empty container elements';

/**
 * Remove empty containers.
 *
 * @see https://www.w3.org/TR/SVG11/intro.html#TermContainerElement
 *
 * @example
 * <defs/>
 *
 * @example
 * <g><marker><a/></marker></g>
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (item.type === 'element') {
    return (
      item.children.length !== 0 ||
      elemsGroups.container.includes(item.name) === false ||
      item.name === 'svg' ||
      // empty patterns may contain reusable configuration
      (item.name === 'pattern' && Object.keys(item.attributes).length !== 0) ||
      // The 'g' may not have content, but the filter may cause a rectangle
      // to be created and filled with pattern.
      (item.name === 'g' && item.attributes.filter != null) ||
      // empty <mask> hides masked element
      (item.name === 'mask' && item.attributes.id != null)
    );
  }
  return true;
};


/***/ }),

/***/ 56962:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes empty <text> elements';

exports.params = {
  text: true,
  tspan: true,
  tref: true,
};

/**
 * Remove empty Text elements.
 *
 * @see https://www.w3.org/TR/SVG11/text.html
 *
 * @example
 * Remove empty text element:
 * <text/>
 *
 * Remove empty tspan element:
 * <tspan/>
 *
 * Remove tref with empty xlink:href attribute:
 * <tref xlink:href=""/>
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element') {
    // Remove empty text element
    if (params.text && item.name === 'text' && item.children.length === 0) {
      return false;
    }

    // Remove empty tspan element
    if (params.tspan && item.name === 'tspan' && item.children.length === 0) {
      return false;
    }

    // Remove tref with empty xlink:href attribute
    if (
      params.tref &&
      item.name === 'tref' &&
      item.attributes['xlink:href'] == null
    ) {
      return false;
    }
  }
};


/***/ }),

/***/ 66667:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { querySelector, closestByName } = __nccwpck_require__(56138);
const { computeStyle } = __nccwpck_require__(88786);
const { parsePathData } = __nccwpck_require__(86495);

exports.type = 'perItem';

exports.active = true;

exports.description =
  'removes hidden elements (zero sized, with absent attributes)';

exports.params = {
  isHidden: true,
  displayNone: true,
  opacity0: true,
  circleR0: true,
  ellipseRX0: true,
  ellipseRY0: true,
  rectWidth0: true,
  rectHeight0: true,
  patternWidth0: true,
  patternHeight0: true,
  imageWidth0: true,
  imageHeight0: true,
  pathEmptyD: true,
  polylineEmptyPoints: true,
  polygonEmptyPoints: true,
};

/**
 * Remove hidden elements with disabled rendering:
 * - display="none"
 * - opacity="0"
 * - circle with zero radius
 * - ellipse with zero x-axis or y-axis radius
 * - rectangle with zero width or height
 * - pattern with zero width or height
 * - image with zero width or height
 * - path with empty data
 * - polyline with empty points
 * - polygon with empty points
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.type === 'element') {
    // Removes hidden elements
    // https://www.w3schools.com/cssref/pr_class_visibility.asp
    const computedStyle = computeStyle(item);
    if (
      params.isHidden &&
      computedStyle.visibility &&
      computedStyle.visibility.type === 'static' &&
      computedStyle.visibility.value === 'hidden' &&
      // keep if any descendant enables visibility
      querySelector(item, '[visibility=visible]') == null
    ) {
      return false;
    }

    // display="none"
    //
    // https://www.w3.org/TR/SVG11/painting.html#DisplayProperty
    // "A value of display: none indicates that the given element
    // and its children shall not be rendered directly"
    if (
      params.displayNone &&
      computedStyle.display &&
      computedStyle.display.type === 'static' &&
      computedStyle.display.value === 'none' &&
      // markers with display: none still rendered
      item.isElem('marker') === false
    ) {
      return false;
    }

    // opacity="0"
    //
    // https://www.w3.org/TR/SVG11/masking.html#ObjectAndGroupOpacityProperties
    if (
      params.opacity0 &&
      computedStyle.opacity &&
      computedStyle.opacity.type === 'static' &&
      computedStyle.opacity.value === '0' &&
      // transparent element inside clipPath still affect clipped elements
      closestByName(item, 'clipPath') == null
    ) {
      return false;
    }

    // Circles with zero radius
    //
    // https://www.w3.org/TR/SVG11/shapes.html#CircleElementRAttribute
    // "A value of zero disables rendering of the element"
    //
    // <circle r="0">
    if (
      params.circleR0 &&
      item.isElem('circle') &&
      item.children.length === 0 &&
      item.attributes.r === '0'
    ) {
      return false;
    }

    // Ellipse with zero x-axis radius
    //
    // https://www.w3.org/TR/SVG11/shapes.html#EllipseElementRXAttribute
    // "A value of zero disables rendering of the element"
    //
    // <ellipse rx="0">
    if (
      params.ellipseRX0 &&
      item.isElem('ellipse') &&
      item.children.length === 0 &&
      item.attributes.rx === '0'
    ) {
      return false;
    }

    // Ellipse with zero y-axis radius
    //
    // https://www.w3.org/TR/SVG11/shapes.html#EllipseElementRYAttribute
    // "A value of zero disables rendering of the element"
    //
    // <ellipse ry="0">
    if (
      params.ellipseRY0 &&
      item.isElem('ellipse') &&
      item.children.length === 0 &&
      item.attributes.ry === '0'
    ) {
      return false;
    }

    // Rectangle with zero width
    //
    // https://www.w3.org/TR/SVG11/shapes.html#RectElementWidthAttribute
    // "A value of zero disables rendering of the element"
    //
    // <rect width="0">
    if (
      params.rectWidth0 &&
      item.isElem('rect') &&
      item.children.length === 0 &&
      item.attributes.width === '0'
    ) {
      return false;
    }

    // Rectangle with zero height
    //
    // https://www.w3.org/TR/SVG11/shapes.html#RectElementHeightAttribute
    // "A value of zero disables rendering of the element"
    //
    // <rect height="0">
    if (
      params.rectHeight0 &&
      params.rectWidth0 &&
      item.isElem('rect') &&
      item.children.length === 0 &&
      item.attributes.height === '0'
    ) {
      return false;
    }

    // Pattern with zero width
    //
    // https://www.w3.org/TR/SVG11/pservers.html#PatternElementWidthAttribute
    // "A value of zero disables rendering of the element (i.e., no paint is applied)"
    //
    // <pattern width="0">
    if (
      params.patternWidth0 &&
      item.isElem('pattern') &&
      item.attributes.width === '0'
    ) {
      return false;
    }

    // Pattern with zero height
    //
    // https://www.w3.org/TR/SVG11/pservers.html#PatternElementHeightAttribute
    // "A value of zero disables rendering of the element (i.e., no paint is applied)"
    //
    // <pattern height="0">
    if (
      params.patternHeight0 &&
      item.isElem('pattern') &&
      item.attributes.height === '0'
    ) {
      return false;
    }

    // Image with zero width
    //
    // https://www.w3.org/TR/SVG11/struct.html#ImageElementWidthAttribute
    // "A value of zero disables rendering of the element"
    //
    // <image width="0">
    if (
      params.imageWidth0 &&
      item.isElem('image') &&
      item.attributes.width === '0'
    ) {
      return false;
    }

    // Image with zero height
    //
    // https://www.w3.org/TR/SVG11/struct.html#ImageElementHeightAttribute
    // "A value of zero disables rendering of the element"
    //
    // <image height="0">
    if (
      params.imageHeight0 &&
      item.isElem('image') &&
      item.attributes.height === '0'
    ) {
      return false;
    }

    // Path with empty data
    //
    // https://www.w3.org/TR/SVG11/paths.html#DAttribute
    //
    // <path d=""/>
    if (params.pathEmptyD && item.isElem('path')) {
      if (item.attributes.d == null) {
        return false;
      }
      const pathData = parsePathData(item.attributes.d);
      if (pathData.length === 0) {
        return false;
      }
      // keep single point paths for markers
      if (
        pathData.length === 1 &&
        computedStyle['marker-start'] == null &&
        computedStyle['marker-end'] == null
      ) {
        return false;
      }
      return true;
    }

    // Polyline with empty points
    //
    // https://www.w3.org/TR/SVG11/shapes.html#PolylineElementPointsAttribute
    //
    // <polyline points="">
    if (
      params.polylineEmptyPoints &&
      item.isElem('polyline') &&
      item.attributes.points == null
    ) {
      return false;
    }

    // Polygon with empty points
    //
    // https://www.w3.org/TR/SVG11/shapes.html#PolygonElementPointsAttribute
    //
    // <polygon points="">
    if (
      params.polygonEmptyPoints &&
      item.isElem('polygon') &&
      item.attributes.points == null
    ) {
      return false;
    }
  }
};


/***/ }),

/***/ 92263:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes <metadata>';

/**
 * Remove <metadata>.
 *
 * https://www.w3.org/TR/SVG11/metadata.html
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  return !item.isElem('metadata');
};


/***/ }),

/***/ 56516:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description =
  'removes non-inheritable group’s presentational attributes';

const {
  inheritableAttrs,
  attrsGroups,
  presentationNonInheritableGroupAttrs,
} = __nccwpck_require__(94434);

/**
 * Remove non-inheritable group's "presentation" attributes.
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (item.type === 'element' && item.name === 'g') {
    for (const name of Object.keys(item.attributes)) {
      if (
        attrsGroups.presentation.includes(name) === true &&
        inheritableAttrs.includes(name) === false &&
        presentationNonInheritableGroupAttrs.includes(name) === false
      ) {
        delete item.attributes[name];
      }
    }
  }
};


/***/ }),

/***/ 91654:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description =
  'removes elements that are drawn outside of the viewbox (disabled by default)';

const JSAPI = __nccwpck_require__(88692);

var _path = __nccwpck_require__(8963),
  intersects = _path.intersects,
  path2js = _path.path2js,
  viewBox,
  viewBoxJS;

/**
 * Remove elements that are drawn outside of the viewbox.
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author JoshyPHP
 */
exports.fn = function (item) {
  if (
    item.type === 'element' &&
    item.name === 'path' &&
    item.attributes.d != null &&
    typeof viewBox !== 'undefined'
  ) {
    // Consider that any item with a transform attribute or a M instruction
    // within the viewBox is visible
    if (hasTransform(item) || pathMovesWithinViewBox(item.attributes.d)) {
      return true;
    }

    var pathJS = path2js(item);
    if (pathJS.length === 2) {
      // Use a closed clone of the path if it's too short for intersects()
      pathJS = JSON.parse(JSON.stringify(pathJS));
      pathJS.push({ instruction: 'z' });
    }

    return intersects(viewBoxJS, pathJS);
  }
  if (item.type === 'element' && item.name === 'svg') {
    parseViewBox(item);
  }

  return true;
};

/**
 * Test whether given item or any of its ancestors has a transform attribute.
 *
 * @param {String} path
 * @return {Boolean}
 */
function hasTransform(item) {
  return (
    item.attributes.transform != null ||
    (item.parentNode &&
      item.parentNode.type === 'element' &&
      hasTransform(item.parentNode))
  );
}

/**
 * Parse the viewBox coordinates and compute the JS representation of its path.
 *
 * @param {Object} svg svg element item
 */
function parseViewBox(svg) {
  var viewBoxData = '';
  if (svg.attributes.viewBox != null) {
    // Remove commas and plus signs, normalize and trim whitespace
    viewBoxData = svg.attributes.viewBox;
  } else if (svg.attributes.height != null && svg.attributes.width != null) {
    viewBoxData = `0 0 ${svg.attributes.width} ${svg.attributes.height}`;
  }

  // Remove commas and plus signs, normalize and trim whitespace
  viewBoxData = viewBoxData
    .replace(/[,+]|px/g, ' ')
    .replace(/\s+/g, ' ')
    .replace(/^\s*|\s*$/g, '');

  // Ensure that the dimensions are 4 values separated by space
  var m = /^(-?\d*\.?\d+) (-?\d*\.?\d+) (\d*\.?\d+) (\d*\.?\d+)$/.exec(
    viewBoxData
  );
  if (!m) {
    return;
  }

  // Store the viewBox boundaries
  viewBox = {
    left: parseFloat(m[1]),
    top: parseFloat(m[2]),
    right: parseFloat(m[1]) + parseFloat(m[3]),
    bottom: parseFloat(m[2]) + parseFloat(m[4]),
  };

  var path = new JSAPI({
    type: 'element',
    name: 'path',
    attributes: {
      d: 'M' + m[1] + ' ' + m[2] + 'h' + m[3] + 'v' + m[4] + 'H' + m[1] + 'z',
    },
    content: [],
  });

  viewBoxJS = path2js(path);
}

/**
 * Test whether given path has a M instruction with coordinates within the viewBox.
 *
 * @param {String} path
 * @return {Boolean}
 */
function pathMovesWithinViewBox(path) {
  var regexp = /M\s*(-?\d*\.?\d+)(?!\d)\s*(-?\d*\.?\d+)/g,
    m;
  while (null !== (m = regexp.exec(path))) {
    if (
      m[1] >= viewBox.left &&
      m[1] <= viewBox.right &&
      m[2] >= viewBox.top &&
      m[2] <= viewBox.bottom
    ) {
      return true;
    }
  }

  return false;
}


/***/ }),

/***/ 35926:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description = 'removes raster images (disabled by default)';

/**
 * Remove raster images references in <image>.
 *
 * @see https://bugs.webkit.org/show_bug.cgi?id=63548
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (
    item.type === 'element' &&
    item.name === 'image' &&
    item.attributes['xlink:href'] != null &&
    /(\.|image\/)(jpg|png|gif)/.test(item.attributes['xlink:href'])
  ) {
    return false;
  }
};


/***/ }),

/***/ 48009:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description = 'removes <script> elements (disabled by default)';

/**
 * Remove <script>.
 *
 * https://www.w3.org/TR/SVG11/script.html
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Patrick Klingemann
 */
exports.fn = function (item) {
  return !item.isElem('script');
};


/***/ }),

/***/ 97295:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description = 'removes <style> element (disabled by default)';

/**
 * Remove <style>.
 *
 * https://www.w3.org/TR/SVG11/styling.html#StyleElement
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Betsy Dupuis
 */
exports.fn = function (item) {
  return !item.isElem('style');
};


/***/ }),

/***/ 20257:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes <title>';

/**
 * Remove <title>.
 *
 * https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Igor Kalashnikov
 */
exports.fn = function (item) {
  return !item.isElem('title');
};


/***/ }),

/***/ 1961:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { parseName } = __nccwpck_require__(44074);

exports.type = 'perItem';

exports.active = true;

exports.description =
  'removes unknown elements content and attributes, removes attrs with default values';

exports.params = {
  unknownContent: true,
  unknownAttrs: true,
  defaultAttrs: true,
  uselessOverrides: true,
  keepDataAttrs: true,
  keepAriaAttrs: true,
  keepRoleAttr: false,
};

var collections = __nccwpck_require__(94434),
  elems = collections.elems,
  attrsGroups = collections.attrsGroups,
  elemsGroups = collections.elemsGroups,
  attrsGroupsDefaults = collections.attrsGroupsDefaults,
  attrsInheritable = collections.inheritableAttrs,
  applyGroups = collections.presentationNonInheritableGroupAttrs;

// collect and extend all references
for (const elem of Object.values(elems)) {
  if (elem.attrsGroups) {
    elem.attrs = elem.attrs || [];

    elem.attrsGroups.forEach(function (attrsGroupName) {
      elem.attrs = elem.attrs.concat(attrsGroups[attrsGroupName]);

      var groupDefaults = attrsGroupsDefaults[attrsGroupName];

      if (groupDefaults) {
        elem.defaults = elem.defaults || {};

        for (const [attrName, attr] of Object.entries(groupDefaults)) {
          elem.defaults[attrName] = attr;
        }
      }
    });
  }

  if (elem.contentGroups) {
    elem.content = elem.content || [];

    elem.contentGroups.forEach(function (contentGroupName) {
      elem.content = elem.content.concat(elemsGroups[contentGroupName]);
    });
  }
}

/**
 * Remove unknown elements content and attributes,
 * remove attributes with default values.
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  // elems w/o namespace prefix
  if (item.type === 'element' && !parseName(item.name).prefix) {
    var elem = item.name;

    // remove unknown element's content
    if (
      params.unknownContent &&
      elems[elem] && // make sure we know of this element before checking its children
      elem !== 'foreignObject' // Don't check foreignObject
    ) {
      item.children.forEach(function (content, i) {
        if (
          content.type === 'element' &&
          !parseName(content.name).prefix &&
          ((elems[elem].content && // Do we have a record of its permitted content?
            elems[elem].content.indexOf(content.name) === -1) ||
            (!elems[elem].content && // we dont know about its permitted content
              !elems[content.name])) // check that we know about the element at all
        ) {
          item.children.splice(i, 1);
        }
      });
    }

    // remove element's unknown attrs and attrs with default values
    if (elems[elem] && elems[elem].attrs) {
      for (const [name, value] of Object.entries(item.attributes)) {
        const { prefix } = parseName(name);
        if (
          name !== 'xmlns' &&
          (prefix === 'xml' || !prefix) &&
          (!params.keepDataAttrs || name.indexOf('data-') != 0) &&
          (!params.keepAriaAttrs || name.indexOf('aria-') != 0) &&
          (!params.keepRoleAttr || name != 'role')
        ) {
          if (
            // unknown attrs
            (params.unknownAttrs && elems[elem].attrs.indexOf(name) === -1) ||
            // attrs with default values
            (params.defaultAttrs &&
              item.attributes.id == null &&
              elems[elem].defaults &&
              elems[elem].defaults[name] === value &&
              (attrsInheritable.includes(name) === false ||
                !item.parentNode.computedAttr(name))) ||
            // useless overrides
            (params.uselessOverrides &&
              item.attributes.id == null &&
              applyGroups.includes(name) === false &&
              attrsInheritable.includes(name) === true &&
              item.parentNode.computedAttr(name, value))
          ) {
            delete item.attributes[name];
          }
        }
      }
    }
  }
};


/***/ }),

/***/ 42737:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { traverse } = __nccwpck_require__(56138);
const { parseName } = __nccwpck_require__(44074);

exports.type = 'full';

exports.active = true;

exports.description = 'removes unused namespaces declaration';

/**
 * Remove unused namespaces declaration.
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (root) {
  let svgElem;
  const xmlnsCollection = [];

  /**
   * Remove namespace from collection.
   *
   * @param {String} ns namescape name
   */
  function removeNSfromCollection(ns) {
    const pos = xmlnsCollection.indexOf(ns);

    // if found - remove ns from the namespaces collection
    if (pos > -1) {
      xmlnsCollection.splice(pos, 1);
    }
  }

  traverse(root, (node) => {
    if (node.type === 'element') {
      if (node.name === 'svg') {
        for (const name of Object.keys(node.attributes)) {
          const { prefix, local } = parseName(name);
          // collect namespaces
          if (prefix === 'xmlns' && local) {
            xmlnsCollection.push(local);
          }
        }

        // if svg element has ns-attr
        if (xmlnsCollection.length) {
          // save svg element
          svgElem = node;
        }
      }

      if (xmlnsCollection.length) {
        const { prefix } = parseName(node.name);
        // check node for the ns-attrs
        if (prefix) {
          removeNSfromCollection(prefix);
        }

        // check each attr for the ns-attrs
        for (const name of Object.keys(node.attributes)) {
          const { prefix } = parseName(name);
          removeNSfromCollection(prefix);
        }
      }
    }
  });

  // remove svg element ns-attributes if they are not used even once
  if (xmlnsCollection.length) {
    for (const name of xmlnsCollection) {
      delete svgElem.attributes['xmlns:' + name];
    }
  }

  return root;
};


/***/ }),

/***/ 38067:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { elemsGroups } = __nccwpck_require__(94434);

exports.type = 'perItem';

exports.active = true;

exports.description = 'removes elements in <defs> without id';

/**
 * Removes content of defs and properties that aren't rendered directly without ids.
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Lev Solntsev
 */
exports.fn = function (item) {
  if (item.type === 'element') {
    if (item.name === 'defs') {
      item.children = getUsefulItems(item, []);
      if (item.children.length === 0) {
        return false;
      }
    } else if (
      elemsGroups.nonRendering.includes(item.name) &&
      item.attributes.id == null
    ) {
      return false;
    }
  }
};

function getUsefulItems(item, usefulItems) {
  for (const child of item.children) {
    if (child.type === 'element') {
      if (child.attributes.id != null || child.name === 'style') {
        usefulItems.push(child);
        child.parentNode = item;
      } else {
        child.children = getUsefulItems(child, usefulItems);
      }
    }
  }

  return usefulItems;
}


/***/ }),

/***/ 27240:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes useless stroke and fill attributes';

exports.params = {
  stroke: true,
  fill: true,
  removeNone: false,
  hasStyleOrScript: false,
};

var shape = __nccwpck_require__(94434).elemsGroups.shape,
  regStrokeProps = /^stroke/,
  regFillProps = /^fill-/,
  styleOrScript = ['style', 'script'];

/**
 * Remove useless stroke and fill attrs.
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item, params) {
  if (item.isElem(styleOrScript)) {
    params.hasStyleOrScript = true;
  }

  if (
    !params.hasStyleOrScript &&
    item.isElem(shape) &&
    !item.computedAttr('id')
  ) {
    var stroke = params.stroke && item.computedAttr('stroke'),
      fill = params.fill && !item.computedAttr('fill', 'none');

    // remove stroke*
    if (
      params.stroke &&
      (!stroke ||
        stroke == 'none' ||
        item.computedAttr('stroke-opacity', '0') ||
        item.computedAttr('stroke-width', '0'))
    ) {
      // stroke-width may affect the size of marker-end
      if (
        item.computedAttr('stroke-width', '0') === true ||
        item.computedAttr('marker-end') == null
      ) {
        var parentStroke = item.parentNode.computedAttr('stroke'),
          declineStroke = parentStroke && parentStroke != 'none';

        for (const name of Object.keys(item.attributes)) {
          if (regStrokeProps.test(name)) {
            delete item.attributes[name];
          }
        }

        if (declineStroke) {
          item.attributes.stroke = 'none';
        }
      }
    }

    // remove fill*
    if (params.fill && (!fill || item.computedAttr('fill-opacity', '0'))) {
      for (const name of Object.keys(item.attributes)) {
        if (regFillProps.test(name)) {
          delete item.attributes[name];
        }
      }

      if (fill) {
        item.attributes.fill = 'none';
      }
    }

    if (
      params.removeNone &&
      (!stroke || item.attributes.stroke == 'none') &&
      (!fill || item.attributes.fill == 'none')
    ) {
      return false;
    }
  }
};


/***/ }),

/***/ 85704:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { closestByName } = __nccwpck_require__(56138);

exports.type = 'perItem';

exports.active = true;

exports.description = 'removes viewBox attribute when possible';

const viewBoxElems = ['svg', 'pattern', 'symbol'];

/**
 * Remove viewBox attr which coincides with a width/height box.
 *
 * @see https://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute
 *
 * @example
 * <svg width="100" height="50" viewBox="0 0 100 50">
 *             ⬇
 * <svg width="100" height="50">
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (
    item.type === 'element' &&
    viewBoxElems.includes(item.name) &&
    item.attributes.viewBox != null &&
    item.attributes.width != null &&
    item.attributes.height != null
  ) {
    // TODO remove width/height for such case instead
    if (item.name === 'svg' && closestByName(item.parentNode, 'svg')) {
      return;
    }

    const nums = item.attributes.viewBox.split(/[ ,]+/g);

    if (
      nums[0] === '0' &&
      nums[1] === '0' &&
      item.attributes.width.replace(/px$/, '') === nums[2] && // could use parseFloat too
      item.attributes.height.replace(/px$/, '') === nums[3]
    ) {
      delete item.attributes.viewBox;
    }
  }
};


/***/ }),

/***/ 11928:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = false;

exports.description =
  'removes xmlns attribute (for inline svg, disabled by default)';

/**
 * Remove the xmlns attribute when present.
 *
 * @example
 * <svg viewBox="0 0 100 50" xmlns="http://www.w3.org/2000/svg">
 *   ↓
 * <svg viewBox="0 0 100 50">
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if true, xmlns will be filtered out
 *
 * @author Ricardo Tomasi
 */
exports.fn = function (item) {
  if (item.type === 'element' && item.name === 'svg') {
    delete item.attributes.xmlns;
  }
};


/***/ }),

/***/ 57709:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'removes XML processing instructions';

/**
 * Remove XML Processing Instruction.
 *
 * @example
 * <?xml version="1.0" encoding="utf-8"?>
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author Kir Belevich
 */
exports.fn = function (item) {
  if (item.type === 'instruction' && item.name === 'xml') {
    return false;
  }
  return true;
};


/***/ }),

/***/ 92823:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { traverse } = __nccwpck_require__(56138);
const JSAPI = __nccwpck_require__(88692);

exports.type = 'full';

exports.active = false;

exports.description =
  'Finds <path> elements with the same d, fill, and ' +
  'stroke, and converts them to <use> elements ' +
  'referencing a single <path> def.';

/**
 * Finds <path> elements with the same d, fill, and stroke, and converts them to
 * <use> elements referencing a single <path> def.
 *
 * @author Jacob Howcroft
 */
exports.fn = function (root) {
  const seen = new Map();
  let count = 0;
  const defs = [];
  traverse(root, (node) => {
    if (
      node.type !== 'element' ||
      node.name !== 'path' ||
      node.attributes.d == null
    ) {
      return;
    }
    const d = node.attributes.d;
    const fill = node.attributes.fill || '';
    const stroke = node.attributes.stroke || '';
    const key = d + ';s:' + stroke + ';f:' + fill;
    const hasSeen = seen.get(key);
    if (!hasSeen) {
      seen.set(key, { elem: node, reused: false });
      return;
    }
    if (!hasSeen.reused) {
      hasSeen.reused = true;
      if (hasSeen.elem.attributes.id == null) {
        hasSeen.elem.attributes.id = 'reuse-' + count++;
      }
      defs.push(hasSeen.elem);
    }
    convertToUse(node, hasSeen.elem.attributes.id);
  });
  if (defs.length > 0) {
    const defsTag = new JSAPI(
      {
        type: 'element',
        name: 'defs',
        attributes: {},
        children: [],
      },
      root
    );
    root.children[0].spliceContent(0, 0, defsTag);
    for (let def of defs) {
      // Remove class and style before copying to avoid circular refs in
      // JSON.stringify. This is fine because we don't actually want class or
      // style information to be copied.
      const style = def.style;
      const defClass = def.class;
      delete def.style;
      delete def.class;
      const defClone = def.clone();
      def.style = style;
      def.class = defClass;
      delete defClone.attributes.transform;
      defsTag.spliceContent(0, 0, defClone);
      // Convert the original def to a use so the first usage isn't duplicated.
      def = convertToUse(def, defClone.attributes.id);
      delete def.attributes.id;
    }
  }
  return root;
};

/** */
function convertToUse(item, href) {
  item.renameElem('use');
  delete item.attributes.d;
  delete item.attributes.stroke;
  delete item.attributes.fill;
  item.attributes['xlink:href'] = '#' + href;
  delete item.pathJS;
  return item;
}


/***/ }),

/***/ 76964:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


const { parseName } = __nccwpck_require__(44074);

exports.type = 'perItem';

exports.active = false;

exports.description = 'sorts element attributes (disabled by default)';

exports.params = {
  order: [
    'id',
    'width',
    'height',
    'x',
    'x1',
    'x2',
    'y',
    'y1',
    'y2',
    'cx',
    'cy',
    'r',
    'fill',
    'stroke',
    'marker',
    'd',
    'points',
  ],
};

/**
 * Sort element attributes for epic readability.
 *
 * @param {Object} item current iteration item
 * @param {Object} params plugin params
 *
 * @author Nikolay Frantsev
 */
exports.fn = function (item, params) {
  const orderlen = params.order.length + 1;
  const xmlnsOrder = params.xmlnsOrder || 'front';

  if (item.type === 'element') {
    const attrs = Object.entries(item.attributes);

    attrs.sort(([aName], [bName]) => {
      const { prefix: aPrefix } = parseName(aName);
      const { prefix: bPrefix } = parseName(bName);
      if (aPrefix != bPrefix) {
        // xmlns attributes implicitly have the prefix xmlns
        if (xmlnsOrder == 'front') {
          if (aPrefix === 'xmlns') return -1;
          if (bPrefix === 'xmlns') return 1;
        }
        return aPrefix < bPrefix ? -1 : 1;
      }

      let aindex = orderlen;
      let bindex = orderlen;

      for (let i = 0; i < params.order.length; i++) {
        if (aName == params.order[i]) {
          aindex = i;
        } else if (aName.indexOf(params.order[i] + '-') === 0) {
          aindex = i + 0.5;
        }
        if (bName == params.order[i]) {
          bindex = i;
        } else if (bName.indexOf(params.order[i] + '-') === 0) {
          bindex = i + 0.5;
        }
      }

      if (aindex != bindex) {
        return aindex - bindex;
      }
      return aName < bName ? -1 : 1;
    });

    const sorted = {};
    for (const [name, value] of attrs) {
      sorted[name] = value;
    }
    item.attributes = sorted;
  }
};


/***/ }),

/***/ 49983:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


exports.type = 'perItem';

exports.active = true;

exports.description = 'Sorts children of <defs> to improve compression';

/**
 * Sorts children of defs in order to improve compression.
 * Sorted first by frequency then by element name length then by element name (to ensure grouping).
 *
 * @param {Object} item current iteration item
 * @return {Boolean} if false, item will be filtered out
 *
 * @author David Leston
 */
exports.fn = function (item) {
  if (item.isElem('defs')) {
    var frequency = item.children.reduce(function (frequency, child) {
      if (child.name in frequency) {
        frequency[child.name]++;
      } else {
        frequency[child.name] = 1;
      }
      return frequency;
    }, {});
    item.children.sort(function (a, b) {
      var frequencyComparison = frequency[b.name] - frequency[a.name];
      if (frequencyComparison !== 0) {
        return frequencyComparison;
      }
      var lengthComparison = b.name.length - a.name.length;
      if (lengthComparison !== 0) {
        return lengthComparison;
      }
      return a.name != b.name ? (a.name > b.name ? -1 : 1) : 0;
    });
    return true;
  }
};


/***/ }),

/***/ 4534:
/***/ (function(__unused_webpack_module, exports) {

/****
 * The MIT License
 *
 * Copyright (c) 2015 Marco Ziccardi
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 ****/
(function (global, factory) {
  if (typeof define === 'function' && define.amd) {
    define('timsort', ['exports'], factory);
  } else if (true) {
    factory(exports);
  } else { var mod; }
})(this, function (exports) {
  'use strict';

  exports.__esModule = true;
  exports.sort = sort;

  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError('Cannot call a class as a function');
    }
  }

  var DEFAULT_MIN_MERGE = 32;

  var DEFAULT_MIN_GALLOPING = 7;

  var DEFAULT_TMP_STORAGE_LENGTH = 256;

  var POWERS_OF_TEN = [1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9];

  function log10(x) {
    if (x < 1e5) {
      if (x < 1e2) {
        return x < 1e1 ? 0 : 1;
      }

      if (x < 1e4) {
        return x < 1e3 ? 2 : 3;
      }

      return 4;
    }

    if (x < 1e7) {
      return x < 1e6 ? 5 : 6;
    }

    if (x < 1e9) {
      return x < 1e8 ? 7 : 8;
    }

    return 9;
  }

  function alphabeticalCompare(a, b) {
    if (a === b) {
      return 0;
    }

    if (~ ~a === a && ~ ~b === b) {
      if (a === 0 || b === 0) {
        return a < b ? -1 : 1;
      }

      if (a < 0 || b < 0) {
        if (b >= 0) {
          return -1;
        }

        if (a >= 0) {
          return 1;
        }

        a = -a;
        b = -b;
      }

      var al = log10(a);
      var bl = log10(b);

      var t = 0;

      if (al < bl) {
        a *= POWERS_OF_TEN[bl - al - 1];
        b /= 10;
        t = -1;
      } else if (al > bl) {
        b *= POWERS_OF_TEN[al - bl - 1];
        a /= 10;
        t = 1;
      }

      if (a === b) {
        return t;
      }

      return a < b ? -1 : 1;
    }

    var aStr = String(a);
    var bStr = String(b);

    if (aStr === bStr) {
      return 0;
    }

    return aStr < bStr ? -1 : 1;
  }

  function minRunLength(n) {
    var r = 0;

    while (n >= DEFAULT_MIN_MERGE) {
      r |= n & 1;
      n >>= 1;
    }

    return n + r;
  }

  function makeAscendingRun(array, lo, hi, compare) {
    var runHi = lo + 1;

    if (runHi === hi) {
      return 1;
    }

    if (compare(array[runHi++], array[lo]) < 0) {
      while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {
        runHi++;
      }

      reverseRun(array, lo, runHi);
    } else {
      while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {
        runHi++;
      }
    }

    return runHi - lo;
  }

  function reverseRun(array, lo, hi) {
    hi--;

    while (lo < hi) {
      var t = array[lo];
      array[lo++] = array[hi];
      array[hi--] = t;
    }
  }

  function binaryInsertionSort(array, lo, hi, start, compare) {
    if (start === lo) {
      start++;
    }

    for (; start < hi; start++) {
      var pivot = array[start];

      var left = lo;
      var right = start;

      while (left < right) {
        var mid = left + right >>> 1;

        if (compare(pivot, array[mid]) < 0) {
          right = mid;
        } else {
          left = mid + 1;
        }
      }

      var n = start - left;

      switch (n) {
        case 3:
          array[left + 3] = array[left + 2];

        case 2:
          array[left + 2] = array[left + 1];

        case 1:
          array[left + 1] = array[left];
          break;
        default:
          while (n > 0) {
            array[left + n] = array[left + n - 1];
            n--;
          }
      }

      array[left] = pivot;
    }
  }

  function gallopLeft(value, array, start, length, hint, compare) {
    var lastOffset = 0;
    var maxOffset = 0;
    var offset = 1;

    if (compare(value, array[start + hint]) > 0) {
      maxOffset = length - hint;

      while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {
        lastOffset = offset;
        offset = (offset << 1) + 1;

        if (offset <= 0) {
          offset = maxOffset;
        }
      }

      if (offset > maxOffset) {
        offset = maxOffset;
      }

      lastOffset += hint;
      offset += hint;
    } else {
      maxOffset = hint + 1;
      while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {
        lastOffset = offset;
        offset = (offset << 1) + 1;

        if (offset <= 0) {
          offset = maxOffset;
        }
      }
      if (offset > maxOffset) {
        offset = maxOffset;
      }

      var tmp = lastOffset;
      lastOffset = hint - offset;
      offset = hint - tmp;
    }

    lastOffset++;
    while (lastOffset < offset) {
      var m = lastOffset + (offset - lastOffset >>> 1);

      if (compare(value, array[start + m]) > 0) {
        lastOffset = m + 1;
      } else {
        offset = m;
      }
    }
    return offset;
  }

  function gallopRight(value, array, start, length, hint, compare) {
    var lastOffset = 0;
    var maxOffset = 0;
    var offset = 1;

    if (compare(value, array[start + hint]) < 0) {
      maxOffset = hint + 1;

      while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {
        lastOffset = offset;
        offset = (offset << 1) + 1;

        if (offset <= 0) {
          offset = maxOffset;
        }
      }

      if (offset > maxOffset) {
        offset = maxOffset;
      }

      var tmp = lastOffset;
      lastOffset = hint - offset;
      offset = hint - tmp;
    } else {
      maxOffset = length - hint;

      while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {
        lastOffset = offset;
        offset = (offset << 1) + 1;

        if (offset <= 0) {
          offset = maxOffset;
        }
      }

      if (offset > maxOffset) {
        offset = maxOffset;
      }

      lastOffset += hint;
      offset += hint;
    }

    lastOffset++;

    while (lastOffset < offset) {
      var m = lastOffset + (offset - lastOffset >>> 1);

      if (compare(value, array[start + m]) < 0) {
        offset = m;
      } else {
        lastOffset = m + 1;
      }
    }

    return offset;
  }

  var TimSort = (function () {
    function TimSort(array, compare) {
      _classCallCheck(this, TimSort);

      this.array = null;
      this.compare = null;
      this.minGallop = DEFAULT_MIN_GALLOPING;
      this.length = 0;
      this.tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;
      this.stackLength = 0;
      this.runStart = null;
      this.runLength = null;
      this.stackSize = 0;

      this.array = array;
      this.compare = compare;

      this.length = array.length;

      if (this.length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {
        this.tmpStorageLength = this.length >>> 1;
      }

      this.tmp = new Array(this.tmpStorageLength);

      this.stackLength = this.length < 120 ? 5 : this.length < 1542 ? 10 : this.length < 119151 ? 19 : 40;

      this.runStart = new Array(this.stackLength);
      this.runLength = new Array(this.stackLength);
    }

    TimSort.prototype.pushRun = function pushRun(runStart, runLength) {
      this.runStart[this.stackSize] = runStart;
      this.runLength[this.stackSize] = runLength;
      this.stackSize += 1;
    };

    TimSort.prototype.mergeRuns = function mergeRuns() {
      while (this.stackSize > 1) {
        var n = this.stackSize - 2;

        if (n >= 1 && this.runLength[n - 1] <= this.runLength[n] + this.runLength[n + 1] || n >= 2 && this.runLength[n - 2] <= this.runLength[n] + this.runLength[n - 1]) {

          if (this.runLength[n - 1] < this.runLength[n + 1]) {
            n--;
          }
        } else if (this.runLength[n] > this.runLength[n + 1]) {
          break;
        }
        this.mergeAt(n);
      }
    };

    TimSort.prototype.forceMergeRuns = function forceMergeRuns() {
      while (this.stackSize > 1) {
        var n = this.stackSize - 2;

        if (n > 0 && this.runLength[n - 1] < this.runLength[n + 1]) {
          n--;
        }

        this.mergeAt(n);
      }
    };

    TimSort.prototype.mergeAt = function mergeAt(i) {
      var compare = this.compare;
      var array = this.array;

      var start1 = this.runStart[i];
      var length1 = this.runLength[i];
      var start2 = this.runStart[i + 1];
      var length2 = this.runLength[i + 1];

      this.runLength[i] = length1 + length2;

      if (i === this.stackSize - 3) {
        this.runStart[i + 1] = this.runStart[i + 2];
        this.runLength[i + 1] = this.runLength[i + 2];
      }

      this.stackSize--;

      var k = gallopRight(array[start2], array, start1, length1, 0, compare);
      start1 += k;
      length1 -= k;

      if (length1 === 0) {
        return;
      }

      length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);

      if (length2 === 0) {
        return;
      }

      if (length1 <= length2) {
        this.mergeLow(start1, length1, start2, length2);
      } else {
        this.mergeHigh(start1, length1, start2, length2);
      }
    };

    TimSort.prototype.mergeLow = function mergeLow(start1, length1, start2, length2) {

      var compare = this.compare;
      var array = this.array;
      var tmp = this.tmp;
      var i = 0;

      for (i = 0; i < length1; i++) {
        tmp[i] = array[start1 + i];
      }

      var cursor1 = 0;
      var cursor2 = start2;
      var dest = start1;

      array[dest++] = array[cursor2++];

      if (--length2 === 0) {
        for (i = 0; i < length1; i++) {
          array[dest + i] = tmp[cursor1 + i];
        }
        return;
      }

      if (length1 === 1) {
        for (i = 0; i < length2; i++) {
          array[dest + i] = array[cursor2 + i];
        }
        array[dest + length2] = tmp[cursor1];
        return;
      }

      var minGallop = this.minGallop;

      while (true) {
        var count1 = 0;
        var count2 = 0;
        var exit = false;

        do {
          if (compare(array[cursor2], tmp[cursor1]) < 0) {
            array[dest++] = array[cursor2++];
            count2++;
            count1 = 0;

            if (--length2 === 0) {
              exit = true;
              break;
            }
          } else {
            array[dest++] = tmp[cursor1++];
            count1++;
            count2 = 0;
            if (--length1 === 1) {
              exit = true;
              break;
            }
          }
        } while ((count1 | count2) < minGallop);

        if (exit) {
          break;
        }

        do {
          count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);

          if (count1 !== 0) {
            for (i = 0; i < count1; i++) {
              array[dest + i] = tmp[cursor1 + i];
            }

            dest += count1;
            cursor1 += count1;
            length1 -= count1;
            if (length1 <= 1) {
              exit = true;
              break;
            }
          }

          array[dest++] = array[cursor2++];

          if (--length2 === 0) {
            exit = true;
            break;
          }

          count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);

          if (count2 !== 0) {
            for (i = 0; i < count2; i++) {
              array[dest + i] = array[cursor2 + i];
            }

            dest += count2;
            cursor2 += count2;
            length2 -= count2;

            if (length2 === 0) {
              exit = true;
              break;
            }
          }
          array[dest++] = tmp[cursor1++];

          if (--length1 === 1) {
            exit = true;
            break;
          }

          minGallop--;
        } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);

        if (exit) {
          break;
        }

        if (minGallop < 0) {
          minGallop = 0;
        }

        minGallop += 2;
      }

      this.minGallop = minGallop;

      if (minGallop < 1) {
        this.minGallop = 1;
      }

      if (length1 === 1) {
        for (i = 0; i < length2; i++) {
          array[dest + i] = array[cursor2 + i];
        }
        array[dest + length2] = tmp[cursor1];
      } else if (length1 === 0) {
        throw new Error('mergeLow preconditions were not respected');
      } else {
        for (i = 0; i < length1; i++) {
          array[dest + i] = tmp[cursor1 + i];
        }
      }
    };

    TimSort.prototype.mergeHigh = function mergeHigh(start1, length1, start2, length2) {
      var compare = this.compare;
      var array = this.array;
      var tmp = this.tmp;
      var i = 0;

      for (i = 0; i < length2; i++) {
        tmp[i] = array[start2 + i];
      }

      var cursor1 = start1 + length1 - 1;
      var cursor2 = length2 - 1;
      var dest = start2 + length2 - 1;
      var customCursor = 0;
      var customDest = 0;

      array[dest--] = array[cursor1--];

      if (--length1 === 0) {
        customCursor = dest - (length2 - 1);

        for (i = 0; i < length2; i++) {
          array[customCursor + i] = tmp[i];
        }

        return;
      }

      if (length2 === 1) {
        dest -= length1;
        cursor1 -= length1;
        customDest = dest + 1;
        customCursor = cursor1 + 1;

        for (i = length1 - 1; i >= 0; i--) {
          array[customDest + i] = array[customCursor + i];
        }

        array[dest] = tmp[cursor2];
        return;
      }

      var minGallop = this.minGallop;

      while (true) {
        var count1 = 0;
        var count2 = 0;
        var exit = false;

        do {
          if (compare(tmp[cursor2], array[cursor1]) < 0) {
            array[dest--] = array[cursor1--];
            count1++;
            count2 = 0;
            if (--length1 === 0) {
              exit = true;
              break;
            }
          } else {
            array[dest--] = tmp[cursor2--];
            count2++;
            count1 = 0;
            if (--length2 === 1) {
              exit = true;
              break;
            }
          }
        } while ((count1 | count2) < minGallop);

        if (exit) {
          break;
        }

        do {
          count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);

          if (count1 !== 0) {
            dest -= count1;
            cursor1 -= count1;
            length1 -= count1;
            customDest = dest + 1;
            customCursor = cursor1 + 1;

            for (i = count1 - 1; i >= 0; i--) {
              array[customDest + i] = array[customCursor + i];
            }

            if (length1 === 0) {
              exit = true;
              break;
            }
          }

          array[dest--] = tmp[cursor2--];

          if (--length2 === 1) {
            exit = true;
            break;
          }

          count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);

          if (count2 !== 0) {
            dest -= count2;
            cursor2 -= count2;
            length2 -= count2;
            customDest = dest + 1;
            customCursor = cursor2 + 1;

            for (i = 0; i < count2; i++) {
              array[customDest + i] = tmp[customCursor + i];
            }

            if (length2 <= 1) {
              exit = true;
              break;
            }
          }

          array[dest--] = array[cursor1--];

          if (--length1 === 0) {
            exit = true;
            break;
          }

          minGallop--;
        } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);

        if (exit) {
          break;
        }

        if (minGallop < 0) {
          minGallop = 0;
        }

        minGallop += 2;
      }

      this.minGallop = minGallop;

      if (minGallop < 1) {
        this.minGallop = 1;
      }

      if (length2 === 1) {
        dest -= length1;
        cursor1 -= length1;
        customDest = dest + 1;
        customCursor = cursor1 + 1;

        for (i = length1 - 1; i >= 0; i--) {
          array[customDest + i] = array[customCursor + i];
        }

        array[dest] = tmp[cursor2];
      } else if (length2 === 0) {
        throw new Error('mergeHigh preconditions were not respected');
      } else {
        customCursor = dest - (length2 - 1);
        for (i = 0; i < length2; i++) {
          array[customCursor + i] = tmp[i];
        }
      }
    };

    return TimSort;
  })();

  function sort(array, compare, lo, hi) {
    if (!Array.isArray(array)) {
      throw new TypeError('Can only sort arrays');
    }

    if (!compare) {
      compare = alphabeticalCompare;
    } else if (typeof compare !== 'function') {
      hi = lo;
      lo = compare;
      compare = alphabeticalCompare;
    }

    if (!lo) {
      lo = 0;
    }
    if (!hi) {
      hi = array.length;
    }

    var remaining = hi - lo;

    if (remaining < 2) {
      return;
    }

    var runLength = 0;

    if (remaining < DEFAULT_MIN_MERGE) {
      runLength = makeAscendingRun(array, lo, hi, compare);
      binaryInsertionSort(array, lo, hi, lo + runLength, compare);
      return;
    }

    var ts = new TimSort(array, compare);

    var minRun = minRunLength(remaining);

    do {
      runLength = makeAscendingRun(array, lo, hi, compare);
      if (runLength < minRun) {
        var force = remaining;
        if (force > minRun) {
          force = minRun;
        }

        binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);
        runLength = force;
      }

      ts.pushRun(lo, runLength);
      ts.mergeRuns();

      remaining -= runLength;
      lo += runLength;
    } while (remaining !== 0);

    ts.forceMergeRuns();
  }
});


/***/ }),

/***/ 46655:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(4534);

/***/ }),

/***/ 53260:
/***/ ((module) => {

module.exports = function uniqs() {
  var list = Array.prototype.concat.apply([], arguments);
  return list.filter(function(item, i) {
    return i == list.indexOf(item);
  });
};


/***/ }),

/***/ 65278:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {


/**
 * For Node.js, simply re-export the core `util.deprecate` function.
 */

module.exports = __nccwpck_require__(31669).deprecate;


/***/ }),

/***/ 55506:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


var PlainValue = __nccwpck_require__(75215);
var resolveSeq = __nccwpck_require__(64227);
var Schema = __nccwpck_require__(28021);

const defaultOptions = {
  anchorPrefix: 'a',
  customTags: null,
  indent: 2,
  indentSeq: true,
  keepCstNodes: false,
  keepNodeTypes: true,
  keepBlobsInJSON: true,
  mapAsMap: false,
  maxAliasCount: 100,
  prettyErrors: false,
  // TODO Set true in v2
  simpleKeys: false,
  version: '1.2'
};
const scalarOptions = {
  get binary() {
    return resolveSeq.binaryOptions;
  },

  set binary(opt) {
    Object.assign(resolveSeq.binaryOptions, opt);
  },

  get bool() {
    return resolveSeq.boolOptions;
  },

  set bool(opt) {
    Object.assign(resolveSeq.boolOptions, opt);
  },

  get int() {
    return resolveSeq.intOptions;
  },

  set int(opt) {
    Object.assign(resolveSeq.intOptions, opt);
  },

  get null() {
    return resolveSeq.nullOptions;
  },

  set null(opt) {
    Object.assign(resolveSeq.nullOptions, opt);
  },

  get str() {
    return resolveSeq.strOptions;
  },

  set str(opt) {
    Object.assign(resolveSeq.strOptions, opt);
  }

};
const documentOptions = {
  '1.0': {
    schema: 'yaml-1.1',
    merge: true,
    tagPrefixes: [{
      handle: '!',
      prefix: PlainValue.defaultTagPrefix
    }, {
      handle: '!!',
      prefix: 'tag:private.yaml.org,2002:'
    }]
  },
  1.1: {
    schema: 'yaml-1.1',
    merge: true,
    tagPrefixes: [{
      handle: '!',
      prefix: '!'
    }, {
      handle: '!!',
      prefix: PlainValue.defaultTagPrefix
    }]
  },
  1.2: {
    schema: 'core',
    merge: false,
    tagPrefixes: [{
      handle: '!',
      prefix: '!'
    }, {
      handle: '!!',
      prefix: PlainValue.defaultTagPrefix
    }]
  }
};

function stringifyTag(doc, tag) {
  if ((doc.version || doc.options.version) === '1.0') {
    const priv = tag.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);
    if (priv) return '!' + priv[1];
    const vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);
    return vocab ? `!${vocab[1]}/${vocab[2]}` : `!${tag.replace(/^tag:/, '')}`;
  }

  let p = doc.tagPrefixes.find(p => tag.indexOf(p.prefix) === 0);

  if (!p) {
    const dtp = doc.getDefaults().tagPrefixes;
    p = dtp && dtp.find(p => tag.indexOf(p.prefix) === 0);
  }

  if (!p) return tag[0] === '!' ? tag : `!<${tag}>`;
  const suffix = tag.substr(p.prefix.length).replace(/[!,[\]{}]/g, ch => ({
    '!': '%21',
    ',': '%2C',
    '[': '%5B',
    ']': '%5D',
    '{': '%7B',
    '}': '%7D'
  })[ch]);
  return p.handle + suffix;
}

function getTagObject(tags, item) {
  if (item instanceof resolveSeq.Alias) return resolveSeq.Alias;

  if (item.tag) {
    const match = tags.filter(t => t.tag === item.tag);
    if (match.length > 0) return match.find(t => t.format === item.format) || match[0];
  }

  let tagObj, obj;

  if (item instanceof resolveSeq.Scalar) {
    obj = item.value; // TODO: deprecate/remove class check

    const match = tags.filter(t => t.identify && t.identify(obj) || t.class && obj instanceof t.class);
    tagObj = match.find(t => t.format === item.format) || match.find(t => !t.format);
  } else {
    obj = item;
    tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);
  }

  if (!tagObj) {
    const name = obj && obj.constructor ? obj.constructor.name : typeof obj;
    throw new Error(`Tag not resolved for ${name} value`);
  }

  return tagObj;
} // needs to be called before value stringifier to allow for circular anchor refs


function stringifyProps(node, tagObj, {
  anchors,
  doc
}) {
  const props = [];
  const anchor = doc.anchors.getName(node);

  if (anchor) {
    anchors[anchor] = node;
    props.push(`&${anchor}`);
  }

  if (node.tag) {
    props.push(stringifyTag(doc, node.tag));
  } else if (!tagObj.default) {
    props.push(stringifyTag(doc, tagObj.tag));
  }

  return props.join(' ');
}

function stringify(item, ctx, onComment, onChompKeep) {
  const {
    anchors,
    schema
  } = ctx.doc;
  let tagObj;

  if (!(item instanceof resolveSeq.Node)) {
    const createCtx = {
      aliasNodes: [],
      onTagObj: o => tagObj = o,
      prevObjects: new Map()
    };
    item = schema.createNode(item, true, null, createCtx);

    for (const alias of createCtx.aliasNodes) {
      alias.source = alias.source.node;
      let name = anchors.getName(alias.source);

      if (!name) {
        name = anchors.newName();
        anchors.map[name] = alias.source;
      }
    }
  }

  if (item instanceof resolveSeq.Pair) return item.toString(ctx, onComment, onChompKeep);
  if (!tagObj) tagObj = getTagObject(schema.tags, item);
  const props = stringifyProps(item, tagObj, ctx);
  if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1;
  const str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq.Scalar ? resolveSeq.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep);
  if (!props) return str;
  return item instanceof resolveSeq.Scalar || str[0] === '{' || str[0] === '[' ? `${props} ${str}` : `${props}\n${ctx.indent}${str}`;
}

class Anchors {
  static validAnchorNode(node) {
    return node instanceof resolveSeq.Scalar || node instanceof resolveSeq.YAMLSeq || node instanceof resolveSeq.YAMLMap;
  }

  constructor(prefix) {
    PlainValue._defineProperty(this, "map", Object.create(null));

    this.prefix = prefix;
  }

  createAlias(node, name) {
    this.setAnchor(node, name);
    return new resolveSeq.Alias(node);
  }

  createMergePair(...sources) {
    const merge = new resolveSeq.Merge();
    merge.value.items = sources.map(s => {
      if (s instanceof resolveSeq.Alias) {
        if (s.source instanceof resolveSeq.YAMLMap) return s;
      } else if (s instanceof resolveSeq.YAMLMap) {
        return this.createAlias(s);
      }

      throw new Error('Merge sources must be Map nodes or their Aliases');
    });
    return merge;
  }

  getName(node) {
    const {
      map
    } = this;
    return Object.keys(map).find(a => map[a] === node);
  }

  getNames() {
    return Object.keys(this.map);
  }

  getNode(name) {
    return this.map[name];
  }

  newName(prefix) {
    if (!prefix) prefix = this.prefix;
    const names = Object.keys(this.map);

    for (let i = 1; true; ++i) {
      const name = `${prefix}${i}`;
      if (!names.includes(name)) return name;
    }
  } // During parsing, map & aliases contain CST nodes


  resolveNodes() {
    const {
      map,
      _cstAliases
    } = this;
    Object.keys(map).forEach(a => {
      map[a] = map[a].resolved;
    });

    _cstAliases.forEach(a => {
      a.source = a.source.resolved;
    });

    delete this._cstAliases;
  }

  setAnchor(node, name) {
    if (node != null && !Anchors.validAnchorNode(node)) {
      throw new Error('Anchors may only be set for Scalar, Seq and Map nodes');
    }

    if (name && /[\x00-\x19\s,[\]{}]/.test(name)) {
      throw new Error('Anchor names must not contain whitespace or control characters');
    }

    const {
      map
    } = this;
    const prev = node && Object.keys(map).find(a => map[a] === node);

    if (prev) {
      if (!name) {
        return prev;
      } else if (prev !== name) {
        delete map[prev];
        map[name] = node;
      }
    } else {
      if (!name) {
        if (!node) return null;
        name = this.newName();
      }

      map[name] = node;
    }

    return name;
  }

}

const visit = (node, tags) => {
  if (node && typeof node === 'object') {
    const {
      tag
    } = node;

    if (node instanceof resolveSeq.Collection) {
      if (tag) tags[tag] = true;
      node.items.forEach(n => visit(n, tags));
    } else if (node instanceof resolveSeq.Pair) {
      visit(node.key, tags);
      visit(node.value, tags);
    } else if (node instanceof resolveSeq.Scalar) {
      if (tag) tags[tag] = true;
    }
  }

  return tags;
};

const listTagNames = node => Object.keys(visit(node, {}));

function parseContents(doc, contents) {
  const comments = {
    before: [],
    after: []
  };
  let body = undefined;
  let spaceBefore = false;

  for (const node of contents) {
    if (node.valueRange) {
      if (body !== undefined) {
        const msg = 'Document contains trailing content not separated by a ... or --- line';
        doc.errors.push(new PlainValue.YAMLSyntaxError(node, msg));
        break;
      }

      const res = resolveSeq.resolveNode(doc, node);

      if (spaceBefore) {
        res.spaceBefore = true;
        spaceBefore = false;
      }

      body = res;
    } else if (node.comment !== null) {
      const cc = body === undefined ? comments.before : comments.after;
      cc.push(node.comment);
    } else if (node.type === PlainValue.Type.BLANK_LINE) {
      spaceBefore = true;

      if (body === undefined && comments.before.length > 0 && !doc.commentBefore) {
        // space-separated comments at start are parsed as document comments
        doc.commentBefore = comments.before.join('\n');
        comments.before = [];
      }
    }
  }

  doc.contents = body || null;

  if (!body) {
    doc.comment = comments.before.concat(comments.after).join('\n') || null;
  } else {
    const cb = comments.before.join('\n');

    if (cb) {
      const cbNode = body instanceof resolveSeq.Collection && body.items[0] ? body.items[0] : body;
      cbNode.commentBefore = cbNode.commentBefore ? `${cb}\n${cbNode.commentBefore}` : cb;
    }

    doc.comment = comments.after.join('\n') || null;
  }
}

function resolveTagDirective({
  tagPrefixes
}, directive) {
  const [handle, prefix] = directive.parameters;

  if (!handle || !prefix) {
    const msg = 'Insufficient parameters given for %TAG directive';
    throw new PlainValue.YAMLSemanticError(directive, msg);
  }

  if (tagPrefixes.some(p => p.handle === handle)) {
    const msg = 'The %TAG directive must only be given at most once per handle in the same document.';
    throw new PlainValue.YAMLSemanticError(directive, msg);
  }

  return {
    handle,
    prefix
  };
}

function resolveYamlDirective(doc, directive) {
  let [version] = directive.parameters;
  if (directive.name === 'YAML:1.0') version = '1.0';

  if (!version) {
    const msg = 'Insufficient parameters given for %YAML directive';
    throw new PlainValue.YAMLSemanticError(directive, msg);
  }

  if (!documentOptions[version]) {
    const v0 = doc.version || doc.options.version;
    const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`;
    doc.warnings.push(new PlainValue.YAMLWarning(directive, msg));
  }

  return version;
}

function parseDirectives(doc, directives, prevDoc) {
  const directiveComments = [];
  let hasDirectives = false;

  for (const directive of directives) {
    const {
      comment,
      name
    } = directive;

    switch (name) {
      case 'TAG':
        try {
          doc.tagPrefixes.push(resolveTagDirective(doc, directive));
        } catch (error) {
          doc.errors.push(error);
        }

        hasDirectives = true;
        break;

      case 'YAML':
      case 'YAML:1.0':
        if (doc.version) {
          const msg = 'The %YAML directive must only be given at most once per document.';
          doc.errors.push(new PlainValue.YAMLSemanticError(directive, msg));
        }

        try {
          doc.version = resolveYamlDirective(doc, directive);
        } catch (error) {
          doc.errors.push(error);
        }

        hasDirectives = true;
        break;

      default:
        if (name) {
          const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`;
          doc.warnings.push(new PlainValue.YAMLWarning(directive, msg));
        }

    }

    if (comment) directiveComments.push(comment);
  }

  if (prevDoc && !hasDirectives && '1.1' === (doc.version || prevDoc.version || doc.options.version)) {
    const copyTagPrefix = ({
      handle,
      prefix
    }) => ({
      handle,
      prefix
    });

    doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix);
    doc.version = prevDoc.version;
  }

  doc.commentBefore = directiveComments.join('\n') || null;
}

function assertCollection(contents) {
  if (contents instanceof resolveSeq.Collection) return true;
  throw new Error('Expected a YAML collection as document contents');
}

class Document {
  constructor(options) {
    this.anchors = new Anchors(options.anchorPrefix);
    this.commentBefore = null;
    this.comment = null;
    this.contents = null;
    this.directivesEndMarker = null;
    this.errors = [];
    this.options = options;
    this.schema = null;
    this.tagPrefixes = [];
    this.version = null;
    this.warnings = [];
  }

  add(value) {
    assertCollection(this.contents);
    return this.contents.add(value);
  }

  addIn(path, value) {
    assertCollection(this.contents);
    this.contents.addIn(path, value);
  }

  delete(key) {
    assertCollection(this.contents);
    return this.contents.delete(key);
  }

  deleteIn(path) {
    if (resolveSeq.isEmptyPath(path)) {
      if (this.contents == null) return false;
      this.contents = null;
      return true;
    }

    assertCollection(this.contents);
    return this.contents.deleteIn(path);
  }

  getDefaults() {
    return Document.defaults[this.version] || Document.defaults[this.options.version] || {};
  }

  get(key, keepScalar) {
    return this.contents instanceof resolveSeq.Collection ? this.contents.get(key, keepScalar) : undefined;
  }

  getIn(path, keepScalar) {
    if (resolveSeq.isEmptyPath(path)) return !keepScalar && this.contents instanceof resolveSeq.Scalar ? this.contents.value : this.contents;
    return this.contents instanceof resolveSeq.Collection ? this.contents.getIn(path, keepScalar) : undefined;
  }

  has(key) {
    return this.contents instanceof resolveSeq.Collection ? this.contents.has(key) : false;
  }

  hasIn(path) {
    if (resolveSeq.isEmptyPath(path)) return this.contents !== undefined;
    return this.contents instanceof resolveSeq.Collection ? this.contents.hasIn(path) : false;
  }

  set(key, value) {
    assertCollection(this.contents);
    this.contents.set(key, value);
  }

  setIn(path, value) {
    if (resolveSeq.isEmptyPath(path)) this.contents = value;else {
      assertCollection(this.contents);
      this.contents.setIn(path, value);
    }
  }

  setSchema(id, customTags) {
    if (!id && !customTags && this.schema) return;
    if (typeof id === 'number') id = id.toFixed(1);

    if (id === '1.0' || id === '1.1' || id === '1.2') {
      if (this.version) this.version = id;else this.options.version = id;
      delete this.options.schema;
    } else if (id && typeof id === 'string') {
      this.options.schema = id;
    }

    if (Array.isArray(customTags)) this.options.customTags = customTags;
    const opt = Object.assign({}, this.getDefaults(), this.options);
    this.schema = new Schema.Schema(opt);
  }

  parse(node, prevDoc) {
    if (this.options.keepCstNodes) this.cstNode = node;
    if (this.options.keepNodeTypes) this.type = 'DOCUMENT';
    const {
      directives = [],
      contents = [],
      directivesEndMarker,
      error,
      valueRange
    } = node;

    if (error) {
      if (!error.source) error.source = this;
      this.errors.push(error);
    }

    parseDirectives(this, directives, prevDoc);
    if (directivesEndMarker) this.directivesEndMarker = true;
    this.range = valueRange ? [valueRange.start, valueRange.end] : null;
    this.setSchema();
    this.anchors._cstAliases = [];
    parseContents(this, contents);
    this.anchors.resolveNodes();

    if (this.options.prettyErrors) {
      for (const error of this.errors) if (error instanceof PlainValue.YAMLError) error.makePretty();

      for (const warn of this.warnings) if (warn instanceof PlainValue.YAMLError) warn.makePretty();
    }

    return this;
  }

  listNonDefaultTags() {
    return listTagNames(this.contents).filter(t => t.indexOf(Schema.Schema.defaultPrefix) !== 0);
  }

  setTagPrefix(handle, prefix) {
    if (handle[0] !== '!' || handle[handle.length - 1] !== '!') throw new Error('Handle must start and end with !');

    if (prefix) {
      const prev = this.tagPrefixes.find(p => p.handle === handle);
      if (prev) prev.prefix = prefix;else this.tagPrefixes.push({
        handle,
        prefix
      });
    } else {
      this.tagPrefixes = this.tagPrefixes.filter(p => p.handle !== handle);
    }
  }

  toJSON(arg, onAnchor) {
    const {
      keepBlobsInJSON,
      mapAsMap,
      maxAliasCount
    } = this.options;
    const keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof resolveSeq.Scalar));
    const ctx = {
      doc: this,
      indentStep: '  ',
      keep,
      mapAsMap: keep && !!mapAsMap,
      maxAliasCount,
      stringify // Requiring directly in Pair would create circular dependencies

    };
    const anchorNames = Object.keys(this.anchors.map);
    if (anchorNames.length > 0) ctx.anchors = new Map(anchorNames.map(name => [this.anchors.map[name], {
      alias: [],
      aliasCount: 0,
      count: 1
    }]));
    const res = resolveSeq.toJSON(this.contents, arg, ctx);
    if (typeof onAnchor === 'function' && ctx.anchors) for (const {
      count,
      res
    } of ctx.anchors.values()) onAnchor(res, count);
    return res;
  }

  toString() {
    if (this.errors.length > 0) throw new Error('Document with errors cannot be stringified');
    const indentSize = this.options.indent;

    if (!Number.isInteger(indentSize) || indentSize <= 0) {
      const s = JSON.stringify(indentSize);
      throw new Error(`"indent" option must be a positive integer, not ${s}`);
    }

    this.setSchema();
    const lines = [];
    let hasDirectives = false;

    if (this.version) {
      let vd = '%YAML 1.2';

      if (this.schema.name === 'yaml-1.1') {
        if (this.version === '1.0') vd = '%YAML:1.0';else if (this.version === '1.1') vd = '%YAML 1.1';
      }

      lines.push(vd);
      hasDirectives = true;
    }

    const tagNames = this.listNonDefaultTags();
    this.tagPrefixes.forEach(({
      handle,
      prefix
    }) => {
      if (tagNames.some(t => t.indexOf(prefix) === 0)) {
        lines.push(`%TAG ${handle} ${prefix}`);
        hasDirectives = true;
      }
    });
    if (hasDirectives || this.directivesEndMarker) lines.push('---');

    if (this.commentBefore) {
      if (hasDirectives || !this.directivesEndMarker) lines.unshift('');
      lines.unshift(this.commentBefore.replace(/^/gm, '#'));
    }

    const ctx = {
      anchors: Object.create(null),
      doc: this,
      indent: '',
      indentStep: ' '.repeat(indentSize),
      stringify // Requiring directly in nodes would create circular dependencies

    };
    let chompKeep = false;
    let contentComment = null;

    if (this.contents) {
      if (this.contents instanceof resolveSeq.Node) {
        if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push('');
        if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment

        ctx.forceBlockIndent = !!this.comment;
        contentComment = this.contents.comment;
      }

      const onChompKeep = contentComment ? null : () => chompKeep = true;
      const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep);
      lines.push(resolveSeq.addComment(body, '', contentComment));
    } else if (this.contents !== undefined) {
      lines.push(stringify(this.contents, ctx));
    }

    if (this.comment) {
      if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '') lines.push('');
      lines.push(this.comment.replace(/^/gm, '#'));
    }

    return lines.join('\n') + '\n';
  }

}

PlainValue._defineProperty(Document, "defaults", documentOptions);

exports.Document = Document;
exports.defaultOptions = defaultOptions;
exports.scalarOptions = scalarOptions;


/***/ }),

/***/ 75215:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


const Char = {
  ANCHOR: '&',
  COMMENT: '#',
  TAG: '!',
  DIRECTIVES_END: '-',
  DOCUMENT_END: '.'
};
const Type = {
  ALIAS: 'ALIAS',
  BLANK_LINE: 'BLANK_LINE',
  BLOCK_FOLDED: 'BLOCK_FOLDED',
  BLOCK_LITERAL: 'BLOCK_LITERAL',
  COMMENT: 'COMMENT',
  DIRECTIVE: 'DIRECTIVE',
  DOCUMENT: 'DOCUMENT',
  FLOW_MAP: 'FLOW_MAP',
  FLOW_SEQ: 'FLOW_SEQ',
  MAP: 'MAP',
  MAP_KEY: 'MAP_KEY',
  MAP_VALUE: 'MAP_VALUE',
  PLAIN: 'PLAIN',
  QUOTE_DOUBLE: 'QUOTE_DOUBLE',
  QUOTE_SINGLE: 'QUOTE_SINGLE',
  SEQ: 'SEQ',
  SEQ_ITEM: 'SEQ_ITEM'
};
const defaultTagPrefix = 'tag:yaml.org,2002:';
const defaultTags = {
  MAP: 'tag:yaml.org,2002:map',
  SEQ: 'tag:yaml.org,2002:seq',
  STR: 'tag:yaml.org,2002:str'
};

function findLineStarts(src) {
  const ls = [0];
  let offset = src.indexOf('\n');

  while (offset !== -1) {
    offset += 1;
    ls.push(offset);
    offset = src.indexOf('\n', offset);
  }

  return ls;
}

function getSrcInfo(cst) {
  let lineStarts, src;

  if (typeof cst === 'string') {
    lineStarts = findLineStarts(cst);
    src = cst;
  } else {
    if (Array.isArray(cst)) cst = cst[0];

    if (cst && cst.context) {
      if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src);
      lineStarts = cst.lineStarts;
      src = cst.context.src;
    }
  }

  return {
    lineStarts,
    src
  };
}
/**
 * @typedef {Object} LinePos - One-indexed position in the source
 * @property {number} line
 * @property {number} col
 */

/**
 * Determine the line/col position matching a character offset.
 *
 * Accepts a source string or a CST document as the second parameter. With
 * the latter, starting indices for lines are cached in the document as
 * `lineStarts: number[]`.
 *
 * Returns a one-indexed `{ line, col }` location if found, or
 * `undefined` otherwise.
 *
 * @param {number} offset
 * @param {string|Document|Document[]} cst
 * @returns {?LinePos}
 */


function getLinePos(offset, cst) {
  if (typeof offset !== 'number' || offset < 0) return null;
  const {
    lineStarts,
    src
  } = getSrcInfo(cst);
  if (!lineStarts || !src || offset > src.length) return null;

  for (let i = 0; i < lineStarts.length; ++i) {
    const start = lineStarts[i];

    if (offset < start) {
      return {
        line: i,
        col: offset - lineStarts[i - 1] + 1
      };
    }

    if (offset === start) return {
      line: i + 1,
      col: 1
    };
  }

  const line = lineStarts.length;
  return {
    line,
    col: offset - lineStarts[line - 1] + 1
  };
}
/**
 * Get a specified line from the source.
 *
 * Accepts a source string or a CST document as the second parameter. With
 * the latter, starting indices for lines are cached in the document as
 * `lineStarts: number[]`.
 *
 * Returns the line as a string if found, or `null` otherwise.
 *
 * @param {number} line One-indexed line number
 * @param {string|Document|Document[]} cst
 * @returns {?string}
 */

function getLine(line, cst) {
  const {
    lineStarts,
    src
  } = getSrcInfo(cst);
  if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null;
  const start = lineStarts[line - 1];
  let end = lineStarts[line]; // undefined for last line; that's ok for slice()

  while (end && end > start && src[end - 1] === '\n') --end;

  return src.slice(start, end);
}
/**
 * Pretty-print the starting line from the source indicated by the range `pos`
 *
 * Trims output to `maxWidth` chars while keeping the starting column visible,
 * using `…` at either end to indicate dropped characters.
 *
 * Returns a two-line string (or `null`) with `\n` as separator; the second line
 * will hold appropriately indented `^` marks indicating the column range.
 *
 * @param {Object} pos
 * @param {LinePos} pos.start
 * @param {LinePos} [pos.end]
 * @param {string|Document|Document[]*} cst
 * @param {number} [maxWidth=80]
 * @returns {?string}
 */

function getPrettyContext({
  start,
  end
}, cst, maxWidth = 80) {
  let src = getLine(start.line, cst);
  if (!src) return null;
  let {
    col
  } = start;

  if (src.length > maxWidth) {
    if (col <= maxWidth - 10) {
      src = src.substr(0, maxWidth - 1) + '…';
    } else {
      const halfWidth = Math.round(maxWidth / 2);
      if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…';
      col -= src.length - maxWidth;
      src = '…' + src.substr(1 - maxWidth);
    }
  }

  let errLen = 1;
  let errEnd = '';

  if (end) {
    if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) {
      errLen = end.col - start.col;
    } else {
      errLen = Math.min(src.length + 1, maxWidth) - col;
      errEnd = '…';
    }
  }

  const offset = col > 1 ? ' '.repeat(col - 1) : '';
  const err = '^'.repeat(errLen);
  return `${src}\n${offset}${err}${errEnd}`;
}

class Range {
  static copy(orig) {
    return new Range(orig.start, orig.end);
  }

  constructor(start, end) {
    this.start = start;
    this.end = end || start;
  }

  isEmpty() {
    return typeof this.start !== 'number' || !this.end || this.end <= this.start;
  }
  /**
   * Set `origStart` and `origEnd` to point to the original source range for
   * this node, which may differ due to dropped CR characters.
   *
   * @param {number[]} cr - Positions of dropped CR characters
   * @param {number} offset - Starting index of `cr` from the last call
   * @returns {number} - The next offset, matching the one found for `origStart`
   */


  setOrigRange(cr, offset) {
    const {
      start,
      end
    } = this;

    if (cr.length === 0 || end <= cr[0]) {
      this.origStart = start;
      this.origEnd = end;
      return offset;
    }

    let i = offset;

    while (i < cr.length) {
      if (cr[i] > start) break;else ++i;
    }

    this.origStart = start + i;
    const nextOffset = i;

    while (i < cr.length) {
      // if end was at \n, it should now be at \r
      if (cr[i] >= end) break;else ++i;
    }

    this.origEnd = end + i;
    return nextOffset;
  }

}

/** Root class of all nodes */

class Node {
  static addStringTerminator(src, offset, str) {
    if (str[str.length - 1] === '\n') return str;
    const next = Node.endOfWhiteSpace(src, offset);
    return next >= src.length || src[next] === '\n' ? str + '\n' : str;
  } // ^(---|...)


  static atDocumentBoundary(src, offset, sep) {
    const ch0 = src[offset];
    if (!ch0) return true;
    const prev = src[offset - 1];
    if (prev && prev !== '\n') return false;

    if (sep) {
      if (ch0 !== sep) return false;
    } else {
      if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false;
    }

    const ch1 = src[offset + 1];
    const ch2 = src[offset + 2];
    if (ch1 !== ch0 || ch2 !== ch0) return false;
    const ch3 = src[offset + 3];
    return !ch3 || ch3 === '\n' || ch3 === '\t' || ch3 === ' ';
  }

  static endOfIdentifier(src, offset) {
    let ch = src[offset];
    const isVerbatim = ch === '<';
    const notOk = isVerbatim ? ['\n', '\t', ' ', '>'] : ['\n', '\t', ' ', '[', ']', '{', '}', ','];

    while (ch && notOk.indexOf(ch) === -1) ch = src[offset += 1];

    if (isVerbatim && ch === '>') offset += 1;
    return offset;
  }

  static endOfIndent(src, offset) {
    let ch = src[offset];

    while (ch === ' ') ch = src[offset += 1];

    return offset;
  }

  static endOfLine(src, offset) {
    let ch = src[offset];

    while (ch && ch !== '\n') ch = src[offset += 1];

    return offset;
  }

  static endOfWhiteSpace(src, offset) {
    let ch = src[offset];

    while (ch === '\t' || ch === ' ') ch = src[offset += 1];

    return offset;
  }

  static startOfLine(src, offset) {
    let ch = src[offset - 1];
    if (ch === '\n') return offset;

    while (ch && ch !== '\n') ch = src[offset -= 1];

    return offset + 1;
  }
  /**
   * End of indentation, or null if the line's indent level is not more
   * than `indent`
   *
   * @param {string} src
   * @param {number} indent
   * @param {number} lineStart
   * @returns {?number}
   */


  static endOfBlockIndent(src, indent, lineStart) {
    const inEnd = Node.endOfIndent(src, lineStart);

    if (inEnd > lineStart + indent) {
      return inEnd;
    } else {
      const wsEnd = Node.endOfWhiteSpace(src, inEnd);
      const ch = src[wsEnd];
      if (!ch || ch === '\n') return wsEnd;
    }

    return null;
  }

  static atBlank(src, offset, endAsBlank) {
    const ch = src[offset];
    return ch === '\n' || ch === '\t' || ch === ' ' || endAsBlank && !ch;
  }

  static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {
    if (!ch || indentDiff < 0) return false;
    if (indentDiff > 0) return true;
    return indicatorAsIndent && ch === '-';
  } // should be at line or string end, or at next non-whitespace char


  static normalizeOffset(src, offset) {
    const ch = src[offset];
    return !ch ? offset : ch !== '\n' && src[offset - 1] === '\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset);
  } // fold single newline into space, multiple newlines to N - 1 newlines
  // presumes src[offset] === '\n'


  static foldNewline(src, offset, indent) {
    let inCount = 0;
    let error = false;
    let fold = '';
    let ch = src[offset + 1];

    while (ch === ' ' || ch === '\t' || ch === '\n') {
      switch (ch) {
        case '\n':
          inCount = 0;
          offset += 1;
          fold += '\n';
          break;

        case '\t':
          if (inCount <= indent) error = true;
          offset = Node.endOfWhiteSpace(src, offset + 2) - 1;
          break;

        case ' ':
          inCount += 1;
          offset += 1;
          break;
      }

      ch = src[offset + 1];
    }

    if (!fold) fold = ' ';
    if (ch && inCount <= indent) error = true;
    return {
      fold,
      offset,
      error
    };
  }

  constructor(type, props, context) {
    Object.defineProperty(this, 'context', {
      value: context || null,
      writable: true
    });
    this.error = null;
    this.range = null;
    this.valueRange = null;
    this.props = props || [];
    this.type = type;
    this.value = null;
  }

  getPropValue(idx, key, skipKey) {
    if (!this.context) return null;
    const {
      src
    } = this.context;
    const prop = this.props[idx];
    return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null;
  }

  get anchor() {
    for (let i = 0; i < this.props.length; ++i) {
      const anchor = this.getPropValue(i, Char.ANCHOR, true);
      if (anchor != null) return anchor;
    }

    return null;
  }

  get comment() {
    const comments = [];

    for (let i = 0; i < this.props.length; ++i) {
      const comment = this.getPropValue(i, Char.COMMENT, true);
      if (comment != null) comments.push(comment);
    }

    return comments.length > 0 ? comments.join('\n') : null;
  }

  commentHasRequiredWhitespace(start) {
    const {
      src
    } = this.context;
    if (this.header && start === this.header.end) return false;
    if (!this.valueRange) return false;
    const {
      end
    } = this.valueRange;
    return start !== end || Node.atBlank(src, end - 1);
  }

  get hasComment() {
    if (this.context) {
      const {
        src
      } = this.context;

      for (let i = 0; i < this.props.length; ++i) {
        if (src[this.props[i].start] === Char.COMMENT) return true;
      }
    }

    return false;
  }

  get hasProps() {
    if (this.context) {
      const {
        src
      } = this.context;

      for (let i = 0; i < this.props.length; ++i) {
        if (src[this.props[i].start] !== Char.COMMENT) return true;
      }
    }

    return false;
  }

  get includesTrailingLines() {
    return false;
  }

  get jsonLike() {
    const jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE];
    return jsonLikeTypes.indexOf(this.type) !== -1;
  }

  get rangeAsLinePos() {
    if (!this.range || !this.context) return undefined;
    const start = getLinePos(this.range.start, this.context.root);
    if (!start) return undefined;
    const end = getLinePos(this.range.end, this.context.root);
    return {
      start,
      end
    };
  }

  get rawValue() {
    if (!this.valueRange || !this.context) return null;
    const {
      start,
      end
    } = this.valueRange;
    return this.context.src.slice(start, end);
  }

  get tag() {
    for (let i = 0; i < this.props.length; ++i) {
      const tag = this.getPropValue(i, Char.TAG, false);

      if (tag != null) {
        if (tag[1] === '<') {
          return {
            verbatim: tag.slice(2, -1)
          };
        } else {
          // eslint-disable-next-line no-unused-vars
          const [_, handle, suffix] = tag.match(/^(.*!)([^!]*)$/);
          return {
            handle,
            suffix
          };
        }
      }
    }

    return null;
  }

  get valueRangeContainsNewline() {
    if (!this.valueRange || !this.context) return false;
    const {
      start,
      end
    } = this.valueRange;
    const {
      src
    } = this.context;

    for (let i = start; i < end; ++i) {
      if (src[i] === '\n') return true;
    }

    return false;
  }

  parseComment(start) {
    const {
      src
    } = this.context;

    if (src[start] === Char.COMMENT) {
      const end = Node.endOfLine(src, start + 1);
      const commentRange = new Range(start, end);
      this.props.push(commentRange);
      return end;
    }

    return start;
  }
  /**
   * Populates the `origStart` and `origEnd` values of all ranges for this
   * node. Extended by child classes to handle descendant nodes.
   *
   * @param {number[]} cr - Positions of dropped CR characters
   * @param {number} offset - Starting index of `cr` from the last call
   * @returns {number} - The next offset, matching the one found for `origStart`
   */


  setOrigRanges(cr, offset) {
    if (this.range) offset = this.range.setOrigRange(cr, offset);
    if (this.valueRange) this.valueRange.setOrigRange(cr, offset);
    this.props.forEach(prop => prop.setOrigRange(cr, offset));
    return offset;
  }

  toString() {
    const {
      context: {
        src
      },
      range,
      value
    } = this;
    if (value != null) return value;
    const str = src.slice(range.start, range.end);
    return Node.addStringTerminator(src, range.end, str);
  }

}

class YAMLError extends Error {
  constructor(name, source, message) {
    if (!message || !(source instanceof Node)) throw new Error(`Invalid arguments for new ${name}`);
    super();
    this.name = name;
    this.message = message;
    this.source = source;
  }

  makePretty() {
    if (!this.source) return;
    this.nodeType = this.source.type;
    const cst = this.source.context && this.source.context.root;

    if (typeof this.offset === 'number') {
      this.range = new Range(this.offset, this.offset + 1);
      const start = cst && getLinePos(this.offset, cst);

      if (start) {
        const end = {
          line: start.line,
          col: start.col + 1
        };
        this.linePos = {
          start,
          end
        };
      }

      delete this.offset;
    } else {
      this.range = this.source.range;
      this.linePos = this.source.rangeAsLinePos;
    }

    if (this.linePos) {
      const {
        line,
        col
      } = this.linePos.start;
      this.message += ` at line ${line}, column ${col}`;
      const ctx = cst && getPrettyContext(this.linePos, cst);
      if (ctx) this.message += `:\n\n${ctx}\n`;
    }

    delete this.source;
  }

}
class YAMLReferenceError extends YAMLError {
  constructor(source, message) {
    super('YAMLReferenceError', source, message);
  }

}
class YAMLSemanticError extends YAMLError {
  constructor(source, message) {
    super('YAMLSemanticError', source, message);
  }

}
class YAMLSyntaxError extends YAMLError {
  constructor(source, message) {
    super('YAMLSyntaxError', source, message);
  }

}
class YAMLWarning extends YAMLError {
  constructor(source, message) {
    super('YAMLWarning', source, message);
  }

}

function _defineProperty(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }

  return obj;
}

class PlainValue extends Node {
  static endOfLine(src, start, inFlow) {
    let ch = src[start];
    let offset = start;

    while (ch && ch !== '\n') {
      if (inFlow && (ch === '[' || ch === ']' || ch === '{' || ch === '}' || ch === ',')) break;
      const next = src[offset + 1];
      if (ch === ':' && (!next || next === '\n' || next === '\t' || next === ' ' || inFlow && next === ',')) break;
      if ((ch === ' ' || ch === '\t') && next === '#') break;
      offset += 1;
      ch = next;
    }

    return offset;
  }

  get strValue() {
    if (!this.valueRange || !this.context) return null;
    let {
      start,
      end
    } = this.valueRange;
    const {
      src
    } = this.context;
    let ch = src[end - 1];

    while (start < end && (ch === '\n' || ch === '\t' || ch === ' ')) ch = src[--end - 1];

    let str = '';

    for (let i = start; i < end; ++i) {
      const ch = src[i];

      if (ch === '\n') {
        const {
          fold,
          offset
        } = Node.foldNewline(src, i, -1);
        str += fold;
        i = offset;
      } else if (ch === ' ' || ch === '\t') {
        // trim trailing whitespace
        const wsStart = i;
        let next = src[i + 1];

        while (i < end && (next === ' ' || next === '\t')) {
          i += 1;
          next = src[i + 1];
        }

        if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;
      } else {
        str += ch;
      }
    }

    const ch0 = src[start];

    switch (ch0) {
      case '\t':
        {
          const msg = 'Plain value cannot start with a tab character';
          const errors = [new YAMLSemanticError(this, msg)];
          return {
            errors,
            str
          };
        }

      case '@':
      case '`':
        {
          const msg = `Plain value cannot start with reserved character ${ch0}`;
          const errors = [new YAMLSemanticError(this, msg)];
          return {
            errors,
            str
          };
        }

      default:
        return str;
    }
  }

  parseBlockValue(start) {
    const {
      indent,
      inFlow,
      src
    } = this.context;
    let offset = start;
    let valueEnd = start;

    for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
      if (Node.atDocumentBoundary(src, offset + 1)) break;
      const end = Node.endOfBlockIndent(src, indent, offset + 1);
      if (end === null || src[end] === '#') break;

      if (src[end] === '\n') {
        offset = end;
      } else {
        valueEnd = PlainValue.endOfLine(src, end, inFlow);
        offset = valueEnd;
      }
    }

    if (this.valueRange.isEmpty()) this.valueRange.start = start;
    this.valueRange.end = valueEnd;
    return valueEnd;
  }
  /**
   * Parses a plain value from the source
   *
   * Accepted forms are:
   * ```
   * #comment
   *
   * first line
   *
   * first line #comment
   *
   * first line
   * block
   * lines
   *
   * #comment
   * block
   * lines
   * ```
   * where block lines are empty or have an indent level greater than `indent`.
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this scalar, may be `\n`
   */


  parse(context, start) {
    this.context = context;
    const {
      inFlow,
      src
    } = context;
    let offset = start;
    const ch = src[offset];

    if (ch && ch !== '#' && ch !== '\n') {
      offset = PlainValue.endOfLine(src, start, inFlow);
    }

    this.valueRange = new Range(start, offset);
    offset = Node.endOfWhiteSpace(src, offset);
    offset = this.parseComment(offset);

    if (!this.hasComment || this.valueRange.isEmpty()) {
      offset = this.parseBlockValue(offset);
    }

    return offset;
  }

}

exports.Char = Char;
exports.Node = Node;
exports.PlainValue = PlainValue;
exports.Range = Range;
exports.Type = Type;
exports.YAMLError = YAMLError;
exports.YAMLReferenceError = YAMLReferenceError;
exports.YAMLSemanticError = YAMLSemanticError;
exports.YAMLSyntaxError = YAMLSyntaxError;
exports.YAMLWarning = YAMLWarning;
exports._defineProperty = _defineProperty;
exports.defaultTagPrefix = defaultTagPrefix;
exports.defaultTags = defaultTags;


/***/ }),

/***/ 28021:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


var PlainValue = __nccwpck_require__(75215);
var resolveSeq = __nccwpck_require__(64227);
var warnings = __nccwpck_require__(46003);

function createMap(schema, obj, ctx) {
  const map = new resolveSeq.YAMLMap(schema);

  if (obj instanceof Map) {
    for (const [key, value] of obj) map.items.push(schema.createPair(key, value, ctx));
  } else if (obj && typeof obj === 'object') {
    for (const key of Object.keys(obj)) map.items.push(schema.createPair(key, obj[key], ctx));
  }

  if (typeof schema.sortMapEntries === 'function') {
    map.items.sort(schema.sortMapEntries);
  }

  return map;
}

const map = {
  createNode: createMap,
  default: true,
  nodeClass: resolveSeq.YAMLMap,
  tag: 'tag:yaml.org,2002:map',
  resolve: resolveSeq.resolveMap
};

function createSeq(schema, obj, ctx) {
  const seq = new resolveSeq.YAMLSeq(schema);

  if (obj && obj[Symbol.iterator]) {
    for (const it of obj) {
      const v = schema.createNode(it, ctx.wrapScalars, null, ctx);
      seq.items.push(v);
    }
  }

  return seq;
}

const seq = {
  createNode: createSeq,
  default: true,
  nodeClass: resolveSeq.YAMLSeq,
  tag: 'tag:yaml.org,2002:seq',
  resolve: resolveSeq.resolveSeq
};

const string = {
  identify: value => typeof value === 'string',
  default: true,
  tag: 'tag:yaml.org,2002:str',
  resolve: resolveSeq.resolveString,

  stringify(item, ctx, onComment, onChompKeep) {
    ctx = Object.assign({
      actualString: true
    }, ctx);
    return resolveSeq.stringifyString(item, ctx, onComment, onChompKeep);
  },

  options: resolveSeq.strOptions
};

const failsafe = [map, seq, string];

/* global BigInt */

const intIdentify$2 = value => typeof value === 'bigint' || Number.isInteger(value);

const intResolve$1 = (src, part, radix) => resolveSeq.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix);

function intStringify$1(node, radix, prefix) {
  const {
    value
  } = node;
  if (intIdentify$2(value) && value >= 0) return prefix + value.toString(radix);
  return resolveSeq.stringifyNumber(node);
}

const nullObj = {
  identify: value => value == null,
  createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null,
  default: true,
  tag: 'tag:yaml.org,2002:null',
  test: /^(?:~|[Nn]ull|NULL)?$/,
  resolve: () => null,
  options: resolveSeq.nullOptions,
  stringify: () => resolveSeq.nullOptions.nullStr
};
const boolObj = {
  identify: value => typeof value === 'boolean',
  default: true,
  tag: 'tag:yaml.org,2002:bool',
  test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
  resolve: str => str[0] === 't' || str[0] === 'T',
  options: resolveSeq.boolOptions,
  stringify: ({
    value
  }) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr
};
const octObj = {
  identify: value => intIdentify$2(value) && value >= 0,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  format: 'OCT',
  test: /^0o([0-7]+)$/,
  resolve: (str, oct) => intResolve$1(str, oct, 8),
  options: resolveSeq.intOptions,
  stringify: node => intStringify$1(node, 8, '0o')
};
const intObj = {
  identify: intIdentify$2,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  test: /^[-+]?[0-9]+$/,
  resolve: str => intResolve$1(str, str, 10),
  options: resolveSeq.intOptions,
  stringify: resolveSeq.stringifyNumber
};
const hexObj = {
  identify: value => intIdentify$2(value) && value >= 0,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  format: 'HEX',
  test: /^0x([0-9a-fA-F]+)$/,
  resolve: (str, hex) => intResolve$1(str, hex, 16),
  options: resolveSeq.intOptions,
  stringify: node => intStringify$1(node, 16, '0x')
};
const nanObj = {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  test: /^(?:[-+]?\.inf|(\.nan))$/i,
  resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
  stringify: resolveSeq.stringifyNumber
};
const expObj = {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  format: 'EXP',
  test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
  resolve: str => parseFloat(str),
  stringify: ({
    value
  }) => Number(value).toExponential()
};
const floatObj = {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  test: /^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,

  resolve(str, frac1, frac2) {
    const frac = frac1 || frac2;
    const node = new resolveSeq.Scalar(parseFloat(str));
    if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length;
    return node;
  },

  stringify: resolveSeq.stringifyNumber
};
const core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]);

/* global BigInt */

const intIdentify$1 = value => typeof value === 'bigint' || Number.isInteger(value);

const stringifyJSON = ({
  value
}) => JSON.stringify(value);

const json = [map, seq, {
  identify: value => typeof value === 'string',
  default: true,
  tag: 'tag:yaml.org,2002:str',
  resolve: resolveSeq.resolveString,
  stringify: stringifyJSON
}, {
  identify: value => value == null,
  createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null,
  default: true,
  tag: 'tag:yaml.org,2002:null',
  test: /^null$/,
  resolve: () => null,
  stringify: stringifyJSON
}, {
  identify: value => typeof value === 'boolean',
  default: true,
  tag: 'tag:yaml.org,2002:bool',
  test: /^true|false$/,
  resolve: str => str === 'true',
  stringify: stringifyJSON
}, {
  identify: intIdentify$1,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  test: /^-?(?:0|[1-9][0-9]*)$/,
  resolve: str => resolveSeq.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10),
  stringify: ({
    value
  }) => intIdentify$1(value) ? value.toString() : JSON.stringify(value)
}, {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
  resolve: str => parseFloat(str),
  stringify: stringifyJSON
}];

json.scalarFallback = str => {
  throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`);
};

/* global BigInt */

const boolStringify = ({
  value
}) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr;

const intIdentify = value => typeof value === 'bigint' || Number.isInteger(value);

function intResolve(sign, src, radix) {
  let str = src.replace(/_/g, '');

  if (resolveSeq.intOptions.asBigInt) {
    switch (radix) {
      case 2:
        str = `0b${str}`;
        break;

      case 8:
        str = `0o${str}`;
        break;

      case 16:
        str = `0x${str}`;
        break;
    }

    const n = BigInt(str);
    return sign === '-' ? BigInt(-1) * n : n;
  }

  const n = parseInt(str, radix);
  return sign === '-' ? -1 * n : n;
}

function intStringify(node, radix, prefix) {
  const {
    value
  } = node;

  if (intIdentify(value)) {
    const str = value.toString(radix);
    return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
  }

  return resolveSeq.stringifyNumber(node);
}

const yaml11 = failsafe.concat([{
  identify: value => value == null,
  createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null,
  default: true,
  tag: 'tag:yaml.org,2002:null',
  test: /^(?:~|[Nn]ull|NULL)?$/,
  resolve: () => null,
  options: resolveSeq.nullOptions,
  stringify: () => resolveSeq.nullOptions.nullStr
}, {
  identify: value => typeof value === 'boolean',
  default: true,
  tag: 'tag:yaml.org,2002:bool',
  test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
  resolve: () => true,
  options: resolveSeq.boolOptions,
  stringify: boolStringify
}, {
  identify: value => typeof value === 'boolean',
  default: true,
  tag: 'tag:yaml.org,2002:bool',
  test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,
  resolve: () => false,
  options: resolveSeq.boolOptions,
  stringify: boolStringify
}, {
  identify: intIdentify,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  format: 'BIN',
  test: /^([-+]?)0b([0-1_]+)$/,
  resolve: (str, sign, bin) => intResolve(sign, bin, 2),
  stringify: node => intStringify(node, 2, '0b')
}, {
  identify: intIdentify,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  format: 'OCT',
  test: /^([-+]?)0([0-7_]+)$/,
  resolve: (str, sign, oct) => intResolve(sign, oct, 8),
  stringify: node => intStringify(node, 8, '0')
}, {
  identify: intIdentify,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  test: /^([-+]?)([0-9][0-9_]*)$/,
  resolve: (str, sign, abs) => intResolve(sign, abs, 10),
  stringify: resolveSeq.stringifyNumber
}, {
  identify: intIdentify,
  default: true,
  tag: 'tag:yaml.org,2002:int',
  format: 'HEX',
  test: /^([-+]?)0x([0-9a-fA-F_]+)$/,
  resolve: (str, sign, hex) => intResolve(sign, hex, 16),
  stringify: node => intStringify(node, 16, '0x')
}, {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  test: /^(?:[-+]?\.inf|(\.nan))$/i,
  resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
  stringify: resolveSeq.stringifyNumber
}, {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  format: 'EXP',
  test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,
  resolve: str => parseFloat(str.replace(/_/g, '')),
  stringify: ({
    value
  }) => Number(value).toExponential()
}, {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,

  resolve(str, frac) {
    const node = new resolveSeq.Scalar(parseFloat(str.replace(/_/g, '')));

    if (frac) {
      const f = frac.replace(/_/g, '');
      if (f[f.length - 1] === '0') node.minFractionDigits = f.length;
    }

    return node;
  },

  stringify: resolveSeq.stringifyNumber
}], warnings.binary, warnings.omap, warnings.pairs, warnings.set, warnings.intTime, warnings.floatTime, warnings.timestamp);

const schemas = {
  core,
  failsafe,
  json,
  yaml11
};
const tags = {
  binary: warnings.binary,
  bool: boolObj,
  float: floatObj,
  floatExp: expObj,
  floatNaN: nanObj,
  floatTime: warnings.floatTime,
  int: intObj,
  intHex: hexObj,
  intOct: octObj,
  intTime: warnings.intTime,
  map,
  null: nullObj,
  omap: warnings.omap,
  pairs: warnings.pairs,
  seq,
  set: warnings.set,
  timestamp: warnings.timestamp
};

function findTagObject(value, tagName, tags) {
  if (tagName) {
    const match = tags.filter(t => t.tag === tagName);
    const tagObj = match.find(t => !t.format) || match[0];
    if (!tagObj) throw new Error(`Tag ${tagName} not found`);
    return tagObj;
  } // TODO: deprecate/remove class check


  return tags.find(t => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format);
}

function createNode(value, tagName, ctx) {
  if (value instanceof resolveSeq.Node) return value;
  const {
    defaultPrefix,
    onTagObj,
    prevObjects,
    schema,
    wrapScalars
  } = ctx;
  if (tagName && tagName.startsWith('!!')) tagName = defaultPrefix + tagName.slice(2);
  let tagObj = findTagObject(value, tagName, schema.tags);

  if (!tagObj) {
    if (typeof value.toJSON === 'function') value = value.toJSON();
    if (!value || typeof value !== 'object') return wrapScalars ? new resolveSeq.Scalar(value) : value;
    tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map;
  }

  if (onTagObj) {
    onTagObj(tagObj);
    delete ctx.onTagObj;
  } // Detect duplicate references to the same object & use Alias nodes for all
  // after first. The `obj` wrapper allows for circular references to resolve.


  const obj = {
    value: undefined,
    node: undefined
  };

  if (value && typeof value === 'object' && prevObjects) {
    const prev = prevObjects.get(value);

    if (prev) {
      const alias = new resolveSeq.Alias(prev); // leaves source dirty; must be cleaned by caller

      ctx.aliasNodes.push(alias); // defined along with prevObjects

      return alias;
    }

    obj.value = value;
    prevObjects.set(value, obj);
  }

  obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq.Scalar(value) : value;
  if (tagName && obj.node instanceof resolveSeq.Node) obj.node.tag = tagName;
  return obj.node;
}

function getSchemaTags(schemas, knownTags, customTags, schemaId) {
  let tags = schemas[schemaId.replace(/\W/g, '')]; // 'yaml-1.1' -> 'yaml11'

  if (!tags) {
    const keys = Object.keys(schemas).map(key => JSON.stringify(key)).join(', ');
    throw new Error(`Unknown schema "${schemaId}"; use one of ${keys}`);
  }

  if (Array.isArray(customTags)) {
    for (const tag of customTags) tags = tags.concat(tag);
  } else if (typeof customTags === 'function') {
    tags = customTags(tags.slice());
  }

  for (let i = 0; i < tags.length; ++i) {
    const tag = tags[i];

    if (typeof tag === 'string') {
      const tagObj = knownTags[tag];

      if (!tagObj) {
        const keys = Object.keys(knownTags).map(key => JSON.stringify(key)).join(', ');
        throw new Error(`Unknown custom tag "${tag}"; use one of ${keys}`);
      }

      tags[i] = tagObj;
    }
  }

  return tags;
}

const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;

class Schema {
  // TODO: remove in v2
  // TODO: remove in v2
  constructor({
    customTags,
    merge,
    schema,
    sortMapEntries,
    tags: deprecatedCustomTags
  }) {
    this.merge = !!merge;
    this.name = schema;
    this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null;
    if (!customTags && deprecatedCustomTags) warnings.warnOptionDeprecation('tags', 'customTags');
    this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema);
  }

  createNode(value, wrapScalars, tagName, ctx) {
    const baseCtx = {
      defaultPrefix: Schema.defaultPrefix,
      schema: this,
      wrapScalars
    };
    const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx;
    return createNode(value, tagName, createCtx);
  }

  createPair(key, value, ctx) {
    if (!ctx) ctx = {
      wrapScalars: true
    };
    const k = this.createNode(key, ctx.wrapScalars, null, ctx);
    const v = this.createNode(value, ctx.wrapScalars, null, ctx);
    return new resolveSeq.Pair(k, v);
  }

}

PlainValue._defineProperty(Schema, "defaultPrefix", PlainValue.defaultTagPrefix);

PlainValue._defineProperty(Schema, "defaultTags", PlainValue.defaultTags);

exports.Schema = Schema;


/***/ }),

/***/ 65065:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


var parseCst = __nccwpck_require__(10445);
var Document$1 = __nccwpck_require__(55506);
var Schema = __nccwpck_require__(28021);
var PlainValue = __nccwpck_require__(75215);
var warnings = __nccwpck_require__(46003);
__nccwpck_require__(64227);

function createNode(value, wrapScalars = true, tag) {
  if (tag === undefined && typeof wrapScalars === 'string') {
    tag = wrapScalars;
    wrapScalars = true;
  }

  const options = Object.assign({}, Document$1.Document.defaults[Document$1.defaultOptions.version], Document$1.defaultOptions);
  const schema = new Schema.Schema(options);
  return schema.createNode(value, wrapScalars, tag);
}

class Document extends Document$1.Document {
  constructor(options) {
    super(Object.assign({}, Document$1.defaultOptions, options));
  }

}

function parseAllDocuments(src, options) {
  const stream = [];
  let prev;

  for (const cstDoc of parseCst.parse(src)) {
    const doc = new Document(options);
    doc.parse(cstDoc, prev);
    stream.push(doc);
    prev = doc;
  }

  return stream;
}

function parseDocument(src, options) {
  const cst = parseCst.parse(src);
  const doc = new Document(options).parse(cst[0]);

  if (cst.length > 1) {
    const errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';
    doc.errors.unshift(new PlainValue.YAMLSemanticError(cst[1], errMsg));
  }

  return doc;
}

function parse(src, options) {
  const doc = parseDocument(src, options);
  doc.warnings.forEach(warning => warnings.warn(warning));
  if (doc.errors.length > 0) throw doc.errors[0];
  return doc.toJSON();
}

function stringify(value, options) {
  const doc = new Document(options);
  doc.contents = value;
  return String(doc);
}

const YAML = {
  createNode,
  defaultOptions: Document$1.defaultOptions,
  Document,
  parse,
  parseAllDocuments,
  parseCST: parseCst.parse,
  parseDocument,
  scalarOptions: Document$1.scalarOptions,
  stringify
};

exports.YAML = YAML;


/***/ }),

/***/ 10445:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


var PlainValue = __nccwpck_require__(75215);

class BlankLine extends PlainValue.Node {
  constructor() {
    super(PlainValue.Type.BLANK_LINE);
  }
  /* istanbul ignore next */


  get includesTrailingLines() {
    // This is never called from anywhere, but if it were,
    // this is the value it should return.
    return true;
  }
  /**
   * Parses a blank line from the source
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first \n character
   * @returns {number} - Index of the character after this
   */


  parse(context, start) {
    this.context = context;
    this.range = new PlainValue.Range(start, start + 1);
    return start + 1;
  }

}

class CollectionItem extends PlainValue.Node {
  constructor(type, props) {
    super(type, props);
    this.node = null;
  }

  get includesTrailingLines() {
    return !!this.node && this.node.includesTrailingLines;
  }
  /**
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this
   */


  parse(context, start) {
    this.context = context;
    const {
      parseNode,
      src
    } = context;
    let {
      atLineStart,
      lineStart
    } = context;
    if (!atLineStart && this.type === PlainValue.Type.SEQ_ITEM) this.error = new PlainValue.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');
    const indent = atLineStart ? start - lineStart : context.indent;
    let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1);
    let ch = src[offset];
    const inlineComment = ch === '#';
    const comments = [];
    let blankLine = null;

    while (ch === '\n' || ch === '#') {
      if (ch === '#') {
        const end = PlainValue.Node.endOfLine(src, offset + 1);
        comments.push(new PlainValue.Range(offset, end));
        offset = end;
      } else {
        atLineStart = true;
        lineStart = offset + 1;
        const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart);

        if (src[wsEnd] === '\n' && comments.length === 0) {
          blankLine = new BlankLine();
          lineStart = blankLine.parse({
            src
          }, lineStart);
        }

        offset = PlainValue.Node.endOfIndent(src, lineStart);
      }

      ch = src[offset];
    }

    if (PlainValue.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValue.Type.SEQ_ITEM)) {
      this.node = parseNode({
        atLineStart,
        inCollection: false,
        indent,
        lineStart,
        parent: this
      }, offset);
    } else if (ch && lineStart > start + 1) {
      offset = lineStart - 1;
    }

    if (this.node) {
      if (blankLine) {
        // Only blank lines preceding non-empty nodes are captured. Note that
        // this means that collection item range start indices do not always
        // increase monotonically. -- eemeli/yaml#126
        const items = context.parent.items || context.parent.contents;
        if (items) items.push(blankLine);
      }

      if (comments.length) Array.prototype.push.apply(this.props, comments);
      offset = this.node.range.end;
    } else {
      if (inlineComment) {
        const c = comments[0];
        this.props.push(c);
        offset = c.end;
      } else {
        offset = PlainValue.Node.endOfLine(src, start + 1);
      }
    }

    const end = this.node ? this.node.valueRange.end : offset;
    this.valueRange = new PlainValue.Range(start, end);
    return offset;
  }

  setOrigRanges(cr, offset) {
    offset = super.setOrigRanges(cr, offset);
    return this.node ? this.node.setOrigRanges(cr, offset) : offset;
  }

  toString() {
    const {
      context: {
        src
      },
      node,
      range,
      value
    } = this;
    if (value != null) return value;
    const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);
    return PlainValue.Node.addStringTerminator(src, range.end, str);
  }

}

class Comment extends PlainValue.Node {
  constructor() {
    super(PlainValue.Type.COMMENT);
  }
  /**
   * Parses a comment line from the source
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this scalar
   */


  parse(context, start) {
    this.context = context;
    const offset = this.parseComment(start);
    this.range = new PlainValue.Range(start, offset);
    return offset;
  }

}

function grabCollectionEndComments(node) {
  let cnode = node;

  while (cnode instanceof CollectionItem) cnode = cnode.node;

  if (!(cnode instanceof Collection)) return null;
  const len = cnode.items.length;
  let ci = -1;

  for (let i = len - 1; i >= 0; --i) {
    const n = cnode.items[i];

    if (n.type === PlainValue.Type.COMMENT) {
      // Keep sufficiently indented comments with preceding node
      const {
        indent,
        lineStart
      } = n.context;
      if (indent > 0 && n.range.start >= lineStart + indent) break;
      ci = i;
    } else if (n.type === PlainValue.Type.BLANK_LINE) ci = i;else break;
  }

  if (ci === -1) return null;
  const ca = cnode.items.splice(ci, len - ci);
  const prevEnd = ca[0].range.start;

  while (true) {
    cnode.range.end = prevEnd;
    if (cnode.valueRange && cnode.valueRange.end > prevEnd) cnode.valueRange.end = prevEnd;
    if (cnode === node) break;
    cnode = cnode.context.parent;
  }

  return ca;
}
class Collection extends PlainValue.Node {
  static nextContentHasIndent(src, offset, indent) {
    const lineStart = PlainValue.Node.endOfLine(src, offset) + 1;
    offset = PlainValue.Node.endOfWhiteSpace(src, lineStart);
    const ch = src[offset];
    if (!ch) return false;
    if (offset >= lineStart + indent) return true;
    if (ch !== '#' && ch !== '\n') return false;
    return Collection.nextContentHasIndent(src, offset, indent);
  }

  constructor(firstItem) {
    super(firstItem.type === PlainValue.Type.SEQ_ITEM ? PlainValue.Type.SEQ : PlainValue.Type.MAP);

    for (let i = firstItem.props.length - 1; i >= 0; --i) {
      if (firstItem.props[i].start < firstItem.context.lineStart) {
        // props on previous line are assumed by the collection
        this.props = firstItem.props.slice(0, i + 1);
        firstItem.props = firstItem.props.slice(i + 1);
        const itemRange = firstItem.props[0] || firstItem.valueRange;
        firstItem.range.start = itemRange.start;
        break;
      }
    }

    this.items = [firstItem];
    const ec = grabCollectionEndComments(firstItem);
    if (ec) Array.prototype.push.apply(this.items, ec);
  }

  get includesTrailingLines() {
    return this.items.length > 0;
  }
  /**
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this
   */


  parse(context, start) {
    this.context = context;
    const {
      parseNode,
      src
    } = context; // It's easier to recalculate lineStart here rather than tracking down the
    // last context from which to read it -- eemeli/yaml#2

    let lineStart = PlainValue.Node.startOfLine(src, start);
    const firstItem = this.items[0]; // First-item context needs to be correct for later comment handling
    // -- eemeli/yaml#17

    firstItem.context.parent = this;
    this.valueRange = PlainValue.Range.copy(firstItem.valueRange);
    const indent = firstItem.range.start - firstItem.context.lineStart;
    let offset = start;
    offset = PlainValue.Node.normalizeOffset(src, offset);
    let ch = src[offset];
    let atLineStart = PlainValue.Node.endOfWhiteSpace(src, lineStart) === offset;
    let prevIncludesTrailingLines = false;

    while (ch) {
      while (ch === '\n' || ch === '#') {
        if (atLineStart && ch === '\n' && !prevIncludesTrailingLines) {
          const blankLine = new BlankLine();
          offset = blankLine.parse({
            src
          }, offset);
          this.valueRange.end = offset;

          if (offset >= src.length) {
            ch = null;
            break;
          }

          this.items.push(blankLine);
          offset -= 1; // blankLine.parse() consumes terminal newline
        } else if (ch === '#') {
          if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) {
            return offset;
          }

          const comment = new Comment();
          offset = comment.parse({
            indent,
            lineStart,
            src
          }, offset);
          this.items.push(comment);
          this.valueRange.end = offset;

          if (offset >= src.length) {
            ch = null;
            break;
          }
        }

        lineStart = offset + 1;
        offset = PlainValue.Node.endOfIndent(src, lineStart);

        if (PlainValue.Node.atBlank(src, offset)) {
          const wsEnd = PlainValue.Node.endOfWhiteSpace(src, offset);
          const next = src[wsEnd];

          if (!next || next === '\n' || next === '#') {
            offset = wsEnd;
          }
        }

        ch = src[offset];
        atLineStart = true;
      }

      if (!ch) {
        break;
      }

      if (offset !== lineStart + indent && (atLineStart || ch !== ':')) {
        if (offset < lineStart + indent) {
          if (lineStart > start) offset = lineStart;
          break;
        } else if (!this.error) {
          const msg = 'All collection items must start at the same column';
          this.error = new PlainValue.YAMLSyntaxError(this, msg);
        }
      }

      if (firstItem.type === PlainValue.Type.SEQ_ITEM) {
        if (ch !== '-') {
          if (lineStart > start) offset = lineStart;
          break;
        }
      } else if (ch === '-' && !this.error) {
        // map key may start with -, as long as it's followed by a non-whitespace char
        const next = src[offset + 1];

        if (!next || next === '\n' || next === '\t' || next === ' ') {
          const msg = 'A collection cannot be both a mapping and a sequence';
          this.error = new PlainValue.YAMLSyntaxError(this, msg);
        }
      }

      const node = parseNode({
        atLineStart,
        inCollection: true,
        indent,
        lineStart,
        parent: this
      }, offset);
      if (!node) return offset; // at next document start

      this.items.push(node);
      this.valueRange.end = node.valueRange.end;
      offset = PlainValue.Node.normalizeOffset(src, node.range.end);
      ch = src[offset];
      atLineStart = false;
      prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range
      // has advanced to check the current line's indentation level
      // -- eemeli/yaml#10 & eemeli/yaml#38

      if (ch) {
        let ls = offset - 1;
        let prev = src[ls];

        while (prev === ' ' || prev === '\t') prev = src[--ls];

        if (prev === '\n') {
          lineStart = ls + 1;
          atLineStart = true;
        }
      }

      const ec = grabCollectionEndComments(node);
      if (ec) Array.prototype.push.apply(this.items, ec);
    }

    return offset;
  }

  setOrigRanges(cr, offset) {
    offset = super.setOrigRanges(cr, offset);
    this.items.forEach(node => {
      offset = node.setOrigRanges(cr, offset);
    });
    return offset;
  }

  toString() {
    const {
      context: {
        src
      },
      items,
      range,
      value
    } = this;
    if (value != null) return value;
    let str = src.slice(range.start, items[0].range.start) + String(items[0]);

    for (let i = 1; i < items.length; ++i) {
      const item = items[i];
      const {
        atLineStart,
        indent
      } = item.context;
      if (atLineStart) for (let i = 0; i < indent; ++i) str += ' ';
      str += String(item);
    }

    return PlainValue.Node.addStringTerminator(src, range.end, str);
  }

}

class Directive extends PlainValue.Node {
  constructor() {
    super(PlainValue.Type.DIRECTIVE);
    this.name = null;
  }

  get parameters() {
    const raw = this.rawValue;
    return raw ? raw.trim().split(/[ \t]+/) : [];
  }

  parseName(start) {
    const {
      src
    } = this.context;
    let offset = start;
    let ch = src[offset];

    while (ch && ch !== '\n' && ch !== '\t' && ch !== ' ') ch = src[offset += 1];

    this.name = src.slice(start, offset);
    return offset;
  }

  parseParameters(start) {
    const {
      src
    } = this.context;
    let offset = start;
    let ch = src[offset];

    while (ch && ch !== '\n' && ch !== '#') ch = src[offset += 1];

    this.valueRange = new PlainValue.Range(start, offset);
    return offset;
  }

  parse(context, start) {
    this.context = context;
    let offset = this.parseName(start + 1);
    offset = this.parseParameters(offset);
    offset = this.parseComment(offset);
    this.range = new PlainValue.Range(start, offset);
    return offset;
  }

}

class Document extends PlainValue.Node {
  static startCommentOrEndBlankLine(src, start) {
    const offset = PlainValue.Node.endOfWhiteSpace(src, start);
    const ch = src[offset];
    return ch === '#' || ch === '\n' ? offset : start;
  }

  constructor() {
    super(PlainValue.Type.DOCUMENT);
    this.directives = null;
    this.contents = null;
    this.directivesEndMarker = null;
    this.documentEndMarker = null;
  }

  parseDirectives(start) {
    const {
      src
    } = this.context;
    this.directives = [];
    let atLineStart = true;
    let hasDirectives = false;
    let offset = start;

    while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DIRECTIVES_END)) {
      offset = Document.startCommentOrEndBlankLine(src, offset);

      switch (src[offset]) {
        case '\n':
          if (atLineStart) {
            const blankLine = new BlankLine();
            offset = blankLine.parse({
              src
            }, offset);

            if (offset < src.length) {
              this.directives.push(blankLine);
            }
          } else {
            offset += 1;
            atLineStart = true;
          }

          break;

        case '#':
          {
            const comment = new Comment();
            offset = comment.parse({
              src
            }, offset);
            this.directives.push(comment);
            atLineStart = false;
          }
          break;

        case '%':
          {
            const directive = new Directive();
            offset = directive.parse({
              parent: this,
              src
            }, offset);
            this.directives.push(directive);
            hasDirectives = true;
            atLineStart = false;
          }
          break;

        default:
          if (hasDirectives) {
            this.error = new PlainValue.YAMLSemanticError(this, 'Missing directives-end indicator line');
          } else if (this.directives.length > 0) {
            this.contents = this.directives;
            this.directives = [];
          }

          return offset;
      }
    }

    if (src[offset]) {
      this.directivesEndMarker = new PlainValue.Range(offset, offset + 3);
      return offset + 3;
    }

    if (hasDirectives) {
      this.error = new PlainValue.YAMLSemanticError(this, 'Missing directives-end indicator line');
    } else if (this.directives.length > 0) {
      this.contents = this.directives;
      this.directives = [];
    }

    return offset;
  }

  parseContents(start) {
    const {
      parseNode,
      src
    } = this.context;
    if (!this.contents) this.contents = [];
    let lineStart = start;

    while (src[lineStart - 1] === '-') lineStart -= 1;

    let offset = PlainValue.Node.endOfWhiteSpace(src, start);
    let atLineStart = lineStart === start;
    this.valueRange = new PlainValue.Range(offset);

    while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DOCUMENT_END)) {
      switch (src[offset]) {
        case '\n':
          if (atLineStart) {
            const blankLine = new BlankLine();
            offset = blankLine.parse({
              src
            }, offset);

            if (offset < src.length) {
              this.contents.push(blankLine);
            }
          } else {
            offset += 1;
            atLineStart = true;
          }

          lineStart = offset;
          break;

        case '#':
          {
            const comment = new Comment();
            offset = comment.parse({
              src
            }, offset);
            this.contents.push(comment);
            atLineStart = false;
          }
          break;

        default:
          {
            const iEnd = PlainValue.Node.endOfIndent(src, offset);
            const context = {
              atLineStart,
              indent: -1,
              inFlow: false,
              inCollection: false,
              lineStart,
              parent: this
            };
            const node = parseNode(context, iEnd);
            if (!node) return this.valueRange.end = iEnd; // at next document start

            this.contents.push(node);
            offset = node.range.end;
            atLineStart = false;
            const ec = grabCollectionEndComments(node);
            if (ec) Array.prototype.push.apply(this.contents, ec);
          }
      }

      offset = Document.startCommentOrEndBlankLine(src, offset);
    }

    this.valueRange.end = offset;

    if (src[offset]) {
      this.documentEndMarker = new PlainValue.Range(offset, offset + 3);
      offset += 3;

      if (src[offset]) {
        offset = PlainValue.Node.endOfWhiteSpace(src, offset);

        if (src[offset] === '#') {
          const comment = new Comment();
          offset = comment.parse({
            src
          }, offset);
          this.contents.push(comment);
        }

        switch (src[offset]) {
          case '\n':
            offset += 1;
            break;

          case undefined:
            break;

          default:
            this.error = new PlainValue.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');
        }
      }
    }

    return offset;
  }
  /**
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this
   */


  parse(context, start) {
    context.root = this;
    this.context = context;
    const {
      src
    } = context;
    let offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM

    offset = this.parseDirectives(offset);
    offset = this.parseContents(offset);
    return offset;
  }

  setOrigRanges(cr, offset) {
    offset = super.setOrigRanges(cr, offset);
    this.directives.forEach(node => {
      offset = node.setOrigRanges(cr, offset);
    });
    if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset);
    this.contents.forEach(node => {
      offset = node.setOrigRanges(cr, offset);
    });
    if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset);
    return offset;
  }

  toString() {
    const {
      contents,
      directives,
      value
    } = this;
    if (value != null) return value;
    let str = directives.join('');

    if (contents.length > 0) {
      if (directives.length > 0 || contents[0].type === PlainValue.Type.COMMENT) str += '---\n';
      str += contents.join('');
    }

    if (str[str.length - 1] !== '\n') str += '\n';
    return str;
  }

}

class Alias extends PlainValue.Node {
  /**
   * Parses an *alias from the source
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this scalar
   */
  parse(context, start) {
    this.context = context;
    const {
      src
    } = context;
    let offset = PlainValue.Node.endOfIdentifier(src, start + 1);
    this.valueRange = new PlainValue.Range(start + 1, offset);
    offset = PlainValue.Node.endOfWhiteSpace(src, offset);
    offset = this.parseComment(offset);
    return offset;
  }

}

const Chomp = {
  CLIP: 'CLIP',
  KEEP: 'KEEP',
  STRIP: 'STRIP'
};
class BlockValue extends PlainValue.Node {
  constructor(type, props) {
    super(type, props);
    this.blockIndent = null;
    this.chomping = Chomp.CLIP;
    this.header = null;
  }

  get includesTrailingLines() {
    return this.chomping === Chomp.KEEP;
  }

  get strValue() {
    if (!this.valueRange || !this.context) return null;
    let {
      start,
      end
    } = this.valueRange;
    const {
      indent,
      src
    } = this.context;
    if (this.valueRange.isEmpty()) return '';
    let lastNewLine = null;
    let ch = src[end - 1];

    while (ch === '\n' || ch === '\t' || ch === ' ') {
      end -= 1;

      if (end <= start) {
        if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens
      }

      if (ch === '\n') lastNewLine = end;
      ch = src[end - 1];
    }

    let keepStart = end + 1;

    if (lastNewLine) {
      if (this.chomping === Chomp.KEEP) {
        keepStart = lastNewLine;
        end = this.valueRange.end;
      } else {
        end = lastNewLine;
      }
    }

    const bi = indent + this.blockIndent;
    const folded = this.type === PlainValue.Type.BLOCK_FOLDED;
    let atStart = true;
    let str = '';
    let sep = '';
    let prevMoreIndented = false;

    for (let i = start; i < end; ++i) {
      for (let j = 0; j < bi; ++j) {
        if (src[i] !== ' ') break;
        i += 1;
      }

      const ch = src[i];

      if (ch === '\n') {
        if (sep === '\n') str += '\n';else sep = '\n';
      } else {
        const lineEnd = PlainValue.Node.endOfLine(src, i);
        const line = src.slice(i, lineEnd);
        i = lineEnd;

        if (folded && (ch === ' ' || ch === '\t') && i < keepStart) {
          if (sep === ' ') sep = '\n';else if (!prevMoreIndented && !atStart && sep === '\n') sep = '\n\n';
          str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '')

          sep = lineEnd < end && src[lineEnd] || '';
          prevMoreIndented = true;
        } else {
          str += sep + line;
          sep = folded && i < keepStart ? ' ' : '\n';
          prevMoreIndented = false;
        }

        if (atStart && line !== '') atStart = false;
      }
    }

    return this.chomping === Chomp.STRIP ? str : str + '\n';
  }

  parseBlockHeader(start) {
    const {
      src
    } = this.context;
    let offset = start + 1;
    let bi = '';

    while (true) {
      const ch = src[offset];

      switch (ch) {
        case '-':
          this.chomping = Chomp.STRIP;
          break;

        case '+':
          this.chomping = Chomp.KEEP;
          break;

        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
          bi += ch;
          break;

        default:
          this.blockIndent = Number(bi) || null;
          this.header = new PlainValue.Range(start, offset);
          return offset;
      }

      offset += 1;
    }
  }

  parseBlockValue(start) {
    const {
      indent,
      src
    } = this.context;
    const explicit = !!this.blockIndent;
    let offset = start;
    let valueEnd = start;
    let minBlockIndent = 1;

    for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
      offset += 1;
      if (PlainValue.Node.atDocumentBoundary(src, offset)) break;
      const end = PlainValue.Node.endOfBlockIndent(src, indent, offset); // should not include tab?

      if (end === null) break;
      const ch = src[end];
      const lineIndent = end - (offset + indent);

      if (!this.blockIndent) {
        // no explicit block indent, none yet detected
        if (src[end] !== '\n') {
          // first line with non-whitespace content
          if (lineIndent < minBlockIndent) {
            const msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
            this.error = new PlainValue.YAMLSemanticError(this, msg);
          }

          this.blockIndent = lineIndent;
        } else if (lineIndent > minBlockIndent) {
          // empty line with more whitespace
          minBlockIndent = lineIndent;
        }
      } else if (ch && ch !== '\n' && lineIndent < this.blockIndent) {
        if (src[end] === '#') break;

        if (!this.error) {
          const src = explicit ? 'explicit indentation indicator' : 'first line';
          const msg = `Block scalars must not be less indented than their ${src}`;
          this.error = new PlainValue.YAMLSemanticError(this, msg);
        }
      }

      if (src[end] === '\n') {
        offset = end;
      } else {
        offset = valueEnd = PlainValue.Node.endOfLine(src, end);
      }
    }

    if (this.chomping !== Chomp.KEEP) {
      offset = src[valueEnd] ? valueEnd + 1 : valueEnd;
    }

    this.valueRange = new PlainValue.Range(start + 1, offset);
    return offset;
  }
  /**
   * Parses a block value from the source
   *
   * Accepted forms are:
   * ```
   * BS
   * block
   * lines
   *
   * BS #comment
   * block
   * lines
   * ```
   * where the block style BS matches the regexp `[|>][-+1-9]*` and block lines
   * are empty or have an indent level greater than `indent`.
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this block
   */


  parse(context, start) {
    this.context = context;
    const {
      src
    } = context;
    let offset = this.parseBlockHeader(start);
    offset = PlainValue.Node.endOfWhiteSpace(src, offset);
    offset = this.parseComment(offset);
    offset = this.parseBlockValue(offset);
    return offset;
  }

  setOrigRanges(cr, offset) {
    offset = super.setOrigRanges(cr, offset);
    return this.header ? this.header.setOrigRange(cr, offset) : offset;
  }

}

class FlowCollection extends PlainValue.Node {
  constructor(type, props) {
    super(type, props);
    this.items = null;
  }

  prevNodeIsJsonLike(idx = this.items.length) {
    const node = this.items[idx - 1];
    return !!node && (node.jsonLike || node.type === PlainValue.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));
  }
  /**
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this
   */


  parse(context, start) {
    this.context = context;
    const {
      parseNode,
      src
    } = context;
    let {
      indent,
      lineStart
    } = context;
    let char = src[start]; // { or [

    this.items = [{
      char,
      offset: start
    }];
    let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1);
    char = src[offset];

    while (char && char !== ']' && char !== '}') {
      switch (char) {
        case '\n':
          {
            lineStart = offset + 1;
            const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart);

            if (src[wsEnd] === '\n') {
              const blankLine = new BlankLine();
              lineStart = blankLine.parse({
                src
              }, lineStart);
              this.items.push(blankLine);
            }

            offset = PlainValue.Node.endOfIndent(src, lineStart);

            if (offset <= lineStart + indent) {
              char = src[offset];

              if (offset < lineStart + indent || char !== ']' && char !== '}') {
                const msg = 'Insufficient indentation in flow collection';
                this.error = new PlainValue.YAMLSemanticError(this, msg);
              }
            }
          }
          break;

        case ',':
          {
            this.items.push({
              char,
              offset
            });
            offset += 1;
          }
          break;

        case '#':
          {
            const comment = new Comment();
            offset = comment.parse({
              src
            }, offset);
            this.items.push(comment);
          }
          break;

        case '?':
        case ':':
          {
            const next = src[offset + 1];

            if (next === '\n' || next === '\t' || next === ' ' || next === ',' || // in-flow : after JSON-like key does not need to be followed by whitespace
            char === ':' && this.prevNodeIsJsonLike()) {
              this.items.push({
                char,
                offset
              });
              offset += 1;
              break;
            }
          }
        // fallthrough

        default:
          {
            const node = parseNode({
              atLineStart: false,
              inCollection: false,
              inFlow: true,
              indent: -1,
              lineStart,
              parent: this
            }, offset);

            if (!node) {
              // at next document start
              this.valueRange = new PlainValue.Range(start, offset);
              return offset;
            }

            this.items.push(node);
            offset = PlainValue.Node.normalizeOffset(src, node.range.end);
          }
      }

      offset = PlainValue.Node.endOfWhiteSpace(src, offset);
      char = src[offset];
    }

    this.valueRange = new PlainValue.Range(start, offset + 1);

    if (char) {
      this.items.push({
        char,
        offset
      });
      offset = PlainValue.Node.endOfWhiteSpace(src, offset + 1);
      offset = this.parseComment(offset);
    }

    return offset;
  }

  setOrigRanges(cr, offset) {
    offset = super.setOrigRanges(cr, offset);
    this.items.forEach(node => {
      if (node instanceof PlainValue.Node) {
        offset = node.setOrigRanges(cr, offset);
      } else if (cr.length === 0) {
        node.origOffset = node.offset;
      } else {
        let i = offset;

        while (i < cr.length) {
          if (cr[i] > node.offset) break;else ++i;
        }

        node.origOffset = node.offset + i;
        offset = i;
      }
    });
    return offset;
  }

  toString() {
    const {
      context: {
        src
      },
      items,
      range,
      value
    } = this;
    if (value != null) return value;
    const nodes = items.filter(item => item instanceof PlainValue.Node);
    let str = '';
    let prevEnd = range.start;
    nodes.forEach(node => {
      const prefix = src.slice(prevEnd, node.range.start);
      prevEnd = node.range.end;
      str += prefix + String(node);

      if (str[str.length - 1] === '\n' && src[prevEnd - 1] !== '\n' && src[prevEnd] === '\n') {
        // Comment range does not include the terminal newline, but its
        // stringified value does. Without this fix, newlines at comment ends
        // get duplicated.
        prevEnd += 1;
      }
    });
    str += src.slice(prevEnd, range.end);
    return PlainValue.Node.addStringTerminator(src, range.end, str);
  }

}

class QuoteDouble extends PlainValue.Node {
  static endOfQuote(src, offset) {
    let ch = src[offset];

    while (ch && ch !== '"') {
      offset += ch === '\\' ? 2 : 1;
      ch = src[offset];
    }

    return offset + 1;
  }
  /**
   * @returns {string | { str: string, errors: YAMLSyntaxError[] }}
   */


  get strValue() {
    if (!this.valueRange || !this.context) return null;
    const errors = [];
    const {
      start,
      end
    } = this.valueRange;
    const {
      indent,
      src
    } = this.context;
    if (src[end - 1] !== '"') errors.push(new PlainValue.YAMLSyntaxError(this, 'Missing closing "quote')); // Using String#replace is too painful with escaped newlines preceded by
    // escaped backslashes; also, this should be faster.

    let str = '';

    for (let i = start + 1; i < end - 1; ++i) {
      const ch = src[i];

      if (ch === '\n') {
        if (PlainValue.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValue.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
        const {
          fold,
          offset,
          error
        } = PlainValue.Node.foldNewline(src, i, indent);
        str += fold;
        i = offset;
        if (error) errors.push(new PlainValue.YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented'));
      } else if (ch === '\\') {
        i += 1;

        switch (src[i]) {
          case '0':
            str += '\0';
            break;
          // null character

          case 'a':
            str += '\x07';
            break;
          // bell character

          case 'b':
            str += '\b';
            break;
          // backspace

          case 'e':
            str += '\x1b';
            break;
          // escape character

          case 'f':
            str += '\f';
            break;
          // form feed

          case 'n':
            str += '\n';
            break;
          // line feed

          case 'r':
            str += '\r';
            break;
          // carriage return

          case 't':
            str += '\t';
            break;
          // horizontal tab

          case 'v':
            str += '\v';
            break;
          // vertical tab

          case 'N':
            str += '\u0085';
            break;
          // Unicode next line

          case '_':
            str += '\u00a0';
            break;
          // Unicode non-breaking space

          case 'L':
            str += '\u2028';
            break;
          // Unicode line separator

          case 'P':
            str += '\u2029';
            break;
          // Unicode paragraph separator

          case ' ':
            str += ' ';
            break;

          case '"':
            str += '"';
            break;

          case '/':
            str += '/';
            break;

          case '\\':
            str += '\\';
            break;

          case '\t':
            str += '\t';
            break;

          case 'x':
            str += this.parseCharCode(i + 1, 2, errors);
            i += 2;
            break;

          case 'u':
            str += this.parseCharCode(i + 1, 4, errors);
            i += 4;
            break;

          case 'U':
            str += this.parseCharCode(i + 1, 8, errors);
            i += 8;
            break;

          case '\n':
            // skip escaped newlines, but still trim the following line
            while (src[i + 1] === ' ' || src[i + 1] === '\t') i += 1;

            break;

          default:
            errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`));
            str += '\\' + src[i];
        }
      } else if (ch === ' ' || ch === '\t') {
        // trim trailing whitespace
        const wsStart = i;
        let next = src[i + 1];

        while (next === ' ' || next === '\t') {
          i += 1;
          next = src[i + 1];
        }

        if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;
      } else {
        str += ch;
      }
    }

    return errors.length > 0 ? {
      errors,
      str
    } : str;
  }

  parseCharCode(offset, length, errors) {
    const {
      src
    } = this.context;
    const cc = src.substr(offset, length);
    const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
    const code = ok ? parseInt(cc, 16) : NaN;

    if (isNaN(code)) {
      errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`));
      return src.substr(offset - 2, length + 2);
    }

    return String.fromCodePoint(code);
  }
  /**
   * Parses a "double quoted" value from the source
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this scalar
   */


  parse(context, start) {
    this.context = context;
    const {
      src
    } = context;
    let offset = QuoteDouble.endOfQuote(src, start + 1);
    this.valueRange = new PlainValue.Range(start, offset);
    offset = PlainValue.Node.endOfWhiteSpace(src, offset);
    offset = this.parseComment(offset);
    return offset;
  }

}

class QuoteSingle extends PlainValue.Node {
  static endOfQuote(src, offset) {
    let ch = src[offset];

    while (ch) {
      if (ch === "'") {
        if (src[offset + 1] !== "'") break;
        ch = src[offset += 2];
      } else {
        ch = src[offset += 1];
      }
    }

    return offset + 1;
  }
  /**
   * @returns {string | { str: string, errors: YAMLSyntaxError[] }}
   */


  get strValue() {
    if (!this.valueRange || !this.context) return null;
    const errors = [];
    const {
      start,
      end
    } = this.valueRange;
    const {
      indent,
      src
    } = this.context;
    if (src[end - 1] !== "'") errors.push(new PlainValue.YAMLSyntaxError(this, "Missing closing 'quote"));
    let str = '';

    for (let i = start + 1; i < end - 1; ++i) {
      const ch = src[i];

      if (ch === '\n') {
        if (PlainValue.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValue.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
        const {
          fold,
          offset,
          error
        } = PlainValue.Node.foldNewline(src, i, indent);
        str += fold;
        i = offset;
        if (error) errors.push(new PlainValue.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));
      } else if (ch === "'") {
        str += ch;
        i += 1;
        if (src[i] !== "'") errors.push(new PlainValue.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));
      } else if (ch === ' ' || ch === '\t') {
        // trim trailing whitespace
        const wsStart = i;
        let next = src[i + 1];

        while (next === ' ' || next === '\t') {
          i += 1;
          next = src[i + 1];
        }

        if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;
      } else {
        str += ch;
      }
    }

    return errors.length > 0 ? {
      errors,
      str
    } : str;
  }
  /**
   * Parses a 'single quoted' value from the source
   *
   * @param {ParseContext} context
   * @param {number} start - Index of first character
   * @returns {number} - Index of the character after this scalar
   */


  parse(context, start) {
    this.context = context;
    const {
      src
    } = context;
    let offset = QuoteSingle.endOfQuote(src, start + 1);
    this.valueRange = new PlainValue.Range(start, offset);
    offset = PlainValue.Node.endOfWhiteSpace(src, offset);
    offset = this.parseComment(offset);
    return offset;
  }

}

function createNewNode(type, props) {
  switch (type) {
    case PlainValue.Type.ALIAS:
      return new Alias(type, props);

    case PlainValue.Type.BLOCK_FOLDED:
    case PlainValue.Type.BLOCK_LITERAL:
      return new BlockValue(type, props);

    case PlainValue.Type.FLOW_MAP:
    case PlainValue.Type.FLOW_SEQ:
      return new FlowCollection(type, props);

    case PlainValue.Type.MAP_KEY:
    case PlainValue.Type.MAP_VALUE:
    case PlainValue.Type.SEQ_ITEM:
      return new CollectionItem(type, props);

    case PlainValue.Type.COMMENT:
    case PlainValue.Type.PLAIN:
      return new PlainValue.PlainValue(type, props);

    case PlainValue.Type.QUOTE_DOUBLE:
      return new QuoteDouble(type, props);

    case PlainValue.Type.QUOTE_SINGLE:
      return new QuoteSingle(type, props);

    /* istanbul ignore next */

    default:
      return null;
    // should never happen
  }
}
/**
 * @param {boolean} atLineStart - Node starts at beginning of line
 * @param {boolean} inFlow - true if currently in a flow context
 * @param {boolean} inCollection - true if currently in a collection context
 * @param {number} indent - Current level of indentation
 * @param {number} lineStart - Start of the current line
 * @param {Node} parent - The parent of the node
 * @param {string} src - Source of the YAML document
 */


class ParseContext {
  static parseType(src, offset, inFlow) {
    switch (src[offset]) {
      case '*':
        return PlainValue.Type.ALIAS;

      case '>':
        return PlainValue.Type.BLOCK_FOLDED;

      case '|':
        return PlainValue.Type.BLOCK_LITERAL;

      case '{':
        return PlainValue.Type.FLOW_MAP;

      case '[':
        return PlainValue.Type.FLOW_SEQ;

      case '?':
        return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_KEY : PlainValue.Type.PLAIN;

      case ':':
        return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_VALUE : PlainValue.Type.PLAIN;

      case '-':
        return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.SEQ_ITEM : PlainValue.Type.PLAIN;

      case '"':
        return PlainValue.Type.QUOTE_DOUBLE;

      case "'":
        return PlainValue.Type.QUOTE_SINGLE;

      default:
        return PlainValue.Type.PLAIN;
    }
  }

  constructor(orig = {}, {
    atLineStart,
    inCollection,
    inFlow,
    indent,
    lineStart,
    parent
  } = {}) {
    PlainValue._defineProperty(this, "parseNode", (overlay, start) => {
      if (PlainValue.Node.atDocumentBoundary(this.src, start)) return null;
      const context = new ParseContext(this, overlay);
      const {
        props,
        type,
        valueStart
      } = context.parseProps(start);
      const node = createNewNode(type, props);
      let offset = node.parse(context, valueStart);
      node.range = new PlainValue.Range(start, offset);
      /* istanbul ignore if */

      if (offset <= start) {
        // This should never happen, but if it does, let's make sure to at least
        // step one character forward to avoid a busy loop.
        node.error = new Error(`Node#parse consumed no characters`);
        node.error.parseEnd = offset;
        node.error.source = node;
        node.range.end = start + 1;
      }

      if (context.nodeStartsCollection(node)) {
        if (!node.error && !context.atLineStart && context.parent.type === PlainValue.Type.DOCUMENT) {
          node.error = new PlainValue.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');
        }

        const collection = new Collection(node);
        offset = collection.parse(new ParseContext(context), offset);
        collection.range = new PlainValue.Range(start, offset);
        return collection;
      }

      return node;
    });

    this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false;
    this.inCollection = inCollection != null ? inCollection : orig.inCollection || false;
    this.inFlow = inFlow != null ? inFlow : orig.inFlow || false;
    this.indent = indent != null ? indent : orig.indent;
    this.lineStart = lineStart != null ? lineStart : orig.lineStart;
    this.parent = parent != null ? parent : orig.parent || {};
    this.root = orig.root;
    this.src = orig.src;
  }

  nodeStartsCollection(node) {
    const {
      inCollection,
      inFlow,
      src
    } = this;
    if (inCollection || inFlow) return false;
    if (node instanceof CollectionItem) return true; // check for implicit key

    let offset = node.range.end;
    if (src[offset] === '\n' || src[offset - 1] === '\n') return false;
    offset = PlainValue.Node.endOfWhiteSpace(src, offset);
    return src[offset] === ':';
  } // Anchor and tag are before type, which determines the node implementation
  // class; hence this intermediate step.


  parseProps(offset) {
    const {
      inFlow,
      parent,
      src
    } = this;
    const props = [];
    let lineHasProps = false;
    offset = this.atLineStart ? PlainValue.Node.endOfIndent(src, offset) : PlainValue.Node.endOfWhiteSpace(src, offset);
    let ch = src[offset];

    while (ch === PlainValue.Char.ANCHOR || ch === PlainValue.Char.COMMENT || ch === PlainValue.Char.TAG || ch === '\n') {
      if (ch === '\n') {
        let inEnd = offset;
        let lineStart;

        do {
          lineStart = inEnd + 1;
          inEnd = PlainValue.Node.endOfIndent(src, lineStart);
        } while (src[inEnd] === '\n');

        const indentDiff = inEnd - (lineStart + this.indent);
        const noIndicatorAsIndent = parent.type === PlainValue.Type.SEQ_ITEM && parent.context.atLineStart;
        if (src[inEnd] !== '#' && !PlainValue.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;
        this.atLineStart = true;
        this.lineStart = lineStart;
        lineHasProps = false;
        offset = inEnd;
      } else if (ch === PlainValue.Char.COMMENT) {
        const end = PlainValue.Node.endOfLine(src, offset + 1);
        props.push(new PlainValue.Range(offset, end));
        offset = end;
      } else {
        let end = PlainValue.Node.endOfIdentifier(src, offset + 1);

        if (ch === PlainValue.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) {
          // Let's presume we're dealing with a YAML 1.0 domain tag here, rather
          // than an empty but 'foo.bar' private-tagged node in a flow collection
          // followed without whitespace by a plain string starting with a year
          // or date divided by something.
          end = PlainValue.Node.endOfIdentifier(src, end + 5);
        }

        props.push(new PlainValue.Range(offset, end));
        lineHasProps = true;
        offset = PlainValue.Node.endOfWhiteSpace(src, end);
      }

      ch = src[offset];
    } // '- &a : b' has an anchor on an empty node


    if (lineHasProps && ch === ':' && PlainValue.Node.atBlank(src, offset + 1, true)) offset -= 1;
    const type = ParseContext.parseType(src, offset, inFlow);
    return {
      props,
      type,
      valueStart: offset
    };
  }
  /**
   * Parses a node from the source
   * @param {ParseContext} overlay
   * @param {number} start - Index of first non-whitespace character for the node
   * @returns {?Node} - null if at a document boundary
   */


}

// Published as 'yaml/parse-cst'
function parse(src) {
  const cr = [];

  if (src.indexOf('\r') !== -1) {
    src = src.replace(/\r\n?/g, (match, offset) => {
      if (match.length > 1) cr.push(offset);
      return '\n';
    });
  }

  const documents = [];
  let offset = 0;

  do {
    const doc = new Document();
    const context = new ParseContext({
      src
    });
    offset = doc.parse(context, offset);
    documents.push(doc);
  } while (offset < src.length);

  documents.setOrigRanges = () => {
    if (cr.length === 0) return false;

    for (let i = 1; i < cr.length; ++i) cr[i] -= i;

    let crOffset = 0;

    for (let i = 0; i < documents.length; ++i) {
      crOffset = documents[i].setOrigRanges(cr, crOffset);
    }

    cr.splice(0, cr.length);
    return true;
  };

  documents.toString = () => documents.join('...\n');

  return documents;
}

exports.parse = parse;


/***/ }),

/***/ 64227:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


var PlainValue = __nccwpck_require__(75215);

function addCommentBefore(str, indent, comment) {
  if (!comment) return str;
  const cc = comment.replace(/[\s\S]^/gm, `$&${indent}#`);
  return `#${cc}\n${indent}${str}`;
}
function addComment(str, indent, comment) {
  return !comment ? str : comment.indexOf('\n') === -1 ? `${str} #${comment}` : `${str}\n` + comment.replace(/^/gm, `${indent || ''}#`);
}

class Node {}

function toJSON(value, arg, ctx) {
  if (Array.isArray(value)) return value.map((v, i) => toJSON(v, String(i), ctx));

  if (value && typeof value.toJSON === 'function') {
    const anchor = ctx && ctx.anchors && ctx.anchors.get(value);
    if (anchor) ctx.onCreate = res => {
      anchor.res = res;
      delete ctx.onCreate;
    };
    const res = value.toJSON(arg, ctx);
    if (anchor && ctx.onCreate) ctx.onCreate(res);
    return res;
  }

  if ((!ctx || !ctx.keep) && typeof value === 'bigint') return Number(value);
  return value;
}

class Scalar extends Node {
  constructor(value) {
    super();
    this.value = value;
  }

  toJSON(arg, ctx) {
    return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx);
  }

  toString() {
    return String(this.value);
  }

}

function collectionFromPath(schema, path, value) {
  let v = value;

  for (let i = path.length - 1; i >= 0; --i) {
    const k = path[i];

    if (Number.isInteger(k) && k >= 0) {
      const a = [];
      a[k] = v;
      v = a;
    } else {
      const o = {};
      Object.defineProperty(o, k, {
        value: v,
        writable: true,
        enumerable: true,
        configurable: true
      });
      v = o;
    }
  }

  return schema.createNode(v, false);
} // null, undefined, or an empty non-string iterable (e.g. [])


const isEmptyPath = path => path == null || typeof path === 'object' && path[Symbol.iterator]().next().done;
class Collection extends Node {
  constructor(schema) {
    super();

    PlainValue._defineProperty(this, "items", []);

    this.schema = schema;
  }

  addIn(path, value) {
    if (isEmptyPath(path)) this.add(value);else {
      const [key, ...rest] = path;
      const node = this.get(key, true);
      if (node instanceof Collection) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
    }
  }

  deleteIn([key, ...rest]) {
    if (rest.length === 0) return this.delete(key);
    const node = this.get(key, true);
    if (node instanceof Collection) return node.deleteIn(rest);else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
  }

  getIn([key, ...rest], keepScalar) {
    const node = this.get(key, true);
    if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection ? node.getIn(rest, keepScalar) : undefined;
  }

  hasAllNullValues() {
    return this.items.every(node => {
      if (!node || node.type !== 'PAIR') return false;
      const n = node.value;
      return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag;
    });
  }

  hasIn([key, ...rest]) {
    if (rest.length === 0) return this.has(key);
    const node = this.get(key, true);
    return node instanceof Collection ? node.hasIn(rest) : false;
  }

  setIn([key, ...rest], value) {
    if (rest.length === 0) {
      this.set(key, value);
    } else {
      const node = this.get(key, true);
      if (node instanceof Collection) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
    }
  } // overridden in implementations

  /* istanbul ignore next */


  toJSON() {
    return null;
  }

  toString(ctx, {
    blockItem,
    flowChars,
    isMap,
    itemIndent
  }, onComment, onChompKeep) {
    const {
      indent,
      indentStep,
      stringify
    } = ctx;
    const inFlow = this.type === PlainValue.Type.FLOW_MAP || this.type === PlainValue.Type.FLOW_SEQ || ctx.inFlow;
    if (inFlow) itemIndent += indentStep;
    const allNullValues = isMap && this.hasAllNullValues();
    ctx = Object.assign({}, ctx, {
      allNullValues,
      indent: itemIndent,
      inFlow,
      type: null
    });
    let chompKeep = false;
    let hasItemWithNewLine = false;
    const nodes = this.items.reduce((nodes, item, i) => {
      let comment;

      if (item) {
        if (!chompKeep && item.spaceBefore) nodes.push({
          type: 'comment',
          str: ''
        });
        if (item.commentBefore) item.commentBefore.match(/^.*$/gm).forEach(line => {
          nodes.push({
            type: 'comment',
            str: `#${line}`
          });
        });
        if (item.comment) comment = item.comment;
        if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) hasItemWithNewLine = true;
      }

      chompKeep = false;
      let str = stringify(item, ctx, () => comment = null, () => chompKeep = true);
      if (inFlow && !hasItemWithNewLine && str.includes('\n')) hasItemWithNewLine = true;
      if (inFlow && i < this.items.length - 1) str += ',';
      str = addComment(str, itemIndent, comment);
      if (chompKeep && (comment || inFlow)) chompKeep = false;
      nodes.push({
        type: 'item',
        str
      });
      return nodes;
    }, []);
    let str;

    if (nodes.length === 0) {
      str = flowChars.start + flowChars.end;
    } else if (inFlow) {
      const {
        start,
        end
      } = flowChars;
      const strings = nodes.map(n => n.str);

      if (hasItemWithNewLine || strings.reduce((sum, str) => sum + str.length + 2, 2) > Collection.maxFlowStringSingleLineLength) {
        str = start;

        for (const s of strings) {
          str += s ? `\n${indentStep}${indent}${s}` : '\n';
        }

        str += `\n${indent}${end}`;
      } else {
        str = `${start} ${strings.join(' ')} ${end}`;
      }
    } else {
      const strings = nodes.map(blockItem);
      str = strings.shift();

      for (const s of strings) str += s ? `\n${indent}${s}` : '\n';
    }

    if (this.comment) {
      str += '\n' + this.comment.replace(/^/gm, `${indent}#`);
      if (onComment) onComment();
    } else if (chompKeep && onChompKeep) onChompKeep();

    return str;
  }

}

PlainValue._defineProperty(Collection, "maxFlowStringSingleLineLength", 60);

function asItemIndex(key) {
  let idx = key instanceof Scalar ? key.value : key;
  if (idx && typeof idx === 'string') idx = Number(idx);
  return Number.isInteger(idx) && idx >= 0 ? idx : null;
}

class YAMLSeq extends Collection {
  add(value) {
    this.items.push(value);
  }

  delete(key) {
    const idx = asItemIndex(key);
    if (typeof idx !== 'number') return false;
    const del = this.items.splice(idx, 1);
    return del.length > 0;
  }

  get(key, keepScalar) {
    const idx = asItemIndex(key);
    if (typeof idx !== 'number') return undefined;
    const it = this.items[idx];
    return !keepScalar && it instanceof Scalar ? it.value : it;
  }

  has(key) {
    const idx = asItemIndex(key);
    return typeof idx === 'number' && idx < this.items.length;
  }

  set(key, value) {
    const idx = asItemIndex(key);
    if (typeof idx !== 'number') throw new Error(`Expected a valid index, not ${key}.`);
    this.items[idx] = value;
  }

  toJSON(_, ctx) {
    const seq = [];
    if (ctx && ctx.onCreate) ctx.onCreate(seq);
    let i = 0;

    for (const item of this.items) seq.push(toJSON(item, String(i++), ctx));

    return seq;
  }

  toString(ctx, onComment, onChompKeep) {
    if (!ctx) return JSON.stringify(this);
    return super.toString(ctx, {
      blockItem: n => n.type === 'comment' ? n.str : `- ${n.str}`,
      flowChars: {
        start: '[',
        end: ']'
      },
      isMap: false,
      itemIndent: (ctx.indent || '') + '  '
    }, onComment, onChompKeep);
  }

}

const stringifyKey = (key, jsKey, ctx) => {
  if (jsKey === null) return '';
  if (typeof jsKey !== 'object') return String(jsKey);
  if (key instanceof Node && ctx && ctx.doc) return key.toString({
    anchors: Object.create(null),
    doc: ctx.doc,
    indent: '',
    indentStep: ctx.indentStep,
    inFlow: true,
    inStringifyKey: true,
    stringify: ctx.stringify
  });
  return JSON.stringify(jsKey);
};

class Pair extends Node {
  constructor(key, value = null) {
    super();
    this.key = key;
    this.value = value;
    this.type = Pair.Type.PAIR;
  }

  get commentBefore() {
    return this.key instanceof Node ? this.key.commentBefore : undefined;
  }

  set commentBefore(cb) {
    if (this.key == null) this.key = new Scalar(null);
    if (this.key instanceof Node) this.key.commentBefore = cb;else {
      const msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.';
      throw new Error(msg);
    }
  }

  addToJSMap(ctx, map) {
    const key = toJSON(this.key, '', ctx);

    if (map instanceof Map) {
      const value = toJSON(this.value, key, ctx);
      map.set(key, value);
    } else if (map instanceof Set) {
      map.add(key);
    } else {
      const stringKey = stringifyKey(this.key, key, ctx);
      const value = toJSON(this.value, stringKey, ctx);
      if (stringKey in map) Object.defineProperty(map, stringKey, {
        value,
        writable: true,
        enumerable: true,
        configurable: true
      });else map[stringKey] = value;
    }

    return map;
  }

  toJSON(_, ctx) {
    const pair = ctx && ctx.mapAsMap ? new Map() : {};
    return this.addToJSMap(ctx, pair);
  }

  toString(ctx, onComment, onChompKeep) {
    if (!ctx || !ctx.doc) return JSON.stringify(this);
    const {
      indent: indentSize,
      indentSeq,
      simpleKeys
    } = ctx.doc.options;
    let {
      key,
      value
    } = this;
    let keyComment = key instanceof Node && key.comment;

    if (simpleKeys) {
      if (keyComment) {
        throw new Error('With simple keys, key nodes cannot have comments');
      }

      if (key instanceof Collection) {
        const msg = 'With simple keys, collection cannot be used as a key value';
        throw new Error(msg);
      }
    }

    let explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === PlainValue.Type.BLOCK_FOLDED || key.type === PlainValue.Type.BLOCK_LITERAL : typeof key === 'object'));
    const {
      doc,
      indent,
      indentStep,
      stringify
    } = ctx;
    ctx = Object.assign({}, ctx, {
      implicitKey: !explicitKey,
      indent: indent + indentStep
    });
    let chompKeep = false;
    let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true);
    str = addComment(str, ctx.indent, keyComment);

    if (!explicitKey && str.length > 1024) {
      if (simpleKeys) throw new Error('With simple keys, single line scalar must not span more than 1024 characters');
      explicitKey = true;
    }

    if (ctx.allNullValues && !simpleKeys) {
      if (this.comment) {
        str = addComment(str, ctx.indent, this.comment);
        if (onComment) onComment();
      } else if (chompKeep && !keyComment && onChompKeep) onChompKeep();

      return ctx.inFlow && !explicitKey ? str : `? ${str}`;
    }

    str = explicitKey ? `? ${str}\n${indent}:` : `${str}:`;

    if (this.comment) {
      // expected (but not strictly required) to be a single-line comment
      str = addComment(str, ctx.indent, this.comment);
      if (onComment) onComment();
    }

    let vcb = '';
    let valueComment = null;

    if (value instanceof Node) {
      if (value.spaceBefore) vcb = '\n';

      if (value.commentBefore) {
        const cs = value.commentBefore.replace(/^/gm, `${ctx.indent}#`);
        vcb += `\n${cs}`;
      }

      valueComment = value.comment;
    } else if (value && typeof value === 'object') {
      value = doc.schema.createNode(value, true);
    }

    ctx.implicitKey = false;
    if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1;
    chompKeep = false;

    if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValue.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {
      // If indentSeq === false, consider '- ' as part of indentation where possible
      ctx.indent = ctx.indent.substr(2);
    }

    const valueStr = stringify(value, ctx, () => valueComment = null, () => chompKeep = true);
    let ws = ' ';

    if (vcb || this.comment) {
      ws = `${vcb}\n${ctx.indent}`;
    } else if (!explicitKey && value instanceof Collection) {
      const flow = valueStr[0] === '[' || valueStr[0] === '{';
      if (!flow || valueStr.includes('\n')) ws = `\n${ctx.indent}`;
    } else if (valueStr[0] === '\n') ws = '';

    if (chompKeep && !valueComment && onChompKeep) onChompKeep();
    return addComment(str + ws + valueStr, ctx.indent, valueComment);
  }

}

PlainValue._defineProperty(Pair, "Type", {
  PAIR: 'PAIR',
  MERGE_PAIR: 'MERGE_PAIR'
});

const getAliasCount = (node, anchors) => {
  if (node instanceof Alias) {
    const anchor = anchors.get(node.source);
    return anchor.count * anchor.aliasCount;
  } else if (node instanceof Collection) {
    let count = 0;

    for (const item of node.items) {
      const c = getAliasCount(item, anchors);
      if (c > count) count = c;
    }

    return count;
  } else if (node instanceof Pair) {
    const kc = getAliasCount(node.key, anchors);
    const vc = getAliasCount(node.value, anchors);
    return Math.max(kc, vc);
  }

  return 1;
};

class Alias extends Node {
  static stringify({
    range,
    source
  }, {
    anchors,
    doc,
    implicitKey,
    inStringifyKey
  }) {
    let anchor = Object.keys(anchors).find(a => anchors[a] === source);
    if (!anchor && inStringifyKey) anchor = doc.anchors.getName(source) || doc.anchors.newName();
    if (anchor) return `*${anchor}${implicitKey ? ' ' : ''}`;
    const msg = doc.anchors.getName(source) ? 'Alias node must be after source node' : 'Source node not found for alias node';
    throw new Error(`${msg} [${range}]`);
  }

  constructor(source) {
    super();
    this.source = source;
    this.type = PlainValue.Type.ALIAS;
  }

  set tag(t) {
    throw new Error('Alias nodes cannot have tags');
  }

  toJSON(arg, ctx) {
    if (!ctx) return toJSON(this.source, arg, ctx);
    const {
      anchors,
      maxAliasCount
    } = ctx;
    const anchor = anchors.get(this.source);
    /* istanbul ignore if */

    if (!anchor || anchor.res === undefined) {
      const msg = 'This should not happen: Alias anchor was not resolved?';
      if (this.cstNode) throw new PlainValue.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);
    }

    if (maxAliasCount >= 0) {
      anchor.count += 1;
      if (anchor.aliasCount === 0) anchor.aliasCount = getAliasCount(this.source, anchors);

      if (anchor.count * anchor.aliasCount > maxAliasCount) {
        const msg = 'Excessive alias count indicates a resource exhaustion attack';
        if (this.cstNode) throw new PlainValue.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);
      }
    }

    return anchor.res;
  } // Only called when stringifying an alias mapping key while constructing
  // Object output.


  toString(ctx) {
    return Alias.stringify(this, ctx);
  }

}

PlainValue._defineProperty(Alias, "default", true);

function findPair(items, key) {
  const k = key instanceof Scalar ? key.value : key;

  for (const it of items) {
    if (it instanceof Pair) {
      if (it.key === key || it.key === k) return it;
      if (it.key && it.key.value === k) return it;
    }
  }

  return undefined;
}
class YAMLMap extends Collection {
  add(pair, overwrite) {
    if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value);
    const prev = findPair(this.items, pair.key);
    const sortEntries = this.schema && this.schema.sortMapEntries;

    if (prev) {
      if (overwrite) prev.value = pair.value;else throw new Error(`Key ${pair.key} already set`);
    } else if (sortEntries) {
      const i = this.items.findIndex(item => sortEntries(pair, item) < 0);
      if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair);
    } else {
      this.items.push(pair);
    }
  }

  delete(key) {
    const it = findPair(this.items, key);
    if (!it) return false;
    const del = this.items.splice(this.items.indexOf(it), 1);
    return del.length > 0;
  }

  get(key, keepScalar) {
    const it = findPair(this.items, key);
    const node = it && it.value;
    return !keepScalar && node instanceof Scalar ? node.value : node;
  }

  has(key) {
    return !!findPair(this.items, key);
  }

  set(key, value) {
    this.add(new Pair(key, value), true);
  }
  /**
   * @param {*} arg ignored
   * @param {*} ctx Conversion context, originally set in Document#toJSON()
   * @param {Class} Type If set, forces the returned collection type
   * @returns {*} Instance of Type, Map, or Object
   */


  toJSON(_, ctx, Type) {
    const map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {};
    if (ctx && ctx.onCreate) ctx.onCreate(map);

    for (const item of this.items) item.addToJSMap(ctx, map);

    return map;
  }

  toString(ctx, onComment, onChompKeep) {
    if (!ctx) return JSON.stringify(this);

    for (const item of this.items) {
      if (!(item instanceof Pair)) throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
    }

    return super.toString(ctx, {
      blockItem: n => n.str,
      flowChars: {
        start: '{',
        end: '}'
      },
      isMap: true,
      itemIndent: ctx.indent || ''
    }, onComment, onChompKeep);
  }

}

const MERGE_KEY = '<<';
class Merge extends Pair {
  constructor(pair) {
    if (pair instanceof Pair) {
      let seq = pair.value;

      if (!(seq instanceof YAMLSeq)) {
        seq = new YAMLSeq();
        seq.items.push(pair.value);
        seq.range = pair.value.range;
      }

      super(pair.key, seq);
      this.range = pair.range;
    } else {
      super(new Scalar(MERGE_KEY), new YAMLSeq());
    }

    this.type = Pair.Type.MERGE_PAIR;
  } // If the value associated with a merge key is a single mapping node, each of
  // its key/value pairs is inserted into the current mapping, unless the key
  // already exists in it. If the value associated with the merge key is a
  // sequence, then this sequence is expected to contain mapping nodes and each
  // of these nodes is merged in turn according to its order in the sequence.
  // Keys in mapping nodes earlier in the sequence override keys specified in
  // later mapping nodes. -- http://yaml.org/type/merge.html


  addToJSMap(ctx, map) {
    for (const {
      source
    } of this.value.items) {
      if (!(source instanceof YAMLMap)) throw new Error('Merge sources must be maps');
      const srcMap = source.toJSON(null, ctx, Map);

      for (const [key, value] of srcMap) {
        if (map instanceof Map) {
          if (!map.has(key)) map.set(key, value);
        } else if (map instanceof Set) {
          map.add(key);
        } else if (!Object.prototype.hasOwnProperty.call(map, key)) {
          Object.defineProperty(map, key, {
            value,
            writable: true,
            enumerable: true,
            configurable: true
          });
        }
      }
    }

    return map;
  }

  toString(ctx, onComment) {
    const seq = this.value;
    if (seq.items.length > 1) return super.toString(ctx, onComment);
    this.value = seq.items[0];
    const str = super.toString(ctx, onComment);
    this.value = seq;
    return str;
  }

}

const binaryOptions = {
  defaultType: PlainValue.Type.BLOCK_LITERAL,
  lineWidth: 76
};
const boolOptions = {
  trueStr: 'true',
  falseStr: 'false'
};
const intOptions = {
  asBigInt: false
};
const nullOptions = {
  nullStr: 'null'
};
const strOptions = {
  defaultType: PlainValue.Type.PLAIN,
  doubleQuoted: {
    jsonEncoding: false,
    minMultiLineLength: 40
  },
  fold: {
    lineWidth: 80,
    minContentWidth: 20
  }
};

function resolveScalar(str, tags, scalarFallback) {
  for (const {
    format,
    test,
    resolve
  } of tags) {
    if (test) {
      const match = str.match(test);

      if (match) {
        let res = resolve.apply(null, match);
        if (!(res instanceof Scalar)) res = new Scalar(res);
        if (format) res.format = format;
        return res;
      }
    }
  }

  if (scalarFallback) str = scalarFallback(str);
  return new Scalar(str);
}

const FOLD_FLOW = 'flow';
const FOLD_BLOCK = 'block';
const FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line
// returns index of last newline in more-indented block

const consumeMoreIndentedLines = (text, i) => {
  let ch = text[i + 1];

  while (ch === ' ' || ch === '\t') {
    do {
      ch = text[i += 1];
    } while (ch && ch !== '\n');

    ch = text[i + 1];
  }

  return i;
};
/**
 * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
 * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
 * terminated with `\n` and started with `indent`.
 *
 * @param {string} text
 * @param {string} indent
 * @param {string} [mode='flow'] `'block'` prevents more-indented lines
 *   from being folded; `'quoted'` allows for `\` escapes, including escaped
 *   newlines
 * @param {Object} options
 * @param {number} [options.indentAtStart] Accounts for leading contents on
 *   the first line, defaulting to `indent.length`
 * @param {number} [options.lineWidth=80]
 * @param {number} [options.minContentWidth=20] Allow highly indented lines to
 *   stretch the line width or indent content from the start
 * @param {function} options.onFold Called once if the text is folded
 * @param {function} options.onFold Called once if any line of text exceeds
 *   lineWidth characters
 */


function foldFlowLines(text, indent, mode, {
  indentAtStart,
  lineWidth = 80,
  minContentWidth = 20,
  onFold,
  onOverflow
}) {
  if (!lineWidth || lineWidth < 0) return text;
  const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
  if (text.length <= endStep) return text;
  const folds = [];
  const escapedFolds = {};
  let end = lineWidth - indent.length;

  if (typeof indentAtStart === 'number') {
    if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) folds.push(0);else end = lineWidth - indentAtStart;
  }

  let split = undefined;
  let prev = undefined;
  let overflow = false;
  let i = -1;
  let escStart = -1;
  let escEnd = -1;

  if (mode === FOLD_BLOCK) {
    i = consumeMoreIndentedLines(text, i);
    if (i !== -1) end = i + endStep;
  }

  for (let ch; ch = text[i += 1];) {
    if (mode === FOLD_QUOTED && ch === '\\') {
      escStart = i;

      switch (text[i + 1]) {
        case 'x':
          i += 3;
          break;

        case 'u':
          i += 5;
          break;

        case 'U':
          i += 9;
          break;

        default:
          i += 1;
      }

      escEnd = i;
    }

    if (ch === '\n') {
      if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i);
      end = i + endStep;
      split = undefined;
    } else {
      if (ch === ' ' && prev && prev !== ' ' && prev !== '\n' && prev !== '\t') {
        // space surrounded by non-space can be replaced with newline + indent
        const next = text[i + 1];
        if (next && next !== ' ' && next !== '\n' && next !== '\t') split = i;
      }

      if (i >= end) {
        if (split) {
          folds.push(split);
          end = split + endStep;
          split = undefined;
        } else if (mode === FOLD_QUOTED) {
          // white-space collected at end may stretch past lineWidth
          while (prev === ' ' || prev === '\t') {
            prev = ch;
            ch = text[i += 1];
            overflow = true;
          } // Account for newline escape, but don't break preceding escape


          const j = i > escEnd + 1 ? i - 2 : escStart - 1; // Bail out if lineWidth & minContentWidth are shorter than an escape string

          if (escapedFolds[j]) return text;
          folds.push(j);
          escapedFolds[j] = true;
          end = j + endStep;
          split = undefined;
        } else {
          overflow = true;
        }
      }
    }

    prev = ch;
  }

  if (overflow && onOverflow) onOverflow();
  if (folds.length === 0) return text;
  if (onFold) onFold();
  let res = text.slice(0, folds[0]);

  for (let i = 0; i < folds.length; ++i) {
    const fold = folds[i];
    const end = folds[i + 1] || text.length;
    if (fold === 0) res = `\n${indent}${text.slice(0, end)}`;else {
      if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\`;
      res += `\n${indent}${text.slice(fold + 1, end)}`;
    }
  }

  return res;
}

const getFoldOptions = ({
  indentAtStart
}) => indentAtStart ? Object.assign({
  indentAtStart
}, strOptions.fold) : strOptions.fold; // Also checks for lines starting with %, as parsing the output as YAML 1.1 will
// presume that's starting a new document.


const containsDocumentMarker = str => /^(%|---|\.\.\.)/m.test(str);

function lineLengthOverLimit(str, lineWidth, indentLength) {
  if (!lineWidth || lineWidth < 0) return false;
  const limit = lineWidth - indentLength;
  const strLen = str.length;
  if (strLen <= limit) return false;

  for (let i = 0, start = 0; i < strLen; ++i) {
    if (str[i] === '\n') {
      if (i - start > limit) return true;
      start = i + 1;
      if (strLen - start <= limit) return false;
    }
  }

  return true;
}

function doubleQuotedString(value, ctx) {
  const {
    implicitKey
  } = ctx;
  const {
    jsonEncoding,
    minMultiLineLength
  } = strOptions.doubleQuoted;
  const json = JSON.stringify(value);
  if (jsonEncoding) return json;
  const indent = ctx.indent || (containsDocumentMarker(value) ? '  ' : '');
  let str = '';
  let start = 0;

  for (let i = 0, ch = json[i]; ch; ch = json[++i]) {
    if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') {
      // space before newline needs to be escaped to not be folded
      str += json.slice(start, i) + '\\ ';
      i += 1;
      start = i;
      ch = '\\';
    }

    if (ch === '\\') switch (json[i + 1]) {
      case 'u':
        {
          str += json.slice(start, i);
          const code = json.substr(i + 2, 4);

          switch (code) {
            case '0000':
              str += '\\0';
              break;

            case '0007':
              str += '\\a';
              break;

            case '000b':
              str += '\\v';
              break;

            case '001b':
              str += '\\e';
              break;

            case '0085':
              str += '\\N';
              break;

            case '00a0':
              str += '\\_';
              break;

            case '2028':
              str += '\\L';
              break;

            case '2029':
              str += '\\P';
              break;

            default:
              if (code.substr(0, 2) === '00') str += '\\x' + code.substr(2);else str += json.substr(i, 6);
          }

          i += 5;
          start = i + 1;
        }
        break;

      case 'n':
        if (implicitKey || json[i + 2] === '"' || json.length < minMultiLineLength) {
          i += 1;
        } else {
          // folding will eat first newline
          str += json.slice(start, i) + '\n\n';

          while (json[i + 2] === '\\' && json[i + 3] === 'n' && json[i + 4] !== '"') {
            str += '\n';
            i += 2;
          }

          str += indent; // space after newline needs to be escaped to not be folded

          if (json[i + 2] === ' ') str += '\\';
          i += 1;
          start = i + 1;
        }

        break;

      default:
        i += 1;
    }
  }

  str = start ? str + json.slice(start) : json;
  return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx));
}

function singleQuotedString(value, ctx) {
  if (ctx.implicitKey) {
    if (/\n/.test(value)) return doubleQuotedString(value, ctx);
  } else {
    // single quoted string can't have leading or trailing whitespace around newline
    if (/[ \t]\n|\n[ \t]/.test(value)) return doubleQuotedString(value, ctx);
  }

  const indent = ctx.indent || (containsDocumentMarker(value) ? '  ' : '');
  const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&\n${indent}`) + "'";
  return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx));
}

function blockString({
  comment,
  type,
  value
}, ctx, onComment, onChompKeep) {
  // 1. Block can't end in whitespace unless the last line is non-empty.
  // 2. Strings consisting of only whitespace are best rendered explicitly.
  if (/\n[\t ]+$/.test(value) || /^\s*$/.test(value)) {
    return doubleQuotedString(value, ctx);
  }

  const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? '  ' : '');
  const indentSize = indent ? '2' : '1'; // root is at -1

  const literal = type === PlainValue.Type.BLOCK_FOLDED ? false : type === PlainValue.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length);
  let header = literal ? '|' : '>';
  if (!value) return header + '\n';
  let wsStart = '';
  let wsEnd = '';
  value = value.replace(/[\n\t ]*$/, ws => {
    const n = ws.indexOf('\n');

    if (n === -1) {
      header += '-'; // strip
    } else if (value === ws || n !== ws.length - 1) {
      header += '+'; // keep

      if (onChompKeep) onChompKeep();
    }

    wsEnd = ws.replace(/\n$/, '');
    return '';
  }).replace(/^[\n ]*/, ws => {
    if (ws.indexOf(' ') !== -1) header += indentSize;
    const m = ws.match(/ +$/);

    if (m) {
      wsStart = ws.slice(0, -m[0].length);
      return m[0];
    } else {
      wsStart = ws;
      return '';
    }
  });
  if (wsEnd) wsEnd = wsEnd.replace(/\n+(?!\n|$)/g, `$&${indent}`);
  if (wsStart) wsStart = wsStart.replace(/\n+/g, `$&${indent}`);

  if (comment) {
    header += ' #' + comment.replace(/ ?[\r\n]+/g, ' ');
    if (onComment) onComment();
  }

  if (!value) return `${header}${indentSize}\n${indent}${wsEnd}`;

  if (literal) {
    value = value.replace(/\n+/g, `$&${indent}`);
    return `${header}\n${indent}${wsStart}${value}${wsEnd}`;
  }

  value = value.replace(/\n+/g, '\n$&').replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded
  //         ^ ind.line  ^ empty     ^ capture next empty lines only at end of indent
  .replace(/\n+/g, `$&${indent}`);
  const body = foldFlowLines(`${wsStart}${value}${wsEnd}`, indent, FOLD_BLOCK, strOptions.fold);
  return `${header}\n${indent}${body}`;
}

function plainString(item, ctx, onComment, onChompKeep) {
  const {
    comment,
    type,
    value
  } = item;
  const {
    actualString,
    implicitKey,
    indent,
    inFlow
  } = ctx;

  if (implicitKey && /[\n[\]{},]/.test(value) || inFlow && /[[\]{},]/.test(value)) {
    return doubleQuotedString(value, ctx);
  }

  if (!value || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
    // not allowed:
    // - empty string, '-' or '?'
    // - start with an indicator character (except [?:-]) or /[?-] /
    // - '\n ', ': ' or ' \n' anywhere
    // - '#' not preceded by a non-space char
    // - end with ' ' or ':'
    return implicitKey || inFlow || value.indexOf('\n') === -1 ? value.indexOf('"') !== -1 && value.indexOf("'") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);
  }

  if (!implicitKey && !inFlow && type !== PlainValue.Type.PLAIN && value.indexOf('\n') !== -1) {
    // Where allowed & type not set explicitly, prefer block style for multiline strings
    return blockString(item, ctx, onComment, onChompKeep);
  }

  if (indent === '' && containsDocumentMarker(value)) {
    ctx.forceBlockIndent = true;
    return blockString(item, ctx, onComment, onChompKeep);
  }

  const str = value.replace(/\n+/g, `$&\n${indent}`); // Verify that output will be parsed as a string, as e.g. plain numbers and
  // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),
  // and others in v1.1.

  if (actualString) {
    const {
      tags
    } = ctx.doc.schema;
    const resolved = resolveScalar(str, tags, tags.scalarFallback).value;
    if (typeof resolved !== 'string') return doubleQuotedString(value, ctx);
  }

  const body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx));

  if (comment && !inFlow && (body.indexOf('\n') !== -1 || comment.indexOf('\n') !== -1)) {
    if (onComment) onComment();
    return addCommentBefore(body, indent, comment);
  }

  return body;
}

function stringifyString(item, ctx, onComment, onChompKeep) {
  const {
    defaultType
  } = strOptions;
  const {
    implicitKey,
    inFlow
  } = ctx;
  let {
    type,
    value
  } = item;

  if (typeof value !== 'string') {
    value = String(value);
    item = Object.assign({}, item, {
      value
    });
  }

  const _stringify = _type => {
    switch (_type) {
      case PlainValue.Type.BLOCK_FOLDED:
      case PlainValue.Type.BLOCK_LITERAL:
        return blockString(item, ctx, onComment, onChompKeep);

      case PlainValue.Type.QUOTE_DOUBLE:
        return doubleQuotedString(value, ctx);

      case PlainValue.Type.QUOTE_SINGLE:
        return singleQuotedString(value, ctx);

      case PlainValue.Type.PLAIN:
        return plainString(item, ctx, onComment, onChompKeep);

      default:
        return null;
    }
  };

  if (type !== PlainValue.Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) {
    // force double quotes on control characters
    type = PlainValue.Type.QUOTE_DOUBLE;
  } else if ((implicitKey || inFlow) && (type === PlainValue.Type.BLOCK_FOLDED || type === PlainValue.Type.BLOCK_LITERAL)) {
    // should not happen; blocks are not valid inside flow containers
    type = PlainValue.Type.QUOTE_DOUBLE;
  }

  let res = _stringify(type);

  if (res === null) {
    res = _stringify(defaultType);
    if (res === null) throw new Error(`Unsupported default string type ${defaultType}`);
  }

  return res;
}

function stringifyNumber({
  format,
  minFractionDigits,
  tag,
  value
}) {
  if (typeof value === 'bigint') return String(value);
  if (!isFinite(value)) return isNaN(value) ? '.nan' : value < 0 ? '-.inf' : '.inf';
  let n = JSON.stringify(value);

  if (!format && minFractionDigits && (!tag || tag === 'tag:yaml.org,2002:float') && /^\d/.test(n)) {
    let i = n.indexOf('.');

    if (i < 0) {
      i = n.length;
      n += '.';
    }

    let d = minFractionDigits - (n.length - i - 1);

    while (d-- > 0) n += '0';
  }

  return n;
}

function checkFlowCollectionEnd(errors, cst) {
  let char, name;

  switch (cst.type) {
    case PlainValue.Type.FLOW_MAP:
      char = '}';
      name = 'flow map';
      break;

    case PlainValue.Type.FLOW_SEQ:
      char = ']';
      name = 'flow sequence';
      break;

    default:
      errors.push(new PlainValue.YAMLSemanticError(cst, 'Not a flow collection!?'));
      return;
  }

  let lastItem;

  for (let i = cst.items.length - 1; i >= 0; --i) {
    const item = cst.items[i];

    if (!item || item.type !== PlainValue.Type.COMMENT) {
      lastItem = item;
      break;
    }
  }

  if (lastItem && lastItem.char !== char) {
    const msg = `Expected ${name} to end with ${char}`;
    let err;

    if (typeof lastItem.offset === 'number') {
      err = new PlainValue.YAMLSemanticError(cst, msg);
      err.offset = lastItem.offset + 1;
    } else {
      err = new PlainValue.YAMLSemanticError(lastItem, msg);
      if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start;
    }

    errors.push(err);
  }
}
function checkFlowCommentSpace(errors, comment) {
  const prev = comment.context.src[comment.range.start - 1];

  if (prev !== '\n' && prev !== '\t' && prev !== ' ') {
    const msg = 'Comments must be separated from other tokens by white space characters';
    errors.push(new PlainValue.YAMLSemanticError(comment, msg));
  }
}
function getLongKeyError(source, key) {
  const sk = String(key);
  const k = sk.substr(0, 8) + '...' + sk.substr(-8);
  return new PlainValue.YAMLSemanticError(source, `The "${k}" key is too long`);
}
function resolveComments(collection, comments) {
  for (const {
    afterKey,
    before,
    comment
  } of comments) {
    let item = collection.items[before];

    if (!item) {
      if (comment !== undefined) {
        if (collection.comment) collection.comment += '\n' + comment;else collection.comment = comment;
      }
    } else {
      if (afterKey && item.value) item = item.value;

      if (comment === undefined) {
        if (afterKey || !item.commentBefore) item.spaceBefore = true;
      } else {
        if (item.commentBefore) item.commentBefore += '\n' + comment;else item.commentBefore = comment;
      }
    }
  }
}

// on error, will return { str: string, errors: Error[] }
function resolveString(doc, node) {
  const res = node.strValue;
  if (!res) return '';
  if (typeof res === 'string') return res;
  res.errors.forEach(error => {
    if (!error.source) error.source = node;
    doc.errors.push(error);
  });
  return res.str;
}

function resolveTagHandle(doc, node) {
  const {
    handle,
    suffix
  } = node.tag;
  let prefix = doc.tagPrefixes.find(p => p.handle === handle);

  if (!prefix) {
    const dtp = doc.getDefaults().tagPrefixes;
    if (dtp) prefix = dtp.find(p => p.handle === handle);
    if (!prefix) throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`);
  }

  if (!suffix) throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag has no suffix.`);

  if (handle === '!' && (doc.version || doc.options.version) === '1.0') {
    if (suffix[0] === '^') {
      doc.warnings.push(new PlainValue.YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported'));
      return suffix;
    }

    if (/[:/]/.test(suffix)) {
      // word/foo -> tag:word.yaml.org,2002:foo
      const vocab = suffix.match(/^([a-z0-9-]+)\/(.*)/i);
      return vocab ? `tag:${vocab[1]}.yaml.org,2002:${vocab[2]}` : `tag:${suffix}`;
    }
  }

  return prefix.prefix + decodeURIComponent(suffix);
}

function resolveTagName(doc, node) {
  const {
    tag,
    type
  } = node;
  let nonSpecific = false;

  if (tag) {
    const {
      handle,
      suffix,
      verbatim
    } = tag;

    if (verbatim) {
      if (verbatim !== '!' && verbatim !== '!!') return verbatim;
      const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`;
      doc.errors.push(new PlainValue.YAMLSemanticError(node, msg));
    } else if (handle === '!' && !suffix) {
      nonSpecific = true;
    } else {
      try {
        return resolveTagHandle(doc, node);
      } catch (error) {
        doc.errors.push(error);
      }
    }
  }

  switch (type) {
    case PlainValue.Type.BLOCK_FOLDED:
    case PlainValue.Type.BLOCK_LITERAL:
    case PlainValue.Type.QUOTE_DOUBLE:
    case PlainValue.Type.QUOTE_SINGLE:
      return PlainValue.defaultTags.STR;

    case PlainValue.Type.FLOW_MAP:
    case PlainValue.Type.MAP:
      return PlainValue.defaultTags.MAP;

    case PlainValue.Type.FLOW_SEQ:
    case PlainValue.Type.SEQ:
      return PlainValue.defaultTags.SEQ;

    case PlainValue.Type.PLAIN:
      return nonSpecific ? PlainValue.defaultTags.STR : null;

    default:
      return null;
  }
}

function resolveByTagName(doc, node, tagName) {
  const {
    tags
  } = doc.schema;
  const matchWithTest = [];

  for (const tag of tags) {
    if (tag.tag === tagName) {
      if (tag.test) matchWithTest.push(tag);else {
        const res = tag.resolve(doc, node);
        return res instanceof Collection ? res : new Scalar(res);
      }
    }
  }

  const str = resolveString(doc, node);
  if (typeof str === 'string' && matchWithTest.length > 0) return resolveScalar(str, matchWithTest, tags.scalarFallback);
  return null;
}

function getFallbackTagName({
  type
}) {
  switch (type) {
    case PlainValue.Type.FLOW_MAP:
    case PlainValue.Type.MAP:
      return PlainValue.defaultTags.MAP;

    case PlainValue.Type.FLOW_SEQ:
    case PlainValue.Type.SEQ:
      return PlainValue.defaultTags.SEQ;

    default:
      return PlainValue.defaultTags.STR;
  }
}

function resolveTag(doc, node, tagName) {
  try {
    const res = resolveByTagName(doc, node, tagName);

    if (res) {
      if (tagName && node.tag) res.tag = tagName;
      return res;
    }
  } catch (error) {
    /* istanbul ignore if */
    if (!error.source) error.source = node;
    doc.errors.push(error);
    return null;
  }

  try {
    const fallback = getFallbackTagName(node);
    if (!fallback) throw new Error(`The tag ${tagName} is unavailable`);
    const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`;
    doc.warnings.push(new PlainValue.YAMLWarning(node, msg));
    const res = resolveByTagName(doc, node, fallback);
    res.tag = tagName;
    return res;
  } catch (error) {
    const refError = new PlainValue.YAMLReferenceError(node, error.message);
    refError.stack = error.stack;
    doc.errors.push(refError);
    return null;
  }
}

const isCollectionItem = node => {
  if (!node) return false;
  const {
    type
  } = node;
  return type === PlainValue.Type.MAP_KEY || type === PlainValue.Type.MAP_VALUE || type === PlainValue.Type.SEQ_ITEM;
};

function resolveNodeProps(errors, node) {
  const comments = {
    before: [],
    after: []
  };
  let hasAnchor = false;
  let hasTag = false;
  const props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props;

  for (const {
    start,
    end
  } of props) {
    switch (node.context.src[start]) {
      case PlainValue.Char.COMMENT:
        {
          if (!node.commentHasRequiredWhitespace(start)) {
            const msg = 'Comments must be separated from other tokens by white space characters';
            errors.push(new PlainValue.YAMLSemanticError(node, msg));
          }

          const {
            header,
            valueRange
          } = node;
          const cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before;
          cc.push(node.context.src.slice(start + 1, end));
          break;
        }
      // Actual anchor & tag resolution is handled by schema, here we just complain

      case PlainValue.Char.ANCHOR:
        if (hasAnchor) {
          const msg = 'A node can have at most one anchor';
          errors.push(new PlainValue.YAMLSemanticError(node, msg));
        }

        hasAnchor = true;
        break;

      case PlainValue.Char.TAG:
        if (hasTag) {
          const msg = 'A node can have at most one tag';
          errors.push(new PlainValue.YAMLSemanticError(node, msg));
        }

        hasTag = true;
        break;
    }
  }

  return {
    comments,
    hasAnchor,
    hasTag
  };
}

function resolveNodeValue(doc, node) {
  const {
    anchors,
    errors,
    schema
  } = doc;

  if (node.type === PlainValue.Type.ALIAS) {
    const name = node.rawValue;
    const src = anchors.getNode(name);

    if (!src) {
      const msg = `Aliased anchor not found: ${name}`;
      errors.push(new PlainValue.YAMLReferenceError(node, msg));
      return null;
    } // Lazy resolution for circular references


    const res = new Alias(src);

    anchors._cstAliases.push(res);

    return res;
  }

  const tagName = resolveTagName(doc, node);
  if (tagName) return resolveTag(doc, node, tagName);

  if (node.type !== PlainValue.Type.PLAIN) {
    const msg = `Failed to resolve ${node.type} node here`;
    errors.push(new PlainValue.YAMLSyntaxError(node, msg));
    return null;
  }

  try {
    const str = resolveString(doc, node);
    return resolveScalar(str, schema.tags, schema.tags.scalarFallback);
  } catch (error) {
    if (!error.source) error.source = node;
    errors.push(error);
    return null;
  }
} // sets node.resolved on success


function resolveNode(doc, node) {
  if (!node) return null;
  if (node.error) doc.errors.push(node.error);
  const {
    comments,
    hasAnchor,
    hasTag
  } = resolveNodeProps(doc.errors, node);

  if (hasAnchor) {
    const {
      anchors
    } = doc;
    const name = node.anchor;
    const prev = anchors.getNode(name); // At this point, aliases for any preceding node with the same anchor
    // name have already been resolved, so it may safely be renamed.

    if (prev) anchors.map[anchors.newName(name)] = prev; // During parsing, we need to store the CST node in anchors.map as
    // anchors need to be available during resolution to allow for
    // circular references.

    anchors.map[name] = node;
  }

  if (node.type === PlainValue.Type.ALIAS && (hasAnchor || hasTag)) {
    const msg = 'An alias node must not specify any properties';
    doc.errors.push(new PlainValue.YAMLSemanticError(node, msg));
  }

  const res = resolveNodeValue(doc, node);

  if (res) {
    res.range = [node.range.start, node.range.end];
    if (doc.options.keepCstNodes) res.cstNode = node;
    if (doc.options.keepNodeTypes) res.type = node.type;
    const cb = comments.before.join('\n');

    if (cb) {
      res.commentBefore = res.commentBefore ? `${res.commentBefore}\n${cb}` : cb;
    }

    const ca = comments.after.join('\n');
    if (ca) res.comment = res.comment ? `${res.comment}\n${ca}` : ca;
  }

  return node.resolved = res;
}

function resolveMap(doc, cst) {
  if (cst.type !== PlainValue.Type.MAP && cst.type !== PlainValue.Type.FLOW_MAP) {
    const msg = `A ${cst.type} node cannot be resolved as a mapping`;
    doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg));
    return null;
  }

  const {
    comments,
    items
  } = cst.type === PlainValue.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst);
  const map = new YAMLMap();
  map.items = items;
  resolveComments(map, comments);
  let hasCollectionKey = false;

  for (let i = 0; i < items.length; ++i) {
    const {
      key: iKey
    } = items[i];
    if (iKey instanceof Collection) hasCollectionKey = true;

    if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) {
      items[i] = new Merge(items[i]);
      const sources = items[i].value.items;
      let error = null;
      sources.some(node => {
        if (node instanceof Alias) {
          // During parsing, alias sources are CST nodes; to account for
          // circular references their resolved values can't be used here.
          const {
            type
          } = node.source;
          if (type === PlainValue.Type.MAP || type === PlainValue.Type.FLOW_MAP) return false;
          return error = 'Merge nodes aliases can only point to maps';
        }

        return error = 'Merge nodes can only have Alias nodes as values';
      });
      if (error) doc.errors.push(new PlainValue.YAMLSemanticError(cst, error));
    } else {
      for (let j = i + 1; j < items.length; ++j) {
        const {
          key: jKey
        } = items[j];

        if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) {
          const msg = `Map keys must be unique; "${iKey}" is repeated`;
          doc.errors.push(new PlainValue.YAMLSemanticError(cst, msg));
          break;
        }
      }
    }
  }

  if (hasCollectionKey && !doc.options.mapAsMap) {
    const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';
    doc.warnings.push(new PlainValue.YAMLWarning(cst, warn));
  }

  cst.resolved = map;
  return map;
}

const valueHasPairComment = ({
  context: {
    lineStart,
    node,
    src
  },
  props
}) => {
  if (props.length === 0) return false;
  const {
    start
  } = props[0];
  if (node && start > node.valueRange.start) return false;
  if (src[start] !== PlainValue.Char.COMMENT) return false;

  for (let i = lineStart; i < start; ++i) if (src[i] === '\n') return false;

  return true;
};

function resolvePairComment(item, pair) {
  if (!valueHasPairComment(item)) return;
  const comment = item.getPropValue(0, PlainValue.Char.COMMENT, true);
  let found = false;
  const cb = pair.value.commentBefore;

  if (cb && cb.startsWith(comment)) {
    pair.value.commentBefore = cb.substr(comment.length + 1);
    found = true;
  } else {
    const cc = pair.value.comment;

    if (!item.node && cc && cc.startsWith(comment)) {
      pair.value.comment = cc.substr(comment.length + 1);
      found = true;
    }
  }

  if (found) pair.comment = comment;
}

function resolveBlockMapItems(doc, cst) {
  const comments = [];
  const items = [];
  let key = undefined;
  let keyStart = null;

  for (let i = 0; i < cst.items.length; ++i) {
    const item = cst.items[i];

    switch (item.type) {
      case PlainValue.Type.BLANK_LINE:
        comments.push({
          afterKey: !!key,
          before: items.length
        });
        break;

      case PlainValue.Type.COMMENT:
        comments.push({
          afterKey: !!key,
          before: items.length,
          comment: item.comment
        });
        break;

      case PlainValue.Type.MAP_KEY:
        if (key !== undefined) items.push(new Pair(key));
        if (item.error) doc.errors.push(item.error);
        key = resolveNode(doc, item.node);
        keyStart = null;
        break;

      case PlainValue.Type.MAP_VALUE:
        {
          if (key === undefined) key = null;
          if (item.error) doc.errors.push(item.error);

          if (!item.context.atLineStart && item.node && item.node.type === PlainValue.Type.MAP && !item.node.context.atLineStart) {
            const msg = 'Nested mappings are not allowed in compact mappings';
            doc.errors.push(new PlainValue.YAMLSemanticError(item.node, msg));
          }

          let valueNode = item.node;

          if (!valueNode && item.props.length > 0) {
            // Comments on an empty mapping value need to be preserved, so we
            // need to construct a minimal empty node here to use instead of the
            // missing `item.node`. -- eemeli/yaml#19
            valueNode = new PlainValue.PlainValue(PlainValue.Type.PLAIN, []);
            valueNode.context = {
              parent: item,
              src: item.context.src
            };
            const pos = item.range.start + 1;
            valueNode.range = {
              start: pos,
              end: pos
            };
            valueNode.valueRange = {
              start: pos,
              end: pos
            };

            if (typeof item.range.origStart === 'number') {
              const origPos = item.range.origStart + 1;
              valueNode.range.origStart = valueNode.range.origEnd = origPos;
              valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos;
            }
          }

          const pair = new Pair(key, resolveNode(doc, valueNode));
          resolvePairComment(item, pair);
          items.push(pair);

          if (key && typeof keyStart === 'number') {
            if (item.range.start > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));
          }

          key = undefined;
          keyStart = null;
        }
        break;

      default:
        if (key !== undefined) items.push(new Pair(key));
        key = resolveNode(doc, item);
        keyStart = item.range.start;
        if (item.error) doc.errors.push(item.error);

        next: for (let j = i + 1;; ++j) {
          const nextItem = cst.items[j];

          switch (nextItem && nextItem.type) {
            case PlainValue.Type.BLANK_LINE:
            case PlainValue.Type.COMMENT:
              continue next;

            case PlainValue.Type.MAP_VALUE:
              break next;

            default:
              {
                const msg = 'Implicit map keys need to be followed by map values';
                doc.errors.push(new PlainValue.YAMLSemanticError(item, msg));
                break next;
              }
          }
        }

        if (item.valueRangeContainsNewline) {
          const msg = 'Implicit map keys need to be on a single line';
          doc.errors.push(new PlainValue.YAMLSemanticError(item, msg));
        }

    }
  }

  if (key !== undefined) items.push(new Pair(key));
  return {
    comments,
    items
  };
}

function resolveFlowMapItems(doc, cst) {
  const comments = [];
  const items = [];
  let key = undefined;
  let explicitKey = false;
  let next = '{';

  for (let i = 0; i < cst.items.length; ++i) {
    const item = cst.items[i];

    if (typeof item.char === 'string') {
      const {
        char,
        offset
      } = item;

      if (char === '?' && key === undefined && !explicitKey) {
        explicitKey = true;
        next = ':';
        continue;
      }

      if (char === ':') {
        if (key === undefined) key = null;

        if (next === ':') {
          next = ',';
          continue;
        }
      } else {
        if (explicitKey) {
          if (key === undefined && char !== ',') key = null;
          explicitKey = false;
        }

        if (key !== undefined) {
          items.push(new Pair(key));
          key = undefined;

          if (char === ',') {
            next = ':';
            continue;
          }
        }
      }

      if (char === '}') {
        if (i === cst.items.length - 1) continue;
      } else if (char === next) {
        next = ':';
        continue;
      }

      const msg = `Flow map contains an unexpected ${char}`;
      const err = new PlainValue.YAMLSyntaxError(cst, msg);
      err.offset = offset;
      doc.errors.push(err);
    } else if (item.type === PlainValue.Type.BLANK_LINE) {
      comments.push({
        afterKey: !!key,
        before: items.length
      });
    } else if (item.type === PlainValue.Type.COMMENT) {
      checkFlowCommentSpace(doc.errors, item);
      comments.push({
        afterKey: !!key,
        before: items.length,
        comment: item.comment
      });
    } else if (key === undefined) {
      if (next === ',') doc.errors.push(new PlainValue.YAMLSemanticError(item, 'Separator , missing in flow map'));
      key = resolveNode(doc, item);
    } else {
      if (next !== ',') doc.errors.push(new PlainValue.YAMLSemanticError(item, 'Indicator : missing in flow map entry'));
      items.push(new Pair(key, resolveNode(doc, item)));
      key = undefined;
      explicitKey = false;
    }
  }

  checkFlowCollectionEnd(doc.errors, cst);
  if (key !== undefined) items.push(new Pair(key));
  return {
    comments,
    items
  };
}

function resolveSeq(doc, cst) {
  if (cst.type !== PlainValue.Type.SEQ && cst.type !== PlainValue.Type.FLOW_SEQ) {
    const msg = `A ${cst.type} node cannot be resolved as a sequence`;
    doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg));
    return null;
  }

  const {
    comments,
    items
  } = cst.type === PlainValue.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst);
  const seq = new YAMLSeq();
  seq.items = items;
  resolveComments(seq, comments);

  if (!doc.options.mapAsMap && items.some(it => it instanceof Pair && it.key instanceof Collection)) {
    const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';
    doc.warnings.push(new PlainValue.YAMLWarning(cst, warn));
  }

  cst.resolved = seq;
  return seq;
}

function resolveBlockSeqItems(doc, cst) {
  const comments = [];
  const items = [];

  for (let i = 0; i < cst.items.length; ++i) {
    const item = cst.items[i];

    switch (item.type) {
      case PlainValue.Type.BLANK_LINE:
        comments.push({
          before: items.length
        });
        break;

      case PlainValue.Type.COMMENT:
        comments.push({
          comment: item.comment,
          before: items.length
        });
        break;

      case PlainValue.Type.SEQ_ITEM:
        if (item.error) doc.errors.push(item.error);
        items.push(resolveNode(doc, item.node));

        if (item.hasProps) {
          const msg = 'Sequence items cannot have tags or anchors before the - indicator';
          doc.errors.push(new PlainValue.YAMLSemanticError(item, msg));
        }

        break;

      default:
        if (item.error) doc.errors.push(item.error);
        doc.errors.push(new PlainValue.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`));
    }
  }

  return {
    comments,
    items
  };
}

function resolveFlowSeqItems(doc, cst) {
  const comments = [];
  const items = [];
  let explicitKey = false;
  let key = undefined;
  let keyStart = null;
  let next = '[';
  let prevItem = null;

  for (let i = 0; i < cst.items.length; ++i) {
    const item = cst.items[i];

    if (typeof item.char === 'string') {
      const {
        char,
        offset
      } = item;

      if (char !== ':' && (explicitKey || key !== undefined)) {
        if (explicitKey && key === undefined) key = next ? items.pop() : null;
        items.push(new Pair(key));
        explicitKey = false;
        key = undefined;
        keyStart = null;
      }

      if (char === next) {
        next = null;
      } else if (!next && char === '?') {
        explicitKey = true;
      } else if (next !== '[' && char === ':' && key === undefined) {
        if (next === ',') {
          key = items.pop();

          if (key instanceof Pair) {
            const msg = 'Chaining flow sequence pairs is invalid';
            const err = new PlainValue.YAMLSemanticError(cst, msg);
            err.offset = offset;
            doc.errors.push(err);
          }

          if (!explicitKey && typeof keyStart === 'number') {
            const keyEnd = item.range ? item.range.start : item.offset;
            if (keyEnd > keyStart + 1024) doc.errors.push(getLongKeyError(cst, key));
            const {
              src
            } = prevItem.context;

            for (let i = keyStart; i < keyEnd; ++i) if (src[i] === '\n') {
              const msg = 'Implicit keys of flow sequence pairs need to be on a single line';
              doc.errors.push(new PlainValue.YAMLSemanticError(prevItem, msg));
              break;
            }
          }
        } else {
          key = null;
        }

        keyStart = null;
        explicitKey = false;
        next = null;
      } else if (next === '[' || char !== ']' || i < cst.items.length - 1) {
        const msg = `Flow sequence contains an unexpected ${char}`;
        const err = new PlainValue.YAMLSyntaxError(cst, msg);
        err.offset = offset;
        doc.errors.push(err);
      }
    } else if (item.type === PlainValue.Type.BLANK_LINE) {
      comments.push({
        before: items.length
      });
    } else if (item.type === PlainValue.Type.COMMENT) {
      checkFlowCommentSpace(doc.errors, item);
      comments.push({
        comment: item.comment,
        before: items.length
      });
    } else {
      if (next) {
        const msg = `Expected a ${next} in flow sequence`;
        doc.errors.push(new PlainValue.YAMLSemanticError(item, msg));
      }

      const value = resolveNode(doc, item);

      if (key === undefined) {
        items.push(value);
        prevItem = item;
      } else {
        items.push(new Pair(key, value));
        key = undefined;
      }

      keyStart = item.range.start;
      next = ',';
    }
  }

  checkFlowCollectionEnd(doc.errors, cst);
  if (key !== undefined) items.push(new Pair(key));
  return {
    comments,
    items
  };
}

exports.Alias = Alias;
exports.Collection = Collection;
exports.Merge = Merge;
exports.Node = Node;
exports.Pair = Pair;
exports.Scalar = Scalar;
exports.YAMLMap = YAMLMap;
exports.YAMLSeq = YAMLSeq;
exports.addComment = addComment;
exports.binaryOptions = binaryOptions;
exports.boolOptions = boolOptions;
exports.findPair = findPair;
exports.intOptions = intOptions;
exports.isEmptyPath = isEmptyPath;
exports.nullOptions = nullOptions;
exports.resolveMap = resolveMap;
exports.resolveNode = resolveNode;
exports.resolveSeq = resolveSeq;
exports.resolveString = resolveString;
exports.strOptions = strOptions;
exports.stringifyNumber = stringifyNumber;
exports.stringifyString = stringifyString;
exports.toJSON = toJSON;


/***/ }),

/***/ 46003:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";


var PlainValue = __nccwpck_require__(75215);
var resolveSeq = __nccwpck_require__(64227);

/* global atob, btoa, Buffer */
const binary = {
  identify: value => value instanceof Uint8Array,
  // Buffer inherits from Uint8Array
  default: false,
  tag: 'tag:yaml.org,2002:binary',

  /**
   * Returns a Buffer in node and an Uint8Array in browsers
   *
   * To use the resulting buffer as an image, you'll want to do something like:
   *
   *   const blob = new Blob([buffer], { type: 'image/jpeg' })
   *   document.querySelector('#photo').src = URL.createObjectURL(blob)
   */
  resolve: (doc, node) => {
    const src = resolveSeq.resolveString(doc, node);

    if (typeof Buffer === 'function') {
      return Buffer.from(src, 'base64');
    } else if (typeof atob === 'function') {
      // On IE 11, atob() can't handle newlines
      const str = atob(src.replace(/[\n\r]/g, ''));
      const buffer = new Uint8Array(str.length);

      for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);

      return buffer;
    } else {
      const msg = 'This environment does not support reading binary tags; either Buffer or atob is required';
      doc.errors.push(new PlainValue.YAMLReferenceError(node, msg));
      return null;
    }
  },
  options: resolveSeq.binaryOptions,
  stringify: ({
    comment,
    type,
    value
  }, ctx, onComment, onChompKeep) => {
    let src;

    if (typeof Buffer === 'function') {
      src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');
    } else if (typeof btoa === 'function') {
      let s = '';

      for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);

      src = btoa(s);
    } else {
      throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
    }

    if (!type) type = resolveSeq.binaryOptions.defaultType;

    if (type === PlainValue.Type.QUOTE_DOUBLE) {
      value = src;
    } else {
      const {
        lineWidth
      } = resolveSeq.binaryOptions;
      const n = Math.ceil(src.length / lineWidth);
      const lines = new Array(n);

      for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
        lines[i] = src.substr(o, lineWidth);
      }

      value = lines.join(type === PlainValue.Type.BLOCK_LITERAL ? '\n' : ' ');
    }

    return resolveSeq.stringifyString({
      comment,
      type,
      value
    }, ctx, onComment, onChompKeep);
  }
};

function parsePairs(doc, cst) {
  const seq = resolveSeq.resolveSeq(doc, cst);

  for (let i = 0; i < seq.items.length; ++i) {
    let item = seq.items[i];
    if (item instanceof resolveSeq.Pair) continue;else if (item instanceof resolveSeq.YAMLMap) {
      if (item.items.length > 1) {
        const msg = 'Each pair must have its own sequence indicator';
        throw new PlainValue.YAMLSemanticError(cst, msg);
      }

      const pair = item.items[0] || new resolveSeq.Pair();
      if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\n${pair.commentBefore}` : item.commentBefore;
      if (item.comment) pair.comment = pair.comment ? `${item.comment}\n${pair.comment}` : item.comment;
      item = pair;
    }
    seq.items[i] = item instanceof resolveSeq.Pair ? item : new resolveSeq.Pair(item);
  }

  return seq;
}
function createPairs(schema, iterable, ctx) {
  const pairs = new resolveSeq.YAMLSeq(schema);
  pairs.tag = 'tag:yaml.org,2002:pairs';

  for (const it of iterable) {
    let key, value;

    if (Array.isArray(it)) {
      if (it.length === 2) {
        key = it[0];
        value = it[1];
      } else throw new TypeError(`Expected [key, value] tuple: ${it}`);
    } else if (it && it instanceof Object) {
      const keys = Object.keys(it);

      if (keys.length === 1) {
        key = keys[0];
        value = it[key];
      } else throw new TypeError(`Expected { key: value } tuple: ${it}`);
    } else {
      key = it;
    }

    const pair = schema.createPair(key, value, ctx);
    pairs.items.push(pair);
  }

  return pairs;
}
const pairs = {
  default: false,
  tag: 'tag:yaml.org,2002:pairs',
  resolve: parsePairs,
  createNode: createPairs
};

class YAMLOMap extends resolveSeq.YAMLSeq {
  constructor() {
    super();

    PlainValue._defineProperty(this, "add", resolveSeq.YAMLMap.prototype.add.bind(this));

    PlainValue._defineProperty(this, "delete", resolveSeq.YAMLMap.prototype.delete.bind(this));

    PlainValue._defineProperty(this, "get", resolveSeq.YAMLMap.prototype.get.bind(this));

    PlainValue._defineProperty(this, "has", resolveSeq.YAMLMap.prototype.has.bind(this));

    PlainValue._defineProperty(this, "set", resolveSeq.YAMLMap.prototype.set.bind(this));

    this.tag = YAMLOMap.tag;
  }

  toJSON(_, ctx) {
    const map = new Map();
    if (ctx && ctx.onCreate) ctx.onCreate(map);

    for (const pair of this.items) {
      let key, value;

      if (pair instanceof resolveSeq.Pair) {
        key = resolveSeq.toJSON(pair.key, '', ctx);
        value = resolveSeq.toJSON(pair.value, key, ctx);
      } else {
        key = resolveSeq.toJSON(pair, '', ctx);
      }

      if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');
      map.set(key, value);
    }

    return map;
  }

}

PlainValue._defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap');

function parseOMap(doc, cst) {
  const pairs = parsePairs(doc, cst);
  const seenKeys = [];

  for (const {
    key
  } of pairs.items) {
    if (key instanceof resolveSeq.Scalar) {
      if (seenKeys.includes(key.value)) {
        const msg = 'Ordered maps must not include duplicate keys';
        throw new PlainValue.YAMLSemanticError(cst, msg);
      } else {
        seenKeys.push(key.value);
      }
    }
  }

  return Object.assign(new YAMLOMap(), pairs);
}

function createOMap(schema, iterable, ctx) {
  const pairs = createPairs(schema, iterable, ctx);
  const omap = new YAMLOMap();
  omap.items = pairs.items;
  return omap;
}

const omap = {
  identify: value => value instanceof Map,
  nodeClass: YAMLOMap,
  default: false,
  tag: 'tag:yaml.org,2002:omap',
  resolve: parseOMap,
  createNode: createOMap
};

class YAMLSet extends resolveSeq.YAMLMap {
  constructor() {
    super();
    this.tag = YAMLSet.tag;
  }

  add(key) {
    const pair = key instanceof resolveSeq.Pair ? key : new resolveSeq.Pair(key);
    const prev = resolveSeq.findPair(this.items, pair.key);
    if (!prev) this.items.push(pair);
  }

  get(key, keepPair) {
    const pair = resolveSeq.findPair(this.items, key);
    return !keepPair && pair instanceof resolveSeq.Pair ? pair.key instanceof resolveSeq.Scalar ? pair.key.value : pair.key : pair;
  }

  set(key, value) {
    if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
    const prev = resolveSeq.findPair(this.items, key);

    if (prev && !value) {
      this.items.splice(this.items.indexOf(prev), 1);
    } else if (!prev && value) {
      this.items.push(new resolveSeq.Pair(key));
    }
  }

  toJSON(_, ctx) {
    return super.toJSON(_, ctx, Set);
  }

  toString(ctx, onComment, onChompKeep) {
    if (!ctx) return JSON.stringify(this);
    if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');
  }

}

PlainValue._defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set');

function parseSet(doc, cst) {
  const map = resolveSeq.resolveMap(doc, cst);
  if (!map.hasAllNullValues()) throw new PlainValue.YAMLSemanticError(cst, 'Set items must all have null values');
  return Object.assign(new YAMLSet(), map);
}

function createSet(schema, iterable, ctx) {
  const set = new YAMLSet();

  for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));

  return set;
}

const set = {
  identify: value => value instanceof Set,
  nodeClass: YAMLSet,
  default: false,
  tag: 'tag:yaml.org,2002:set',
  resolve: parseSet,
  createNode: createSet
};

const parseSexagesimal = (sign, parts) => {
  const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);
  return sign === '-' ? -n : n;
}; // hhhh:mm:ss.sss


const stringifySexagesimal = ({
  value
}) => {
  if (isNaN(value) || !isFinite(value)) return resolveSeq.stringifyNumber(value);
  let sign = '';

  if (value < 0) {
    sign = '-';
    value = Math.abs(value);
  }

  const parts = [value % 60]; // seconds, including ms

  if (value < 60) {
    parts.unshift(0); // at least one : is required
  } else {
    value = Math.round((value - parts[0]) / 60);
    parts.unshift(value % 60); // minutes

    if (value >= 60) {
      value = Math.round((value - parts[0]) / 60);
      parts.unshift(value); // hours
    }
  }

  return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\d*$/, '') // % 60 may introduce error
  ;
};

const intTime = {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:int',
  format: 'TIME',
  test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,
  resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),
  stringify: stringifySexagesimal
};
const floatTime = {
  identify: value => typeof value === 'number',
  default: true,
  tag: 'tag:yaml.org,2002:float',
  format: 'TIME',
  test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,
  resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, '')),
  stringify: stringifySexagesimal
};
const timestamp = {
  identify: value => value instanceof Date,
  default: true,
  tag: 'tag:yaml.org,2002:timestamp',
  // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
  // may be omitted altogether, resulting in a date format. In such a case, the time part is
  // assumed to be 00:00:00Z (start of day, UTC).
  test: RegExp('^(?:' + '([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd
  '(?:(?:t|T|[ \\t]+)' + // t | T | whitespace
  '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?
  '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30
  ')?' + ')$'),
  resolve: (str, year, month, day, hour, minute, second, millisec, tz) => {
    if (millisec) millisec = (millisec + '00').substr(1, 3);
    let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0);

    if (tz && tz !== 'Z') {
      let d = parseSexagesimal(tz[0], tz.slice(1));
      if (Math.abs(d) < 30) d *= 60;
      date -= 60000 * d;
    }

    return new Date(date);
  },
  stringify: ({
    value
  }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, '')
};

/* global console, process, YAML_SILENCE_DEPRECATION_WARNINGS, YAML_SILENCE_WARNINGS */
function shouldWarn(deprecation) {
  const env = typeof process !== 'undefined' && process.env || {};

  if (deprecation) {
    if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== 'undefined') return !YAML_SILENCE_DEPRECATION_WARNINGS;
    return !env.YAML_SILENCE_DEPRECATION_WARNINGS;
  }

  if (typeof YAML_SILENCE_WARNINGS !== 'undefined') return !YAML_SILENCE_WARNINGS;
  return !env.YAML_SILENCE_WARNINGS;
}

function warn(warning, type) {
  if (shouldWarn(false)) {
    const emit = typeof process !== 'undefined' && process.emitWarning; // This will throw in Jest if `warning` is an Error instance due to
    // https://github.com/facebook/jest/issues/2549

    if (emit) emit(warning, type);else {
      // eslint-disable-next-line no-console
      console.warn(type ? `${type}: ${warning}` : warning);
    }
  }
}
function warnFileDeprecation(filename) {
  if (shouldWarn(true)) {
    const path = filename.replace(/.*yaml[/\\]/i, '').replace(/\.js$/, '').replace(/\\/g, '/');
    warn(`The endpoint 'yaml/${path}' will be removed in a future release.`, 'DeprecationWarning');
  }
}
const warned = {};
function warnOptionDeprecation(name, alternative) {
  if (!warned[name] && shouldWarn(true)) {
    warned[name] = true;
    let msg = `The option '${name}' will be removed in a future release`;
    msg += alternative ? `, use '${alternative}' instead.` : '.';
    warn(msg, 'DeprecationWarning');
  }
}

exports.binary = binary;
exports.floatTime = floatTime;
exports.intTime = intTime;
exports.omap = omap;
exports.pairs = pairs;
exports.set = set;
exports.timestamp = timestamp;
exports.warn = warn;
exports.warnFileDeprecation = warnFileDeprecation;
exports.warnOptionDeprecation = warnOptionDeprecation;


/***/ }),

/***/ 13552:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

module.exports = __nccwpck_require__(65065).YAML


/***/ }),

/***/ 95666:
/***/ ((__unused_webpack_module, exports) => {

let enabled =
  !("NO_COLOR" in process.env) &&
  ("FORCE_COLOR" in process.env ||
    process.platform === "win32" ||
    (process.stdout != null &&
      process.stdout.isTTY &&
      process.env.TERM &&
      process.env.TERM !== "dumb"))

const raw = (open, close, searchRegex, replaceValue) => (s) =>
  enabled
    ? open +
      (~(s += "").indexOf(close, 4) // skip opening \x1b[
        ? s.replace(searchRegex, replaceValue)
        : s) +
      close
    : s

const init = (open, close) => {
  return raw(
    `\x1b[${open}m`,
    `\x1b[${close}m`,
    new RegExp(`\\x1b\\[${close}m`, "g"),
    `\x1b[${open}m`
  )
}

exports.options = Object.defineProperty({}, "enabled", {
  get: () => enabled,
  set: (value) => (enabled = value),
})

exports.reset = init(0, 0)
exports.bold = raw("\x1b[1m", "\x1b[22m", /\x1b\[22m/g, "\x1b[22m\x1b[1m")
exports.dim = raw("\x1b[2m", "\x1b[22m", /\x1b\[22m/g, "\x1b[22m\x1b[2m")
exports.italic = init(3, 23)
exports.underline = init(4, 24)
exports.inverse = init(7, 27)
exports.hidden = init(8, 28)
exports.strikethrough = init(9, 29)
exports.black = init(30, 39)
exports.red = init(31, 39)
exports.green = init(32, 39)
exports.yellow = init(33, 39)
exports.blue = init(34, 39)
exports.magenta = init(35, 39)
exports.cyan = init(36, 39)
exports.white = init(37, 39)
exports.gray = init(90, 39)
exports.bgBlack = init(40, 49)
exports.bgRed = init(41, 49)
exports.bgGreen = init(42, 49)
exports.bgYellow = init(43, 49)
exports.bgBlue = init(44, 49)
exports.bgMagenta = init(45, 49)
exports.bgCyan = init(46, 49)
exports.bgWhite = init(47, 49)
exports.blackBright = init(90, 39)
exports.redBright = init(91, 39)
exports.greenBright = init(92, 39)
exports.yellowBright = init(93, 39)
exports.blueBright = init(94, 39)
exports.magentaBright = init(95, 39)
exports.cyanBright = init(96, 39)
exports.whiteBright = init(97, 39)
exports.bgBlackBright = init(100, 49)
exports.bgRedBright = init(101, 49)
exports.bgGreenBright = init(102, 49)
exports.bgYellowBright = init(103, 49)
exports.bgBlueBright = init(104, 49)
exports.bgMagentaBright = init(105, 49)
exports.bgCyanBright = init(106, 49)
exports.bgWhiteBright = init(107, 49)


/***/ }),

/***/ 44102:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

"use strict";


var fs = __nccwpck_require__(35747);
var path = __nccwpck_require__(85622);
var url = __nccwpck_require__(78835);
var timsort = __nccwpck_require__(46655);

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

var path__default = /*#__PURE__*/_interopDefaultLegacy(path);

const shorthandData = {
  'animation': [
    'animation-name',
    'animation-duration',
    'animation-timing-function',
    'animation-delay',
    'animation-iteration-count',
    'animation-direction',
    'animation-fill-mode',
    'animation-play-state',
  ],
  'background': [
    'background-image',
    'background-size',
    'background-position',
    'background-repeat',
    'background-origin',
    'background-clip',
    'background-attachment',
    'background-color',
  ],
  'border': [
    'border-top',
    'border-right',
    'border-bottom',
    'border-left',
    'border-width',
    'border-style',
    'border-color',
    'border-top-width',
    'border-right-width',
    'border-bottom-width',
    'border-left-width',
    'border-top-style',
    'border-right-style',
    'border-bottom-style',
    'border-left-style',
    'border-top-color',
    'border-right-color',
    'border-bottom-color',
    'border-left-color',
  ],
  'border-top': [
    'border-width',
    'border-style',
    'border-color',
    'border-top-width',
    'border-top-style',
    'border-top-color',
  ],
  'border-right': [
    'border-width',
    'border-style',
    'border-color',
    'border-right-width',
    'border-right-style',
    'border-right-color',
  ],
  'border-bottom': [
    'border-width',
    'border-style',
    'border-color',
    'border-bottom-width',
    'border-bottom-style',
    'border-bottom-color',
  ],
  'border-left': [
    'border-width',
    'border-style',
    'border-color',
    'border-left-width',
    'border-left-style',
    'border-left-color',
  ],
  'border-color': [
    'border-top-color',
    'border-bottom-color',
    'border-left-color',
    'border-right-color',
  ],
  'border-width': [
    'border-top-width',
    'border-bottom-width',
    'border-left-width',
    'border-right-width',
  ],
  'border-style': [
    'border-top-style',
    'border-bottom-style',
    'border-left-style',
    'border-right-style',
  ],
  'border-radius': [
    'border-top-right-radius',
    'border-top-left-radius',
    'border-bottom-right-radius',
    'border-bottom-left-radius',
  ],
  'border-block-start': [
    'border-block-start-width',
    'border-block-start-style',
    'border-block-start-color',
  ],
  'border-block-end': [
    'border-block-end-width',
    'border-block-end-style',
    'border-block-end-color',
  ],
  'border-image': [
    'border-image-source',
    'border-image-slice',
    'border-image-width',
    'border-image-outset',
    'border-image-repeat',
  ],
  'border-inline-start': [
    'border-inline-start-width',
    'border-inline-start-style',
    'border-inline-start-color',
  ],
  'border-inline-end': [
    'border-inline-end-width',
    'border-inline-end-style',
    'border-inline-end-color',
  ],
  'columns': [
    'column-width',
    'column-count',
  ],
  'column-rule': [
    'column-rule-width',
    'column-rule-style',
    'column-rule-color',
  ],
  'flex': [
    'flex-grow',
    'flex-shrink',
    'flex-basis',
  ],
  'flex-flow': [
    'flex-direction',
    'flex-wrap',
  ],
  'font': [
    'font-style',
    'font-variant',
    'font-weight',
    'font-stretch',
    'font-size',
    'font-family',
    'line-height',
  ],
  'grid': [
    'grid-template-rows',
    'grid-template-columns',
    'grid-template-areas',
    'grid-auto-rows',
    'grid-auto-columns',
    'grid-auto-flow',
    'column-gap',
    'row-gap',
  ],
  'grid-area': [
    'grid-row-start',
    'grid-column-start',
    'grid-row-end',
    'grid-column-end',
  ],
  'grid-column': [
    'grid-column-start',
    'grid-column-end',
  ],
  'grid-row': [
    'grid-row-start',
    'grid-row-end',
  ],
  'grid-template': [
    'grid-template-columns',
    'grid-template-rows',
    'grid-template-areas',
  ],
  'list-style': [
    'list-style-type',
    'list-style-position',
    'list-style-image',
  ],
  'margin': [
    'margin-top',
    'margin-right',
    'margin-bottom',
    'margin-left',
  ],
  'mask': [
    'mask-image',
    'mask-mode',
    'mask-position',
    'mask-size',
    'mask-repeat',
    'mask-origin',
    'mask-clip',
    'mask-composite',
  ],
  'outline': [
    'outline-color',
    'outline-style',
    'outline-width',
  ],
  'overflow': [
    'overflow-x',
    'overflow-y',
  ],
  'padding': [
    'padding-top',
    'padding-right',
    'padding-bottom',
    'padding-left',
  ],
  'padding-inline': [
    'padding-inline-start',
    'padding-inline-end',
  ],
  'padding-inline-start': [
    'padding-top',
    'padding-right',
    'padding-bottom',
    'padding-left',
  ],
  'padding-inline-end': [
    'padding-top',
    'padding-right',
    'padding-bottom',
    'padding-left',
  ],
  'place-content': [
    'align-content',
    'justify-content',
  ],
  'place-items': [
    'align-items',
    'justify-items',
  ],
  'place-self': [
    'align-self',
    'justify-self',
  ],
  'text-decoration': [
    'text-decoration-color',
    'text-decoration-style',
    'text-decoration-line',
  ],
  'transition': [
    'transition-delay',
    'transition-duration',
    'transition-property',
    'transition-timing-function',
  ],
  'text-emphasis': [
    'text-emphasis-style',
    'text-emphasis-color',
  ],
};

const currentDirectory = path__default['default'].dirname(url.fileURLToPath((typeof document === 'undefined' ? new (__nccwpck_require__(78835).URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('main.cjs', document.baseURI).href))));

const builtInOrders = [
  'alphabetical',
  'concentric-css',
  'smacss',
];

const pluginEntrypoint = ({ order = 'alphabetical', keepOverrides = false } = {}) => ({
  postcssPlugin: 'css-declaration-sorter',
  OnceExit (css) {
    let withKeepOverrides = comparator => comparator;
    if (keepOverrides) {
      withKeepOverrides = withOverridesComparator(shorthandData);
    }

    if (typeof order === 'function') {
      return processCss({ css, comparator: withKeepOverrides(order) });
    }

    if (!builtInOrders.includes(order))
      return Promise.reject(
        Error([
          `Invalid built-in order '${order}' provided.`,
          `Available built-in orders are: ${builtInOrders}`,
        ].join('\n'))
      );

    // Load in the array containing the order from a JSON file
    return fs.promises.readFile(path__default['default'].resolve(currentDirectory, '..', 'orders', order) + '.json')
      .then(data => processCss({
        css,
        comparator: withKeepOverrides(orderComparator(JSON.parse(data))),
      }));
  },
});

pluginEntrypoint.postcss = true;

function processCss ({ css, comparator }) {
  const comments = [];
  const rulesCache = [];

  css.walk(node => {
    const nodes = node.nodes;
    const type = node.type;

    if (type === 'comment') {
      // Don't do anything to root comments or the last newline comment
      const isNewlineNode = node.raws.before && ~node.raws.before.indexOf('\n');
      const lastNewlineNode = isNewlineNode && !node.next();
      const onlyNode = !node.prev() && !node.next();

      if (lastNewlineNode || onlyNode || node.parent.type === 'root') {
        return;
      }

      if (isNewlineNode) {
        const pairedNode = node.next() ? node.next() : node.prev().prev();
        if (pairedNode) {
          comments.unshift({
            'comment': node,
            'pairedNode': pairedNode,
            'insertPosition': node.next() ? 'Before' : 'After',
          });
          node.remove();
        }
      } else {
        const pairedNode = node.prev() ? node.prev() : node.next().next();
        if (pairedNode) {
          comments.push({
            'comment': node,
            'pairedNode': pairedNode,
            'insertPosition': 'After',
          });
          node.remove();
        }
      }
      return;
    }

    // Add rule-like nodes to a cache so that we can remove all
    // comment nodes before we start sorting.
    const isRule = type === 'rule' || type === 'atrule';
    if (isRule && nodes && nodes.length > 1) {
      rulesCache.push(nodes);
    }
  });

  // Perform a sort once all comment nodes are removed
  rulesCache.forEach(nodes => {
    sortCssDeclarations({ nodes, comparator });
  });

  // Add comments back to the nodes they are paired with
  comments.forEach(node => {
    const pairedNode = node.pairedNode;
    node.comment.remove();
    pairedNode.parent['insert' + node.insertPosition](pairedNode, node.comment);
  });
}

function sortCssDeclarations ({ nodes, comparator }) {
  timsort.sort(nodes, (a, b) => {
    if (a.type === 'decl' && b.type === 'decl') {
      return comparator(a.prop, b.prop);
    } else {
      return compareDifferentType(a, b);
    }
  });
}

function withOverridesComparator (shorthandData) {
  return function (comparator) {
    return function (a, b) {
      a = removeVendorPrefix(a);
      b = removeVendorPrefix(b);

      if (shorthandData[a] && shorthandData[a].includes(b)) return 0;
      if (shorthandData[b] && shorthandData[b].includes(a)) return 0;

      return comparator(a, b);
    };
  };
}

function orderComparator (order) {
  return function (a, b) {
    return order.indexOf(a) - order.indexOf(b);
  };
}

function compareDifferentType (a, b) {
  if (b.type === 'atrule') {
    return 0;
  }

  return a.type === 'decl' ? -1 : b.type === 'decl' ? 1 : 0;
}

function removeVendorPrefix (property) {
  return property.replace(/^-\w+-/, '');
}

module.exports = pluginEntrypoint;


/***/ }),

/***/ 8519:
/***/ ((module) => {

// This alphabet uses `A-Za-z0-9_-` symbols. The genetic algorithm helped
// optimize the gzip compression for this alphabet.
let urlAlphabet =
  'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'

let customAlphabet = (alphabet, size) => {
  return () => {
    let id = ''
    // A compact alternative for `for (var i = 0; i < step; i++)`.
    let i = size
    while (i--) {
      // `| 0` is more compact and faster than `Math.floor()`.
      id += alphabet[(Math.random() * alphabet.length) | 0]
    }
    return id
  }
}

let nanoid = (size = 21) => {
  let id = ''
  // A compact alternative for `for (var i = 0; i < step; i++)`.
  let i = size
  while (i--) {
    // `| 0` is more compact and faster than `Math.floor()`.
    id += urlAlphabet[(Math.random() * 64) | 0]
  }
  return id
}

module.exports = { nanoid, customAlphabet }


/***/ }),

/***/ 28440:
/***/ ((module) => {

function webpackEmptyContext(req) {
	var e = new Error("Cannot find module '" + req + "'");
	e.code = 'MODULE_NOT_FOUND';
	throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = 28440;
module.exports = webpackEmptyContext;

/***/ }),

/***/ 80691:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"aliceblue":"#f0f8ff","antiquewhite":"#faebd7","aqua":"#00ffff","aquamarine":"#7fffd4","azure":"#f0ffff","beige":"#f5f5dc","bisque":"#ffe4c4","black":"#000000","blanchedalmond":"#ffebcd","blue":"#0000ff","blueviolet":"#8a2be2","brown":"#a52a2a","burlywood":"#deb887","cadetblue":"#5f9ea0","chartreuse":"#7fff00","chocolate":"#d2691e","coral":"#ff7f50","cornflowerblue":"#6495ed","cornsilk":"#fff8dc","crimson":"#dc143c","cyan":"#00ffff","darkblue":"#00008b","darkcyan":"#008b8b","darkgoldenrod":"#b8860b","darkgray":"#a9a9a9","darkgreen":"#006400","darkgrey":"#a9a9a9","darkkhaki":"#bdb76b","darkmagenta":"#8b008b","darkolivegreen":"#556b2f","darkorange":"#ff8c00","darkorchid":"#9932cc","darkred":"#8b0000","darksalmon":"#e9967a","darkseagreen":"#8fbc8f","darkslateblue":"#483d8b","darkslategray":"#2f4f4f","darkslategrey":"#2f4f4f","darkturquoise":"#00ced1","darkviolet":"#9400d3","deeppink":"#ff1493","deepskyblue":"#00bfff","dimgray":"#696969","dimgrey":"#696969","dodgerblue":"#1e90ff","firebrick":"#b22222","floralwhite":"#fffaf0","forestgreen":"#228b22","fuchsia":"#ff00ff","gainsboro":"#dcdcdc","ghostwhite":"#f8f8ff","goldenrod":"#daa520","gold":"#ffd700","gray":"#808080","green":"#008000","greenyellow":"#adff2f","grey":"#808080","honeydew":"#f0fff0","hotpink":"#ff69b4","indianred":"#cd5c5c","indigo":"#4b0082","ivory":"#fffff0","khaki":"#f0e68c","lavenderblush":"#fff0f5","lavender":"#e6e6fa","lawngreen":"#7cfc00","lemonchiffon":"#fffacd","lightblue":"#add8e6","lightcoral":"#f08080","lightcyan":"#e0ffff","lightgoldenrodyellow":"#fafad2","lightgray":"#d3d3d3","lightgreen":"#90ee90","lightgrey":"#d3d3d3","lightpink":"#ffb6c1","lightsalmon":"#ffa07a","lightseagreen":"#20b2aa","lightskyblue":"#87cefa","lightslategray":"#778899","lightslategrey":"#778899","lightsteelblue":"#b0c4de","lightyellow":"#ffffe0","lime":"#00ff00","limegreen":"#32cd32","linen":"#faf0e6","magenta":"#ff00ff","maroon":"#800000","mediumaquamarine":"#66cdaa","mediumblue":"#0000cd","mediumorchid":"#ba55d3","mediumpurple":"#9370db","mediumseagreen":"#3cb371","mediumslateblue":"#7b68ee","mediumspringgreen":"#00fa9a","mediumturquoise":"#48d1cc","mediumvioletred":"#c71585","midnightblue":"#191970","mintcream":"#f5fffa","mistyrose":"#ffe4e1","moccasin":"#ffe4b5","navajowhite":"#ffdead","navy":"#000080","oldlace":"#fdf5e6","olive":"#808000","olivedrab":"#6b8e23","orange":"#ffa500","orangered":"#ff4500","orchid":"#da70d6","palegoldenrod":"#eee8aa","palegreen":"#98fb98","paleturquoise":"#afeeee","palevioletred":"#db7093","papayawhip":"#ffefd5","peachpuff":"#ffdab9","peru":"#cd853f","pink":"#ffc0cb","plum":"#dda0dd","powderblue":"#b0e0e6","purple":"#800080","rebeccapurple":"#663399","red":"#ff0000","rosybrown":"#bc8f8f","royalblue":"#4169e1","saddlebrown":"#8b4513","salmon":"#fa8072","sandybrown":"#f4a460","seagreen":"#2e8b57","seashell":"#fff5ee","sienna":"#a0522d","silver":"#c0c0c0","skyblue":"#87ceeb","slateblue":"#6a5acd","slategray":"#708090","slategrey":"#708090","snow":"#fffafa","springgreen":"#00ff7f","steelblue":"#4682b4","tan":"#d2b48c","teal":"#008080","thistle":"#d8bfd8","tomato":"#ff6347","turquoise":"#40e0d0","violet":"#ee82ee","wheat":"#f5deb3","white":"#ffffff","whitesmoke":"#f5f5f5","yellow":"#ffff00","yellowgreen":"#9acd32"}');

/***/ }),

/***/ 15909:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"atrules":{"charset":{"prelude":"<string>"},"font-face":{"descriptors":{"unicode-range":{"comment":"replaces <unicode-range>, an old production name","syntax":"<urange>#"}}}},"properties":{"-moz-background-clip":{"comment":"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"padding | border"},"-moz-border-radius-bottomleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius","syntax":"<\'border-bottom-left-radius\'>"},"-moz-border-radius-bottomright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-border-radius-topleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius","syntax":"<\'border-top-left-radius\'>"},"-moz-border-radius-topright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-control-character-visibility":{"comment":"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588","syntax":"visible | hidden"},"-moz-osx-font-smoothing":{"comment":"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | grayscale"},"-moz-user-select":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"none | text | all | -moz-none"},"-ms-flex-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"start | end | center | baseline | stretch"},"-ms-flex-item-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"auto | start | end | center | baseline | stretch"},"-ms-flex-line-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack","syntax":"start | end | center | justify | distribute | stretch"},"-ms-flex-negative":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-shrink\'>"},"-ms-flex-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack","syntax":"start | end | center | justify | distribute"},"-ms-flex-order":{"comment":"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx","syntax":"<integer>"},"-ms-flex-positive":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-grow\'>"},"-ms-flex-preferred-size":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-basis\'>"},"-ms-interpolation-mode":{"comment":"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx","syntax":"nearest-neighbor | bicubic"},"-ms-grid-column-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx","syntax":"start | end | center | stretch"},"-ms-grid-row-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx","syntax":"start | end | center | stretch"},"-ms-hyphenate-limit-last":{"comment":"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits","syntax":"none | always | column | page | spread"},"-webkit-appearance":{"comment":"webkit specific keywords","references":["http://css-infos.net/property/-webkit-appearance"],"syntax":"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button"},"-webkit-background-clip":{"comment":"https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"[ <box> | border | padding | content | text ]#"},"-webkit-column-break-after":{"comment":"added, http://help.dottoro.com/lcrthhhv.php","syntax":"always | auto | avoid"},"-webkit-column-break-before":{"comment":"added, http://help.dottoro.com/lcxquvkf.php","syntax":"always | auto | avoid"},"-webkit-column-break-inside":{"comment":"added, http://help.dottoro.com/lclhnthl.php","syntax":"always | auto | avoid"},"-webkit-font-smoothing":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | none | antialiased | subpixel-antialiased"},"-webkit-mask-box-image":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?"},"-webkit-print-color-adjust":{"comment":"missed","references":["https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust"],"syntax":"economy | exact"},"-webkit-text-security":{"comment":"missed; http://help.dottoro.com/lcbkewgt.php","syntax":"none | circle | disc | square"},"-webkit-user-drag":{"comment":"missed; http://help.dottoro.com/lcbixvwm.php","syntax":"none | element | auto"},"-webkit-user-select":{"comment":"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"auto | none | text | all"},"alignment-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty"],"syntax":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical"},"baseline-shift":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty"],"syntax":"baseline | sub | super | <svg-length>"},"behavior":{"comment":"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx","syntax":"<url>+"},"clip-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty"],"syntax":"nonzero | evenodd"},"cue":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'cue-before\'> <\'cue-after\'>?"},"cue-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<url> <decibel>? | none"},"cue-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<url> <decibel>? | none"},"cursor":{"comment":"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out","references":["https://www.sitepoint.com/css3-cursor-styles/"],"syntax":"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]"},"display":{"comment":"extended with -ms-flexbox","syntax":"| <-non-standard-display>"},"position":{"comment":"extended with -webkit-sticky","syntax":"| -webkit-sticky"},"dominant-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty"],"syntax":"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge"},"image-rendering":{"comment":"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality","references":["https://developer.mozilla.org/en/docs/Web/CSS/image-rendering","https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"],"syntax":"| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>"},"fill":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"<paint>"},"fill-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"<number-zero-one>"},"fill-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"nonzero | evenodd"},"filter":{"comment":"extend with IE legacy syntaxes","syntax":"| <-ms-filter-function-list>"},"glyph-orientation-horizontal":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty"],"syntax":"<angle>"},"glyph-orientation-vertical":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty"],"syntax":"<angle>"},"kerning":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#KerningProperty"],"syntax":"auto | <svg-length>"},"letter-spacing":{"comment":"fix syntax <length> -> <length-percentage>","references":["https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing"],"syntax":"normal | <length-percentage>"},"marker":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-end":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-mid":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-start":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"max-width":{"comment":"fix auto -> none (https://github.com/mdn/data/pull/431); extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width","syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"},"width":{"comment":"per spec fit-content should be a function, however browsers are supporting it as a keyword (https://github.com/csstree/stylelint-validator/issues/29)","syntax":"| fit-content | -moz-fit-content | -webkit-fit-content"},"min-width":{"comment":"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"},"overflow":{"comment":"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"| <-non-standard-overflow>"},"pause":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'pause-before\'> <\'pause-after\'>?"},"pause-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"pause-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"rest":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'rest-before\'> <\'rest-after\'>?"},"rest-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"rest-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"shape-rendering":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert"],"syntax":"auto | optimizeSpeed | crispEdges | geometricPrecision"},"src":{"comment":"added @font-face\'s src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src","syntax":"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#"},"speak":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"auto | none | normal"},"speak-as":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"normal | spell-out || digits || [ literal-punctuation | no-punctuation ]"},"stroke":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<paint>"},"stroke-dasharray":{"comment":"added SVG property; a list of comma and/or white space separated <length>s and <percentage>s","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"none | [ <svg-length>+ ]#"},"stroke-dashoffset":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<svg-length>"},"stroke-linecap":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"butt | round | square"},"stroke-linejoin":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"miter | round | bevel"},"stroke-miterlimit":{"comment":"added SVG property (<miterlimit> = <number-one-or-greater>) ","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<number-one-or-greater>"},"stroke-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<number-zero-one>"},"stroke-width":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<svg-length>"},"text-anchor":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties"],"syntax":"start | middle | end"},"unicode-bidi":{"comment":"added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi","syntax":"| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext"},"unicode-range":{"comment":"added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range","syntax":"<urange>#"},"voice-balance":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<number> | left | center | right | leftwards | rightwards"},"voice-duration":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"auto | <time>"},"voice-family":{"comment":"<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index","syntax":"[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve"},"voice-pitch":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"},"voice-range":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"},"voice-rate":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>"},"voice-stress":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"normal | strong | moderate | none | reduced"},"voice-volume":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]"},"writing-mode":{"comment":"extend with SVG keywords","syntax":"| <svg-writing-mode>"}},"syntaxes":{"-legacy-gradient":{"comment":"added collection of legacy gradient syntaxes","syntax":"<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>"},"-legacy-linear-gradient":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )"},"-legacy-repeating-linear-gradient":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )"},"-legacy-linear-gradient-arguments":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"[ <angle> | <side-or-corner> ]? , <color-stop-list>"},"-legacy-radial-gradient":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )"},"-legacy-repeating-radial-gradient":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )"},"-legacy-radial-gradient-arguments":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>"},"-legacy-radial-gradient-size":{"comment":"before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize","syntax":"closest-side | closest-corner | farthest-side | farthest-corner | contain | cover"},"-legacy-radial-gradient-shape":{"comment":"define to double sure it doesn\'t extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape","syntax":"circle | ellipse"},"-non-standard-font":{"comment":"non standard fonts","references":["https://webkit.org/blog/3709/using-the-system-font-in-web-content/"],"syntax":"-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body"},"-non-standard-color":{"comment":"non standard colors","references":["http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html","https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions"],"syntax":"-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text"},"-non-standard-image-rendering":{"comment":"non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html","syntax":"optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast"},"-non-standard-overflow":{"comment":"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable"},"-non-standard-width":{"comment":"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content"},"-webkit-gradient()":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )","syntax":"-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )"},"-webkit-gradient-color-stop":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )"},"-webkit-gradient-point":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]"},"-webkit-gradient-radius":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"<length> | <percentage>"},"-webkit-gradient-type":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"linear | radial"},"-webkit-mask-box-repeat":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"repeat | stretch | round"},"-webkit-mask-clip-style":{"comment":"missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working","syntax":"border | border-box | padding | padding-box | content | content-box | text"},"-ms-filter-function-list":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<-ms-filter-function>+"},"-ms-filter-function":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<-ms-filter-function-progid> | <-ms-filter-function-legacy>"},"-ms-filter-function-progid":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"\'progid:\' [ <ident-token> \'.\' ]* [ <ident-token> | <function-token> <any-value>? ) ]"},"-ms-filter-function-legacy":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<ident-token> | <function-token> <any-value>? )"},"-ms-filter":{"syntax":"<string>"},"age":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"child | young | old"},"attr-name":{"syntax":"<wq-name>"},"attr-fallback":{"syntax":"<any-value>"},"border-radius":{"comment":"missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius","syntax":"<length-percentage>{1,2}"},"bottom":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"content-list":{"comment":"missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)","syntax":"[ <string> | contents | <image> | <quote> | <target> | <leader()> | <attr()> | counter( <ident>, <\'list-style-type\'>? ) ]+"},"element()":{"comment":"https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation","syntax":"element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )"},"generic-voice":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"[ <age>? <gender> <integer>? ]"},"gender":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"male | female | neutral"},"generic-family":{"comment":"added -apple-system","references":["https://webkit.org/blog/3709/using-the-system-font-in-web-content/"],"syntax":"| -apple-system"},"gradient":{"comment":"added legacy syntaxes support","syntax":"| <-legacy-gradient>"},"left":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"mask-image":{"comment":"missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image","syntax":"<mask-reference>#"},"name-repeat":{"comment":"missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat","syntax":"repeat( [ <positive-integer> | auto-fill ], <line-names>+)"},"named-color":{"comment":"added non standard color names","syntax":"| <-non-standard-color>"},"paint":{"comment":"used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint","syntax":"none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke"},"page-size":{"comment":"https://www.w3.org/TR/css-page-3/#typedef-page-size-page-size","syntax":"A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger"},"ratio":{"comment":"missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio","syntax":"<integer> / <integer>"},"right":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"shape":{"comment":"missed spaces in function body and add backwards compatible syntax","syntax":"rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )"},"svg-length":{"comment":"All coordinates and lengths in SVG can be specified with or without a unit identifier","references":["https://www.w3.org/TR/SVG11/coords.html#Units"],"syntax":"<percentage> | <length> | <number>"},"svg-writing-mode":{"comment":"SVG specific keywords (deprecated for CSS)","references":["https://developer.mozilla.org/en/docs/Web/CSS/writing-mode","https://www.w3.org/TR/SVG/text.html#WritingModeProperty"],"syntax":"lr-tb | rl-tb | tb-rl | lr | rl | tb"},"top":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"track-group":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"\'(\' [ <string>* <track-minmax> <string>* ]+ \')\' [ \'[\' <positive-integer> \']\' ]? | <track-minmax>"},"track-list-v0":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"[ <string>* <track-group> <string>* ]+ | none"},"track-minmax":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content"},"x":{"comment":"missed; not sure we should add it, but no others except `cursor` is using it so it\'s ok for now; https://drafts.csswg.org/css-ui-3/#cursor","syntax":"<number>"},"y":{"comment":"missed; not sure we should add it, but no others except `cursor` is using so it\'s ok for now; https://drafts.csswg.org/css-ui-3/#cursor","syntax":"<number>"},"declaration":{"comment":"missed, restored by https://drafts.csswg.org/css-syntax","syntax":"<ident-token> : <declaration-value>? [ \'!\' important ]?"},"declaration-list":{"comment":"missed, restored by https://drafts.csswg.org/css-syntax","syntax":"[ <declaration>? \';\' ]* <declaration>?"},"url":{"comment":"https://drafts.csswg.org/css-values-4/#urls","syntax":"url( <string> <url-modifier>* ) | <url-token>"},"url-modifier":{"comment":"https://drafts.csswg.org/css-values-4/#typedef-url-modifier","syntax":"<ident> | <function-token> <any-value> )"},"number-zero-one":{"syntax":"<number [0,1]>"},"number-one-or-greater":{"syntax":"<number [1,∞]>"},"positive-integer":{"syntax":"<integer [0,∞]>"},"-non-standard-display":{"syntax":"-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box"}}}');

/***/ }),

/***/ 74441:
/***/ ((module) => {

"use strict";
module.exports = {"version":"1.1.3"};

/***/ }),

/***/ 96127:
/***/ ((module) => {

"use strict";
module.exports = {"i8":"4.2.0"};

/***/ }),

/***/ 14589:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}');

/***/ }),

/***/ 84007:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"Aacute":"Ã","aacute":"á","Abreve":"Ä‚","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"Ð","acy":"а","AElig":"Æ","aelig":"æ","af":"â¡","Afr":"ð”„","afr":"ð”ž","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ä€","amacr":"Ä","amalg":"⨿","amp":"&","AMP":"&","andand":"â©•","And":"â©“","and":"∧","andd":"â©œ","andslope":"⩘","andv":"â©š","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"â¦","angsph":"∢","angst":"Ã…","angzarr":"â¼","Aogon":"Ä„","aogon":"Ä…","Aopf":"ð”¸","aopf":"ð•’","apacir":"⩯","ap":"≈","apE":"â©°","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"â¡","approx":"≈","approxeq":"≊","Aring":"Ã…","aring":"Ã¥","Ascr":"ð’œ","ascr":"ð’¶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"â‰","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"â‹","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Î’","beta":"β","beth":"ℶ","between":"≬","Bfr":"ð”…","bfr":"ð”Ÿ","bigcap":"â‹‚","bigcirc":"â—¯","bigcup":"⋃","bigodot":"⨀","bigoplus":"â¨","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"â–½","bigtriangleup":"â–³","biguplus":"⨄","bigvee":"â‹","bigwedge":"â‹€","bkarow":"â¤","blacklozenge":"⧫","blacksquare":"â–ª","blacktriangle":"â–´","blacktriangledown":"â–¾","blacktriangleleft":"â—‚","blacktriangleright":"â–¸","blank":"â£","blk12":"â–’","blk14":"â–‘","blk34":"â–“","block":"â–ˆ","bne":"=⃥","bnequiv":"≡⃥","bNot":"â«­","bnot":"âŒ","Bopf":"ð”¹","bopf":"ð•“","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"â”","boxdL":"â••","boxDl":"â•–","boxDL":"â•—","boxdr":"┌","boxdR":"â•’","boxDr":"â•“","boxDR":"â•”","boxh":"─","boxH":"â•","boxhd":"┬","boxHd":"╤","boxhD":"â•¥","boxHD":"╦","boxhu":"â”´","boxHu":"╧","boxhU":"╨","boxHU":"â•©","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"â•›","boxUl":"â•œ","boxUL":"â•","boxur":"â””","boxuR":"╘","boxUr":"â•™","boxUR":"â•š","boxv":"│","boxV":"â•‘","boxvh":"┼","boxvH":"╪","boxVh":"â•«","boxVH":"╬","boxvl":"┤","boxvL":"â•¡","boxVl":"â•¢","boxVL":"â•£","boxvr":"├","boxvR":"â•ž","boxVr":"â•Ÿ","boxVR":"â• ","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"ð’·","Bscr":"ℬ","bsemi":"â","bsim":"∽","bsime":"â‹","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"â‰","Bumpeq":"≎","bumpeq":"â‰","Cacute":"Ć","cacute":"ć","capand":"â©„","capbrcup":"⩉","capcap":"â©‹","cap":"∩","Cap":"â‹’","capcup":"⩇","capdot":"â©€","CapitalDifferentialD":"â……","caps":"∩︀","caret":"â","caron":"ˇ","Cayleys":"â„­","ccaps":"â©","Ccaron":"ÄŒ","ccaron":"Ä","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"â©Œ","ccupssm":"â©","Cdot":"ÄŠ","cdot":"Ä‹","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"ð” ","Cfr":"â„­","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"âŠ","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"â—‹","cirE":"⧃","cire":"≗","cirfnint":"â¨","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"â€","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"â©´","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"âˆ","compfn":"∘","complement":"âˆ","complexes":"â„‚","cong":"≅","congdot":"â©­","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"ð•”","Copf":"â„‚","coprod":"âˆ","Coproduct":"âˆ","copy":"©","COPY":"©","copysr":"â„—","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"ð’ž","cscr":"ð’¸","csub":"â«","csube":"â«‘","csup":"â«","csupe":"â«’","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"â‹ž","cuesc":"â‹Ÿ","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"â‰","cup":"∪","Cup":"â‹“","cupcup":"â©Š","cupdot":"âŠ","cupor":"â©…","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"â‹ž","curlyeqsucc":"â‹Ÿ","curlyvee":"â‹Ž","curlywedge":"â‹","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"â‹Ž","cuwed":"â‹","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"â€","Dashv":"⫤","dashv":"⊣","dbkarow":"â¤","dblac":"Ë","Dcaron":"ÄŽ","dcaron":"Ä","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"â……","dd":"â…†","DDotrahd":"⤑","ddotseq":"â©·","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"ð”‡","dfr":"ð”¡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"Ë™","DiacriticalDoubleAcute":"Ë","DiacriticalGrave":"`","DiacriticalTilde":"Ëœ","diam":"â‹„","diamond":"â‹„","Diamond":"â‹„","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"â…†","digamma":"Ï","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"Ñ’","dlcorn":"⌞","dlcrop":"âŒ","dollar":"$","Dopf":"ð”»","dopf":"ð••","Dot":"¨","dot":"Ë™","DotDot":"⃜","doteq":"â‰","doteqdot":"≑","DotEqual":"â‰","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"â‡","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"Ì‘","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"â¥","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"â‡","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"â¤","drcorn":"⌟","drcrop":"⌌","Dscr":"ð’Ÿ","dscr":"ð’¹","DScy":"Ð…","dscy":"Ñ•","dsol":"⧶","Dstrok":"Ä","dstrok":"Ä‘","dtdot":"⋱","dtri":"â–¿","dtrif":"â–¾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Ð","dzcy":"ÑŸ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"â©®","Ecaron":"Äš","ecaron":"Ä›","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"Ñ","eDDot":"â©·","Edot":"Ä–","edot":"Ä—","eDot":"≑","ee":"â…‡","efDot":"≒","Efr":"ð”ˆ","efr":"ð”¢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"â§","ell":"â„“","els":"⪕","elsdot":"⪗","Emacr":"Ä’","emacr":"Ä“","empty":"∅","emptyset":"∅","EmptySmallSquare":"â—»","emptyv":"∅","EmptyVerySmallSquare":"â–«","emsp13":" ","emsp14":" ","emsp":" ","ENG":"ÅŠ","eng":"Å‹","ensp":" ","Eogon":"Ę","eogon":"Ä™","Eopf":"ð”¼","eopf":"ð•–","epar":"â‹•","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"â„°","esdot":"â‰","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ã","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"â„°","exponentiale":"â…‡","ExponentialE":"â…‡","fallingdotseq":"≒","Fcy":"Ф","fcy":"Ñ„","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"ð”‰","ffr":"ð”£","filig":"ï¬","FilledSmallSquare":"â—¼","FilledVerySmallSquare":"â–ª","fjlig":"fj","flat":"â™­","fllig":"fl","fltns":"â–±","fnof":"Æ’","Fopf":"ð”½","fopf":"ð•—","forall":"∀","ForAll":"∀","fork":"â‹”","forkv":"â«™","Fouriertrf":"ℱ","fpartint":"â¨","frac12":"½","frac13":"â…“","frac14":"¼","frac15":"â…•","frac16":"â…™","frac18":"â…›","frac23":"â…”","frac25":"â…–","frac34":"¾","frac35":"â…—","frac38":"â…œ","frac45":"â…˜","frac56":"â…š","frac58":"â…","frac78":"â…ž","frasl":"â„","frown":"⌢","fscr":"ð’»","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ïœ","gammad":"Ï","gap":"⪆","Gbreve":"Äž","gbreve":"ÄŸ","Gcedil":"Ä¢","Gcirc":"Äœ","gcirc":"Ä","Gcy":"Г","gcy":"г","Gdot":"Ä ","gdot":"Ä¡","ge":"≥","gE":"≧","gEl":"⪌","gel":"â‹›","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"ð”Š","gfr":"ð”¤","gg":"≫","Gg":"â‹™","ggg":"â‹™","gimel":"â„·","GJcy":"Ѓ","gjcy":"Ñ“","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"ð”¾","gopf":"ð•˜","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"â‹›","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"ð’¢","gscr":"â„Š","gsim":"≳","gsime":"⪎","gsiml":"âª","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"â‹—","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"â‹—","gtreqless":"â‹›","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"â„‹","HARDcy":"Ъ","hardcy":"ÑŠ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"â„","Hcirc":"Ĥ","hcirc":"Ä¥","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"ð”¥","Hfr":"â„Œ","HilbertSpace":"â„‹","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"ð•™","Hopf":"â„","horbar":"―","HorizontalLine":"─","hscr":"ð’½","Hscr":"â„‹","hslash":"â„","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"â‰","hybull":"âƒ","hyphen":"â€","Iacute":"Ã","iacute":"í","ic":"â£","Icirc":"ÃŽ","icirc":"î","Icy":"И","icy":"и","Idot":"Ä°","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"ð”¦","Ifr":"â„‘","Igrave":"ÃŒ","igrave":"ì","ii":"â…ˆ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"â„©","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"Ä«","image":"â„‘","ImaginaryI":"â…ˆ","imagline":"â„","imagpart":"â„‘","imath":"ı","Im":"â„‘","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"â„…","in":"∈","infin":"∞","infintie":"â§","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"â‹‚","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"â£","InvisibleTimes":"â¢","IOcy":"Ð","iocy":"Ñ‘","Iogon":"Ä®","iogon":"į","Iopf":"ð•€","iopf":"ð•š","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"ð’¾","Iscr":"â„","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"â‹´","isinsv":"⋳","isinv":"∈","it":"â¢","Itilde":"Ĩ","itilde":"Ä©","Iukcy":"І","iukcy":"Ñ–","Iuml":"Ã","iuml":"ï","Jcirc":"Ä´","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"ð”","jfr":"ð”§","jmath":"È·","Jopf":"ð•","jopf":"ð•›","Jscr":"ð’¥","jscr":"ð’¿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"Ñ”","Kappa":"Κ","kappa":"κ","kappav":"Ï°","Kcedil":"Ķ","kcedil":"Ä·","Kcy":"К","kcy":"к","Kfr":"ð”Ž","kfr":"ð”¨","kgreen":"ĸ","KHcy":"Ð¥","khcy":"Ñ…","KJcy":"ÐŒ","kjcy":"Ñœ","Kopf":"ð•‚","kopf":"ð•œ","Kscr":"ð’¦","kscr":"ð“€","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"â„’","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"â„’","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"â†","Larr":"↞","lArr":"â‡","larrfs":"â¤","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"â²","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"â¦","lbrkslu":"â¦","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ä»","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"â†","LeftArrow":"â†","Leftarrow":"â‡","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"â‹‹","LeftTriangleBar":"â§","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"â‹š","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"â©¿","lesdoto":"âª","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"â‹–","lesseqgtr":"â‹š","lesseqqgtr":"⪋","LessEqualGreater":"â‹š","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"ð”","lfr":"ð”©","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"â–„","LJcy":"Љ","ljcy":"Ñ™","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"â—º","Lmidot":"Ä¿","lmidot":"Å€","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"ð•ƒ","lopf":"ð•","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"â—Š","lozenge":"â—Š","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"ð“","Lscr":"â„’","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"âª","lsimg":"âª","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Å","lstrok":"Å‚","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"â‹–","lthree":"â‹‹","ltimes":"⋉","ltlarr":"⥶","ltquest":"â©»","ltri":"â—ƒ","ltrie":"⊴","ltrif":"â—‚","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"â–®","mcomma":"⨩","Mcy":"Ðœ","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":"âŸ","Mellintrf":"ℳ","Mfr":"ð”","mfr":"ð”ª","mho":"℧","micro":"µ","midast":"*","midcir":"â«°","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"â«›","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"ð•„","mopf":"ð•ž","mp":"∓","mscr":"ð“‚","Mscr":"ℳ","mstpos":"∾","Mu":"Îœ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"Å„","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"â™®","naturals":"â„•","natur":"â™®","nbsp":" ","nbump":"≎̸","nbumpe":"â‰Ì¸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Å…","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"â©‚","Ncy":"Ð","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"â‰Ì¸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"ð”‘","nfr":"ð”«","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"Ñš","nlarr":"↚","nlArr":"â‡","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"â‡","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"â ","NonBreakingSpace":" ","nopf":"ð•Ÿ","Nopf":"â„•","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"â‰Ì¸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"â‹·","notinvc":"⋶","NotLeftTriangleBar":"â§Ì¸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"â‹ ","NotReverseElement":"∌","NotRightTriangleBar":"â§Ì¸","NotRightTriangle":"â‹«","NotRightTriangleEqual":"â‹­","NotSquareSubset":"âŠÌ¸","NotSquareSubsetEqual":"â‹¢","NotSquareSuperset":"âŠÌ¸","NotSquareSupersetEqual":"â‹£","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"âŠ","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"â‹¡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"â‰","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"â‹ ","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"â‡","nrarrw":"â†Ì¸","nrightarrow":"↛","nRightarrow":"â‡","nrtri":"â‹«","nrtrie":"â‹­","nsc":"âŠ","nsccue":"â‹¡","nsce":"⪰̸","Nscr":"ð’©","nscr":"ð“ƒ","nshortmid":"∤","nshortparallel":"∦","nsim":"â‰","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"â‹¢","nsqsupe":"â‹£","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"âŠ","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"â‹«","ntrianglerighteq":"â‹­","Nu":"Î","nu":"ν","num":"#","numero":"â„–","numsp":" ","nvap":"â‰âƒ’","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"âŠ","Odblac":"Å","odblac":"Å‘","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Å’","oelig":"Å“","ofcir":"⦿","Ofr":"ð”’","ofr":"ð”¬","ogon":"Ë›","Ograve":"Ã’","ograve":"ò","ogt":"â§","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"ÅŒ","omacr":"Å","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"ð•†","oopf":"ð• ","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"â©”","or":"∨","ord":"â©","order":"â„´","orderof":"â„´","ordf":"ª","ordm":"º","origof":"⊶","oror":"â©–","orslope":"â©—","orv":"â©›","oS":"Ⓢ","Oscr":"ð’ª","oscr":"â„´","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"âž","OverBracket":"⎴","OverParenthesis":"âœ","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"ð”“","pfr":"ð”­","Phi":"Φ","phi":"φ","phiv":"Ï•","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"Ï€","pitchfork":"â‹”","piv":"Ï–","planck":"â„","planckh":"â„Ž","plankv":"â„","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"â„Œ","pointint":"⨕","popf":"ð•¡","Popf":"â„™","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"â„™","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"âˆ","Product":"âˆ","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"âˆ","Proportional":"âˆ","Proportion":"∷","propto":"âˆ","prsim":"≾","prurel":"⊰","Pscr":"ð’«","pscr":"ð“…","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"ð””","qfr":"ð”®","qint":"⨌","qopf":"ð•¢","Qopf":"â„š","qprime":"â—","Qscr":"ð’¬","qscr":"ð“†","quaternions":"â„","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Å”","racute":"Å•","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"â†","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"â„š","rbarr":"â¤","rBarr":"â¤","RBarr":"â¤","rbbrk":"â³","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"â¦","Rcaron":"Ř","rcaron":"Å™","Rcedil":"Å–","rcedil":"Å—","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"Ñ€","rdca":"⤷","rdldhar":"⥩","rdquo":"â€","rdquor":"â€","rdsh":"↳","real":"â„œ","realine":"â„›","realpart":"â„œ","reals":"â„","Re":"â„œ","rect":"â–­","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"ð”¯","Rfr":"â„œ","rHar":"⥤","rhard":"â‡","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"Ï","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"â¥","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"â‡","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"â†","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"â‹Œ","RightTriangleBar":"â§","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"â¥","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"Ëš","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"â€","rmoustache":"⎱","rmoust":"⎱","rnmid":"â«®","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"ð•£","Ropf":"â„","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"ð“‡","Rscr":"â„›","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"â‹Œ","rtimes":"â‹Š","rtri":"â–¹","rtrie":"⊵","rtrif":"â–¸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"â„ž","Sacute":"Åš","sacute":"Å›","sbquo":"‚","scap":"⪸","Scaron":"Å ","scaron":"Å¡","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Åž","scedil":"ÅŸ","Scirc":"Åœ","scirc":"Å","scnap":"⪺","scnE":"⪶","scnsim":"â‹©","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"Ñ","sdotb":"⊡","sdot":"â‹…","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"ð”–","sfr":"ð”°","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"â†","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"Ï‚","sigmav":"Ï‚","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"âª","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"â†","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ÑŒ","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"ð•Š","sopf":"ð•¤","spades":"â™ ","spadesuit":"â™ ","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"âŠ","sqsube":"⊑","sqsubset":"âŠ","sqsubseteq":"⊑","sqsup":"âŠ","sqsupe":"⊒","sqsupset":"âŠ","sqsupseteq":"⊒","square":"â–¡","Square":"â–¡","SquareIntersection":"⊓","SquareSubset":"âŠ","SquareSubsetEqual":"⊑","SquareSuperset":"âŠ","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"â–ª","squ":"â–¡","squf":"â–ª","srarr":"→","Sscr":"ð’®","sscr":"ð“ˆ","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"Ï•","strns":"¯","sub":"⊂","Sub":"â‹","subdot":"⪽","subE":"â«…","sube":"⊆","subedot":"⫃","submult":"â«","subnE":"â«‹","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"â‹","subseteq":"⊆","subseteqq":"â«…","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"â«‹","subsim":"⫇","subsub":"â«•","subsup":"â«“","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"â‹©","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"â‹‘","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"â«„","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"â«—","suplarr":"⥻","supmult":"â«‚","supnE":"â«Œ","supne":"⊋","supplus":"â«€","supset":"⊃","Supset":"â‹‘","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"â«Œ","supsim":"⫈","supsub":"â«”","supsup":"â«–","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"Ï„","tbrk":"⎴","Tcaron":"Ť","tcaron":"Å¥","Tcedil":"Å¢","tcedil":"Å£","Tcy":"Т","tcy":"Ñ‚","tdot":"⃛","telrec":"⌕","Tfr":"ð”—","tfr":"ð”±","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"Ï‘","thetav":"Ï‘","thickapprox":"≈","thicksim":"∼","ThickSpace":"âŸâ€Š","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"Ëœ","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"ð•‹","topf":"ð•¥","topfork":"â«š","tosa":"⤩","tprime":"‴","trade":"â„¢","TRADE":"â„¢","triangle":"â–µ","triangledown":"â–¿","triangleleft":"â—ƒ","trianglelefteq":"⊴","triangleq":"≜","triangleright":"â–¹","trianglerighteq":"⊵","tridot":"â—¬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"â§","tritime":"⨻","trpezium":"â¢","Tscr":"ð’¯","tscr":"ð“‰","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"Ñ›","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"ÐŽ","ubrcy":"Ñž","Ubreve":"Ŭ","ubreve":"Å­","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Å°","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"ð”˜","ufr":"ð”²","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"â–€","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"âŒ","ultri":"â—¸","Umacr":"Ū","umacr":"Å«","uml":"¨","UnderBar":"_","UnderBrace":"âŸ","UnderBracket":"⎵","UnderParenthesis":"â","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"ð•Œ","uopf":"ð•¦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"Ï…","Upsi":"Ï’","upsih":"Ï’","Upsilon":"Î¥","upsilon":"Ï…","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"âŒ","urcorner":"âŒ","urcrop":"⌎","Uring":"Å®","uring":"ů","urtri":"â—¹","Uscr":"ð’°","uscr":"ð“Š","utdot":"â‹°","Utilde":"Ũ","utilde":"Å©","utri":"â–µ","utrif":"â–´","uuarr":"⇈","Uuml":"Ãœ","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"Ï°","varnothing":"∅","varphi":"Ï•","varpi":"Ï–","varpropto":"âˆ","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"Ï‚","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"Ï‘","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"â««","vBarv":"â«©","Vcy":"Ð’","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"â‹","veeeq":"≚","vellip":"â‹®","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"â˜","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"ð”™","vfr":"ð”³","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"ð•","vopf":"ð•§","vprop":"âˆ","vrtri":"⊳","Vscr":"ð’±","vscr":"ð“‹","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Å´","wcirc":"ŵ","wedbar":"â©Ÿ","wedge":"∧","Wedge":"â‹€","wedgeq":"≙","weierp":"℘","Wfr":"ð”š","wfr":"ð”´","Wopf":"ð•Ž","wopf":"ð•¨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"ð’²","wscr":"ð“Œ","xcap":"â‹‚","xcirc":"â—¯","xcup":"⋃","xdtri":"â–½","Xfr":"ð”›","xfr":"ð”µ","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"â‹»","xodot":"⨀","Xopf":"ð•","xopf":"ð•©","xoplus":"â¨","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"ð’³","xscr":"ð“","xsqcup":"⨆","xuplus":"⨄","xutri":"â–³","xvee":"â‹","xwedge":"â‹€","Yacute":"Ã","yacute":"ý","YAcy":"Я","yacy":"Ñ","Ycirc":"Ŷ","ycirc":"Å·","Ycy":"Ы","ycy":"Ñ‹","yen":"Â¥","Yfr":"ð”œ","yfr":"ð”¶","YIcy":"Ї","yicy":"Ñ—","Yopf":"ð•","yopf":"ð•ª","Yscr":"ð’´","yscr":"ð“Ž","YUcy":"Ю","yucy":"ÑŽ","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Å»","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"ð”·","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"â‡","zopf":"ð•«","Zopf":"ℤ","Zscr":"ð’µ","zscr":"ð“","zwj":"â€","zwnj":"‌"}');

/***/ }),

/***/ 17802:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"Aacute":"Ã","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Ã…","aring":"Ã¥","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ã","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Ã","iacute":"í","Icirc":"ÃŽ","icirc":"î","iexcl":"¡","Igrave":"ÃŒ","igrave":"ì","iquest":"¿","Iuml":"Ã","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ã’","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ãœ","uuml":"ü","Yacute":"Ã","yacute":"ý","yen":"Â¥","yuml":"ÿ"}');

/***/ }),

/***/ 2228:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}');

/***/ }),

/***/ 34600:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"aliceblue":"#f0f8ff","antiquewhite":"#faebd7","aqua":"#00ffff","aquamarine":"#7fffd4","azure":"#f0ffff","beige":"#f5f5dc","bisque":"#ffe4c4","black":"#000000","blanchedalmond":"#ffebcd","blue":"#0000ff","blueviolet":"#8a2be2","brown":"#a52a2a","burlywood":"#deb887","cadetblue":"#5f9ea0","chartreuse":"#7fff00","chocolate":"#d2691e","coral":"#ff7f50","cornflowerblue":"#6495ed","cornsilk":"#fff8dc","crimson":"#dc143c","cyan":"#00ffff","darkblue":"#00008b","darkcyan":"#008b8b","darkgoldenrod":"#b8860b","darkgray":"#a9a9a9","darkgreen":"#006400","darkgrey":"#a9a9a9","darkkhaki":"#bdb76b","darkmagenta":"#8b008b","darkolivegreen":"#556b2f","darkorange":"#ff8c00","darkorchid":"#9932cc","darkred":"#8b0000","darksalmon":"#e9967a","darkseagreen":"#8fbc8f","darkslateblue":"#483d8b","darkslategray":"#2f4f4f","darkslategrey":"#2f4f4f","darkturquoise":"#00ced1","darkviolet":"#9400d3","deeppink":"#ff1493","deepskyblue":"#00bfff","dimgray":"#696969","dimgrey":"#696969","dodgerblue":"#1e90ff","firebrick":"#b22222","floralwhite":"#fffaf0","forestgreen":"#228b22","fuchsia":"#ff00ff","gainsboro":"#dcdcdc","ghostwhite":"#f8f8ff","gold":"#ffd700","goldenrod":"#daa520","gray":"#808080","green":"#008000","greenyellow":"#adff2f","grey":"#808080","honeydew":"#f0fff0","hotpink":"#ff69b4","indianred":"#cd5c5c","indigo":"#4b0082","ivory":"#fffff0","khaki":"#f0e68c","lavender":"#e6e6fa","lavenderblush":"#fff0f5","lawngreen":"#7cfc00","lemonchiffon":"#fffacd","lightblue":"#add8e6","lightcoral":"#f08080","lightcyan":"#e0ffff","lightgoldenrodyellow":"#fafad2","lightgray":"#d3d3d3","lightgreen":"#90ee90","lightgrey":"#d3d3d3","lightpink":"#ffb6c1","lightsalmon":"#ffa07a","lightseagreen":"#20b2aa","lightskyblue":"#87cefa","lightslategray":"#778899","lightslategrey":"#778899","lightsteelblue":"#b0c4de","lightyellow":"#ffffe0","lime":"#00ff00","limegreen":"#32cd32","linen":"#faf0e6","magenta":"#ff00ff","maroon":"#800000","mediumaquamarine":"#66cdaa","mediumblue":"#0000cd","mediumorchid":"#ba55d3","mediumpurple":"#9370db","mediumseagreen":"#3cb371","mediumslateblue":"#7b68ee","mediumspringgreen":"#00fa9a","mediumturquoise":"#48d1cc","mediumvioletred":"#c71585","midnightblue":"#191970","mintcream":"#f5fffa","mistyrose":"#ffe4e1","moccasin":"#ffe4b5","navajowhite":"#ffdead","navy":"#000080","oldlace":"#fdf5e6","olive":"#808000","olivedrab":"#6b8e23","orange":"#ffa500","orangered":"#ff4500","orchid":"#da70d6","palegoldenrod":"#eee8aa","palegreen":"#98fb98","paleturquoise":"#afeeee","palevioletred":"#db7093","papayawhip":"#ffefd5","peachpuff":"#ffdab9","peru":"#cd853f","pink":"#ffc0cb","plum":"#dda0dd","powderblue":"#b0e0e6","purple":"#800080","rebeccapurple":"#663399","red":"#ff0000","rosybrown":"#bc8f8f","royalblue":"#4169e1","saddlebrown":"#8b4513","salmon":"#fa8072","sandybrown":"#f4a460","seagreen":"#2e8b57","seashell":"#fff5ee","sienna":"#a0522d","silver":"#c0c0c0","skyblue":"#87ceeb","slateblue":"#6a5acd","slategray":"#708090","slategrey":"#708090","snow":"#fffafa","springgreen":"#00ff7f","steelblue":"#4682b4","tan":"#d2b48c","teal":"#008080","thistle":"#d8bfd8","tomato":"#ff6347","turquoise":"#40e0d0","violet":"#ee82ee","wheat":"#f5deb3","white":"#ffffff","whitesmoke":"#f5f5f5","yellow":"#ffff00","yellowgreen":"#9acd32"}');

/***/ }),

/***/ 53523:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"@charset":{"syntax":"@charset \\"<charset>\\";","groups":["CSS Charsets"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@charset"},"@counter-style":{"syntax":"@counter-style <counter-style-name> {\\n  [ system: <counter-system>; ] ||\\n  [ symbols: <counter-symbols>; ] ||\\n  [ additive-symbols: <additive-symbols>; ] ||\\n  [ negative: <negative-symbol>; ] ||\\n  [ prefix: <prefix>; ] ||\\n  [ suffix: <suffix>; ] ||\\n  [ range: <range>; ] ||\\n  [ pad: <padding>; ] ||\\n  [ speak-as: <speak-as>; ] ||\\n  [ fallback: <counter-style-name>; ]\\n}","interfaces":["CSSCounterStyleRule"],"groups":["CSS Counter Styles"],"descriptors":{"additive-symbols":{"syntax":"[ <integer> && <symbol> ]#","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"fallback":{"syntax":"<counter-style-name>","media":"all","initial":"decimal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"negative":{"syntax":"<symbol> <symbol>?","media":"all","initial":"\\"-\\" hyphen-minus","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"pad":{"syntax":"<integer> && <symbol>","media":"all","initial":"0 \\"\\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"prefix":{"syntax":"<symbol>","media":"all","initial":"\\"\\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"range":{"syntax":"[ [ <integer> | infinite ]{2} ]# | auto","media":"all","initial":"auto","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"speak-as":{"syntax":"auto | bullets | numbers | words | spell-out | <counter-style-name>","media":"all","initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"suffix":{"syntax":"<symbol>","media":"all","initial":"\\". \\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"symbols":{"syntax":"<symbol>+","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"system":{"syntax":"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]","media":"all","initial":"symbolic","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@counter-style"},"@document":{"syntax":"@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\\n  <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule"],"groups":["CSS Conditional Rules"],"status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@document"},"@font-face":{"syntax":"@font-face {\\n  [ font-family: <family-name>; ] ||\\n  [ src: <src>; ] ||\\n  [ unicode-range: <unicode-range>; ] ||\\n  [ font-variant: <font-variant>; ] ||\\n  [ font-feature-settings: <font-feature-settings>; ] ||\\n  [ font-variation-settings: <font-variation-settings>; ] ||\\n  [ font-stretch: <font-stretch>; ] ||\\n  [ font-weight: <font-weight>; ] ||\\n  [ font-style: <font-style>; ]\\n}","interfaces":["CSSFontFaceRule"],"groups":["CSS Fonts"],"descriptors":{"font-display":{"syntax":"[ auto | block | swap | fallback | optional ]","media":"visual","percentages":"no","initial":"auto","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"font-family":{"syntax":"<family-name>","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-feature-settings":{"syntax":"normal | <feature-tag-value>#","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"font-variation-settings":{"syntax":"normal | [ <string> <number> ]#","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"font-stretch":{"syntax":"<font-stretch-absolute>{1,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-style":{"syntax":"normal | italic | oblique <angle>{0,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-weight":{"syntax":"<font-weight-absolute>{1,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-variant":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"src":{"syntax":"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"unicode-range":{"syntax":"<unicode-range>#","media":"all","initial":"U+0-10FFFF","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@font-face"},"@font-feature-values":{"syntax":"@font-feature-values <family-name># {\\n  <feature-value-block-list>\\n}","interfaces":["CSSFontFeatureValuesRule"],"groups":["CSS Fonts"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"},"@import":{"syntax":"@import [ <string> | <url> ] [ <media-query-list> ]?;","groups":["Media Queries"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@import"},"@keyframes":{"syntax":"@keyframes <keyframes-name> {\\n  <keyframe-block-list>\\n}","interfaces":["CSSKeyframeRule","CSSKeyframesRule"],"groups":["CSS Animations"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@keyframes"},"@media":{"syntax":"@media <media-query-list> {\\n  <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule","CSSMediaRule","CSSCustomMediaRule"],"groups":["CSS Conditional Rules","Media Queries"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@media"},"@namespace":{"syntax":"@namespace <namespace-prefix>? [ <string> | <url> ];","groups":["CSS Namespaces"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@namespace"},"@page":{"syntax":"@page <page-selector-list> {\\n  <page-body>\\n}","interfaces":["CSSPageRule"],"groups":["CSS Pages"],"descriptors":{"bleed":{"syntax":"auto | <length>","media":["visual","paged"],"initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"marks":{"syntax":"none | [ crop || cross ]","media":["visual","paged"],"initial":"none","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"size":{"syntax":"<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]","media":["visual","paged"],"initial":"auto","percentages":"no","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"orderOfAppearance","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@page"},"@property":{"syntax":"@property <custom-property-name> {\\n  <declaration-list>\\n}","interfaces":["CSS","CSSPropertyRule"],"groups":["CSS Houdini"],"descriptors":{"syntax":{"syntax":"<string>","media":"all","percentages":"no","initial":"n/a (required)","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"inherits":{"syntax":"true | false","media":"all","percentages":"no","initial":"auto","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"initial-value":{"syntax":"<string>","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"experimental"}},"status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@property"},"@supports":{"syntax":"@supports <supports-condition> {\\n  <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule","CSSSupportsRule"],"groups":["CSS Conditional Rules"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@supports"},"@viewport":{"syntax":"@viewport {\\n  <group-rule-body>\\n}","interfaces":["CSSViewportRule"],"groups":["CSS Device Adaptation"],"descriptors":{"height":{"syntax":"<viewport-length>{1,2}","media":["visual","continuous"],"initial":["min-height","max-height"],"percentages":["min-height","max-height"],"computed":["min-height","max-height"],"order":"orderOfAppearance","status":"standard"},"max-height":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToHeightOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"max-width":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToWidthOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"max-zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"},"min-height":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToHeightOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"min-width":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToWidthOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"min-zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"},"orientation":{"syntax":"auto | portrait | landscape","media":["visual","continuous"],"initial":"auto","percentages":"referToSizeOfBoundingBox","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"user-zoom":{"syntax":"zoom | fixed","media":["visual","continuous"],"initial":"zoom","percentages":"referToSizeOfBoundingBox","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"viewport-fit":{"syntax":"auto | contain | cover","media":["visual","continuous"],"initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"width":{"syntax":"<viewport-length>{1,2}","media":["visual","continuous"],"initial":["min-width","max-width"],"percentages":["min-width","max-width"],"computed":["min-width","max-width"],"order":"orderOfAppearance","status":"standard"},"zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@viewport"}}');

/***/ }),

/***/ 95863:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"--*":{"syntax":"<declaration-value>","media":"all","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Variables"],"initial":"seeProse","appliesto":"allElements","computed":"asSpecifiedWithVarsSubstituted","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/--*"},"-ms-accelerator":{"syntax":"false | true","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"false","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator"},"-ms-block-progression":{"syntax":"tb | rl | bt | lr","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"tb","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression"},"-ms-content-zoom-chaining":{"syntax":"none | chained","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining"},"-ms-content-zooming":{"syntax":"none | zoom","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"zoomForTheTopLevelNoneForTheRest","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming"},"-ms-content-zoom-limit":{"syntax":"<\'-ms-content-zoom-limit-min\'> <\'-ms-content-zoom-limit-max\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"groups":["Microsoft Extensions"],"initial":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit"},"-ms-content-zoom-limit-max":{"syntax":"<percentage>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"maxZoomFactor","groups":["Microsoft Extensions"],"initial":"400%","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max"},"-ms-content-zoom-limit-min":{"syntax":"<percentage>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"minZoomFactor","groups":["Microsoft Extensions"],"initial":"100%","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min"},"-ms-content-zoom-snap":{"syntax":"<\'-ms-content-zoom-snap-type\'> || <\'-ms-content-zoom-snap-points\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap"},"-ms-content-zoom-snap-points":{"syntax":"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0%, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points"},"-ms-content-zoom-snap-type":{"syntax":"none | proximity | mandatory","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type"},"-ms-filter":{"syntax":"<string>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"\\"\\"","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-filter"},"-ms-flow-from":{"syntax":"[ none | <custom-ident> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from"},"-ms-flow-into":{"syntax":"[ none | <custom-ident> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"iframeElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into"},"-ms-grid-columns":{"syntax":"none | <track-list> | <auto-track-list>","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns"},"-ms-grid-rows":{"syntax":"none | <track-list> | <auto-track-list>","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows"},"-ms-high-contrast-adjust":{"syntax":"auto | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust"},"-ms-hyphenate-limit-chars":{"syntax":"auto | <integer>{1,3}","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars"},"-ms-hyphenate-limit-lines":{"syntax":"no-limit | <integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"no-limit","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines"},"-ms-hyphenate-limit-zone":{"syntax":"<percentage> | <length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"referToLineBoxWidth","groups":["Microsoft Extensions"],"initial":"0","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone"},"-ms-ime-align":{"syntax":"auto | after","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align"},"-ms-overflow-style":{"syntax":"auto | none | scrollbar | -ms-autohiding-scrollbar","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style"},"-ms-scrollbar-3dlight-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color"},"-ms-scrollbar-arrow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ButtonText","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color"},"-ms-scrollbar-base-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color"},"-ms-scrollbar-darkshadow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDDarkShadow","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color"},"-ms-scrollbar-face-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDFace","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color"},"-ms-scrollbar-highlight-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDHighlight","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color"},"-ms-scrollbar-shadow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDDarkShadow","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color"},"-ms-scrollbar-track-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"Scrollbar","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color"},"-ms-scroll-chaining":{"syntax":"chained | none","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"chained","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining"},"-ms-scroll-limit":{"syntax":"<\'-ms-scroll-limit-x-min\'> <\'-ms-scroll-limit-y-min\'> <\'-ms-scroll-limit-x-max\'> <\'-ms-scroll-limit-y-max\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit"},"-ms-scroll-limit-x-max":{"syntax":"auto | <length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max"},"-ms-scroll-limit-x-min":{"syntax":"<length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min"},"-ms-scroll-limit-y-max":{"syntax":"auto | <length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max"},"-ms-scroll-limit-y-min":{"syntax":"<length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min"},"-ms-scroll-rails":{"syntax":"none | railed","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"railed","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails"},"-ms-scroll-snap-points-x":{"syntax":"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0px, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x"},"-ms-scroll-snap-points-y":{"syntax":"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0px, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y"},"-ms-scroll-snap-type":{"syntax":"none | proximity | mandatory","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type"},"-ms-scroll-snap-x":{"syntax":"<\'-ms-scroll-snap-type\'> <\'-ms-scroll-snap-points-x\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x"},"-ms-scroll-snap-y":{"syntax":"<\'-ms-scroll-snap-type\'> <\'-ms-scroll-snap-points-y\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y"},"-ms-scroll-translation":{"syntax":"none | vertical-to-horizontal","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation"},"-ms-text-autospace":{"syntax":"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace"},"-ms-touch-select":{"syntax":"grippers | none","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"grippers","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select"},"-ms-user-select":{"syntax":"none | element | text","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"text","appliesto":"nonReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select"},"-ms-wrap-flow":{"syntax":"auto | both | start | end | maximum | clear","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow"},"-ms-wrap-margin":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"exclusionElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin"},"-ms-wrap-through":{"syntax":"wrap | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"wrap","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through"},"-moz-appearance":{"syntax":"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"noneButOverriddenInUserAgentCSS","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-moz-binding":{"syntax":"<url> | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElementsExceptGeneratedContentOrPseudoElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-binding"},"-moz-border-bottom-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors"},"-moz-border-left-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors"},"-moz-border-right-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors"},"-moz-border-top-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors"},"-moz-context-properties":{"syntax":"none | [ fill | fill-opacity | stroke | stroke-opacity ]#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElementsThatCanReferenceImages","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties"},"-moz-float-edge":{"syntax":"border-box | content-box | margin-box | padding-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"content-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"},"-moz-force-broken-image-icon":{"syntax":"<integer [0,1]>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"0","appliesto":"images","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"},"-moz-image-region":{"syntax":"<shape> | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"auto","appliesto":"xulImageElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"},"-moz-orient":{"syntax":"inline | block | horizontal | vertical","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"inline","appliesto":"anyElementEffectOnProgressAndMeter","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"},"-moz-outline-radius":{"syntax":"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?","media":"visual","inherited":false,"animationType":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"percentages":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"groups":["Mozilla Extensions"],"initial":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"appliesto":"allElements","computed":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"},"-moz-outline-radius-bottomleft":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"},"-moz-outline-radius-bottomright":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"},"-moz-outline-radius-topleft":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"},"-moz-outline-radius-topright":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"},"-moz-stack-sizing":{"syntax":"ignore | stretch-to-fit","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"stretch-to-fit","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing"},"-moz-text-blink":{"syntax":"none | blink","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink"},"-moz-user-focus":{"syntax":"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus"},"-moz-user-input":{"syntax":"auto | none | enabled | disabled","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"},"-moz-user-modify":{"syntax":"read-only | read-write | write-only","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"read-only","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify"},"-moz-window-dragging":{"syntax":"drag | no-drag","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"drag","appliesto":"allElementsCreatingNativeWindows","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging"},"-moz-window-shadow":{"syntax":"default | menu | tooltip | sheet | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"default","appliesto":"allElementsCreatingNativeWindows","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow"},"-webkit-appearance":{"syntax":"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"noneButOverriddenInUserAgentCSS","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-webkit-border-before":{"syntax":"<\'border-width\'> || <\'border-style\'> || <\'color\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":["-webkit-border-before-width"],"groups":["WebKit Extensions"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","color"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before"},"-webkit-border-before-color":{"syntax":"<\'color\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard"},"-webkit-border-before-style":{"syntax":"<\'border-style\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard"},"-webkit-border-before-width":{"syntax":"<\'border-width\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["WebKit Extensions"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"nonstandard"},"-webkit-box-reflect":{"syntax":"[ above | below | right | left ]? <length>? <image>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect"},"-webkit-line-clamp":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["WebKit Extensions","CSS Overflow"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp"},"-webkit-mask":{"syntax":"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],"appliesto":"allElements","computed":["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask"},"-webkit-mask-attachment":{"syntax":"<attachment>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"scroll","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment"},"-webkit-mask-clip":{"syntax":"[ <box> | border | padding | content | text ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"border","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"-webkit-mask-composite":{"syntax":"<composite-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"source-over","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite"},"-webkit-mask-image":{"syntax":"<mask-reference>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"absoluteURIOrNone","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"-webkit-mask-origin":{"syntax":"[ <box> | border | padding | content ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"padding","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"-webkit-mask-position":{"syntax":"<position>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0% 0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"-webkit-mask-position-x":{"syntax":"[ <length-percentage> | left | center | right ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x"},"-webkit-mask-position-y":{"syntax":"[ <length-percentage> | top | center | bottom ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y"},"-webkit-mask-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"-webkit-mask-repeat-x":{"syntax":"repeat | no-repeat | space | round","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x"},"-webkit-mask-repeat-y":{"syntax":"repeat | no-repeat | space | round","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y"},"-webkit-mask-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"relativeToBackgroundPositioningArea","groups":["WebKit Extensions"],"initial":"auto auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"-webkit-overflow-scrolling":{"syntax":"auto | touch","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling"},"-webkit-tap-highlight-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"black","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color"},"-webkit-text-fill-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color"},"-webkit-text-stroke":{"syntax":"<length> || <color>","media":"visual","inherited":true,"animationType":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"percentages":"no","groups":["WebKit Extensions"],"initial":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"appliesto":"allElements","computed":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"order":"canonicalOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke"},"-webkit-text-stroke-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color"},"-webkit-text-stroke-width":{"syntax":"<length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"0","appliesto":"allElements","computed":"absoluteLength","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width"},"-webkit-touch-callout":{"syntax":"default | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"default","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout"},"-webkit-user-modify":{"syntax":"read-only | read-write | read-write-plaintext-only","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"read-only","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard"},"align-content":{"syntax":"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multilineFlexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-content"},"align-items":{"syntax":"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-items"},"align-self":{"syntax":"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"auto","appliesto":"flexItemsGridItemsAndAbsolutelyPositionedBoxes","computed":"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-self"},"align-tracks":{"syntax":"[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"normal","appliesto":"gridContainersWithMasonryLayoutInTheirBlockAxis","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-tracks"},"all":{"syntax":"initial | inherit | unset | revert","media":"noPracticalMedia","inherited":false,"animationType":"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection","percentages":"no","groups":["CSS Miscellaneous"],"initial":"noPracticalInitialValue","appliesto":"allElements","computed":"asSpecifiedAppliesToEachProperty","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/all"},"animation":{"syntax":"<single-animation>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":["animation-name","animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state"],"appliesto":"allElementsAndPseudos","computed":["animation-name","animation-duration","animation-timing-function","animation-delay","animation-direction","animation-iteration-count","animation-fill-mode","animation-play-state"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation"},"animation-delay":{"syntax":"<time>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-delay"},"animation-direction":{"syntax":"<single-animation-direction>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"normal","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-direction"},"animation-duration":{"syntax":"<time>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-duration"},"animation-fill-mode":{"syntax":"<single-animation-fill-mode>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"none","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode"},"animation-iteration-count":{"syntax":"<single-animation-iteration-count>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"1","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count"},"animation-name":{"syntax":"[ none | <keyframes-name> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"none","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-name"},"animation-play-state":{"syntax":"<single-animation-play-state>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"running","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-play-state"},"animation-timing-function":{"syntax":"<timing-function>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"ease","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function"},"appearance":{"syntax":"none | auto | textfield | menulist-button | <compat-auto>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"aspect-ratio":{"syntax":"auto | <ratio>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes","computed":"asSpecified","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio"},"azimuth":{"syntax":"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards","media":"aural","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Speech"],"initial":"center","appliesto":"allElements","computed":"normalizedAngle","order":"orderOfAppearance","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/azimuth"},"backdrop-filter":{"syntax":"none | <filter-function-list>","media":"visual","inherited":false,"animationType":"filterList","percentages":"no","groups":["Filter Effects"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter"},"backface-visibility":{"syntax":"visible | hidden","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"visible","appliesto":"transformableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/backface-visibility"},"background":{"syntax":"[ <bg-layer> , ]* <final-bg-layer>","media":"visual","inherited":false,"animationType":["background-color","background-image","background-clip","background-position","background-size","background-repeat","background-attachment"],"percentages":["background-position","background-size"],"groups":["CSS Backgrounds and Borders"],"initial":["background-image","background-position","background-size","background-repeat","background-origin","background-clip","background-attachment","background-color"],"appliesto":"allElements","computed":["background-image","background-position","background-size","background-repeat","background-origin","background-clip","background-attachment","background-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background"},"background-attachment":{"syntax":"<attachment>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"scroll","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-attachment"},"background-blend-mode":{"syntax":"<blend-mode>#","media":"none","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"normal","appliesto":"allElementsSVGContainerGraphicsAndGraphicsReferencingElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode"},"background-clip":{"syntax":"<box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"border-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-clip"},"background-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"transparent","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-color"},"background-image":{"syntax":"<bg-image>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-image"},"background-origin":{"syntax":"<box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"padding-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-origin"},"background-position":{"syntax":"<bg-position>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize","groups":["CSS Backgrounds and Borders"],"initial":"0% 0%","appliesto":"allElements","computed":"listEachItemTwoKeywordsOriginOffsets","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position"},"background-position-x":{"syntax":"[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight","groups":["CSS Backgrounds and Borders"],"initial":"left","appliesto":"allElements","computed":"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position-x"},"background-position-y":{"syntax":"[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight","groups":["CSS Backgrounds and Borders"],"initial":"top","appliesto":"allElements","computed":"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position-y"},"background-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"repeat","appliesto":"allElements","computed":"listEachItemHasTwoKeywordsOnePerDimension","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-repeat"},"background-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"relativeToBackgroundPositioningArea","groups":["CSS Backgrounds and Borders"],"initial":"auto auto","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-size"},"block-overflow":{"syntax":"clip | ellipsis | <string>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"clip","appliesto":"blockContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"block-size":{"syntax":"<\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"sameAsWidthAndHeight","computed":"sameAsWidthAndHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/block-size"},"border":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-color","border-style","border-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-width","border-style","border-color"],"appliesto":"allElements","computed":["border-width","border-style","border-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border"},"border-block":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block"},"border-block-color":{"syntax":"<\'border-top-color\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-color"},"border-block-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-style"},"border-block-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-width"},"border-block-end":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-block-end-color","border-block-end-style","border-block-end-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end"},"border-block-end-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color"},"border-block-end-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style"},"border-block-end-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width"},"border-block-start":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-block-start-color","border-block-start-style","border-block-start-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-block-start-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start"},"border-block-start-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color"},"border-block-start-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style"},"border-block-start-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width"},"border-bottom":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-bottom-color","border-bottom-style","border-bottom-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-bottom-width","border-bottom-style","border-bottom-color"],"appliesto":"allElements","computed":["border-bottom-width","border-bottom-style","border-bottom-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom"},"border-bottom-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color"},"border-bottom-left-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius"},"border-bottom-right-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius"},"border-bottom-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style"},"border-bottom-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderBottomStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width"},"border-collapse":{"syntax":"collapse | separate","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"separate","appliesto":"tableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-collapse"},"border-color":{"syntax":"<color>{1,4}","media":"visual","inherited":false,"animationType":["border-bottom-color","border-left-color","border-right-color","border-top-color"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-color","border-right-color","border-bottom-color","border-left-color"],"appliesto":"allElements","computed":["border-bottom-color","border-left-color","border-right-color","border-top-color"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-color"},"border-end-end-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius"},"border-end-start-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius"},"border-image":{"syntax":"<\'border-image-source\'> || <\'border-image-slice\'> [ / <\'border-image-width\'> | / <\'border-image-width\'>? / <\'border-image-outset\'> ]? || <\'border-image-repeat\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":["border-image-slice","border-image-width"],"groups":["CSS Backgrounds and Borders"],"initial":["border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"],"appliesto":"allElementsExceptTableElementsWhenCollapse","computed":["border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image"},"border-image-outset":{"syntax":"[ <length> | <number> ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-outset"},"border-image-repeat":{"syntax":"[ stretch | repeat | round | space ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"stretch","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat"},"border-image-slice":{"syntax":"<number-percentage>{1,4} && fill?","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToSizeOfBorderImage","groups":["CSS Backgrounds and Borders"],"initial":"100%","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"oneToFourPercentagesOrAbsoluteLengthsPlusFill","order":"percentagesOrLengthsFollowedByFill","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-slice"},"border-image-source":{"syntax":"none | <image>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"noneOrImageWithAbsoluteURI","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-source"},"border-image-width":{"syntax":"[ <length-percentage> | <number> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToWidthOrHeightOfBorderImageArea","groups":["CSS Backgrounds and Borders"],"initial":"1","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-width"},"border-inline":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline"},"border-inline-end":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-inline-end-color","border-inline-end-style","border-inline-end-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-inline-end-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end"},"border-inline-color":{"syntax":"<\'border-top-color\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-color"},"border-inline-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-style"},"border-inline-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-width"},"border-inline-end-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color"},"border-inline-end-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style"},"border-inline-end-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width"},"border-inline-start":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-inline-start-color","border-inline-start-style","border-inline-start-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-inline-start-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start"},"border-inline-start-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color"},"border-inline-start-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style"},"border-inline-start-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width"},"border-left":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-left-color","border-left-style","border-left-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-left-width","border-left-style","border-left-color"],"appliesto":"allElements","computed":["border-left-width","border-left-style","border-left-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left"},"border-left-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-color"},"border-left-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-style"},"border-left-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderLeftStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-width"},"border-radius":{"syntax":"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?","media":"visual","inherited":false,"animationType":["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],"percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],"appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-radius"},"border-right":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-right-color","border-right-style","border-right-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-right-width","border-right-style","border-right-color"],"appliesto":"allElements","computed":["border-right-width","border-right-style","border-right-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right"},"border-right-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-color"},"border-right-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-style"},"border-right-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderRightStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-width"},"border-spacing":{"syntax":"<length> <length>?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"0","appliesto":"tableElements","computed":"twoAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-spacing"},"border-start-end-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius"},"border-start-start-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius"},"border-style":{"syntax":"<line-style>{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-style","border-right-style","border-bottom-style","border-left-style"],"appliesto":"allElements","computed":["border-bottom-style","border-left-style","border-right-style","border-top-style"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-style"},"border-top":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-top-color","border-top-style","border-top-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top"},"border-top-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-color"},"border-top-left-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius"},"border-top-right-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius"},"border-top-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-style"},"border-top-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderTopStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-width"},"border-width":{"syntax":"<line-width>{1,4}","media":"visual","inherited":false,"animationType":["border-bottom-width","border-left-width","border-right-width","border-top-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-width","border-right-width","border-bottom-width","border-left-width"],"appliesto":"allElements","computed":["border-bottom-width","border-left-width","border-right-width","border-top-width"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-width"},"bottom":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToContainingBlockHeight","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/bottom"},"box-align":{"syntax":"start | center | end | baseline | stretch","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"stretch","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-align"},"box-decoration-break":{"syntax":"slice | clone","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"slice","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break"},"box-direction":{"syntax":"normal | reverse | inherit","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"normal","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-direction"},"box-flex":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"0","appliesto":"directChildrenOfElementsWithDisplayMozBoxMozInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-flex"},"box-flex-group":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"1","appliesto":"inFlowChildrenOfBoxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-flex-group"},"box-lines":{"syntax":"single | multiple","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"single","appliesto":"boxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-lines"},"box-ordinal-group":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"1","appliesto":"childrenOfBoxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group"},"box-orient":{"syntax":"horizontal | vertical | inline-axis | block-axis | inherit","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"inlineAxisHorizontalInXUL","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-orient"},"box-pack":{"syntax":"start | center | end | justify","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"start","appliesto":"elementsWithDisplayMozBoxMozInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-pack"},"box-shadow":{"syntax":"none | <shadow>#","media":"visual","inherited":false,"animationType":"shadowList","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"absoluteLengthsSpecifiedColorAsSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-shadow"},"box-sizing":{"syntax":"content-box | border-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"content-box","appliesto":"allElementsAcceptingWidthOrHeight","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-sizing"},"break-after":{"syntax":"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-after"},"break-before":{"syntax":"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-before"},"break-inside":{"syntax":"auto | avoid | avoid-page | avoid-column | avoid-region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-inside"},"caption-side":{"syntax":"top | bottom | block-start | block-end | inline-start | inline-end","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"top","appliesto":"tableCaptionElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/caption-side"},"caret-color":{"syntax":"auto | <color>","media":"interactive","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asAutoOrColor","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/caret-color"},"clear":{"syntax":"none | left | right | both | inline-start | inline-end","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"none","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clear"},"clip":{"syntax":"<shape> | auto","media":"visual","inherited":false,"animationType":"rectangle","percentages":"no","groups":["CSS Masking"],"initial":"auto","appliesto":"absolutelyPositionedElements","computed":"autoOrRectangle","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clip"},"clip-path":{"syntax":"<clip-source> | [ <basic-shape> || <geometry-box> ] | none","media":"visual","inherited":false,"animationType":"basicShapeOtherwiseNo","percentages":"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clip-path"},"color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Color"],"initial":"variesFromBrowserToBrowser","appliesto":"allElements","computed":"translucentValuesRGBAOtherwiseRGB","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/color"},"color-adjust":{"syntax":"economy | exact","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Color"],"initial":"economy","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/color-adjust"},"column-count":{"syntax":"<integer> | auto","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Columns"],"initial":"auto","appliesto":"blockContainersExceptTableWrappers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-count"},"column-fill":{"syntax":"auto | balance | balance-all","media":"visualInContinuousMediaNoEffectInOverflowColumns","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"balance","appliesto":"multicolElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-fill"},"column-gap":{"syntax":"normal | <length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfContentArea","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multiColumnElementsFlexContainersGridContainers","computed":"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-gap"},"column-rule":{"syntax":"<\'column-rule-width\'> || <\'column-rule-style\'> || <\'column-rule-color\'>","media":"visual","inherited":false,"animationType":["column-rule-color","column-rule-style","column-rule-width"],"percentages":"no","groups":["CSS Columns"],"initial":["column-rule-width","column-rule-style","column-rule-color"],"appliesto":"multicolElements","computed":["column-rule-color","column-rule-style","column-rule-width"],"order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule"},"column-rule-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Columns"],"initial":"currentcolor","appliesto":"multicolElements","computed":"computedColor","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-color"},"column-rule-style":{"syntax":"<\'border-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"none","appliesto":"multicolElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-style"},"column-rule-width":{"syntax":"<\'border-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Columns"],"initial":"medium","appliesto":"multicolElements","computed":"absoluteLength0IfColumnRuleStyleNoneOrHidden","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-width"},"column-span":{"syntax":"none | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"none","appliesto":"inFlowBlockLevelElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-span"},"column-width":{"syntax":"<length> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Columns"],"initial":"auto","appliesto":"blockContainersExceptTableWrappers","computed":"absoluteLengthZeroOrLarger","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-width"},"columns":{"syntax":"<\'column-width\'> || <\'column-count\'>","media":"visual","inherited":false,"animationType":["column-width","column-count"],"percentages":"no","groups":["CSS Columns"],"initial":["column-width","column-count"],"appliesto":"blockContainersExceptTableWrappers","computed":["column-width","column-count"],"order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/columns"},"contain":{"syntax":"none | strict | content | [ size || layout || style || paint ]","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Containment"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/contain"},"content":{"syntax":"normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Generated Content"],"initial":"normal","appliesto":"beforeAndAfterPseudos","computed":"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/content"},"counter-increment":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-increment"},"counter-reset":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-reset"},"counter-set":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-set"},"cursor":{"syntax":"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]","media":["visual","interactive"],"inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/cursor"},"direction":{"syntax":"ltr | rtl","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"ltr","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/direction"},"display":{"syntax":"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Display"],"initial":"inline","appliesto":"allElements","computed":"asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/display"},"empty-cells":{"syntax":"show | hide","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"show","appliesto":"tableCellElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/empty-cells"},"filter":{"syntax":"none | <filter-function-list>","media":"visual","inherited":false,"animationType":"filterList","percentages":"no","groups":["Filter Effects"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/filter"},"flex":{"syntax":"none | [ <\'flex-grow\'> <\'flex-shrink\'>? || <\'flex-basis\'> ]","media":"visual","inherited":false,"animationType":["flex-grow","flex-shrink","flex-basis"],"percentages":"no","groups":["CSS Flexible Box Layout"],"initial":["flex-grow","flex-shrink","flex-basis"],"appliesto":"flexItemsAndInFlowPseudos","computed":["flex-grow","flex-shrink","flex-basis"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex"},"flex-basis":{"syntax":"content | <\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToFlexContainersInnerMainSize","groups":["CSS Flexible Box Layout"],"initial":"auto","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"lengthOrPercentageBeforeKeywordIfBothPresent","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-basis"},"flex-direction":{"syntax":"row | row-reverse | column | column-reverse","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"row","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-direction"},"flex-flow":{"syntax":"<\'flex-direction\'> || <\'flex-wrap\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":["flex-direction","flex-wrap"],"appliesto":"flexContainers","computed":["flex-direction","flex-wrap"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-flow"},"flex-grow":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"0","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-grow"},"flex-shrink":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"1","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-shrink"},"flex-wrap":{"syntax":"nowrap | wrap | wrap-reverse","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"nowrap","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-wrap"},"float":{"syntax":"left | right | none | inline-start | inline-end","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"none","appliesto":"allElementsNoEffectIfDisplayNone","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/float"},"font":{"syntax":"[ [ <\'font-style\'> || <font-variant-css21> || <\'font-weight\'> || <\'font-stretch\'> ]? <\'font-size\'> [ / <\'line-height\'> ]? <\'font-family\'> ] | caption | icon | menu | message-box | small-caption | status-bar","media":"visual","inherited":true,"animationType":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"percentages":["font-size","line-height"],"groups":["CSS Fonts"],"initial":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"appliesto":"allElements","computed":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font"},"font-family":{"syntax":"[ <family-name> | <generic-family> ]#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-family"},"font-feature-settings":{"syntax":"normal | <feature-tag-value>#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings"},"font-kerning":{"syntax":"auto | normal | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-kerning"},"font-language-override":{"syntax":"normal | <string>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-language-override"},"font-optical-sizing":{"syntax":"auto | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing"},"font-variation-settings":{"syntax":"normal | [ <string> <number> ]#","media":"visual","inherited":true,"animationType":"transform","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings"},"font-size":{"syntax":"<absolute-size> | <relative-size> | <length-percentage>","media":"visual","inherited":true,"animationType":"length","percentages":"referToParentElementsFontSize","groups":["CSS Fonts"],"initial":"medium","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-size"},"font-size-adjust":{"syntax":"none | <number>","media":"visual","inherited":true,"animationType":"number","percentages":"no","groups":["CSS Fonts"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust"},"font-smooth":{"syntax":"auto | never | always | <absolute-size> | <length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-smooth"},"font-stretch":{"syntax":"<font-stretch-absolute>","media":"visual","inherited":true,"animationType":"fontStretch","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-stretch"},"font-style":{"syntax":"normal | italic | oblique <angle>?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-style"},"font-synthesis":{"syntax":"none | [ weight || style ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"weight style","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-synthesis"},"font-variant":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant"},"font-variant-alternates":{"syntax":"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates"},"font-variant-caps":{"syntax":"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps"},"font-variant-east-asian":{"syntax":"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian"},"font-variant-ligatures":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures"},"font-variant-numeric":{"syntax":"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric"},"font-variant-position":{"syntax":"normal | sub | super","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-position"},"font-weight":{"syntax":"<font-weight-absolute> | bolder | lighter","media":"visual","inherited":true,"animationType":"fontWeight","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"keywordOrNumericalValueBolderLighterTransformedToRealValue","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-weight"},"gap":{"syntax":"<\'row-gap\'> <\'column-gap\'>?","media":"visual","inherited":false,"animationType":["row-gap","column-gap"],"percentages":"no","groups":["CSS Box Alignment"],"initial":["row-gap","column-gap"],"appliesto":"multiColumnElementsFlexContainersGridContainers","computed":["row-gap","column-gap"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/gap"},"grid":{"syntax":"<\'grid-template\'> | <\'grid-template-rows\'> / [ auto-flow && dense? ] <\'grid-auto-columns\'>? | [ auto-flow && dense? ] <\'grid-auto-rows\'>? / <\'grid-template-columns\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":["grid-template-rows","grid-template-columns","grid-auto-rows","grid-auto-columns"],"groups":["CSS Grid Layout"],"initial":["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap","column-gap","row-gap"],"appliesto":"gridContainers","computed":["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap","column-gap","row-gap"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid"},"grid-area":{"syntax":"<grid-line> [ / <grid-line> ]{0,3}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-area"},"grid-auto-columns":{"syntax":"<track-size>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns"},"grid-auto-flow":{"syntax":"[ row | column ] || dense","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"row","appliesto":"gridContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow"},"grid-auto-rows":{"syntax":"<track-size>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows"},"grid-column":{"syntax":"<grid-line> [ / <grid-line> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-column-start","grid-column-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-column-start","grid-column-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column"},"grid-column-end":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column-end"},"grid-column-gap":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"0","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-gap"},"grid-column-start":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column-start"},"grid-gap":{"syntax":"<\'grid-row-gap\'> <\'grid-column-gap\'>?","media":"visual","inherited":false,"animationType":["grid-row-gap","grid-column-gap"],"percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-gap","grid-column-gap"],"appliesto":"gridContainers","computed":["grid-row-gap","grid-column-gap"],"order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/gap"},"grid-row":{"syntax":"<grid-line> [ / <grid-line> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-start","grid-row-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-row-start","grid-row-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row"},"grid-row-end":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row-end"},"grid-row-gap":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"0","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/row-gap"},"grid-row-start":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row-start"},"grid-template":{"syntax":"none | [ <\'grid-template-rows\'> / <\'grid-template-columns\'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":["grid-template-columns","grid-template-rows"],"groups":["CSS Grid Layout"],"initial":["grid-template-columns","grid-template-rows","grid-template-areas"],"appliesto":"gridContainers","computed":["grid-template-columns","grid-template-rows","grid-template-areas"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template"},"grid-template-areas":{"syntax":"none | <string>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas"},"grid-template-columns":{"syntax":"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns"},"grid-template-rows":{"syntax":"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows"},"hanging-punctuation":{"syntax":"none | [ first || [ force-end | allow-end ] || last ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation"},"height":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAutoOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/height"},"hyphens":{"syntax":"none | manual | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"manual","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/hyphens"},"image-orientation":{"syntax":"from-image | <angle> | [ <angle>? flip ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"from-image","appliesto":"allElements","computed":"angleRoundedToNextQuarter","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/image-orientation"},"image-rendering":{"syntax":"auto | crisp-edges | pixelated","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/image-rendering"},"image-resolution":{"syntax":"[ from-image || <resolution> ] && snap?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"1dppx","appliesto":"allElements","computed":"asSpecifiedWithExceptionOfResolution","order":"uniqueOrder","status":"experimental"},"ime-mode":{"syntax":"auto | normal | active | inactive | disabled","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"textFields","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ime-mode"},"initial-letter":{"syntax":"normal | [ <number> <integer>? ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Inline"],"initial":"normal","appliesto":"firstLetterPseudoElementsAndInlineLevelFirstChildren","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/initial-letter"},"initial-letter-align":{"syntax":"[ auto | alphabetic | hanging | ideographic ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Inline"],"initial":"auto","appliesto":"firstLetterPseudoElementsAndInlineLevelFirstChildren","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align"},"inline-size":{"syntax":"<\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"sameAsWidthAndHeight","computed":"sameAsWidthAndHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inline-size"},"inset":{"syntax":"<\'top\'>{1,4}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset"},"inset-block":{"syntax":"<\'top\'>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block"},"inset-block-end":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block-end"},"inset-block-start":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block-start"},"inset-inline":{"syntax":"<\'top\'>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline"},"inset-inline-end":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end"},"inset-inline-start":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start"},"isolation":{"syntax":"auto | isolate","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"auto","appliesto":"allElementsSVGContainerGraphicsAndGraphicsReferencingElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/isolation"},"justify-content":{"syntax":"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-content"},"justify-items":{"syntax":"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"legacy","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-items"},"justify-self":{"syntax":"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"auto","appliesto":"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-self"},"justify-tracks":{"syntax":"[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"normal","appliesto":"gridContainersWithMasonryLayoutInTheirInlineAxis","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-tracks"},"left":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/left"},"letter-spacing":{"syntax":"normal | <length>","media":"visual","inherited":true,"animationType":"length","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"optimumValueOfAbsoluteLengthOrNormal","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/letter-spacing"},"line-break":{"syntax":"auto | loose | normal | strict | anywhere","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-break"},"line-clamp":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Overflow"],"initial":"none","appliesto":"blockContainersExceptMultiColumnContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"line-height":{"syntax":"normal | <number> | <length> | <percentage>","media":"visual","inherited":true,"animationType":"numberOrLength","percentages":"referToElementFontSize","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"absoluteLengthOrAsSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-height"},"line-height-step":{"syntax":"<length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"0","appliesto":"blockContainers","computed":"absoluteLength","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-height-step"},"list-style":{"syntax":"<\'list-style-type\'> || <\'list-style-position\'> || <\'list-style-image\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":["list-style-type","list-style-position","list-style-image"],"appliesto":"listItems","computed":["list-style-image","list-style-position","list-style-type"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style"},"list-style-image":{"syntax":"<url> | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"none","appliesto":"listItems","computed":"noneOrImageWithAbsoluteURI","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-image"},"list-style-position":{"syntax":"inside | outside","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"outside","appliesto":"listItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-position"},"list-style-type":{"syntax":"<counter-style> | <string> | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"disc","appliesto":"listItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-type"},"margin":{"syntax":"[ <length> | <percentage> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":["margin-bottom","margin-left","margin-right","margin-top"],"appliesto":"allElementsExceptTableDisplayTypes","computed":["margin-bottom","margin-left","margin-right","margin-top"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin"},"margin-block":{"syntax":"<\'margin-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block"},"margin-block-end":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block-end"},"margin-block-start":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block-start"},"margin-bottom":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-bottom"},"margin-inline":{"syntax":"<\'margin-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline"},"margin-inline-end":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end"},"margin-inline-start":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start"},"margin-left":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-left"},"margin-right":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-right"},"margin-top":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-top"},"margin-trim":{"syntax":"none | in-flow | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"none","appliesto":"blockContainersAndMultiColumnContainers","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line"],"status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-trim"},"mask":{"syntax":"<mask-layer>#","media":"visual","inherited":false,"animationType":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"percentages":["mask-position"],"groups":["CSS Masking"],"initial":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"appliesto":"allElementsSVGContainerElements","computed":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask"},"mask-border":{"syntax":"<\'mask-border-source\'> || <\'mask-border-slice\'> [ / <\'mask-border-width\'>? [ / <\'mask-border-outset\'> ]? ]? || <\'mask-border-repeat\'> || <\'mask-border-mode\'>","media":"visual","inherited":false,"animationType":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"percentages":["mask-border-slice","mask-border-width"],"groups":["CSS Masking"],"initial":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"appliesto":"allElementsSVGContainerElements","computed":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border"},"mask-border-mode":{"syntax":"luminance | alpha","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"alpha","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-mode"},"mask-border-outset":{"syntax":"[ <length> | <number> ]{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"0","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"},"mask-border-repeat":{"syntax":"[ stretch | repeat | round | space ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"stretch","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"},"mask-border-slice":{"syntax":"<number-percentage>{1,4} fill?","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfMaskBorderImage","groups":["CSS Masking"],"initial":"0","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"},"mask-border-source":{"syntax":"none | <image>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"},"mask-border-width":{"syntax":"[ <length-percentage> | <number> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"relativeToMaskBorderImageArea","groups":["CSS Masking"],"initial":"auto","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"},"mask-clip":{"syntax":"[ <geometry-box> | no-clip ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"border-box","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"mask-composite":{"syntax":"<compositing-operator>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"add","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-composite"},"mask-image":{"syntax":"<mask-reference>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"mask-mode":{"syntax":"<masking-mode>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"match-source","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-mode"},"mask-origin":{"syntax":"<geometry-box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"border-box","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"mask-position":{"syntax":"<position>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToSizeOfMaskPaintingArea","groups":["CSS Masking"],"initial":"center","appliesto":"allElementsSVGContainerElements","computed":"consistsOfTwoKeywordsForOriginAndOffsets","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"mask-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"no-repeat","appliesto":"allElementsSVGContainerElements","computed":"consistsOfTwoDimensionKeywords","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"mask-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"no","groups":["CSS Masking"],"initial":"auto","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"mask-type":{"syntax":"luminance | alpha","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"luminance","appliesto":"maskElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-type"},"masonry-auto-flow":{"syntax":"[ pack | next ] || [ definite-first | ordered ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"pack","appliesto":"gridContainersWithMasonryLayout","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"},"math-style":{"syntax":"normal | compact","media":"visual","inherited":true,"animationType":"notAnimatable","percentages":"no","groups":["MathML"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/math-style"},"max-block-size":{"syntax":"<\'max-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMaxWidthAndMaxHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-block-size"},"max-height":{"syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone","groups":["CSS Box Model"],"initial":"none","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAsSpecifiedAbsoluteLengthOrNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-height"},"max-inline-size":{"syntax":"<\'max-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMaxWidthAndMaxHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-inline-size"},"max-lines":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Overflow"],"initial":"none","appliesto":"blockContainersExceptMultiColumnContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"max-width":{"syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"none","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAsSpecifiedAbsoluteLengthOrNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-width"},"min-block-size":{"syntax":"<\'min-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMinWidthAndMinHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-block-size"},"min-height":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentages0","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-height"},"min-inline-size":{"syntax":"<\'min-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMinWidthAndMinHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-inline-size"},"min-width":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-width"},"mix-blend-mode":{"syntax":"<blend-mode>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode"},"object-fit":{"syntax":"fill | contain | cover | none | scale-down","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"fill","appliesto":"replacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/object-fit"},"object-position":{"syntax":"<position>","media":"visual","inherited":true,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToWidthAndHeightOfElement","groups":["CSS Images"],"initial":"50% 50%","appliesto":"replacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/object-position"},"offset":{"syntax":"[ <\'offset-position\'>? [ <\'offset-path\'> [ <\'offset-distance\'> || <\'offset-rotate\'> ]? ]? ]! [ / <\'offset-anchor\'> ]?","media":"visual","inherited":false,"animationType":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"percentages":["offset-position","offset-distance","offset-anchor"],"groups":["CSS Motion Path"],"initial":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"appliesto":"transformableElements","computed":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset"},"offset-anchor":{"syntax":"auto | <position>","media":"visual","inherited":false,"animationType":"position","percentages":"relativeToWidthAndHeight","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"standard"},"offset-distance":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToTotalPathLength","groups":["CSS Motion Path"],"initial":"0","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-distance"},"offset-path":{"syntax":"none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]","media":"visual","inherited":false,"animationType":"angleOrBasicShapeOrPath","percentages":"no","groups":["CSS Motion Path"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-path"},"offset-position":{"syntax":"auto | <position>","media":"visual","inherited":false,"animationType":"position","percentages":"referToSizeOfContainingBlock","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"experimental"},"offset-rotate":{"syntax":"[ auto | reverse ] || <angle>","media":"visual","inherited":false,"animationType":"angleOrBasicShapeOrPath","percentages":"no","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"},"opacity":{"syntax":"<alpha-value>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Color"],"initial":"1.0","appliesto":"allElements","computed":"specifiedValueClipped0To1","order":"uniqueOrder","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/opacity"},"order":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"0","appliesto":"flexItemsGridItemsAbsolutelyPositionedContainerChildren","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/order"},"orphans":{"syntax":"<integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"2","appliesto":"blockContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/orphans"},"outline":{"syntax":"[ <\'outline-color\'> || <\'outline-style\'> || <\'outline-width\'> ]","media":["visual","interactive"],"inherited":false,"animationType":["outline-color","outline-width","outline-style"],"percentages":"no","groups":["CSS Basic User Interface"],"initial":["outline-color","outline-style","outline-width"],"appliesto":"allElements","computed":["outline-color","outline-width","outline-style"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline"},"outline-color":{"syntax":"<color> | invert","media":["visual","interactive"],"inherited":false,"animationType":"color","percentages":"no","groups":["CSS Basic User Interface"],"initial":"invertOrCurrentColor","appliesto":"allElements","computed":"invertForTranslucentColorRGBAOtherwiseRGB","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-color"},"outline-offset":{"syntax":"<length>","media":["visual","interactive"],"inherited":false,"animationType":"length","percentages":"no","groups":["CSS Basic User Interface"],"initial":"0","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-offset"},"outline-style":{"syntax":"auto | <\'border-style\'>","media":["visual","interactive"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-style"},"outline-width":{"syntax":"<line-width>","media":["visual","interactive"],"inherited":false,"animationType":"length","percentages":"no","groups":["CSS Basic User Interface"],"initial":"medium","appliesto":"allElements","computed":"absoluteLength0ForNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-width"},"overflow":{"syntax":"[ visible | hidden | clip | scroll | auto ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":["overflow-x","overflow-y"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow"},"overflow-anchor":{"syntax":"auto | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Anchoring"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard"},"overflow-block":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"perGrammar","status":"standard"},"overflow-clip-box":{"syntax":"padding-box | content-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"padding-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box"},"overflow-inline":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"perGrammar","status":"standard"},"overflow-wrap":{"syntax":"normal | break-word | anywhere","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"nonReplacedInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"},"overflow-x":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-x"},"overflow-y":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-y"},"overscroll-behavior":{"syntax":"[ contain | none | auto ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"},"overscroll-behavior-block":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"},"overscroll-behavior-inline":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"},"overscroll-behavior-x":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x"},"overscroll-behavior-y":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y"},"padding":{"syntax":"[ <length> | <percentage> ]{1,4}","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":["padding-bottom","padding-left","padding-right","padding-top"],"appliesto":"allElementsExceptInternalTableDisplayTypes","computed":["padding-bottom","padding-left","padding-right","padding-top"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding"},"padding-block":{"syntax":"<\'padding-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block"},"padding-block-end":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block-end"},"padding-block-start":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block-start"},"padding-bottom":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-bottom"},"padding-inline":{"syntax":"<\'padding-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline"},"padding-inline-end":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end"},"padding-inline-start":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start"},"padding-left":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-left"},"padding-right":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-right"},"padding-top":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-top"},"page-break-after":{"syntax":"auto | always | avoid | left | right | recto | verso","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-after"},"page-break-before":{"syntax":"auto | always | avoid | left | right | recto | verso","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-before"},"page-break-inside":{"syntax":"auto | avoid","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-inside"},"paint-order":{"syntax":"normal | [ fill || stroke || markers ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"textElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/paint-order"},"perspective":{"syntax":"none | <length>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"absoluteLengthOrNone","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/perspective"},"perspective-origin":{"syntax":"<position>","media":"visual","inherited":false,"animationType":"simpleListOfLpc","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"50% 50%","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"oneOrTwoValuesLengthAbsoluteKeywordsPercentages","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/perspective-origin"},"place-content":{"syntax":"<\'align-content\'> <\'justify-content\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multilineFlexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-content"},"place-items":{"syntax":"<\'align-items\'> <\'justify-items\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":["align-items","justify-items"],"appliesto":"allElements","computed":["align-items","justify-items"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-items"},"place-self":{"syntax":"<\'align-self\'> <\'justify-self\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":["align-self","justify-self"],"appliesto":"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems","computed":["align-self","justify-self"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-self"},"pointer-events":{"syntax":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Pointer Events"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/pointer-events"},"position":{"syntax":"static | relative | absolute | sticky | fixed","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"static","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/position"},"quotes":{"syntax":"none | auto | [ <string> <string> ]+","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Generated Content"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/quotes"},"resize":{"syntax":"none | both | horizontal | vertical | block | inline","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"none","appliesto":"elementsWithOverflowNotVisibleAndReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/resize"},"right":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/right"},"rotate":{"syntax":"none | <angle> | [ x | y | z | <number>{3} ] && <angle>","media":"visual","inherited":false,"animationType":"transform","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/rotate"},"row-gap":{"syntax":"normal | <length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfContentArea","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multiColumnElementsFlexContainersGridContainers","computed":"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/row-gap"},"ruby-align":{"syntax":"start | center | space-between | space-around","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"space-around","appliesto":"rubyBasesAnnotationsBaseAnnotationContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ruby-align"},"ruby-merge":{"syntax":"separate | collapse | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"separate","appliesto":"rubyAnnotationsContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"ruby-position":{"syntax":"over | under | inter-character","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"over","appliesto":"rubyAnnotationsContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ruby-position"},"scale":{"syntax":"none | <number>{1,3}","media":"visual","inherited":false,"animationType":"transform","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scale"},"scrollbar-color":{"syntax":"auto | dark | light | <color>{2}","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Scrollbars"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color"},"scrollbar-gutter":{"syntax":"auto | [ stable | always ] && both? && force?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter"},"scrollbar-width":{"syntax":"auto | thin | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scrollbars"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width"},"scroll-behavior":{"syntax":"auto | smooth","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSSOM View"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior"},"scroll-margin":{"syntax":"<length>{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin"},"scroll-margin-block":{"syntax":"<length>{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block"},"scroll-margin-block-start":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start"},"scroll-margin-block-end":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end"},"scroll-margin-bottom":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom"},"scroll-margin-inline":{"syntax":"<length>{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline"},"scroll-margin-inline-start":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start"},"scroll-margin-inline-end":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end"},"scroll-margin-left":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left"},"scroll-margin-right":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right"},"scroll-margin-top":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top"},"scroll-padding":{"syntax":"[ auto | <length-percentage> ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding"},"scroll-padding-block":{"syntax":"[ auto | <length-percentage> ]{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block"},"scroll-padding-block-start":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start"},"scroll-padding-block-end":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end"},"scroll-padding-bottom":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom"},"scroll-padding-inline":{"syntax":"[ auto | <length-percentage> ]{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline"},"scroll-padding-inline-start":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start"},"scroll-padding-inline-end":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end"},"scroll-padding-left":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left"},"scroll-padding-right":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right"},"scroll-padding-top":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top"},"scroll-snap-align":{"syntax":"[ none | start | end | center ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align"},"scroll-snap-coordinate":{"syntax":"none | <position>#","media":"interactive","inherited":false,"animationType":"position","percentages":"referToBorderBox","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate"},"scroll-snap-destination":{"syntax":"<position>","media":"interactive","inherited":false,"animationType":"position","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"0px 0px","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination"},"scroll-snap-points-x":{"syntax":"none | repeat( <length-percentage> )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x"},"scroll-snap-points-y":{"syntax":"none | repeat( <length-percentage> )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y"},"scroll-snap-stop":{"syntax":"normal | always","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop"},"scroll-snap-type":{"syntax":"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type"},"scroll-snap-type-x":{"syntax":"none | mandatory | proximity","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x"},"scroll-snap-type-y":{"syntax":"none | mandatory | proximity","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y"},"shape-image-threshold":{"syntax":"<alpha-value>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Shapes"],"initial":"0.0","appliesto":"floats","computed":"specifiedValueNumberClipped0To1","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold"},"shape-margin":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Shapes"],"initial":"0","appliesto":"floats","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-margin"},"shape-outside":{"syntax":"none | <shape-box> || <basic-shape> | <image>","media":"visual","inherited":false,"animationType":"basicShapeOtherwiseNo","percentages":"no","groups":["CSS Shapes"],"initial":"none","appliesto":"floats","computed":"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-outside"},"tab-size":{"syntax":"<integer> | <length>","media":"visual","inherited":true,"animationType":"length","percentages":"no","groups":["CSS Text"],"initial":"8","appliesto":"blockContainers","computed":"specifiedIntegerOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/tab-size"},"table-layout":{"syntax":"auto | fixed","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"auto","appliesto":"tableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/table-layout"},"text-align":{"syntax":"start | end | left | right | center | justify | match-parent","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"startOrNamelessValueIfLTRRightIfRTL","appliesto":"blockContainers","computed":"asSpecifiedExceptMatchParent","order":"orderOfAppearance","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-align"},"text-align-last":{"syntax":"auto | start | end | left | right | center | justify","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"blockContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-align-last"},"text-combine-upright":{"syntax":"none | all | [ digits <integer>? ]","media":"visual","inherited":true,"animationType":"notAnimatable","percentages":"no","groups":["CSS Writing Modes"],"initial":"none","appliesto":"nonReplacedInlineElements","computed":"keywordPlusIntegerIfDigits","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"},"text-decoration":{"syntax":"<\'text-decoration-line\'> || <\'text-decoration-style\'> || <\'text-decoration-color\'> || <\'text-decoration-thickness\'>","media":"visual","inherited":false,"animationType":["text-decoration-color","text-decoration-style","text-decoration-line","text-decoration-thickness"],"percentages":"no","groups":["CSS Text Decoration"],"initial":["text-decoration-color","text-decoration-style","text-decoration-line"],"appliesto":"allElements","computed":["text-decoration-line","text-decoration-style","text-decoration-color","text-decoration-thickness"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration"},"text-decoration-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Text Decoration"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color"},"text-decoration-line":{"syntax":"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line"},"text-decoration-skip":{"syntax":"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"objects","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"},"text-decoration-skip-ink":{"syntax":"auto | all | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"},"text-decoration-style":{"syntax":"solid | double | dotted | dashed | wavy","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"solid","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style"},"text-decoration-thickness":{"syntax":"auto | from-font | <length> | <percentage> ","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToElementFontSize","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"},"text-emphasis":{"syntax":"<\'text-emphasis-style\'> || <\'text-emphasis-color\'>","media":"visual","inherited":false,"animationType":["text-emphasis-color","text-emphasis-style"],"percentages":"no","groups":["CSS Text Decoration"],"initial":["text-emphasis-style","text-emphasis-color"],"appliesto":"allElements","computed":["text-emphasis-style","text-emphasis-color"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"},"text-emphasis-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Text Decoration"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"},"text-emphasis-position":{"syntax":"[ over | under ] && [ right | left ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"over right","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"},"text-emphasis-style":{"syntax":"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"},"text-indent":{"syntax":"<length-percentage> && hanging? && each-line?","media":"visual","inherited":true,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Text"],"initial":"0","appliesto":"blockContainers","computed":"percentageOrAbsoluteLengthPlusKeywords","order":"lengthOrPercentageBeforeKeywords","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-indent"},"text-justify":{"syntax":"auto | inter-character | inter-word | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"inlineLevelAndTableCellElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-justify"},"text-orientation":{"syntax":"mixed | upright | sideways","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"mixed","appliesto":"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-orientation"},"text-overflow":{"syntax":"[ clip | ellipsis | <string> ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"clip","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-overflow"},"text-rendering":{"syntax":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Miscellaneous"],"initial":"auto","appliesto":"textElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-rendering"},"text-shadow":{"syntax":"none | <shadow-t>#","media":"visual","inherited":true,"animationType":"shadowList","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"colorPlusThreeAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-shadow"},"text-size-adjust":{"syntax":"none | auto | <percentage>","media":"visual","inherited":true,"animationType":"discrete","percentages":"referToSizeOfFont","groups":["CSS Text"],"initial":"autoForSmartphoneBrowsersSupportingInflation","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"},"text-transform":{"syntax":"none | capitalize | uppercase | lowercase | full-width | full-size-kana","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-transform"},"text-underline-offset":{"syntax":"auto | <length> | <percentage> ","media":"visual","inherited":true,"animationType":"byComputedValueType","percentages":"referToElementFontSize","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"},"text-underline-position":{"syntax":"auto | from-font | [ under || [ left | right ] ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-underline-position"},"top":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToContainingBlockHeight","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/top"},"touch-action":{"syntax":"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Pointer Events"],"initial":"auto","appliesto":"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/touch-action"},"transform":{"syntax":"none | <transform-list>","media":"visual","inherited":false,"animationType":"transform","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform"},"transform-box":{"syntax":"content-box | border-box | fill-box | stroke-box | view-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"view-box","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-box"},"transform-origin":{"syntax":"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?","media":"visual","inherited":false,"animationType":"simpleListOfLpc","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"50% 50% 0","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"oneOrTwoValuesLengthAbsoluteKeywordsPercentages","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-origin"},"transform-style":{"syntax":"flat | preserve-3d","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"flat","appliesto":"transformableElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-style"},"transition":{"syntax":"<single-transition>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":["transition-delay","transition-duration","transition-property","transition-timing-function"],"appliesto":"allElementsAndPseudos","computed":["transition-delay","transition-duration","transition-property","transition-timing-function"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition"},"transition-delay":{"syntax":"<time>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-delay"},"transition-duration":{"syntax":"<time>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-duration"},"transition-property":{"syntax":"none | <single-transition-property>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"all","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-property"},"transition-timing-function":{"syntax":"<timing-function>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"ease","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function"},"translate":{"syntax":"none | <length-percentage> [ <length-percentage> <length>? ]?","media":"visual","inherited":false,"animationType":"transform","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/translate"},"unicode-bidi":{"syntax":"normal | embed | isolate | bidi-override | isolate-override | plaintext","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"normal","appliesto":"allElementsSomeValuesNoEffectOnNonInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi"},"user-select":{"syntax":"auto | text | none | contain | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/user-select"},"vertical-align":{"syntax":"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>","media":"visual","inherited":false,"animationType":"length","percentages":"referToLineHeight","groups":["CSS Table"],"initial":"baseline","appliesto":"inlineLevelAndTableCellElements","computed":"absoluteLengthOrKeyword","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/vertical-align"},"visibility":{"syntax":"visible | hidden | collapse","media":"visual","inherited":true,"animationType":"visibility","percentages":"no","groups":["CSS Box Model"],"initial":"visible","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/visibility"},"white-space":{"syntax":"normal | pre | nowrap | pre-wrap | pre-line | break-spaces","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/white-space"},"widows":{"syntax":"<integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"2","appliesto":"blockContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/widows"},"width":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAutoOrAbsoluteLength","order":"lengthOrPercentageBeforeKeywordIfBothPresent","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/width"},"will-change":{"syntax":"auto | <animateable-feature>#","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Will Change"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/will-change"},"word-break":{"syntax":"normal | break-all | keep-all | break-word","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/word-break"},"word-spacing":{"syntax":"normal | <length-percentage>","media":"visual","inherited":true,"animationType":"length","percentages":"referToWidthOfAffectedGlyph","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/word-spacing"},"word-wrap":{"syntax":"normal | break-word","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"nonReplacedInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"},"writing-mode":{"syntax":"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"horizontal-tb","appliesto":"allElementsExceptTableRowColumnGroupsTableRowsColumns","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/writing-mode"},"z-index":{"syntax":"auto | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/z-index"},"zoom":{"syntax":"normal | reset | <number> | <percentage>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["Microsoft Extensions"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/zoom"}}');

/***/ }),

/***/ 49023:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"absolute-size":{"syntax":"xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large"},"alpha-value":{"syntax":"<number> | <percentage>"},"angle-percentage":{"syntax":"<angle> | <percentage>"},"angular-color-hint":{"syntax":"<angle-percentage>"},"angular-color-stop":{"syntax":"<color> && <color-stop-angle>?"},"angular-color-stop-list":{"syntax":"[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>"},"animateable-feature":{"syntax":"scroll-position | contents | <custom-ident>"},"attachment":{"syntax":"scroll | fixed | local"},"attr()":{"syntax":"attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )"},"attr-matcher":{"syntax":"[ \'~\' | \'|\' | \'^\' | \'$\' | \'*\' ]? \'=\'"},"attr-modifier":{"syntax":"i | s"},"attribute-selector":{"syntax":"\'[\' <wq-name> \']\' | \'[\' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? \']\'"},"auto-repeat":{"syntax":"repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"},"auto-track-list":{"syntax":"[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?"},"baseline-position":{"syntax":"[ first | last ]? baseline"},"basic-shape":{"syntax":"<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>"},"bg-image":{"syntax":"none | <image>"},"bg-layer":{"syntax":"<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"},"bg-position":{"syntax":"[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]"},"bg-size":{"syntax":"[ <length-percentage> | auto ]{1,2} | cover | contain"},"blur()":{"syntax":"blur( <length> )"},"blend-mode":{"syntax":"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity"},"box":{"syntax":"border-box | padding-box | content-box"},"brightness()":{"syntax":"brightness( <number-percentage> )"},"calc()":{"syntax":"calc( <calc-sum> )"},"calc-sum":{"syntax":"<calc-product> [ [ \'+\' | \'-\' ] <calc-product> ]*"},"calc-product":{"syntax":"<calc-value> [ \'*\' <calc-value> | \'/\' <number> ]*"},"calc-value":{"syntax":"<number> | <dimension> | <percentage> | ( <calc-sum> )"},"cf-final-image":{"syntax":"<image> | <color>"},"cf-mixing-image":{"syntax":"<percentage>? && <image>"},"circle()":{"syntax":"circle( [ <shape-radius> ]? [ at <position> ]? )"},"clamp()":{"syntax":"clamp( <calc-sum>#{3} )"},"class-selector":{"syntax":"\'.\' <ident-token>"},"clip-source":{"syntax":"<url>"},"color":{"syntax":"<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>"},"color-stop":{"syntax":"<color-stop-length> | <color-stop-angle>"},"color-stop-angle":{"syntax":"<angle-percentage>{1,2}"},"color-stop-length":{"syntax":"<length-percentage>{1,2}"},"color-stop-list":{"syntax":"[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>"},"combinator":{"syntax":"\'>\' | \'+\' | \'~\' | [ \'||\' ]"},"common-lig-values":{"syntax":"[ common-ligatures | no-common-ligatures ]"},"compat-auto":{"syntax":"searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button"},"composite-style":{"syntax":"clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor"},"compositing-operator":{"syntax":"add | subtract | intersect | exclude"},"compound-selector":{"syntax":"[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!"},"compound-selector-list":{"syntax":"<compound-selector>#"},"complex-selector":{"syntax":"<compound-selector> [ <combinator>? <compound-selector> ]*"},"complex-selector-list":{"syntax":"<complex-selector>#"},"conic-gradient()":{"syntax":"conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )"},"contextual-alt-values":{"syntax":"[ contextual | no-contextual ]"},"content-distribution":{"syntax":"space-between | space-around | space-evenly | stretch"},"content-list":{"syntax":"[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+"},"content-position":{"syntax":"center | start | end | flex-start | flex-end"},"content-replacement":{"syntax":"<image>"},"contrast()":{"syntax":"contrast( [ <number-percentage> ] )"},"counter()":{"syntax":"counter( <custom-ident>, <counter-style>? )"},"counter-style":{"syntax":"<counter-style-name> | symbols()"},"counter-style-name":{"syntax":"<custom-ident>"},"counters()":{"syntax":"counters( <custom-ident>, <string>, <counter-style>? )"},"cross-fade()":{"syntax":"cross-fade( <cf-mixing-image> , <cf-final-image>? )"},"cubic-bezier-timing-function":{"syntax":"ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)"},"deprecated-system-color":{"syntax":"ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText"},"discretionary-lig-values":{"syntax":"[ discretionary-ligatures | no-discretionary-ligatures ]"},"display-box":{"syntax":"contents | none"},"display-inside":{"syntax":"flow | flow-root | table | flex | grid | ruby"},"display-internal":{"syntax":"table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container"},"display-legacy":{"syntax":"inline-block | inline-list-item | inline-table | inline-flex | inline-grid"},"display-listitem":{"syntax":"<display-outside>? && [ flow | flow-root ]? && list-item"},"display-outside":{"syntax":"block | inline | run-in"},"drop-shadow()":{"syntax":"drop-shadow( <length>{2,3} <color>? )"},"east-asian-variant-values":{"syntax":"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]"},"east-asian-width-values":{"syntax":"[ full-width | proportional-width ]"},"element()":{"syntax":"element( <id-selector> )"},"ellipse()":{"syntax":"ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )"},"ending-shape":{"syntax":"circle | ellipse"},"env()":{"syntax":"env( <custom-ident> , <declaration-value>? )"},"explicit-track-list":{"syntax":"[ <line-names>? <track-size> ]+ <line-names>?"},"family-name":{"syntax":"<string> | <custom-ident>+"},"feature-tag-value":{"syntax":"<string> [ <integer> | on | off ]?"},"feature-type":{"syntax":"@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation"},"feature-value-block":{"syntax":"<feature-type> \'{\' <feature-value-declaration-list> \'}\'"},"feature-value-block-list":{"syntax":"<feature-value-block>+"},"feature-value-declaration":{"syntax":"<custom-ident>: <integer>+;"},"feature-value-declaration-list":{"syntax":"<feature-value-declaration>"},"feature-value-name":{"syntax":"<custom-ident>"},"fill-rule":{"syntax":"nonzero | evenodd"},"filter-function":{"syntax":"<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>"},"filter-function-list":{"syntax":"[ <filter-function> | <url> ]+"},"final-bg-layer":{"syntax":"<\'background-color\'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"},"fit-content()":{"syntax":"fit-content( [ <length> | <percentage> ] )"},"fixed-breadth":{"syntax":"<length-percentage>"},"fixed-repeat":{"syntax":"repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"},"fixed-size":{"syntax":"<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )"},"font-stretch-absolute":{"syntax":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>"},"font-variant-css21":{"syntax":"[ normal | small-caps ]"},"font-weight-absolute":{"syntax":"normal | bold | <number [1,1000]>"},"frequency-percentage":{"syntax":"<frequency> | <percentage>"},"general-enclosed":{"syntax":"[ <function-token> <any-value> ) ] | ( <ident> <any-value> )"},"generic-family":{"syntax":"serif | sans-serif | cursive | fantasy | monospace"},"generic-name":{"syntax":"serif | sans-serif | cursive | fantasy | monospace"},"geometry-box":{"syntax":"<shape-box> | fill-box | stroke-box | view-box"},"gradient":{"syntax":"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>"},"grayscale()":{"syntax":"grayscale( <number-percentage> )"},"grid-line":{"syntax":"auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]"},"historical-lig-values":{"syntax":"[ historical-ligatures | no-historical-ligatures ]"},"hsl()":{"syntax":"hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )"},"hsla()":{"syntax":"hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )"},"hue":{"syntax":"<number> | <angle>"},"hue-rotate()":{"syntax":"hue-rotate( <angle> )"},"id-selector":{"syntax":"<hash-token>"},"image":{"syntax":"<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>"},"image()":{"syntax":"image( <image-tags>? [ <image-src>? , <color>? ]! )"},"image-set()":{"syntax":"image-set( <image-set-option># )"},"image-set-option":{"syntax":"[ <image> | <string> ] <resolution>"},"image-src":{"syntax":"<url> | <string>"},"image-tags":{"syntax":"ltr | rtl"},"inflexible-breadth":{"syntax":"<length> | <percentage> | min-content | max-content | auto"},"inset()":{"syntax":"inset( <length-percentage>{1,4} [ round <\'border-radius\'> ]? )"},"invert()":{"syntax":"invert( <number-percentage> )"},"keyframes-name":{"syntax":"<custom-ident> | <string>"},"keyframe-block":{"syntax":"<keyframe-selector># {\\n  <declaration-list>\\n}"},"keyframe-block-list":{"syntax":"<keyframe-block>+"},"keyframe-selector":{"syntax":"from | to | <percentage>"},"leader()":{"syntax":"leader( <leader-type> )"},"leader-type":{"syntax":"dotted | solid | space | <string>"},"length-percentage":{"syntax":"<length> | <percentage>"},"line-names":{"syntax":"\'[\' <custom-ident>* \']\'"},"line-name-list":{"syntax":"[ <line-names> | <name-repeat> ]+"},"line-style":{"syntax":"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"},"line-width":{"syntax":"<length> | thin | medium | thick"},"linear-color-hint":{"syntax":"<length-percentage>"},"linear-color-stop":{"syntax":"<color> <color-stop-length>?"},"linear-gradient()":{"syntax":"linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"},"mask-layer":{"syntax":"<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"},"mask-position":{"syntax":"[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?"},"mask-reference":{"syntax":"none | <image> | <mask-source>"},"mask-source":{"syntax":"<url>"},"masking-mode":{"syntax":"alpha | luminance | match-source"},"matrix()":{"syntax":"matrix( <number>#{6} )"},"matrix3d()":{"syntax":"matrix3d( <number>#{16} )"},"max()":{"syntax":"max( <calc-sum># )"},"media-and":{"syntax":"<media-in-parens> [ and <media-in-parens> ]+"},"media-condition":{"syntax":"<media-not> | <media-and> | <media-or> | <media-in-parens>"},"media-condition-without-or":{"syntax":"<media-not> | <media-and> | <media-in-parens>"},"media-feature":{"syntax":"( [ <mf-plain> | <mf-boolean> | <mf-range> ] )"},"media-in-parens":{"syntax":"( <media-condition> ) | <media-feature> | <general-enclosed>"},"media-not":{"syntax":"not <media-in-parens>"},"media-or":{"syntax":"<media-in-parens> [ or <media-in-parens> ]+"},"media-query":{"syntax":"<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"},"media-query-list":{"syntax":"<media-query>#"},"media-type":{"syntax":"<ident>"},"mf-boolean":{"syntax":"<mf-name>"},"mf-name":{"syntax":"<ident>"},"mf-plain":{"syntax":"<mf-name> : <mf-value>"},"mf-range":{"syntax":"<mf-name> [ \'<\' | \'>\' ]? \'=\'? <mf-value>\\n| <mf-value> [ \'<\' | \'>\' ]? \'=\'? <mf-name>\\n| <mf-value> \'<\' \'=\'? <mf-name> \'<\' \'=\'? <mf-value>\\n| <mf-value> \'>\' \'=\'? <mf-name> \'>\' \'=\'? <mf-value>"},"mf-value":{"syntax":"<number> | <dimension> | <ident> | <ratio>"},"min()":{"syntax":"min( <calc-sum># )"},"minmax()":{"syntax":"minmax( [ <length> | <percentage> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )"},"named-color":{"syntax":"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen"},"namespace-prefix":{"syntax":"<ident>"},"ns-prefix":{"syntax":"[ <ident-token> | \'*\' ]? \'|\'"},"number-percentage":{"syntax":"<number> | <percentage>"},"numeric-figure-values":{"syntax":"[ lining-nums | oldstyle-nums ]"},"numeric-fraction-values":{"syntax":"[ diagonal-fractions | stacked-fractions ]"},"numeric-spacing-values":{"syntax":"[ proportional-nums | tabular-nums ]"},"nth":{"syntax":"<an-plus-b> | even | odd"},"opacity()":{"syntax":"opacity( [ <number-percentage> ] )"},"overflow-position":{"syntax":"unsafe | safe"},"outline-radius":{"syntax":"<length> | <percentage>"},"page-body":{"syntax":"<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>"},"page-margin-box":{"syntax":"<page-margin-box-type> \'{\' <declaration-list> \'}\'"},"page-margin-box-type":{"syntax":"@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom"},"page-selector-list":{"syntax":"[ <page-selector># ]?"},"page-selector":{"syntax":"<pseudo-page>+ | <ident> <pseudo-page>*"},"path()":{"syntax":"path( [ <fill-rule>, ]? <string> )"},"paint()":{"syntax":"paint( <ident>, <declaration-value>? )"},"perspective()":{"syntax":"perspective( <length> )"},"polygon()":{"syntax":"polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )"},"position":{"syntax":"[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]"},"pseudo-class-selector":{"syntax":"\':\' <ident-token> | \':\' <function-token> <any-value> \')\'"},"pseudo-element-selector":{"syntax":"\':\' <pseudo-class-selector>"},"pseudo-page":{"syntax":": [ left | right | first | blank ]"},"quote":{"syntax":"open-quote | close-quote | no-open-quote | no-close-quote"},"radial-gradient()":{"syntax":"radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"},"relative-selector":{"syntax":"<combinator>? <complex-selector>"},"relative-selector-list":{"syntax":"<relative-selector>#"},"relative-size":{"syntax":"larger | smaller"},"repeat-style":{"syntax":"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}"},"repeating-linear-gradient()":{"syntax":"repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"},"repeating-radial-gradient()":{"syntax":"repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"},"rgb()":{"syntax":"rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )"},"rgba()":{"syntax":"rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )"},"rotate()":{"syntax":"rotate( [ <angle> | <zero> ] )"},"rotate3d()":{"syntax":"rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )"},"rotateX()":{"syntax":"rotateX( [ <angle> | <zero> ] )"},"rotateY()":{"syntax":"rotateY( [ <angle> | <zero> ] )"},"rotateZ()":{"syntax":"rotateZ( [ <angle> | <zero> ] )"},"saturate()":{"syntax":"saturate( <number-percentage> )"},"scale()":{"syntax":"scale( <number> , <number>? )"},"scale3d()":{"syntax":"scale3d( <number> , <number> , <number> )"},"scaleX()":{"syntax":"scaleX( <number> )"},"scaleY()":{"syntax":"scaleY( <number> )"},"scaleZ()":{"syntax":"scaleZ( <number> )"},"self-position":{"syntax":"center | start | end | self-start | self-end | flex-start | flex-end"},"shape-radius":{"syntax":"<length-percentage> | closest-side | farthest-side"},"skew()":{"syntax":"skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )"},"skewX()":{"syntax":"skewX( [ <angle> | <zero> ] )"},"skewY()":{"syntax":"skewY( [ <angle> | <zero> ] )"},"sepia()":{"syntax":"sepia( <number-percentage> )"},"shadow":{"syntax":"inset? && <length>{2,4} && <color>?"},"shadow-t":{"syntax":"[ <length>{2,3} && <color>? ]"},"shape":{"syntax":"rect(<top>, <right>, <bottom>, <left>)"},"shape-box":{"syntax":"<box> | margin-box"},"side-or-corner":{"syntax":"[ left | right ] || [ top | bottom ]"},"single-animation":{"syntax":"<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]"},"single-animation-direction":{"syntax":"normal | reverse | alternate | alternate-reverse"},"single-animation-fill-mode":{"syntax":"none | forwards | backwards | both"},"single-animation-iteration-count":{"syntax":"infinite | <number>"},"single-animation-play-state":{"syntax":"running | paused"},"single-transition":{"syntax":"[ none | <single-transition-property> ] || <time> || <timing-function> || <time>"},"single-transition-property":{"syntax":"all | <custom-ident>"},"size":{"syntax":"closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}"},"step-position":{"syntax":"jump-start | jump-end | jump-none | jump-both | start | end"},"step-timing-function":{"syntax":"step-start | step-end | steps(<integer>[, <step-position>]?)"},"subclass-selector":{"syntax":"<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>"},"supports-condition":{"syntax":"not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*"},"supports-in-parens":{"syntax":"( <supports-condition> ) | <supports-feature> | <general-enclosed>"},"supports-feature":{"syntax":"<supports-decl> | <supports-selector-fn>"},"supports-decl":{"syntax":"( <declaration> )"},"supports-selector-fn":{"syntax":"selector( <complex-selector> )"},"symbol":{"syntax":"<string> | <image> | <custom-ident>"},"target":{"syntax":"<target-counter()> | <target-counters()> | <target-text()>"},"target-counter()":{"syntax":"target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )"},"target-counters()":{"syntax":"target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )"},"target-text()":{"syntax":"target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )"},"time-percentage":{"syntax":"<time> | <percentage>"},"timing-function":{"syntax":"linear | <cubic-bezier-timing-function> | <step-timing-function>"},"track-breadth":{"syntax":"<length-percentage> | <flex> | min-content | max-content | auto"},"track-list":{"syntax":"[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?"},"track-repeat":{"syntax":"repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )"},"track-size":{"syntax":"<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )"},"transform-function":{"syntax":"<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>"},"transform-list":{"syntax":"<transform-function>+"},"translate()":{"syntax":"translate( <length-percentage> , <length-percentage>? )"},"translate3d()":{"syntax":"translate3d( <length-percentage> , <length-percentage> , <length> )"},"translateX()":{"syntax":"translateX( <length-percentage> )"},"translateY()":{"syntax":"translateY( <length-percentage> )"},"translateZ()":{"syntax":"translateZ( <length> )"},"type-or-unit":{"syntax":"string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %"},"type-selector":{"syntax":"<wq-name> | <ns-prefix>? \'*\'"},"var()":{"syntax":"var( <custom-property-name> , <declaration-value>? )"},"viewport-length":{"syntax":"auto | <length-percentage>"},"wq-name":{"syntax":"<ns-prefix>? <ident-token>"}}');

/***/ }),

/***/ 83835:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false},{"name":"iojs","version":"1.0.0","date":"2015-01-14"},{"name":"iojs","version":"1.1.0","date":"2015-02-03"},{"name":"iojs","version":"1.2.0","date":"2015-02-11"},{"name":"iojs","version":"1.3.0","date":"2015-02-20"},{"name":"iojs","version":"1.5.0","date":"2015-03-06"},{"name":"iojs","version":"1.6.0","date":"2015-03-20"},{"name":"iojs","version":"2.0.0","date":"2015-05-04"},{"name":"iojs","version":"2.1.0","date":"2015-05-24"},{"name":"iojs","version":"2.2.0","date":"2015-06-01"},{"name":"iojs","version":"2.3.0","date":"2015-06-13"},{"name":"iojs","version":"2.4.0","date":"2015-07-17"},{"name":"iojs","version":"2.5.0","date":"2015-07-28"},{"name":"iojs","version":"3.0.0","date":"2015-08-04"},{"name":"iojs","version":"3.1.0","date":"2015-08-19"},{"name":"iojs","version":"3.2.0","date":"2015-08-25"},{"name":"iojs","version":"3.3.0","date":"2015-09-02"},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true}]');

/***/ }),

/***/ 85659:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2024-04-30","codename":""}}');

/***/ }),

/***/ 1185:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"list-style-type":["afar","amharic","amharic-abegede","arabic-indic","armenian","asterisks","bengali","binary","cambodian","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","decimal","decimal-leading-zero","devanagari","disc","disclosure-closed","disclosure-open","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","footnotes","georgian","gujarati","gurmukhi","hangul","hangul-consonant","hebrew","hiragana","hiragana-iroha","japanese-formal","japanese-informal","kannada","katakana","katakana-iroha","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","lao","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","malayalam","mongolian","myanmar","octal","oriya","oromo","persian","sidama","simp-chinese-formal","simp-chinese-informal","somali","square","string","symbols","tamil","telugu","thai","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","trad-chinese-formal","trad-chinese-informal","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","urdu"]}');

/***/ }),

/***/ 37995:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"align-content":"normal","align-items":"normal","align-self":"auto","animation-delay":"0s","animation-direction":"normal","animation-duration":"0s","animation-fill-mode":"none","animation-iteration-count":"1","animation-name":"none","animation-timing-function":"ease","appearance":"auto","azimuth":"center","backdrop-filter":"none","background-attachment":"scroll","background-blend-mode":"normal","background-image":"none","background-position":"0% 0%","background-position-x":"left","background-position-y":"top","background-repeat":"repeat","block-overflow":"clip","block-size":"auto","border-block-style":"none","border-block-width":"medium","border-block-end-style":"none","border-block-end-width":"medium","border-block-start-style":"none","border-block-start-width":"medium","border-bottom-left-radius":"0","border-bottom-right-radius":"0","border-bottom-style":"none","border-bottom-width":"medium","border-end-end-radius":"0","border-end-start-radius":"0","border-image-outset":"0","border-image-slice":"100%","border-image-source":"none","border-image-width":"1","border-inline-style":"none","border-inline-width":"medium","border-inline-end-style":"none","border-inline-end-width":"medium","border-inline-start-style":"none","border-inline-start-width":"medium","border-left-style":"none","border-left-width":"medium","border-right-style":"none","border-right-width":"medium","border-spacing":"0","border-start-end-radius":"0","border-start-start-radius":"0","border-top-left-radius":"0","border-top-right-radius":"0","border-top-style":"none","border-top-width":"medium","bottom":"auto","box-decoration-break":"slice","box-shadow":"none","break-after":"auto","break-before":"auto","break-inside":"auto","caption-side":"top","caret-color":"auto","clear":"none","clip":"auto","clip-path":"none","column-count":"auto","column-gap":"normal","column-rule-style":"none","column-rule-width":"medium","column-span":"none","column-width":"auto","contain":"none","content":"normal","counter-increment":"none","counter-reset":"none","cursor":"auto","direction":"ltr","empty-cells":"show","filter":"none","flex-basis":"auto","flex-direction":"row","flex-grow":"0","flex-shrink":"1","flex-wrap":"nowrap","float":"none","font-feature-settings":"normal","font-kerning":"auto","font-language-override":"normal","font-optical-sizing":"auto","font-variation-settings":"normal","font-size":"medium","font-size-adjust":"none","font-stretch":"normal","font-style":"normal","font-variant":"normal","font-variant-alternates":"normal","font-variant-caps":"normal","font-variant-east-asian":"normal","font-variant-ligatures":"normal","font-variant-numeric":"normal","font-variant-position":"normal","font-weight":"normal","grid-auto-columns":"auto","grid-auto-flow":"row","grid-auto-rows":"auto","grid-column-end":"auto","grid-column-gap":"0","grid-column-start":"auto","grid-row-end":"auto","grid-row-gap":"0","grid-row-start":"auto","grid-template-areas":"none","grid-template-columns":"none","grid-template-rows":"none","hanging-punctuation":"none","height":"auto","hyphens":"manual","image-orientation":"0deg","image-rendering":"auto","image-resolution":"1dppx","ime-mode":"auto","initial-letter":"normal","initial-letter-align":"auto","inline-size":"auto","inset":"auto","inset-block":"auto","inset-block-end":"auto","inset-block-start":"auto","inset-inline":"auto","inset-inline-end":"auto","inset-inline-start":"auto","isolation":"auto","justify-content":"normal","justify-items":"legacy","justify-self":"auto","left":"auto","letter-spacing":"normal","line-break":"auto","line-clamp":"none","line-height":"normal","list-style-image":"none","list-style-type":"disc","margin-block":"0","margin-block-end":"0","margin-block-start":"0","margin-bottom":"0","margin-inline":"0","margin-inline-end":"0","margin-inline-start":"0","margin-left":"0","margin-right":"0","margin-top":"0","mask-border-mode":"alpha","mask-border-outset":"0","mask-border-slice":"0","mask-border-source":"none","mask-border-width":"auto","mask-composite":"add","mask-image":"none","mask-position":"center","mask-size":"auto","max-block-size":"0","max-height":"none","max-inline-size":"0","max-lines":"none","max-width":"none","min-block-size":"0","min-height":"auto","min-inline-size":"0","min-width":"auto","mix-blend-mode":"normal","object-fit":"fill","offset-anchor":"auto","offset-distance":"0","offset-path":"none","offset-position":"auto","offset-rotate":"auto","opacity":"1.0","order":"0","orphans":"2","outline-offset":"0","outline-style":"none","outline-width":"medium","overflow-anchor":"auto","overflow-block":"auto","overflow-inline":"auto","overflow-wrap":"normal","padding-block":"0","padding-block-end":"0","padding-block-start":"0","padding-bottom":"0","padding-inline":"0","padding-inline-end":"0","padding-inline-start":"0","padding-left":"0","padding-right":"0","padding-top":"0","page-break-after":"auto","page-break-before":"auto","page-break-inside":"auto","paint-order":"normal","perspective":"none","place-content":"normal","pointer-events":"auto","position":"static","resize":"none","right":"auto","rotate":"none","row-gap":"normal","ruby-position":"over","scale":"none","scrollbar-color":"auto","scrollbar-width":"auto","scroll-behavior":"auto","scroll-margin":"0","scroll-margin-block":"0","scroll-margin-block-start":"0","scroll-margin-block-end":"0","scroll-margin-bottom":"0","scroll-margin-inline":"0","scroll-margin-inline-start":"0","scroll-margin-inline-end":"0","scroll-margin-left":"0","scroll-margin-right":"0","scroll-margin-top":"0","scroll-padding":"auto","scroll-padding-block":"auto","scroll-padding-block-start":"auto","scroll-padding-block-end":"auto","scroll-padding-bottom":"auto","scroll-padding-inline":"auto","scroll-padding-inline-start":"auto","scroll-padding-inline-end":"auto","scroll-padding-left":"auto","scroll-padding-right":"auto","scroll-padding-top":"auto","scroll-snap-align":"none","scroll-snap-coordinate":"none","scroll-snap-points-x":"none","scroll-snap-points-y":"none","scroll-snap-stop":"normal","scroll-snap-type":"none","shape-image-threshold":"0.0","shape-margin":"0","shape-outside":"none","tab-size":"8","table-layout":"auto","text-align-last":"auto","text-combine-upright":"none","text-decoration-line":"none","text-decoration-skip-ink":"auto","text-decoration-style":"solid","text-emphasis-style":"none","text-indent":"0","text-justify":"auto","text-orientation":"mixed","text-overflow":"clip","text-rendering":"auto","text-shadow":"none","text-transform":"none","text-underline-position":"auto","top":"auto","touch-action":"auto","transform":"none","transform-style":"flat","transition-delay":"0s","transition-duration":"0s","transition-property":"all","transition-timing-function":"ease","translate":"none","unicode-bidi":"normal","white-space":"normal","widows":"2","width":"auto","will-change":"auto","word-break":"normal","word-spacing":"normal","word-wrap":"normal","z-index":"auto"}');

/***/ }),

/***/ 46080:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('{"background-clip":"border-box","background-color":"transparent","background-origin":"padding-box","background-size":"auto auto","border-block-color":"currentcolor","border-block-end-color":"currentcolor","border-block-start-color":"currentcolor","border-bottom-color":"currentcolor","border-collapse":"separate","border-inline-color":"currentcolor","border-inline-end-color":"currentcolor","border-inline-start-color":"currentcolor","border-left-color":"currentcolor","border-right-color":"currentcolor","border-top-color":"currentcolor","box-sizing":"content-box","column-rule-color":"currentcolor","font-synthesis":"weight style","mask-clip":"border-box","mask-mode":"match-source","mask-origin":"border-box","mask-repeat":"repeat","mask-type":"luminance","ruby-align":"space-around","ruby-merge":"separate","text-decoration-color":"currentcolor","text-emphasis-color":"currentcolor","text-emphasis-position":"over right","transform-box":"border-box","transform-origin":"50% 50% 0","vertical-align":"baseline","writing-mode":"horizontal-tb"}');

/***/ }),

/***/ 19001:
/***/ ((module) => {

"use strict";
module.exports = JSON.parse('["ah","apple","atsc","epub","hp","khtml","moz","ms","o","rim","ro","tc","wap","webkit","xv"]');

/***/ }),

/***/ 35747:
/***/ ((module) => {

"use strict";
module.exports = require("fs");;

/***/ }),

/***/ 32282:
/***/ ((module) => {

"use strict";
module.exports = require("module");;

/***/ }),

/***/ 12087:
/***/ ((module) => {

"use strict";
module.exports = require("os");;

/***/ }),

/***/ 85622:
/***/ ((module) => {

"use strict";
module.exports = require("path");;

/***/ }),

/***/ 78835:
/***/ ((module) => {

"use strict";
module.exports = require("url");;

/***/ }),

/***/ 31669:
/***/ ((module) => {

"use strict";
module.exports = require("util");;

/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __nccwpck_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			id: moduleId,
/******/ 			loaded: false,
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		var threw = true;
/******/ 		try {
/******/ 			__webpack_modules__[moduleId].call(module.exports, module, module.exports, __nccwpck_require__);
/******/ 			threw = false;
/******/ 		} finally {
/******/ 			if(threw) delete __webpack_module_cache__[moduleId];
/******/ 		}
/******/ 	
/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	(() => {
/******/ 		__nccwpck_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/node module decorator */
/******/ 	(() => {
/******/ 		__nccwpck_require__.nmd = (module) => {
/******/ 			module.paths = [];
/******/ 			if (!module.children) module.children = [];
/******/ 			return module;
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/compat */
/******/ 	
/******/ 	if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
var exports = __webpack_exports__;


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.lazyAutoprefixer = lazyAutoprefixer;
exports.lazyCssnano = lazyCssnano;
exports.postcss = void 0;

let postcss = __nccwpck_require__(77001);

exports.postcss = postcss;

function lazyAutoprefixer() {
  return __nccwpck_require__(1376);
}

function lazyCssnano() {
  return __nccwpck_require__(8313);
}
})();

module.exports = __webpack_exports__;
/******/ })()
;

Anon7 - 2022
AnonSec Team