{"dependencies":[{"name":"@babel/runtime/helpers/asyncToGenerator","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"YisBBiy2Xm9DEVdFebZ2nbgAHBo=","exportNames":["*"],"imports":1}},{"name":"@babel/runtime/helpers/classCallCheck","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"yg7e6laZwmpbIvId5jovq9ugXp8=","exportNames":["*"],"imports":1}},{"name":"@babel/runtime/helpers/createClass","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"Z6pzkVZ2fvxBLkFTgVVOy4UDj30=","exportNames":["*"],"imports":1}},{"name":"@babel/runtime/helpers/callSuper","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"378KbBHdmndC3iMXZ2Ix8oB3LeE=","exportNames":["*"],"imports":1}},{"name":"@babel/runtime/helpers/inherits","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"y0uNg4LxF1CLscQChxzgo5dfjvA=","exportNames":["*"],"imports":1}},{"name":"@babel/runtime/helpers/slicedToArray","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"5y7e5+zC7teYEEC6niD9f5zII1M=","exportNames":["*"],"imports":1}},{"name":"react","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":31,"index":31}}],"key":"RtGiGa+/H7VrI7GDQDLhO1UbpU8=","exportNames":["*"],"imports":1}},{"name":"react-native-svg","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":13,"column":0,"index":230},"end":{"line":13,"column":71,"index":301}}],"key":"lCMYlEpYXUxeSuxY/qJGK1buGwU=","exportNames":["*"],"imports":1}},{"name":"css-tree","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":26,"column":0,"index":478},"end":{"line":26,"column":41,"index":519}}],"key":"OIxOffppT4lTKeOc96PLpHAYgKo=","exportNames":["*"],"imports":1}},{"name":"css-select","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":28,"column":0,"index":563},"end":{"line":28,"column":35,"index":598}}],"key":"93rcW32Mt0JmyoS0VtcWwtXOvAE=","exportNames":["*"],"imports":1}},{"name":"react/jsx-dev-runtime","data":{"asyncType":null,"isESMImport":false,"locs":[],"key":"L9D70Z4hi4aGuui1ysja/oQ5ytI=","exportNames":["*"],"imports":1}}],"output":[{"data":{"code":"__d(function (global, require, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\n \"use strict\";\n\n var _jsxFileName = \"/app/frontend/node_modules/react-native-svg/src/css/css.tsx\";\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n function _interopDefault(e) {\n return e && e.__esModule ? e : {\n default: e\n };\n }\n Object.defineProperty(exports, \"inlineStyles\", {\n enumerable: true,\n get: function () {\n return inlineStyles;\n }\n });\n exports.SvgCss = SvgCss;\n exports.SvgCssUri = SvgCssUri;\n Object.defineProperty(exports, \"SvgWithCss\", {\n enumerable: true,\n get: function () {\n return SvgWithCss;\n }\n });\n Object.defineProperty(exports, \"SvgWithCssUri\", {\n enumerable: true,\n get: function () {\n return SvgWithCssUri;\n }\n });\n var _babelRuntimeHelpersAsyncToGenerator = require(_dependencyMap[0], \"@babel/runtime/helpers/asyncToGenerator\");\n var _asyncToGenerator = _interopDefault(_babelRuntimeHelpersAsyncToGenerator);\n var _babelRuntimeHelpersClassCallCheck = require(_dependencyMap[1], \"@babel/runtime/helpers/classCallCheck\");\n var _classCallCheck = _interopDefault(_babelRuntimeHelpersClassCallCheck);\n var _babelRuntimeHelpersCreateClass = require(_dependencyMap[2], \"@babel/runtime/helpers/createClass\");\n var _createClass = _interopDefault(_babelRuntimeHelpersCreateClass);\n var _babelRuntimeHelpersCallSuper = require(_dependencyMap[3], \"@babel/runtime/helpers/callSuper\");\n var _callSuper = _interopDefault(_babelRuntimeHelpersCallSuper);\n var _babelRuntimeHelpersInherits = require(_dependencyMap[4], \"@babel/runtime/helpers/inherits\");\n var _inherits = _interopDefault(_babelRuntimeHelpersInherits);\n var _babelRuntimeHelpersSlicedToArray = require(_dependencyMap[5], \"@babel/runtime/helpers/slicedToArray\");\n var _slicedToArray = _interopDefault(_babelRuntimeHelpersSlicedToArray);\n var _react = require(_dependencyMap[6], \"react\");\n var _reactNativeSvg = require(_dependencyMap[7], \"react-native-svg\");\n var _cssTree = require(_dependencyMap[8], \"css-tree\");\n var csstree = _interopDefault(_cssTree);\n var _cssSelect = require(_dependencyMap[9], \"css-select\");\n var cssSelect = _interopDefault(_cssSelect);\n var _reactJsxDevRuntime = require(_dependencyMap[10], \"react/jsx-dev-runtime\");\n var err = console.error.bind(console);\n\n /*\n * Style element inlining experiment based on SVGO\n * https://github.com/svg/svgo/blob/11f9c797411a8de966aacc4cb83dbb3e471757bc/plugins/inlineStyles.js\n * */\n\n /**\n * DOMUtils API for rnsvg AST (used by css-select)\n */\n // is the node a tag?\n // isTag: ( node:Node ) => isTag:Boolean\n function isTag(node) {\n return typeof node === 'object';\n }\n\n // get the parent of the node\n // getParent: ( node:Node ) => parentNode:Node\n // returns null when no parent exists\n function getParent(node) {\n return typeof node === 'object' && node.parent || null;\n }\n\n // get the node's children\n // getChildren: ( node:Node ) => children:[Node]\n function getChildren(node) {\n return typeof node === 'object' && node.children || [];\n }\n\n // get the name of the tag'\n // getName: ( elem:ElementNode ) => tagName:String\n function getName(elem) {\n return elem.tag;\n }\n\n // get the text content of the node, and its children if it has any\n // getText: ( node:Node ) => text:String\n // returns empty string when there is no text\n function getText(_node) {\n return '';\n }\n\n // get the attribute value\n // getAttributeValue: ( elem:ElementNode, name:String ) => value:String\n // returns null when attribute doesn't exist\n function getAttributeValue(elem, name) {\n return elem.props[name] || null;\n }\n\n // takes an array of nodes, and removes any duplicates, as well as any nodes\n // whose ancestors are also in the array\n function removeSubsets(nodes) {\n var idx = nodes.length;\n var node;\n var ancestor;\n var replace;\n\n // Check if each node (or one of its ancestors) is already contained in the\n // array.\n while (--idx > -1) {\n node = ancestor = nodes[idx];\n\n // Temporarily remove the node under consideration\n delete nodes[idx];\n replace = true;\n while (ancestor) {\n if (nodes.includes(ancestor)) {\n replace = false;\n nodes.splice(idx, 1);\n break;\n }\n ancestor = typeof ancestor === 'object' && ancestor.parent || null;\n }\n\n // If the node has been found to be unique, re-insert it.\n if (replace) {\n nodes[idx] = node;\n }\n }\n return nodes;\n }\n\n // does at least one of passed element nodes pass the test predicate?\n function existsOne(predicate, elems) {\n return elems.some(elem => typeof elem === 'object' && (predicate(elem) || existsOne(predicate, elem.children)));\n }\n\n /*\n get the siblings of the node. Note that unlike jQuery's `siblings` method,\n this is expected to include the current node as well\n */\n function getSiblings(node) {\n var parent = typeof node === 'object' && node.parent;\n return parent && parent.children || [];\n }\n\n // does the element have the named attribute?\n function hasAttrib(elem, name) {\n return Object.prototype.hasOwnProperty.call(elem.props, name);\n }\n\n // finds the first node in the array that matches the test predicate, or one\n // of its children\n function findOne(predicate, elems) {\n var elem = null;\n for (var i = 0, l = elems.length; i < l && !elem; i++) {\n var node = elems[i];\n if (typeof node === 'string') {\n /* empty */\n } else if (predicate(node)) {\n elem = node;\n } else {\n var children = node.children;\n if (children.length !== 0) {\n elem = findOne(predicate, children);\n }\n }\n }\n return elem;\n }\n\n // finds all of the element nodes in the array that match the test predicate,\n // as well as any of their children that match it\n function findAll(predicate, nodes) {\n var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n for (var i = 0, j = nodes.length; i < j; i++) {\n var node = nodes[i];\n if (typeof node !== 'object') {\n continue;\n }\n if (predicate(node)) {\n result.push(node);\n }\n var children = node.children;\n if (children.length !== 0) {\n findAll(predicate, children, result);\n }\n }\n return result;\n }\n var cssSelectOpts = {\n xmlMode: true,\n adapter: {\n removeSubsets,\n existsOne,\n getSiblings,\n hasAttrib,\n findOne,\n findAll,\n isTag,\n getParent,\n getChildren,\n getName,\n getText,\n getAttributeValue\n }\n };\n /**\n * Flatten a CSS AST to a selectors list.\n *\n * @param {Object} cssAst css-tree AST to flatten\n * @param {Array} selectors\n */\n function flattenToSelectors(cssAst, selectors) {\n csstree.default.walk(cssAst, {\n visit: 'Rule',\n enter(rule) {\n var _ref = rule,\n type = _ref.type,\n prelude = _ref.prelude;\n if (type !== 'Rule') {\n return;\n }\n var atrule = this.atrule;\n prelude.children.each((node, item) => {\n var _ref2 = node,\n children = _ref2.children;\n var pseudos = [];\n selectors.push({\n item,\n atrule,\n rule,\n pseudos\n });\n children.each((_ref3, pseudoItem, list) => {\n var childType = _ref3.type;\n if (childType === 'PseudoClassSelector' || childType === 'PseudoElementSelector') {\n pseudos.push({\n item: pseudoItem,\n list\n });\n }\n });\n });\n }\n });\n }\n\n /**\n * Filter selectors by Media Query.\n *\n * @param {Array} selectors to filter\n * @return {Array} Filtered selectors that match the passed media queries\n */\n function filterByMqs(selectors) {\n return selectors.filter(_ref4 => {\n var atrule = _ref4.atrule;\n if (atrule === null) {\n return true;\n }\n var name = atrule.name,\n prelude = atrule.prelude;\n var atPrelude = prelude;\n var first = atPrelude && atPrelude.children.first();\n var mq = first && first.type === 'MediaQueryList';\n var query = mq ? csstree.default.generate(atPrelude) : name;\n return useMqs.includes(query);\n });\n }\n // useMqs Array with strings of media queries that should pass ( )\n var useMqs = ['', 'screen'];\n\n /**\n * Filter selectors by the pseudo-elements and/or -classes they contain.\n *\n * @param {Array} selectors to filter\n * @return {Array} Filtered selectors that match the passed pseudo-elements and/or -classes\n */\n function filterByPseudos(selectors) {\n return selectors.filter(_ref5 => {\n var pseudos = _ref5.pseudos;\n return usePseudos.includes(csstree.default.generate({\n type: 'Selector',\n children: new _cssTree.List().fromArray(pseudos.map(pseudo => pseudo.item.data))\n }));\n });\n }\n // usePseudos Array with strings of single or sequence of pseudo-elements and/or -classes that should pass\n var usePseudos = [''];\n\n /**\n * Remove pseudo-elements and/or -classes from the selectors for proper matching.\n *\n * @param {Array} selectors to clean\n * @return {Array} Selectors without pseudo-elements and/or -classes\n */\n function cleanPseudos(selectors) {\n selectors.forEach(_ref6 => {\n var pseudos = _ref6.pseudos;\n return pseudos.forEach(pseudo => pseudo.list.remove(pseudo.item));\n });\n }\n function specificity(selector) {\n var A = 0;\n var B = 0;\n var C = 0;\n selector.children.each(function walk(node) {\n switch (node.type) {\n case 'SelectorList':\n case 'Selector':\n node.children.each(walk);\n break;\n case 'IdSelector':\n A++;\n break;\n case 'ClassSelector':\n case 'AttributeSelector':\n B++;\n break;\n case 'PseudoClassSelector':\n switch (node.name.toLowerCase()) {\n case 'not':\n {\n var children = node.children;\n children && children.each(walk);\n break;\n }\n case 'before':\n case 'after':\n case 'first-line':\n case 'first-letter':\n C++;\n break;\n\n // TODO: support for :nth-*(.. of ), :matches(), :has()\n\n default:\n B++;\n }\n break;\n case 'PseudoElementSelector':\n C++;\n break;\n case 'TypeSelector':\n {\n // ignore universal selector\n var name = node.name;\n if (name.charAt(name.length - 1) !== '*') {\n C++;\n }\n break;\n }\n }\n });\n return [A, B, C];\n }\n\n /**\n * Compares two selector specificities.\n * extracted from https://github.com/keeganstreet/specificity/blob/master/specificity.js#L211\n *\n * @param {Array} aSpecificity Specificity of selector A\n * @param {Array} bSpecificity Specificity of selector B\n * @return {Number} Score of selector specificity A compared to selector specificity B\n */\n function compareSpecificity(aSpecificity, bSpecificity) {\n for (var i = 0; i < 4; i += 1) {\n if (aSpecificity[i] < bSpecificity[i]) {\n return -1;\n } else if (aSpecificity[i] > bSpecificity[i]) {\n return 1;\n }\n }\n return 0;\n }\n function selectorWithSpecificity(selector) {\n return {\n selector,\n specificity: specificity(selector.item.data)\n };\n }\n\n /**\n * Compare two simple selectors.\n *\n * @param {Object} a Simple selector A\n * @param {Object} b Simple selector B\n * @return {Number} Score of selector A compared to selector B\n */\n function bySelectorSpecificity(a, b) {\n return compareSpecificity(a.specificity, b.specificity);\n }\n\n // Run a single pass with the given chunk size.\n function pass(arr, len, chk, result) {\n // Step size / double chunk size.\n var dbl = chk * 2;\n // Bounds of the left and right chunks.\n var l, r, e;\n // Iterators over the left and right chunk.\n var li, ri;\n\n // Iterate over pairs of chunks.\n var i = 0;\n for (l = 0; l < len; l += dbl) {\n r = l + chk;\n e = r + chk;\n if (r > len) {\n r = len;\n }\n if (e > len) {\n e = len;\n }\n\n // Iterate both chunks in parallel.\n li = l;\n ri = r;\n while (true) {\n // Compare the chunks.\n if (li < r && ri < e) {\n // This works for a regular `sort()` compatible comparator,\n // but also for a simple comparator like: `a > b`\n if (bySelectorSpecificity(arr[li], arr[ri]) <= 0) {\n result[i++] = arr[li++];\n } else {\n result[i++] = arr[ri++];\n }\n }\n // Nothing to compare, just flush what's left.\n else if (li < r) {\n result[i++] = arr[li++];\n } else if (ri < e) {\n result[i++] = arr[ri++];\n }\n // Both iterators are at the chunk ends.\n else {\n break;\n }\n }\n }\n }\n\n // Execute the sort using the input array and a second buffer as work space.\n // Returns one of those two, containing the final result.\n function exec(arr, len) {\n // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.\n // Chunks are the size of the left or right hand in merge sort.\n // Stop when the left-hand covers all of the array.\n var buffer = new Array(len);\n for (var chk = 1; chk < len; chk *= 2) {\n pass(arr, len, chk, buffer);\n var tmp = arr;\n arr = buffer;\n buffer = tmp;\n }\n return arr;\n }\n\n /**\n * Sort selectors stably by their specificity.\n *\n * @param {Array} selectors to be sorted\n * @return {Array} Stable sorted selectors\n */\n function sortSelectors(selectors) {\n // Short-circuit when there's nothing to sort.\n var len = selectors.length;\n if (len <= 1) {\n return selectors;\n }\n var specs = selectors.map(selectorWithSpecificity);\n return exec(specs, len).map(s => s.selector);\n }\n var declarationParseProps = {\n context: 'declarationList',\n parseValue: false\n };\n function CSSStyleDeclaration(ast) {\n var props = ast.props,\n styles = ast.styles;\n if (!props.style) {\n props.style = {};\n }\n var style = props.style;\n var priority = new Map();\n ast.style = style;\n ast.priority = priority;\n if (!styles || styles.length === 0) {\n return;\n }\n try {\n var declarations = csstree.default.parse(styles, declarationParseProps);\n declarations.children.each(node => {\n try {\n var _ref7 = node,\n property = _ref7.property,\n value = _ref7.value,\n important = _ref7.important;\n var name = property.trim();\n priority.set(name, important);\n style[(0, _reactNativeSvg.camelCase)(name)] = csstree.default.generate(value).trim();\n } catch (styleError) {\n if (styleError instanceof Error && styleError.message !== 'Unknown node type: undefined') {\n 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: \" + styleError);\n }\n }\n });\n } catch (parseError) {\n 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: \" + parseError);\n }\n }\n function initStyle(selectedEl) {\n if (!selectedEl.style) {\n CSSStyleDeclaration(selectedEl);\n }\n return selectedEl;\n }\n\n /**\n * Find the closest ancestor of the current element.\n * @param node\n * @param elemName\n * @return {?Object}\n */\n function closestElem(node, elemName) {\n var elem = node;\n while ((elem = elem.parent) && elem.tag !== elemName) {\n /* empty */\n }\n return elem;\n }\n var parseProps = {\n parseValue: false,\n parseCustomProperty: false\n };\n\n /**\n * Moves + merges styles from style elements to element styles\n *\n * Options\n * useMqs (default: ['', 'screen'])\n * what media queries to be used\n * empty string element for styles outside media queries\n *\n * usePseudos (default: [''])\n * what pseudo-classes/-elements to be used\n * empty string element for all non-pseudo-classes and/or -elements\n *\n * @param {Object} document document element\n *\n * @author strarsis \n * @author modified by: msand \n */\n\n function extractVariables(stylesheet) {\n var variables = new Map();\n csstree.default.walk(stylesheet, {\n visit: 'Declaration',\n enter(node) {\n var _ref8 = node,\n property = _ref8.property,\n value = _ref8.value;\n if (property.startsWith('--')) {\n var variableName = property.trim();\n var variableValue = csstree.default.generate(value).trim();\n variables.set(variableName, variableValue);\n }\n }\n });\n return variables;\n }\n function resolveVariables(value, variables) {\n if (value === undefined) {\n return '';\n }\n var valueStr = typeof value === 'string' ? value : csstree.default.generate(value);\n return valueStr.replace(/var\\((--[^,)]+)(?:,\\s*([^)]+))?\\)/g, (_, variableName, fallback) => {\n var resolvedValue = variables.get(variableName);\n if (resolvedValue !== undefined) {\n return resolveVariables(resolvedValue, variables);\n }\n return fallback ? resolveVariables(fallback, variables) : '';\n });\n }\n var propsToResolve = ['color', 'fill', 'floodColor', 'lightingColor', 'stopColor', 'stroke'];\n var resolveElementVariables = (element, variables) => propsToResolve.forEach(prop => {\n var value = element.props[prop];\n if (value && value.startsWith('var(')) {\n element.props[prop] = resolveVariables(value, variables);\n }\n });\n var inlineStyles = function inlineStyles(document) {\n // collect