{"version":3,"file":"static/js/2816_61491c27156a88c690e1.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Enum.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Middleware.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Parser.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Serializer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Tokenizer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Utility.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Enum.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Middleware.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Parser.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Serializer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Tokenizer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Utility.js"],"sourcesContent":["export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n"],"names":["MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","middleware","collection","length","element","index","children","callback","output","i","rulesheet","root","return","compile","value","parse","parent","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","character","type","props","reference","characters","comment","declaration","ruleset","post","size","j","k","x","y","z","serialize","stringify","join","line","column","position","node","copy","char","prev","next","peek","caret","slice","begin","end","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","abs","Math","from","String","fromCharCode","assign","Object","hash","charat","trim","match","pattern","exec","replace","replacement","indexof","search","indexOf","charCodeAt","substr","strlen","sizeof","append","array","push","combine","map","MEDIA","SUPPORTS","siblings","tokenize","tokenizer"],"sourceRoot":""}