1!function(e){var n={};function t(r){if(n[r])return n[r].exports;var s=n[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var s in e)t.d(r,s,function(n){return e[n]}.bind(null,s));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s="./src/client/main.js")}({
vendor: 5,984 bytes, lines 1-5
1"../../../../usr/local/lib/node_modules/webpack/node_modules/process/browser.js": 2/*!*************************************************!*\ 3 !*** (webpack)/node_modules/process/browser.js ***! 4 \*************************************************/ 5/*! no static exports found */function(module,exports){eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack:///(webpack)/node_modules/process/browser.js?")},
vendor: 56,116 bytes, lines 5-9
5"./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js": 6/*!**********************************************************************!*\ 7 !*** ./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js ***! 8 \**********************************************************************/ 9/*! exports provided: default */function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/*!\n * css-vars-ponyfill\n * v1.17.2\n * https://github.com/jhildenbiddle/css-vars-ponyfill\n * (c) 2018-2019 John Hildenbiddle <http://hildenbiddle.com>\n * MIT license\n */\nfunction _extends() {\n _extends = Object.assign || function(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError("Invalid attempt to spread non-iterable instance");\n}\n\n/*!\n * get-css-data\n * v1.6.3\n * https://github.com/jhildenbiddle/get-css-data\n * (c) 2018-2019 John Hildenbiddle <http://hildenbiddle.com>\n * MIT license\n */ function getUrls(urls) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var settings = {\n mimeType: options.mimeType || null,\n onBeforeSend: options.onBeforeSend || Function.prototype,\n onSuccess: options.onSuccess || Function.prototype,\n onError: options.onError || Function.prototype,\n onComplete: options.onComplete || Function.prototype\n };\n var urlArray = Array.isArray(urls) ? urls : [ urls ];\n var urlQueue = Array.apply(null, Array(urlArray.length)).map(function(x) {\n return null;\n });\n function isValidCss() {\n var cssText = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";\n var isHTML = cssText.trim().charAt(0) === "<";\n return !isHTML;\n }\n function onError(xhr, urlIndex) {\n settings.onError(xhr, urlArray[urlIndex], urlIndex);\n }\n function onSuccess(responseText, urlIndex) {\n var returnVal = settings.onSuccess(responseText, urlArray[urlIndex], urlIndex);\n responseText = returnVal === false ? "" : returnVal || responseText;\n urlQueue[urlIndex] = responseText;\n if (urlQueue.indexOf(null) === -1) {\n settings.onComplete(urlQueue);\n }\n }\n var parser = document.createElement("a");\n urlArray.forEach(function(url, i) {\n parser.setAttribute("href", url);\n parser.href = String(parser.href);\n var isIElte9 = Boolean(document.all && !window.atob);\n var isIElte9CORS = isIElte9 && parser.host.split(":")[0] !== location.host.split(":")[0];\n if (isIElte9CORS) {\n var isSameProtocol = parser.protocol === location.protocol;\n if (isSameProtocol) {\n var xdr = new XDomainRequest();\n xdr.open("GET", url);\n xdr.timeout = 0;\n xdr.onprogress = Function.prototype;\n xdr.ontimeout = Function.prototype;\n xdr.onload = function() {\n if (isValidCss(xdr.responseText)) {\n onSuccess(xdr.responseText, i);\n } else {\n onError(xdr, i);\n }\n };\n xdr.onerror = function(err) {\n onError(xdr, i);\n };\n setTimeout(function() {\n xdr.send();\n }, 0);\n } else {\n console.warn("Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol (".concat(url, ")"));\n onError(null, i);\n }\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open("GET", url);\n if (settings.mimeType && xhr.overrideMimeType) {\n xhr.overrideMimeType(settings.mimeType);\n }\n settings.onBeforeSend(xhr, url, i);\n xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n if (xhr.status === 200 && isValidCss(xhr.responseText)) {\n onSuccess(xhr.responseText, i);\n } else {\n onError(xhr, i);\n }\n }\n };\n xhr.send();\n }\n });\n}\n\n/**\n * Gets CSS data from <style> and <link> nodes (including @imports), then\n * returns data in order processed by DOM. Allows specifying nodes to\n * include/exclude and filtering CSS data using RegEx.\n *\n * @preserve\n * @param {object} [options] The options object\n * @param {object} [options.rootElement=document] Root element to traverse for\n * <link> and <style> nodes.\n * @param {string} [options.include] CSS selector matching <link> and <style>\n * nodes to include\n * @param {string} [options.exclude] CSS selector matching <link> and <style>\n * nodes to exclude\n * @param {object} [options.filter] Regular expression used to filter node CSS\n * data. Each block of CSS data is tested against the filter,\n * and only matching data is included.\n * @param {object} [options.useCSSOM=false] Determines if CSS data will be\n * collected from a stylesheet\'s runtime values instead of its\n * text content. This is required to get accurate CSS data\n * when a stylesheet has been modified using the deleteRule()\n * or insertRule() methods because these modifications will\n * not be reflected in the stylesheet\'s text content.\n * @param {function} [options.onBeforeSend] Callback before XHR is sent. Passes\n * 1) the XHR object, 2) source node reference, and 3) the\n * source URL as arguments.\n * @param {function} [options.onSuccess] Callback on each CSS node read. Passes\n * 1) CSS text, 2) source node reference, and 3) the source\n * URL as arguments.\n * @param {function} [options.onError] Callback on each error. Passes 1) the XHR\n * object for inspection, 2) soure node reference, and 3) the\n * source URL that failed (either a <link> href or an @import)\n * as arguments\n * @param {function} [options.onComplete] Callback after all nodes have been\n * processed. Passes 1) concatenated CSS text, 2) an array of\n * CSS text in DOM order, and 3) an array of nodes in DOM\n * order as arguments.\n *\n * @example\n *\n * getCssData({\n * rootElement: document,\n * include : \'style,link[rel="stylesheet"]\',\n * exclude : \'[href="skip.css"]\',\n * filter : /red/,\n * useCSSOM : false,\n * onBeforeSend(xhr, node, url) {\n * // ...\n * }\n * onSuccess(cssText, node, url) {\n * // ...\n * }\n * onError(xhr, node, url) {\n * // ...\n * },\n * onComplete(cssText, cssArray, nodeArray) {\n * // ...\n * }\n * });\n */ function getCssData(options) {\n var regex = {\n cssComments: /\\/\\*[\\s\\S]+?\\*\\//g,\n cssImports: /(?:@import\\s*)(?:url\\(\\s*)?(?:[\'"])([^\'"]*)(?:[\'"])(?:\\s*\\))?(?:[^;]*;)/g\n };\n var settings = {\n rootElement: options.rootElement || document,\n include: options.include || \'style,link[rel="stylesheet"]\',\n exclude: options.exclude || null,\n filter: options.filter || null,\n useCSSOM: options.useCSSOM || false,\n onBeforeSend: options.onBeforeSend || Function.prototype,\n onSuccess: options.onSuccess || Function.prototype,\n onError: options.onError || Function.prototype,\n onComplete: options.onComplete || Function.prototype\n };\n var sourceNodes = Array.apply(null, settings.rootElement.querySelectorAll(settings.include)).filter(function(node) {\n return !matchesSelector(node, settings.exclude);\n });\n var cssArray = Array.apply(null, Array(sourceNodes.length)).map(function(x) {\n return null;\n });\n function handleComplete() {\n var isComplete = cssArray.indexOf(null) === -1;\n if (isComplete) {\n var cssText = cssArray.join("");\n settings.onComplete(cssText, cssArray, sourceNodes);\n }\n }\n function handleSuccess(cssText, cssIndex, node, sourceUrl) {\n var returnVal = settings.onSuccess(cssText, node, sourceUrl);\n cssText = returnVal !== undefined && Boolean(returnVal) === false ? "" : returnVal || cssText;\n resolveImports(cssText, node, sourceUrl, function(resolvedCssText, errorData) {\n if (cssArray[cssIndex] === null) {\n errorData.forEach(function(data) {\n return settings.onError(data.xhr, node, data.url);\n });\n if (!settings.filter || settings.filter.test(resolvedCssText)) {\n cssArray[cssIndex] = resolvedCssText;\n } else {\n cssArray[cssIndex] = "";\n }\n handleComplete();\n }\n });\n }\n function parseImportData(cssText, baseUrl) {\n var ignoreRules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var importData = {};\n importData.rules = (cssText.replace(regex.cssComments, "").match(regex.cssImports) || []).filter(function(rule) {\n return ignoreRules.indexOf(rule) === -1;\n });\n importData.urls = importData.rules.map(function(rule) {\n return rule.replace(regex.cssImports, "$1");\n });\n importData.absoluteUrls = importData.urls.map(function(url) {\n return getFullUrl(url, baseUrl);\n });\n importData.absoluteRules = importData.rules.map(function(rule, i) {\n var oldUrl = importData.urls[i];\n var newUrl = getFullUrl(importData.absoluteUrls[i], baseUrl);\n return rule.replace(oldUrl, newUrl);\n });\n return importData;\n }\n function resolveImports(cssText, node, baseUrl, callbackFn) {\n var __errorData = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];\n var __errorRules = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];\n var importData = parseImportData(cssText, baseUrl, __errorRules);\n if (importData.rules.length) {\n getUrls(importData.absoluteUrls, {\n onBeforeSend: function onBeforeSend(xhr, url, urlIndex) {\n settings.onBeforeSend(xhr, node, url);\n },\n onSuccess: function onSuccess(cssText, url, urlIndex) {\n var returnVal = settings.onSuccess(cssText, node, url);\n cssText = returnVal === false ? "" : returnVal || cssText;\n var responseImportData = parseImportData(cssText, url, __errorRules);\n responseImportData.rules.forEach(function(rule, i) {\n cssText = cssText.replace(rule, responseImportData.absoluteRules[i]);\n });\n return cssText;\n },\n onError: function onError(xhr, url, urlIndex) {\n __errorData.push({\n xhr: xhr,\n url: url\n });\n __errorRules.push(importData.rules[urlIndex]);\n resolveImports(cssText, node, baseUrl, callbackFn, __errorData, __errorRules);\n },\n onComplete: function onComplete(responseArray) {\n responseArray.forEach(function(importText, i) {\n cssText = cssText.replace(importData.rules[i], importText);\n });\n resolveImports(cssText, node, baseUrl, callbackFn, __errorData, __errorRules);\n }\n });\n } else {\n callbackFn(cssText, __errorData);\n }\n }\n if (sourceNodes.length) {\n sourceNodes.forEach(function(node, i) {\n var linkHref = node.getAttribute("href");\n var linkRel = node.getAttribute("rel");\n var isLink = node.nodeName === "LINK" && linkHref && linkRel && linkRel.toLowerCase() === "stylesheet";\n var isStyle = node.nodeName === "STYLE";\n if (isLink) {\n getUrls(linkHref, {\n mimeType: "text/css",\n onBeforeSend: function onBeforeSend(xhr, url, urlIndex) {\n settings.onBeforeSend(xhr, node, url);\n },\n onSuccess: function onSuccess(cssText, url, urlIndex) {\n var sourceUrl = getFullUrl(linkHref, location.href);\n handleSuccess(cssText, i, node, sourceUrl);\n },\n onError: function onError(xhr, url, urlIndex) {\n cssArray[i] = "";\n settings.onError(xhr, node, url);\n handleComplete();\n }\n });\n } else if (isStyle) {\n var cssText = node.textContent;\n if (settings.useCSSOM) {\n cssText = Array.apply(null, node.sheet.cssRules).map(function(rule) {\n return rule.cssText;\n }).join("");\n }\n handleSuccess(cssText, i, node, location.href);\n } else {\n cssArray[i] = "";\n handleComplete();\n }\n });\n } else {\n settings.onComplete("", []);\n }\n}\n\nfunction getFullUrl(url) {\n var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : location.href;\n var d = document.implementation.createHTMLDocument("");\n var b = d.createElement("base");\n var a = d.createElement("a");\n d.head.appendChild(b);\n d.body.appendChild(a);\n b.href = base;\n a.href = url;\n return a.href;\n}\n\nfunction matchesSelector(elm, selector) {\n var matches = elm.matches || elm.matchesSelector || elm.webkitMatchesSelector || elm.mozMatchesSelector || elm.msMatchesSelector || elm.oMatchesSelector;\n return matches.call(elm, selector);\n}\n\nvar balancedMatch = balanced;\n\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n var r = range(a, b, str);\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\n\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n if (ai >= 0 && bi > 0) {\n begs = [];\n left = str.length;\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n bi = str.indexOf(b, i + 1);\n }\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n if (begs.length) {\n result = [ left, right ];\n }\n }\n return result;\n}\n\nfunction parseCss(css) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var defaults = {\n onlyVars: false,\n removeComments: false\n };\n var settings = _extends({}, defaults, options);\n var errors = [];\n function error(msg) {\n throw new Error("CSS parse error: ".concat(msg));\n }\n function match(re) {\n var m = re.exec(css);\n if (m) {\n css = css.slice(m[0].length);\n return m;\n }\n }\n function open() {\n return match(/^{\\s*/);\n }\n function close() {\n return match(/^}/);\n }\n function whitespace() {\n match(/^\\s*/);\n }\n function comment() {\n whitespace();\n if (css[0] !== "/" || css[1] !== "*") {\n return;\n }\n var i = 2;\n while (css[i] && (css[i] !== "*" || css[i + 1] !== "/")) {\n i++;\n }\n if (!css[i]) {\n return error("end of comment is missing");\n }\n var str = css.slice(2, i);\n css = css.slice(i + 2);\n return {\n type: "comment",\n comment: str\n };\n }\n function comments() {\n var cmnts = [];\n var c;\n while (c = comment()) {\n cmnts.push(c);\n }\n return settings.removeComments ? [] : cmnts;\n }\n function selector() {\n whitespace();\n while (css[0] === "}") {\n error("extra closing bracket");\n }\n var m = match(/^(("(?:\\\\"|[^"])*"|\'(?:\\\\\'|[^\'])*\'|[^{])+)/);\n if (m) {\n return m[0].trim().replace(/\\/\\*([^*]|[\\r\\n]|(\\*+([^*\\/]|[\\r\\n])))*\\*\\/+/g, "").replace(/"(?:\\\\"|[^"])*"|\'(?:\\\\\'|[^\'])*\'/g, function(m) {\n return m.replace(/,/g, "â");\n }).split(/\\s*(?![^(]*\\)),\\s*/).map(function(s) {\n return s.replace(/\\u200C/g, ",");\n });\n }\n }\n function declaration() {\n match(/^([;\\s]*)+/);\n var comment_regexp = /\\/\\*[^*]*\\*+([^\\/*][^*]*\\*+)*\\//g;\n var prop = match(/^(\\*?[-#\\/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/);\n if (!prop) {\n return;\n }\n prop = prop[0].trim();\n if (!match(/^:\\s*/)) {\n return error("property missing \':\'");\n }\n var val = match(/^((?:\\/\\*.*?\\*\\/|\'(?:\\\\\'|.)*?\'|"(?:\\\\"|.)*?"|\\((\\s*\'(?:\\\\\'|.)*?\'|"(?:\\\\"|.)*?"|[^)]*?)\\s*\\)|[^};])+)/);\n var ret = {\n type: "declaration",\n property: prop.replace(comment_regexp, ""),\n value: val ? val[0].replace(comment_regexp, "").trim() : ""\n };\n match(/^[;\\s]*/);\n return ret;\n }\n function declarations() {\n if (!open()) {\n return error("missing \'{\'");\n }\n var d;\n var decls = comments();\n while (d = declaration()) {\n decls.push(d);\n decls = decls.concat(comments());\n }\n if (!close()) {\n return error("missing \'}\'");\n }\n return decls;\n }\n function keyframe() {\n whitespace();\n var vals = [];\n var m;\n while (m = match(/^((\\d+\\.\\d+|\\.\\d+|\\d+)%?|[a-z]+)\\s*/)) {\n vals.push(m[1]);\n match(/^,\\s*/);\n }\n if (vals.length) {\n return {\n type: "keyframe",\n values: vals,\n declarations: declarations()\n };\n }\n }\n function at_keyframes() {\n var m = match(/^@([-\\w]+)?keyframes\\s*/);\n if (!m) {\n return;\n }\n var vendor = m[1];\n m = match(/^([-\\w]+)\\s*/);\n if (!m) {\n return error("@keyframes missing name");\n }\n var name = m[1];\n if (!open()) {\n return error("@keyframes missing \'{\'");\n }\n var frame;\n var frames = comments();\n while (frame = keyframe()) {\n frames.push(frame);\n frames = frames.concat(comments());\n }\n if (!close()) {\n return error("@keyframes missing \'}\'");\n }\n return {\n type: "keyframes",\n name: name,\n vendor: vendor,\n keyframes: frames\n };\n }\n function at_page() {\n var m = match(/^@page */);\n if (m) {\n var sel = selector() || [];\n return {\n type: "page",\n selectors: sel,\n declarations: declarations()\n };\n }\n }\n function at_fontface() {\n var m = match(/^@font-face\\s*/);\n if (m) {\n return {\n type: "font-face",\n declarations: declarations()\n };\n }\n }\n function at_supports() {\n var m = match(/^@supports *([^{]+)/);\n if (m) {\n return {\n type: "supports",\n supports: m[1].trim(),\n rules: rules()\n };\n }\n }\n function at_host() {\n var m = match(/^@host\\s*/);\n if (m) {\n return {\n type: "host",\n rules: rules()\n };\n }\n }\n function at_media() {\n var m = match(/^@media *([^{]+)/);\n if (m) {\n return {\n type: "media",\n media: m[1].trim(),\n rules: rules()\n };\n }\n }\n function at_custom_m() {\n var m = match(/^@custom-media\\s+(--[^\\s]+)\\s*([^{;]+);/);\n if (m) {\n return {\n type: "custom-media",\n name: m[1].trim(),\n media: m[2].trim()\n };\n }\n }\n function at_document() {\n var m = match(/^@([-\\w]+)?document *([^{]+)/);\n if (m) {\n return {\n type: "document",\n document: m[2].trim(),\n vendor: m[1] ? m[1].trim() : null,\n rules: rules()\n };\n }\n }\n function at_x() {\n var m = match(/^@(import|charset|namespace)\\s*([^;]+);/);\n if (m) {\n return {\n type: m[1],\n name: m[2].trim()\n };\n }\n }\n function at_rule() {\n whitespace();\n if (css[0] === "@") {\n var ret = at_keyframes() || at_supports() || at_host() || at_media() || at_custom_m() || at_page() || at_document() || at_fontface() || at_x();\n if (ret && settings.onlyVars) {\n var hasVarFunc = false;\n if (ret.declarations) {\n hasVarFunc = ret.declarations.some(function(decl) {\n return /var\\(/.test(decl.value);\n });\n } else {\n var arr = ret.keyframes || ret.rules || [];\n hasVarFunc = arr.some(function(obj) {\n return (obj.declarations || []).some(function(decl) {\n return /var\\(/.test(decl.value);\n });\n });\n }\n return hasVarFunc ? ret : {};\n }\n return ret;\n }\n }\n function rule() {\n if (settings.onlyVars) {\n var balancedMatch$$1 = balancedMatch("{", "}", css);\n if (balancedMatch$$1) {\n var hasVarDecl = balancedMatch$$1.pre.indexOf(":root") !== -1 && /--\\S*\\s*:/.test(balancedMatch$$1.body);\n var hasVarFunc = /var\\(/.test(balancedMatch$$1.body);\n if (!hasVarDecl && !hasVarFunc) {\n css = css.slice(balancedMatch$$1.end + 1);\n return {};\n }\n }\n }\n var sel = selector() || [];\n var decls = !settings.onlyVars ? declarations() : declarations().filter(function(decl) {\n var hasVarDecl = sel.some(function(s) {\n return s.indexOf(":root") !== -1;\n }) && /^--\\S/.test(decl.property);\n var hasVarFunc = /var\\(/.test(decl.value);\n return hasVarDecl || hasVarFunc;\n });\n if (!sel.length) {\n error("selector missing");\n }\n return {\n type: "rule",\n selectors: sel,\n declarations: decls\n };\n }\n function rules(core) {\n if (!core && !open()) {\n return error("missing \'{\'");\n }\n var node;\n var rules = comments();\n while (css.length && (core || css[0] !== "}") && (node = at_rule() || rule())) {\n if (node.type) {\n rules.push(node);\n }\n rules = rules.concat(comments());\n }\n if (!core && !close()) {\n return error("missing \'}\'");\n }\n return rules;\n }\n return {\n type: "stylesheet",\n stylesheet: {\n rules: rules(true),\n errors: errors\n }\n };\n}\n\nfunction stringifyCss(tree) {\n var delim = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var renderMethods = {\n charset: function charset(node) {\n return "@charset " + node.name + ";";\n },\n comment: function comment(node) {\n return node.comment.indexOf("__CSSVARSPONYFILL") === 0 ? "/*" + node.comment + "*/" : "";\n },\n "custom-media": function customMedia(node) {\n return "@custom-media " + node.name + " " + node.media + ";";\n },\n declaration: function declaration(node) {\n return node.property + ":" + node.value + ";";\n },\n document: function document(node) {\n return "@" + (node.vendor || "") + "document " + node.document + "{" + visit(node.rules) + "}";\n },\n "font-face": function fontFace(node) {\n return "@font-face" + "{" + visit(node.declarations) + "}";\n },\n host: function host(node) {\n return "@host" + "{" + visit(node.rules) + "}";\n },\n import: function _import(node) {\n return "@import " + node.name + ";";\n },\n keyframe: function keyframe(node) {\n return node.values.join(",") + "{" + visit(node.declarations) + "}";\n },\n keyframes: function keyframes(node) {\n return "@" + (node.vendor || "") + "keyframes " + node.name + "{" + visit(node.keyframes) + "}";\n },\n media: function media(node) {\n return "@media " + node.media + "{" + visit(node.rules) + "}";\n },\n namespace: function namespace(node) {\n return "@namespace " + node.name + ";";\n },\n page: function page(node) {\n return "@page " + (node.selectors.length ? node.selectors.join(", ") : "") + "{" + visit(node.declarations) + "}";\n },\n rule: function rule(node) {\n var decls = node.declarations;\n if (decls.length) {\n return node.selectors.join(",") + "{" + visit(decls) + "}";\n }\n },\n supports: function supports(node) {\n return "@supports " + node.supports + "{" + visit(node.rules) + "}";\n }\n };\n function visit(nodes) {\n var buf = "";\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n if (cb) {\n cb(n);\n }\n var txt = renderMethods[n.type](n);\n if (txt) {\n buf += txt;\n if (txt.length && n.selectors) {\n buf += delim;\n }\n }\n }\n return buf;\n }\n return visit(tree.stylesheet.rules);\n}\n\nfunction walkCss(node, fn) {\n node.rules.forEach(function(rule) {\n if (rule.rules) {\n walkCss(rule, fn);\n return;\n }\n if (rule.keyframes) {\n rule.keyframes.forEach(function(keyframe) {\n if (keyframe.type === "keyframe") {\n fn(keyframe.declarations, rule);\n }\n });\n return;\n }\n if (!rule.declarations) {\n return;\n }\n fn(rule.declarations, node);\n });\n}\n\nvar VAR_PROP_IDENTIFIER = "--";\n\nvar VAR_FUNC_IDENTIFIER = "var";\n\nvar variableStore = {\n dom: {},\n temp: {},\n user: {}\n};\n\nfunction transformVars(cssText) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var defaults = {\n fixNestedCalc: true,\n onlyVars: false,\n persist: false,\n preserve: false,\n variables: {},\n onWarning: function onWarning() {}\n };\n var settings = _extends({}, defaults, options);\n var map = settings.persist ? variableStore.dom : variableStore.temp = JSON.parse(JSON.stringify(variableStore.dom));\n var cssTree = parseCss(cssText, {\n onlyVars: settings.onlyVars\n });\n cssTree.stylesheet.rules.forEach(function(rule) {\n var varNameIndices = [];\n if (rule.type !== "rule") {\n return;\n }\n if (rule.selectors.length !== 1 || rule.selectors[0] !== ":root") {\n return;\n }\n rule.declarations.forEach(function(decl, i) {\n var prop = decl.property;\n var value = decl.value;\n if (prop && prop.indexOf(VAR_PROP_IDENTIFIER) === 0) {\n map[prop] = value;\n varNameIndices.push(i);\n }\n });\n if (!settings.preserve) {\n for (var i = varNameIndices.length - 1; i >= 0; i--) {\n rule.declarations.splice(varNameIndices[i], 1);\n }\n }\n });\n Object.keys(variableStore.user).forEach(function(key) {\n map[key] = variableStore.user[key];\n });\n if (Object.keys(settings.variables).length) {\n var newRule = {\n declarations: [],\n selectors: [ ":root" ],\n type: "rule"\n };\n Object.keys(settings.variables).forEach(function(key) {\n var prop = "--".concat(key.replace(/^-+/, ""));\n var value = settings.variables[key];\n if (settings.persist) {\n variableStore.user[prop] = value;\n }\n if (map[prop] !== value) {\n map[prop] = value;\n newRule.declarations.push({\n type: "declaration",\n property: prop,\n value: value\n });\n }\n });\n if (settings.preserve && newRule.declarations.length) {\n cssTree.stylesheet.rules.push(newRule);\n }\n }\n walkCss(cssTree.stylesheet, function(declarations, node) {\n var decl;\n var resolvedValue;\n var value;\n for (var i = 0; i < declarations.length; i++) {\n decl = declarations[i];\n value = decl.value;\n if (decl.type !== "declaration") {\n continue;\n }\n if (!value || value.indexOf(VAR_FUNC_IDENTIFIER + "(") === -1) {\n continue;\n }\n resolvedValue = resolveValue(value, map, settings);\n if (resolvedValue !== decl.value) {\n if (!settings.preserve) {\n decl.value = resolvedValue;\n } else {\n declarations.splice(i, 0, {\n type: decl.type,\n property: decl.property,\n value: resolvedValue\n });\n i++;\n }\n }\n }\n });\n if (settings.fixNestedCalc) {\n fixNestedCalc(cssTree.stylesheet.rules);\n }\n return stringifyCss(cssTree);\n}\n\nfunction fixNestedCalc(rules) {\n var reCalcExp = /(-[a-z]+-)?calc\\(/;\n rules.forEach(function(rule) {\n if (rule.declarations) {\n rule.declarations.forEach(function(decl) {\n var oldValue = decl.value;\n var newValue = "";\n while (reCalcExp.test(oldValue)) {\n var rootCalc = balancedMatch("calc(", ")", oldValue || "");\n oldValue = oldValue.slice(rootCalc.end);\n while (reCalcExp.test(rootCalc.body)) {\n var nestedCalc = balancedMatch(reCalcExp, ")", rootCalc.body);\n rootCalc.body = "".concat(nestedCalc.pre, "(").concat(nestedCalc.body, ")").concat(nestedCalc.post);\n }\n newValue += "".concat(rootCalc.pre, "calc(").concat(rootCalc.body);\n newValue += !reCalcExp.test(oldValue) ? ")".concat(rootCalc.post) : "";\n }\n decl.value = newValue || decl.value;\n });\n }\n });\n}\n\nfunction resolveValue(value, map) {\n var settings = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var __recursiveFallback = arguments.length > 3 ? arguments[3] : undefined;\n if (value.indexOf("var(") === -1) {\n return value;\n }\n var valueData = balancedMatch("(", ")", value);\n function resolveFunc(value) {\n var name = value.split(",")[0].replace(/[\\s\\n\\t]/g, "");\n var fallback = (value.match(/(?:\\s*,\\s*){1}(.*)?/) || [])[1];\n var match = map.hasOwnProperty(name) ? String(map[name]) : undefined;\n var replacement = match || (fallback ? String(fallback) : undefined);\n var unresolvedFallback = __recursiveFallback || value;\n if (!match) {\n settings.onWarning(\'variable "\'.concat(name, \'" is undefined\'));\n }\n if (replacement && replacement !== "undefined" && replacement.length > 0) {\n return resolveValue(replacement, map, settings, unresolvedFallback);\n } else {\n return "var(".concat(unresolvedFallback, ")");\n }\n }\n if (!valueData) {\n if (value.indexOf("var(") !== -1) {\n settings.onWarning(\'missing closing ")" in the value "\'.concat(value, \'"\'));\n }\n return value;\n } else if (valueData.pre.slice(-3) === "var") {\n var isEmptyVarFunc = valueData.body.trim().length === 0;\n if (isEmptyVarFunc) {\n settings.onWarning("var() must contain a non-whitespace string");\n return value;\n } else {\n return valueData.pre.slice(0, -3) + resolveFunc(valueData.body) + resolveValue(valueData.post, map, settings);\n }\n } else {\n return valueData.pre + "(".concat(resolveValue(valueData.body, map, settings), ")") + resolveValue(valueData.post, map, settings);\n }\n}\n\nvar name = "css-vars-ponyfill";\n\nvar isBrowser = typeof window !== "undefined";\n\nvar isNativeSupport = isBrowser && window.CSS && window.CSS.supports && window.CSS.supports("(--a: 0)");\n\nvar consoleMsgPrefix = "cssVars(): ";\n\nvar defaults = {\n rootElement: isBrowser ? document : null,\n shadowDOM: false,\n include: "style,link[rel=stylesheet]",\n exclude: "",\n variables: {},\n fixNestedCalc: true,\n onlyLegacy: true,\n onlyVars: false,\n preserve: false,\n silent: false,\n updateDOM: true,\n updateURLs: true,\n watch: null,\n onBeforeSend: function onBeforeSend() {},\n onSuccess: function onSuccess() {},\n onWarning: function onWarning() {},\n onError: function onError() {},\n onComplete: function onComplete() {}\n};\n\nvar regex = {\n cssComments: /\\/\\*[\\s\\S]+?\\*\\//g,\n cssKeyframes: /@(?:-\\w*-)?keyframes/,\n cssRootRules: /(?::root\\s*{\\s*[^}]*})/g,\n cssUrls: /url\\((?![\'"]?(?:data|http|\\/\\/):)[\'"]?([^\'")]*)[\'"]?\\)/g,\n cssVars: /(?:(?::root\\s*{\\s*[^;]*;*\\s*)|(?:var\\(\\s*))(--[^:)]+)(?:\\s*[:)])/\n};\n\nvar cssVarsObserver = null;\n\nvar debounceTimer = null;\n\nvar isShadowDOMReady = false;\n\n/**\n * Fetches, parses, and transforms CSS custom properties from specified\n * <style> and <link> elements into static values, then appends a new <style>\n * element with static values to the DOM to provide CSS custom property\n * compatibility for legacy browsers. Also provides a single interface for\n * live updates of runtime values in both modern and legacy browsers.\n *\n * @preserve\n * @param {object} [options] Options object\n * @param {object} [options.rootElement=document] Root element to traverse for\n * <link> and <style> nodes.\n * @param {boolean} [options.shadowDOM=false] Determines if shadow DOM <link>\n * and <style> nodes will be processed.\n * @param {string} [options.include="style,link[rel=stylesheet]"] CSS selector\n * matching <link re="stylesheet"> and <style> nodes to\n * process\n * @param {string} [options.exclude] CSS selector matching <link\n * rel="stylehseet"> and <style> nodes to exclude from those\n * matches by options.include\n * @param {object} [options.variables] A map of custom property name/value\n * pairs. Property names can omit or include the leading\n * double-hyphen (â), and values specified will override\n * previous values.\n * @param {boolean} [options.fixNestedCalc=true] Removes nested \'calc\' keywords\n * for legacy browser compatibility.\n * @param {boolean} [options.onlyLegacy=true] Determines if the ponyfill will\n * only generate legacy-compatible CSS in browsers that lack\n * native support (i.e., legacy browsers)\n * @param {boolean} [options.onlyVars=false] Determines if CSS rulesets and\n * declarations without a custom property value should be\n * removed from the ponyfill-generated CSS\n * @param {boolean} [options.preserve=false] Determines if the original CSS\n * custom property declaration will be retained in the\n * ponyfill-generated CSS.\n * @param {boolean} [options.silent=false] Determines if warning and error\n * messages will be displayed on the console\n * @param {boolean} [options.updateDOM=true] Determines if the ponyfill will\n * update the DOM after processing CSS custom properties\n * @param {boolean} [options.updateURLs=true] Determines if the ponyfill will\n * convert relative url() paths to absolute urls.\n * @param {boolean} [options.watch=false] Determines if a MutationObserver will\n * be created that will execute the ponyfill when a <link> or\n * <style> DOM mutation is observed.\n * @param {function} [options.onBeforeSend] Callback before XHR is sent. Passes\n * 1) the XHR object, 2) source node reference, and 3) the\n * source URL as arguments.\n * @param {function} [options.onSuccess] Callback after CSS data has been\n * collected from each node and before CSS custom properties\n * have been transformed. Allows modifying the CSS data before\n * it is transformed by returning any string value (or false\n * to skip). Passes 1) CSS text, 2) source node reference, and\n * 3) the source URL as arguments.\n * @param {function} [options.onWarning] Callback after each CSS parsing warning\n * has occurred. Passes 1) a warning message as an argument.\n * @param {function} [options.onError] Callback after a CSS parsing error has\n * occurred or an XHR request has failed. Passes 1) an error\n * message, and 2) source node reference, 3) xhr, and 4 url as\n * arguments.\n * @param {function} [options.onComplete] Callback after all CSS has been\n * processed, legacy-compatible CSS has been generated, and\n * (optionally) the DOM has been updated. Passes 1) a CSS\n * string with CSS variable values resolved, 2) a reference to\n * the appended <style> node, 3) an object containing all\n * custom properies names and values, and 4) the ponyfill\n * execution time in milliseconds.\n *\n * @example\n *\n * cssVars({\n * rootElement : document,\n * shadowDOM : false,\n * include : \'style,link[rel="stylesheet"]\',\n * exclude : \'\',\n * variables : {},\n * fixNestedCalc: true,\n * onlyLegacy : true,\n * onlyVars : false,\n * preserve : false,\n * silent : false,\n * updateDOM : true,\n * updateURLs : true,\n * watch : false,\n * onBeforeSend(xhr, node, url) {},\n * onSuccess(cssText, node, url) {},\n * onWarning(message) {},\n * onError(message, node, xhr, url) {},\n * onComplete(cssText, styleNode, cssVariables, benchmark) {}\n * });\n */ function cssVars() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var settings = _extends({}, defaults, options);\n var styleNodeId = name;\n settings.exclude = "#".concat(styleNodeId) + (settings.exclude ? ",".concat(settings.exclude) : "");\n settings._benchmark = !settings._benchmark ? getTimeStamp() : settings._benchmark;\n function handleError(message, sourceNode, xhr, url) {\n if (!settings.silent) {\n console.error("".concat(consoleMsgPrefix).concat(message, "\\n"), sourceNode);\n }\n settings.onError(message, sourceNode, xhr, url);\n }\n function handleWarning(message) {\n if (!settings.silent) {\n console.warn("".concat(consoleMsgPrefix).concat(message));\n }\n settings.onWarning(message);\n }\n if (!isBrowser) {\n return;\n }\n if (settings.watch === false && cssVarsObserver) {\n cssVarsObserver.disconnect();\n }\n if (settings.watch) {\n addMutationObserver(settings, styleNodeId);\n cssVarsDebounced(settings);\n } else if (document.readyState !== "loading") {\n var isShadowElm = settings.shadowDOM || settings.rootElement.shadowRoot || settings.rootElement.host;\n if (isNativeSupport && settings.onlyLegacy) {\n if (settings.updateDOM) {\n var targetElm = settings.rootElement.host || (settings.rootElement === document ? document.documentElement : settings.rootElement);\n Object.keys(settings.variables).forEach(function(key) {\n var prop = "--".concat(key.replace(/^-+/, ""));\n var value = settings.variables[key];\n targetElm.style.setProperty(prop, value);\n });\n }\n } else if (isShadowElm && !isShadowDOMReady) {\n getCssData({\n rootElement: defaults.rootElement,\n include: defaults.include,\n exclude: settings.exclude,\n onSuccess: function onSuccess(cssText, node, url) {\n var cssRootDecls = (cssText.match(regex.cssRootRules) || []).join("");\n return cssRootDecls || false;\n },\n onComplete: function onComplete(cssText, cssArray, nodeArray) {\n transformVars(cssText, {\n persist: true\n });\n isShadowDOMReady = true;\n cssVars(settings);\n }\n });\n } else {\n getCssData({\n rootElement: settings.rootElement,\n include: settings.include,\n exclude: settings.exclude,\n filter: settings.onlyVars ? regex.cssVars : null,\n onBeforeSend: settings.onBeforeSend,\n onSuccess: function onSuccess(cssText, node, url) {\n var returnVal = settings.onSuccess(cssText, node, url);\n cssText = returnVal !== undefined && Boolean(returnVal) === false ? "" : returnVal || cssText;\n node.setAttribute("data-cssvars", "");\n if (settings.updateURLs) {\n var cssUrls = cssText.replace(regex.cssComments, "").match(regex.cssUrls) || [];\n cssUrls.forEach(function(cssUrl) {\n var oldUrl = cssUrl.replace(regex.cssUrls, "$1");\n var newUrl = getFullUrl$1(oldUrl, url);\n cssText = cssText.replace(cssUrl, cssUrl.replace(oldUrl, newUrl));\n });\n }\n return cssText;\n },\n onError: function onError(xhr, node, url) {\n var responseUrl = xhr.responseURL || getFullUrl$1(url, location.href);\n var statusText = xhr.statusText ? "(".concat(xhr.statusText, ")") : "Unspecified Error" + (xhr.status === 0 ? " (possibly CORS related)" : "");\n var errorMsg = "CSS XHR Error: ".concat(responseUrl, " ").concat(xhr.status, " ").concat(statusText);\n handleError(errorMsg, node, xhr, responseUrl);\n },\n onComplete: function onComplete(cssText, cssArray, nodeArray) {\n var cssMarker = /\\/\\*__CSSVARSPONYFILL-(\\d+)__\\*\\//g;\n var cssSettings = JSON.stringify({\n include: settings.include,\n exclude: settings.exclude,\n variables: settings.variables,\n fixNestedCalc: settings.fixNestedCalc,\n onlyVars: settings.onlyVars,\n preserve: settings.preserve,\n silent: settings.silent,\n updateURLs: settings.updateURLs\n });\n var styleNode = settings.rootElement.querySelector("#".concat(styleNodeId)) || document.createElement("style");\n var prevData = styleNode.__cssVars || {};\n var isSameData = prevData.cssText === cssText && prevData.settings === cssSettings;\n var hasKeyframesWithVars;\n if (isSameData) {\n cssText = styleNode.textContent;\n if (!settings.silent) {\n console.info("".concat(consoleMsgPrefix, "No changes"), styleNode);\n }\n } else {\n styleNode.__cssVars = {\n cssText: cssText,\n settings: cssSettings\n };\n cssText = cssArray.map(function(css, i) {\n return regex.cssVars.test(css) ? css : "/*__CSSVARSPONYFILL-".concat(i, "__*/");\n }).join("");\n try {\n cssText = transformVars(cssText, {\n fixNestedCalc: settings.fixNestedCalc,\n onlyVars: settings.onlyVars,\n persist: settings.updateDOM,\n preserve: settings.preserve,\n variables: settings.variables,\n onWarning: handleWarning\n });\n hasKeyframesWithVars = regex.cssKeyframes.test(cssText);\n cssText = cssText.replace(cssMarker, function(match, group1) {\n return cssArray[group1];\n });\n } catch (err) {\n var errorThrown = false;\n cssArray.forEach(function(cssText, i) {\n try {\n cssText = transformVars(cssText, settings);\n } catch (err) {\n var errorNode = nodeArray[i - 0];\n errorThrown = true;\n handleError(err.message, errorNode);\n }\n });\n if (!errorThrown) {\n handleError(err.message || err);\n }\n }\n }\n if (settings.shadowDOM) {\n var elms = [ settings.rootElement ].concat(_toConsumableArray(settings.rootElement.querySelectorAll("*")));\n for (var i = 0, elm; elm = elms[i]; ++i) {\n if (elm.shadowRoot && elm.shadowRoot.querySelector("style")) {\n var shadowSettings = _extends({}, settings, {\n rootElement: elm.shadowRoot,\n variables: variableStore.dom\n });\n cssVars(shadowSettings);\n }\n }\n }\n if (!isSameData && nodeArray && nodeArray.length) {\n var cssNodes = settings.rootElement.querySelectorAll("link[data-cssvars],style[data-cssvars]") || settings.rootElement.querySelectorAll(\'link[rel+="stylesheet"],style\');\n var lastNode = cssNodes ? cssNodes[cssNodes.length - 1] : null;\n if (lastNode) {\n lastNode.parentNode.insertBefore(styleNode, lastNode.nextSibling);\n } else {\n var targetNode = settings.rootElement.head || settings.rootElement.body || settings.rootElement;\n targetNode.appendChild(styleNode);\n }\n if (settings.updateDOM) {\n styleNode.setAttribute("id", styleNodeId);\n styleNode.textContent = cssText;\n if (hasKeyframesWithVars) {\n fixKeyframes(settings.rootElement);\n }\n }\n settings.onComplete(cssText, styleNode, JSON.parse(JSON.stringify(settings.updateDOM ? variableStore.dom : variableStore.temp)), getTimeStamp() - settings._benchmark);\n }\n }\n });\n }\n } else {\n document.addEventListener("DOMContentLoaded", function init(evt) {\n cssVars(options);\n document.removeEventListener("DOMContentLoaded", init);\n });\n }\n}\n\nfunction cssVarsDebounced(settings) {\n clearTimeout(debounceTimer);\n debounceTimer = setTimeout(function() {\n settings._benchmark = null;\n cssVars(settings);\n }, 100);\n}\n\nfunction addMutationObserver(settings, ignoreId) {\n if (!window.MutationObserver) {\n return;\n }\n var isLink = function isLink(node) {\n return node.tagName === "LINK" && (node.getAttribute("rel") || "").indexOf("stylesheet") !== -1;\n };\n var isStyle = function isStyle(node) {\n return node.tagName === "STYLE" && (ignoreId ? node.id !== ignoreId : true);\n };\n if (cssVarsObserver) {\n cssVarsObserver.disconnect();\n }\n settings.watch = defaults.watch;\n cssVarsObserver = new MutationObserver(function(mutations) {\n var hasCSSMutation = mutations.some(function(mutation) {\n var isCSSMutation = false;\n if (mutation.type === "attributes") {\n isCSSMutation = isLink(mutation.target) || isStyle(mutation.target);\n } else if (mutation.type === "childList") {\n var addedNodes = Array.apply(null, mutation.addedNodes);\n var removedNodes = Array.apply(null, mutation.removedNodes);\n isCSSMutation = [].concat(addedNodes, removedNodes).some(function(node) {\n var isValidLink = isLink(node) && !node.disabled;\n var isValidStyle = isStyle(node) && regex.cssVars.test(node.textContent);\n return isValidLink || isValidStyle;\n });\n }\n return isCSSMutation;\n });\n if (hasCSSMutation) {\n cssVarsDebounced(settings);\n }\n });\n cssVarsObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [ "disabled", "href" ],\n childList: true,\n subtree: true\n });\n}\n\nfunction fixKeyframes(rootElement) {\n var animationNameProp = [ "animation-name", "-moz-animation-name", "-webkit-animation-name" ].filter(function(prop) {\n return getComputedStyle(document.body)[prop];\n })[0];\n if (animationNameProp) {\n var allNodes = rootElement.getElementsByTagName("*");\n var keyframeNodes = [];\n var nameMarker = "__CSSVARSPONYFILL-KEYFRAMES__";\n for (var i = 0, len = allNodes.length; i < len; i++) {\n var node = allNodes[i];\n var animationName = getComputedStyle(node)[animationNameProp];\n if (animationName !== "none") {\n node.style[animationNameProp] += nameMarker;\n keyframeNodes.push(node);\n }\n }\n void document.body.offsetHeight;\n for (var _i = 0, _len = keyframeNodes.length; _i < _len; _i++) {\n var nodeStyle = keyframeNodes[_i].style;\n nodeStyle[animationNameProp] = nodeStyle[animationNameProp].replace(nameMarker, "");\n }\n }\n}\n\nfunction getFullUrl$1(url) {\n var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : location.href;\n var d = document.implementation.createHTMLDocument("");\n var b = d.createElement("base");\n var a = d.createElement("a");\n d.head.appendChild(b);\n d.body.appendChild(a);\n b.href = base;\n a.href = url;\n return a.href;\n}\n\nfunction getTimeStamp() {\n return isBrowser && (window.performance || {}).now ? window.performance.now() : new Date().getTime();\n}\n\n/* harmony default export */ __webpack_exports__["default"] = (cssVars);\n//# sourceMappingURL=css-vars-ponyfill.esm.js.map\n\n\n//# sourceURL=webpack:///./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js?')},
vendor: 6,426 bytes, lines 9-13
9"./node_modules/detect-browser/index.js": 10/*!**********************************************!*\ 11 !*** ./node_modules/detect-browser/index.js ***! 12 \**********************************************/ 13/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n }\n return BrowserInfo;\n}());\nexports.BrowserInfo = BrowserInfo;\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexports.NodeInfo = NodeInfo;\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexports.BotInfo = BotInfo;\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves\\/Teoma)|(ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['vivaldi', /Vivaldi\\/([0-9\\.]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)$/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FBAV\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n ['Search Bot', SEARCHBOT_OS_REGEX],\n];\nfunction detect() {\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nexports.detect = detect;\nfunction parseUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n var matchedRule = ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n var versionParts = match[1] && match[1].split(/[._]/).slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = versionParts.concat(createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length));\n }\n }\n else {\n versionParts = [];\n }\n return new BrowserInfo(name, versionParts.join('.'), detectOS(ua));\n}\nexports.parseUserAgent = parseUserAgent;\nfunction detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.test(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexports.detectOS = detectOS;\nfunction getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nexports.getNodeVersion = getNodeVersion;\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../usr/local/lib/node_modules/webpack/node_modules/process/browser.js */ \"../../../../usr/local/lib/node_modules/webpack/node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/detect-browser/index.js?")},
vendor: 5,258 bytes, lines 13-17
13"./node_modules/js-cookie/src/js.cookie.js": 14/*!*************************************************!*\ 15 !*** ./node_modules/js-cookie/src/js.cookie.js ***! 16 \*************************************************/ 17/*! no static exports found */function(module,exports,__webpack_require__){eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * JavaScript Cookie v2.2.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader = false;\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (true) {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api (key, value, attributes) {\n\t\t\tvar result;\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Write\n\n\t\t\tif (arguments.length > 1) {\n\t\t\t\tattributes = extend({\n\t\t\t\t\tpath: '/'\n\t\t\t\t}, api.defaults, attributes);\n\n\t\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\t\tvar expires = new Date();\n\t\t\t\t\texpires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n\t\t\t\t\tattributes.expires = expires;\n\t\t\t\t}\n\n\t\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\t\ttry {\n\t\t\t\t\tresult = JSON.stringify(value);\n\t\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\t\tvalue = result;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\n\t\t\t\tif (!converter.write) {\n\t\t\t\t\tvalue = encodeURIComponent(String(value))\n\t\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = converter.write(value, key);\n\t\t\t\t}\n\n\t\t\t\tkey = encodeURIComponent(String(key));\n\t\t\t\tkey = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n\t\t\t\tkey = key.replace(/[\\(\\)]/g, escape);\n\n\t\t\t\tvar stringifiedAttributes = '';\n\n\t\t\t\tfor (var attributeName in attributes) {\n\t\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName];\n\t\t\t\t}\n\t\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t\t}\n\n\t\t\t// Read\n\n\t\t\tif (!key) {\n\t\t\t\tresult = {};\n\t\t\t}\n\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t\t// calling \"get()\"\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar rdecode = /(%[0-9A-Z]{2})+/g;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!this.json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = parts[0].replace(rdecode, decodeURIComponent);\n\t\t\t\t\tcookie = converter.read ?\n\t\t\t\t\t\tconverter.read(cookie, name) : converter(cookie, name) ||\n\t\t\t\t\t\tcookie.replace(rdecode, decodeURIComponent);\n\n\t\t\t\t\tif (this.json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tresult = cookie;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!key) {\n\t\t\t\t\t\tresult[name] = cookie;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\tapi.set = api;\n\t\tapi.get = function (key) {\n\t\t\treturn api.call(api, key);\n\t\t};\n\t\tapi.getJSON = function () {\n\t\t\treturn api.apply({\n\t\t\t\tjson: true\n\t\t\t}, [].slice.call(arguments));\n\t\t};\n\t\tapi.defaults = {};\n\n\t\tapi.remove = function (key, attributes) {\n\t\t\tapi(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n\n\n//# sourceURL=webpack:///./node_modules/js-cookie/src/js.cookie.js?")},
vendor: 14,932 bytes, lines 17-21
17"./node_modules/what-input/dist/what-input.js": 18/*!****************************************************!*\ 19 !*** ./node_modules/what-input/dist/what-input.js ***! 20 \****************************************************/ 21/*! no static exports found */function(module,exports,__webpack_require__){eval("/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.1\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for sessionStorage support\n\t // then check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {}\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true } : false;\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput);\n\t window.addEventListener('pointermove', setIntent);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput);\n\t window.addEventListener('MSPointerMove', setIntent);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput);\n\t window.addEventListener('mousemove', setIntent);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput);\n\t window.addEventListener('keyup', setInput);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement);\n\t window.addEventListener('focusout', clearElement);\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t try {\n\t window.sessionStorage.setItem('what-input', currentInput);\n\t } catch (e) {}\n\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form');\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t try {\n\t window.sessionStorage.setItem('what-intent', currentIntent);\n\t } catch (e) {}\n\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if (!isScrolling && !validateTouch(value) && currentIntent !== value) {\n\t currentIntent = value;\n\n\t try {\n\t window.sessionStorage.setItem('what-intent', currentIntent);\n\t } catch (e) {}\n\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an <svg> element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel\n\t var detectWheel = function detectWheel() {\n\t var wheelType = void 0;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos['x'] !== event.screenX || mousePos['y'] !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos['x'] = event.screenX;\n\t mousePos['y'] = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;\n\n//# sourceURL=webpack:///./node_modules/what-input/dist/what-input.js?")},
21"./src/client/alert.js": 22/*!*****************************!*\ 23 !*** ./src/client/alert.js ***! 24 \*****************************/ 25/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _jsCookie = __webpack_require__(/*! js-cookie */ \"./node_modules/js-cookie/src/js.cookie.js\");\n\nvar _jsCookie2 = _interopRequireDefault(_jsCookie);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\tvar alertButton = document.querySelector('[data-cookie]');\n\tif (alertButton) {\n\t\talertButton.addEventListener('click', function () {\n\t\t\tvar target = alertButton.getAttribute('data-for');\n\t\t\tdocument.getElementById(target).remove();\n\n\t\t\tvar cookieId = alertButton.getAttribute('data-cookie');\n\n\t\t\t_jsCookie2.default.set('alert', cookieId, {\n\t\t\t\texpires: 365\n\t\t\t});\n\t\t});\n\t}\n});\n\n//# sourceURL=webpack:///./src/client/alert.js?")},
25"./src/client/cookies.js": 26/*!*******************************!*\ 27 !*** ./src/client/cookies.js ***! 28 \*******************************/ 29/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _jsCookie = __webpack_require__(/*! js-cookie */ \"./node_modules/js-cookie/src/js.cookie.js\");\n\nvar _jsCookie2 = _interopRequireDefault(_jsCookie);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar setupCookieHandler = function setupCookieHandler() {\n\tvar button = document.querySelector('#JagaccepteracookiesBYTEJNAMN + .sv-text-portlet-content a');\n\tif (button) {\n\t\tvar bar = document.querySelector('.vmkf__cookies');\n\t\tbar.setAttribute('id', 'cookie-bar');\n\t\tif (bar) {\n\t\t\tbar.style.display = 'block';\n\n\t\t\tbutton.setAttribute('aria-controls', 'cookie-bar');\n\t\t\tbutton.setAttribute('aria-expanded', 'true');\n\t\t\tbutton.setAttribute('href', '#');\n\n\t\t\tbutton.addEventListener('click', function () {\n\t\t\t\tbar.style.display = 'none';\n\t\t\t\t_jsCookie2.default.set('vmkf-cookie', 'set', {\n\t\t\t\t\texpires: 36000 * 10\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\tif (_jsCookie2.default.get('vmkf-cookie') !== 'set') {\n\t\tsetupCookieHandler();\n\t}\n});\n\n//# sourceURL=webpack:///./src/client/cookies.js?")},
29"./src/client/facets.js": 30/*!******************************!*\ 31 !*** ./src/client/facets.js ***! 32 \******************************/ 33/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\nmodule.exports = function ($) {\n\t$(document).ready(function () {\n\n\t\t$(document).on('click', '#facet-button', function () {\n\t\t\tvar $button = $('#facet-button');\n\t\t\tvar $wrapper = $('#facets-wrapper');\n\t\t\tvar $text = $('#facet-button .facet-button__text');\n\t\t\tvar isOpen = $button.attr('aria-expanded') === 'true';\n\n\t\t\t$button.attr('aria-expanded', isOpen ? 'false' : 'true');\n\t\t\tif (isOpen) $text.text('Visa filter');else $text.text('Dölj filter');\n\n\t\t\t$button.toggleClass('open');\n\t\t\t$wrapper.toggleClass('open');\n\t\t});\n\t});\n}(jQuery);\n\n//# sourceURL=webpack:///./src/client/facets.js?")},
33"./src/client/fixed-menu.js": 34/*!**********************************!*\ 35 !*** ./src/client/fixed-menu.js ***! 36 \**********************************/ 37/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\n(function ($) {\n $(document).ready(function () {\n $(window).scroll(function (event) {\n var scroll = $(document).scrollTop();\n if (scroll > 0) {\n $('.vmkf__header-menu-button-icon').addClass('scrolled');\n } else {\n $('.vmkf__header-menu-button-icon').removeClass('scrolled');\n }\n });\n });\n})($svjq);\n\n//# sourceURL=webpack:///./src/client/fixed-menu.js?")},
37"./src/client/hero-arrow.js": 38/*!**********************************!*\ 39 !*** ./src/client/hero-arrow.js ***! 40 \**********************************/ 41/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\n(function ($) {\n $(document).ready(function () {\n var hero = $('.vmkf-hero');\n if (hero.length > 0) {\n hero.append('<div class=\"vmkf-arrow-wrapper\"><div class=\"vmkf-arrow-icon-wrapper\"><div class=\"vmkf-hero-arrow vmkf-i-arrow-down\"</div></div></div>');\n var button = $('.vmkf-arrow-icon-wrapper');\n button.click(function () {\n event.preventDefault();\n $(\"html, body\").animate({ scrollTop: $('#arrow-anchor').offset().top }, 500);\n });\n }\n });\n})($svjq);\n\n//# sourceURL=webpack:///./src/client/hero-arrow.js?")},
41"./src/client/main.js": 42/*!****************************!*\ 43 !*** ./src/client/main.js ***! 44 \****************************/ 45/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _whatInput = __webpack_require__(/*! what-input */ "./node_modules/what-input/dist/what-input.js");\n\nvar _whatInput2 = _interopRequireDefault(_whatInput);\n\nvar _detectBrowser = __webpack_require__(/*! detect-browser */ "./node_modules/detect-browser/index.js");\n\nvar _cssVarsPonyfill = __webpack_require__(/*! css-vars-ponyfill */ "./node_modules/css-vars-ponyfill/dist/css-vars-ponyfill.esm.js");\n\nvar _cssVarsPonyfill2 = _interopRequireDefault(_cssVarsPonyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\ndocument.querySelector(\'html\').dataset.browser = (0, _detectBrowser.detect)().name; // Placeholder\n\nif ((0, _detectBrowser.detect)().name === \'ie\') {\n\tdocument.addEventListener(\'DOMContentLoaded\', function () {\n\t\t(0, _cssVarsPonyfill2.default)();\n\t});\n}\n\n_whatInput2.default.specificKeys([9]);\n\n__webpack_require__(/*! ./facets */ "./src/client/facets.js");\n__webpack_require__(/*! ./hero-arrow */ "./src/client/hero-arrow.js");\n__webpack_require__(/*! ./menu */ "./src/client/menu.js");\n__webpack_require__(/*! ./fixed-menu */ "./src/client/fixed-menu.js");\n__webpack_require__(/*! ./cookies */ "./src/client/cookies.js");\n__webpack_require__(/*! ./alert */ "./src/client/alert.js");\n\n//# sourceURL=webpack:///./src/client/main.js?')},
45"./src/client/menu.js": 46/*!****************************!*\ 47 !*** ./src/client/menu.js ***! 48 \****************************/ 49/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\nvar setupToggle = function setupToggle(toggler) {\n\tif (!toggler) return;\n\tvar controls = toggler.getAttribute('data-for') || toggler.getAttribute('aria-controls');\n\tif (!controls) return;\n\tvar controlElement = document.getElementById(controls) || document.querySelector(controls);\n\tif (!controlElement) return;\n\n\tvar isExpanded = (toggler.getAttribute('aria-expanded') || 'false') === 'true';\n\ttoggler.setAttribute('aria-expanded', isExpanded ? 'true' : 'false');\n\ttoggler.addEventListener('click', function () {\n\t\tif (isExpanded) {\n\t\t\ttoggler.classList.remove('open');\n\t\t\ttoggler.setAttribute('aria-expanded', 'false');\n\t\t\tcontrolElement.classList.remove('open');\n\t\t\tisExpanded = false;\n\t\t} else {\n\t\t\ttoggler.classList.add('open');\n\t\t\ttoggler.setAttribute('aria-expanded', 'true');\n\t\t\tcontrolElement.classList.add('open');\n\t\t\tisExpanded = true;\n\n\t\t\tif (controls === 'mobile-search') {\n\t\t\t\tcontrolElement.querySelector('input').focus();\n\t\t\t}\n\t\t}\n\t});\n};\n\nvar makeToggleMenu = function makeToggleMenu() {\n\tvar menuWrapper = document.querySelector('.vmkf__menu-wrapper');\n\tvar menuButton = document.getElementById('menu-toggle');\n\tvar htmlElement = document.querySelector('html');\n\treturn function (e) {\n\t\tvar isMenuOpen = htmlElement.classList.contains('menu-open');\n\t\tswitch (e.type) {\n\t\t\tcase 'click':\n\t\t\t\tif (!menuWrapper.contains(e.target) && isMenuOpen) {\n\t\t\t\t\tmenuButton.click();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'keyup':\n\t\t\t\tvar key = e.which || e.keyCode;\n\t\t\t\tif (isMenuOpen && key === 27) {\n\t\t\t\t\tmenuButton.click();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn;\n\t};\n};\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\tvar toggles = Array.apply(null, document.querySelectorAll('[data-for]'));\n\tvar toggleMenu = makeToggleMenu();\n\tvar menuButton = document.getElementById('menu-toggle');\n\n\ttoggles.forEach(setupToggle);\n\n\tmenuButton.addEventListener('click', function () {\n\t\tvar htmlElement = document.querySelector('html');\n\t\thtmlElement.classList.toggle('menu-open');\n\t});\n\tdocument.addEventListener('click', toggleMenu);\n\tdocument.addEventListener('keyup', toggleMenu);\n});\n\n//# sourceURL=webpack:///./src/client/menu.js?")}
vendor: 3 bytes, line 49
49});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.