{ "version": 3, "sources": ["../node_modules/source-map-js/lib/base64.js", "../node_modules/source-map-js/lib/base64-vlq.js", "../node_modules/source-map-js/lib/util.js", "../node_modules/source-map-js/lib/array-set.js", "../node_modules/source-map-js/lib/mapping-list.js", "../node_modules/source-map-js/lib/source-map-generator.js", "../src/index.js", "../node_modules/css-tree/lib/tokenizer/char-code-definitions.js", "../node_modules/css-tree/lib/tokenizer/utils.js", "../node_modules/css-tree/lib/tokenizer/names.js", "../node_modules/css-tree/lib/tokenizer/adopt-buffer.js", "../node_modules/css-tree/lib/tokenizer/OffsetToLocation.js", "../node_modules/css-tree/lib/tokenizer/TokenStream.js", "../node_modules/css-tree/lib/tokenizer/index.js", "../node_modules/css-tree/lib/generator/sourceMap.js", "../node_modules/css-tree/lib/generator/token-before.js", "../node_modules/css-tree/lib/generator/create.js", "../node_modules/css-tree/lib/syntax/node/index-generate.js", "../node_modules/css-tree/lib/syntax/node/AnPlusB.js", "../node_modules/css-tree/lib/syntax/node/Atrule.js", "../node_modules/css-tree/lib/syntax/node/AtrulePrelude.js", "../node_modules/css-tree/lib/syntax/node/AttributeSelector.js", "../node_modules/css-tree/lib/syntax/node/Block.js", "../node_modules/css-tree/lib/syntax/node/Brackets.js", "../node_modules/css-tree/lib/syntax/node/CDC.js", "../node_modules/css-tree/lib/syntax/node/CDO.js", "../node_modules/css-tree/lib/syntax/node/ClassSelector.js", "../node_modules/css-tree/lib/syntax/node/Combinator.js", "../node_modules/css-tree/lib/syntax/node/Comment.js", "../node_modules/css-tree/lib/syntax/node/Condition.js", "../node_modules/css-tree/lib/syntax/node/Declaration.js", "../node_modules/css-tree/lib/syntax/node/DeclarationList.js", "../node_modules/css-tree/lib/syntax/node/Dimension.js", "../node_modules/css-tree/lib/syntax/node/Feature.js", "../node_modules/css-tree/lib/syntax/node/FeatureFunction.js", "../node_modules/css-tree/lib/syntax/node/FeatureRange.js", "../node_modules/css-tree/lib/syntax/node/Function.js", "../node_modules/css-tree/lib/syntax/node/GeneralEnclosed.js", "../node_modules/css-tree/lib/syntax/node/Hash.js", "../node_modules/css-tree/lib/syntax/node/Identifier.js", "../node_modules/css-tree/lib/syntax/node/IdSelector.js", "../node_modules/css-tree/lib/syntax/node/Layer.js", "../node_modules/css-tree/lib/syntax/node/LayerList.js", "../node_modules/css-tree/lib/syntax/node/MediaQuery.js", "../node_modules/css-tree/lib/syntax/node/MediaQueryList.js", "../node_modules/css-tree/lib/syntax/node/NestingSelector.js", "../node_modules/css-tree/lib/syntax/node/Nth.js", "../node_modules/css-tree/lib/syntax/node/Number.js", "../node_modules/css-tree/lib/syntax/node/Operator.js", "../node_modules/css-tree/lib/syntax/node/Parentheses.js", "../node_modules/css-tree/lib/syntax/node/Percentage.js", "../node_modules/css-tree/lib/syntax/node/PseudoClassSelector.js", "../node_modules/css-tree/lib/syntax/node/PseudoElementSelector.js", "../node_modules/css-tree/lib/syntax/node/Ratio.js", "../node_modules/css-tree/lib/syntax/node/Raw.js", "../node_modules/css-tree/lib/syntax/node/Rule.js", "../node_modules/css-tree/lib/syntax/node/Scope.js", "../node_modules/css-tree/lib/syntax/node/Selector.js", "../node_modules/css-tree/lib/syntax/node/SelectorList.js", "../node_modules/css-tree/lib/utils/string.js", "../node_modules/css-tree/lib/syntax/node/String.js", "../node_modules/css-tree/lib/syntax/node/StyleSheet.js", "../node_modules/css-tree/lib/syntax/node/SupportsDeclaration.js", "../node_modules/css-tree/lib/syntax/node/TypeSelector.js", "../node_modules/css-tree/lib/syntax/node/UnicodeRange.js", "../node_modules/css-tree/lib/utils/url.js", "../node_modules/css-tree/lib/syntax/node/Url.js", "../node_modules/css-tree/lib/syntax/node/Value.js", "../node_modules/css-tree/lib/syntax/node/WhiteSpace.js", "../node_modules/css-tree/lib/syntax/config/generator.js", "../node_modules/css-tree/lib/generator/index.js", "../node_modules/css-tree/lib/utils/List.js", "../node_modules/css-tree/lib/utils/create-custom-error.js", "../node_modules/css-tree/lib/parser/SyntaxError.js", "../node_modules/css-tree/lib/parser/sequence.js", "../node_modules/css-tree/lib/parser/create.js", "../node_modules/css-tree/lib/syntax/scope/selector.js", "../node_modules/css-tree/lib/syntax/pseudo/lang.js", "../node_modules/css-tree/lib/syntax/pseudo/index.js", "../node_modules/css-tree/lib/syntax/node/index-parse-selector.js", "../node_modules/css-tree/lib/syntax/config/parser-selector.js", "../node_modules/css-tree/lib/parser/parse-selector.js", "../src/util/compare.js", "../src/util/sort.js", "../src/util/filter.js", "../src/core/calculate.js"], "sourcesContent": ["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n", "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\nvar MAX_CACHED_INPUTS = 32;\n\n/**\n * Takes some function `f(input) -> result` and returns a memoized version of\n * `f`.\n *\n * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The\n * memoization is a dumb-simple, linear least-recently-used cache.\n */\nfunction lruMemoize(f) {\n var cache = [];\n\n return function(input) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].input === input) {\n var temp = cache[0];\n cache[0] = cache[i];\n cache[i] = temp;\n return cache[0].result;\n }\n }\n\n var result = f(input);\n\n cache.unshift({\n input,\n result,\n });\n\n if (cache.length > MAX_CACHED_INPUTS) {\n cache.pop();\n }\n\n return result;\n };\n}\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '