{"dependencies":[{"name":"../tokenizer","data":{"asyncType":null,"isESMImport":false,"locs":[{"start":{"line":1,"column":16,"index":16},"end":{"line":1,"column":39,"index":39}}],"key":"CeLPNCNjt8y0xnwsIyTQzXoUUj0=","exportNames":["*"],"imports":1}},{"name":"./generic-an-plus-b","data":{"asyncType":null,"isESMImport":false,"locs":[{"start":{"line":8,"column":14,"index":283},"end":{"line":8,"column":44,"index":313}}],"key":"K5hdYEPur0ApTgd250CgagK+ze4=","exportNames":["*"],"imports":1}},{"name":"./generic-urange","data":{"asyncType":null,"isESMImport":false,"locs":[{"start":{"line":9,"column":13,"index":328},"end":{"line":9,"column":40,"index":355}}],"key":"Fq7odR/f9C0xMKbpnUiNyUapARw=","exportNames":["*"],"imports":1}}],"output":[{"data":{"code":"__d(function (global, require, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\n var tokenizer = require(_dependencyMap[0], \"../tokenizer\");\n var isIdentifierStart = tokenizer.isIdentifierStart;\n var isHexDigit = tokenizer.isHexDigit;\n var isDigit = tokenizer.isDigit;\n var cmpStr = tokenizer.cmpStr;\n var consumeNumber = tokenizer.consumeNumber;\n var TYPE = tokenizer.TYPE;\n var anPlusB = require(_dependencyMap[1], \"./generic-an-plus-b\");\n var urange = require(_dependencyMap[2], \"./generic-urange\");\n var cssWideKeywords = ['unset', 'initial', 'inherit'];\n var calcFunctionNames = ['calc(', '-moz-calc(', '-webkit-calc('];\n\n // https://www.w3.org/TR/css-values-3/#lengths\n var LENGTH = {\n // absolute length units\n 'px': true,\n 'mm': true,\n 'cm': true,\n 'in': true,\n 'pt': true,\n 'pc': true,\n 'q': true,\n // relative length units\n 'em': true,\n 'ex': true,\n 'ch': true,\n 'rem': true,\n // viewport-percentage lengths\n 'vh': true,\n 'vw': true,\n 'vmin': true,\n 'vmax': true,\n 'vm': true\n };\n var ANGLE = {\n 'deg': true,\n 'grad': true,\n 'rad': true,\n 'turn': true\n };\n var TIME = {\n 's': true,\n 'ms': true\n };\n var FREQUENCY = {\n 'hz': true,\n 'khz': true\n };\n\n // https://www.w3.org/TR/css-values-3/#resolution (https://drafts.csswg.org/css-values/#resolution)\n var RESOLUTION = {\n 'dpi': true,\n 'dpcm': true,\n 'dppx': true,\n 'x': true // https://github.com/w3c/csswg-drafts/issues/461\n };\n\n // https://drafts.csswg.org/css-grid/#fr-unit\n var FLEX = {\n 'fr': true\n };\n\n // https://www.w3.org/TR/css3-speech/#mixing-props-voice-volume\n var DECIBEL = {\n 'db': true\n };\n\n // https://www.w3.org/TR/css3-speech/#voice-props-voice-pitch\n var SEMITONES = {\n 'st': true\n };\n\n // safe char code getter\n function charCode(str, index) {\n return index < str.length ? str.charCodeAt(index) : 0;\n }\n function eqStr(actual, expected) {\n return cmpStr(actual, 0, actual.length, expected);\n }\n function eqStrAny(actual, expected) {\n for (var i = 0; i < expected.length; i++) {\n if (eqStr(actual, expected[i])) {\n return true;\n }\n }\n return false;\n }\n\n // IE postfix hack, i.e. 123\\0 or 123px\\9\n function isPostfixIeHack(str, offset) {\n if (offset !== str.length - 2) {\n return false;\n }\n return str.charCodeAt(offset) === 0x005C &&\n // U+005C REVERSE SOLIDUS (\\)\n isDigit(str.charCodeAt(offset + 1));\n }\n function outOfRange(opts, value, numEnd) {\n if (opts && opts.type === 'Range') {\n var num = Number(numEnd !== undefined && numEnd !== value.length ? value.substr(0, numEnd) : value);\n if (isNaN(num)) {\n return true;\n }\n if (opts.min !== null && num < opts.min) {\n return true;\n }\n if (opts.max !== null && num > opts.max) {\n return true;\n }\n }\n return false;\n }\n function consumeFunction(token, getNextToken) {\n var startIdx = token.index;\n var length = 0;\n\n // balanced token consuming\n do {\n length++;\n if (token.balance <= startIdx) {\n break;\n }\n } while (token = getNextToken(length));\n return length;\n }\n\n // TODO: implement\n // can be used wherever , , ,