@htmlbricks/hb-gauge 0.17.9 → 0.17.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sources":["../../../node_modules/svelte/internal/index.mjs","../../../node_modules/debounce/index.js","../../../node_modules/raphael/raphael.min.js","../app/functions/justgage.js","../app/html/webcomponent.svelte"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element.sheet;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes, is_svg) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration(undefined, is_svg);\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes, is_svg);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, cancelable, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(is_svg = false) {\n this.is_svg = false;\n this.is_svg = is_svg;\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n if (this.is_svg)\n this.e = svg_element(target.nodeName);\n else\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes, is_svg = false) {\n super(is_svg);\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\nconst managed_styles = new Map();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_style_information(doc, node) {\n const info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n managed_styles.set(doc, info);\n return info;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n if (!rules[name]) {\n rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n managed_styles.forEach(info => {\n const { stylesheet } = info;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n info.rules = {};\n });\n managed_styles.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail, { cancelable = false } = {}) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail, { cancelable });\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n return !event.defaultPrevented;\n }\n return true;\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n return context;\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n else if (callback) {\n callback();\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst void_element_names = /^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/;\nfunction is_void(name) {\n return void_element_names.test(name) || name.toLowerCase() === '!doctype';\n}\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, attrs_to_add) {\n const attributes = Object.assign({}, ...args);\n if (attrs_to_add) {\n const classes_to_add = attrs_to_add.classes;\n const styles_to_add = attrs_to_add.styles;\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n if (styles_to_add) {\n if (attributes.style == null) {\n attributes.style = style_object_to_string(styles_to_add);\n }\n else {\n attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));\n }\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nfunction merge_ssr_styles(style_attribute, style_directive) {\n const style_object = {};\n for (const individual_style of style_attribute.split(';')) {\n const colon_index = individual_style.indexOf(':');\n const name = individual_style.slice(0, colon_index).trim();\n const value = individual_style.slice(colon_index + 1).trim();\n if (!name)\n continue;\n style_object[name] = value;\n }\n for (const name in style_directive) {\n const value = style_directive[name];\n if (value) {\n style_object[name] = value;\n }\n else {\n delete style_object[name];\n }\n }\n return style_object;\n}\nconst ATTR_REGEX = /[&\"]/g;\nconst CONTENT_REGEX = /[&<]/g;\n/**\n * Note: this method is performance sensitive and has been optimized\n * https://github.com/sveltejs/svelte/pull/5701\n */\nfunction escape(value, is_attr = false) {\n const str = String(value);\n const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;\n pattern.lastIndex = 0;\n let escaped = '';\n let last = 0;\n while (pattern.test(str)) {\n const i = pattern.lastIndex - 1;\n const ch = str[i];\n escaped += str.substring(last, i) + (ch === '&' ? '&amp;' : (ch === '\"' ? '&quot;' : '&lt;'));\n last = i + 1;\n }\n return escaped + str.substring(last);\n}\nfunction escape_attribute_value(value) {\n // keep booleans, null, and undefined for the sake of `spread`\n const should_escape = typeof value === 'string' || (value && typeof value === 'object');\n return should_escape ? escape(value, true) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(context || (parent_component ? parent_component.$$.context : [])),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n const assignment = (boolean && value === true) ? '' : `=\"${escape(value, true)}\"`;\n return ` ${name}${assignment}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\nfunction style_object_to_string(style_object) {\n return Object.keys(style_object)\n .filter(key => style_object[key])\n .map(key => `${key}: ${style_object[key]};`)\n .join(' ');\n}\nfunction add_styles(style_object) {\n const styles = style_object_to_string(style_object);\n return styles ? ` style=\"${styles}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.49.0' }, detail), { bubbles: true }));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nfunction validate_dynamic_element(tag) {\n const is_string = typeof tag === 'string';\n if (tag && !is_string) {\n throw new Error('<svelte:element> expects \"this\" attribute to be a string.');\n }\n}\nfunction validate_void_dynamic_element(tag) {\n if (tag && is_void(tag)) {\n throw new Error(`<svelte:element this=\"${tag}\"> is self-closing and cannot have content.`);\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_styles, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, is_void, listen, listen_dev, loop, loop_guard, merge_ssr_styles, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_dynamic_element, validate_each_argument, validate_each_keys, validate_slots, validate_store, validate_void_dynamic_element, xlink_attr };\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Raphael=e():t.Raphael=e()}(window,function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=1)}([function(t,e,r){var i,n;i=[r(2)],void 0===(n=function(t){function e(i){if(e.is(i,\"function\"))return r?i():t.on(\"raphael.DOMload\",i);if(e.is(i,A))return e._engine.create[c](e,i.splice(0,3+e.is(i[0],T))).add(i);var n=Array.prototype.slice.call(arguments,0);if(e.is(n[n.length-1],\"function\")){var a=n.pop();return r?a.call(e._engine.create[c](e,n)):t.on(\"raphael.DOMload\",function(){a.call(e._engine.create[c](e,n))})}return e._engine.create[c](e,arguments)}e.version=\"2.3.0\",e.eve=t;var r,i,n=/[, ]+/,a={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},s=/\\{(\\d+)\\}/g,o=\"hasOwnProperty\",l={doc:document,win:window},h={was:Object.prototype[o].call(l.win,\"Raphael\"),is:l.win.Raphael},u=function(){this.ca=this.customAttributes={}},c=\"apply\",f=\"concat\",p=\"ontouchstart\"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch,d=\"\",g=\" \",x=String,v=\"split\",y=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\"[v](g),m={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},b=x.prototype.toLowerCase,_=Math,w=_.max,k=_.min,B=_.abs,C=_.pow,S=_.PI,T=\"number\",A=\"array\",M=Object.prototype.toString,E=(e._ISURL=/^url\\(['\"]?(.+?)['\"]?\\)$/i,/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i),N={NaN:1,Infinity:1,\"-Infinity\":1},L=/^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,P=_.round,z=parseFloat,F=parseInt,R=x.prototype.toUpperCase,j=e._availableAttrs={\"arrow-end\":\"none\",\"arrow-start\":\"none\",blur:0,\"clip-rect\":\"0 0 1e9 1e9\",cursor:\"default\",cx:0,cy:0,fill:\"#fff\",\"fill-opacity\":1,font:'10px \"Arial\"',\"font-family\":'\"Arial\"',\"font-size\":\"10\",\"font-style\":\"normal\",\"font-weight\":400,gradient:0,height:0,href:\"http://raphaeljs.com/\",\"letter-spacing\":0,opacity:1,path:\"M0,0\",r:0,rx:0,ry:0,src:\"\",stroke:\"#000\",\"stroke-dasharray\":\"\",\"stroke-linecap\":\"butt\",\"stroke-linejoin\":\"butt\",\"stroke-miterlimit\":0,\"stroke-opacity\":1,\"stroke-width\":1,target:\"_blank\",\"text-anchor\":\"middle\",title:\"Raphael\",transform:\"\",width:0,x:0,y:0,class:\"\"},I=e._availableAnimAttrs={blur:T,\"clip-rect\":\"csv\",cx:T,cy:T,fill:\"colour\",\"fill-opacity\":T,\"font-size\":T,height:T,opacity:T,path:\"path\",r:T,rx:T,ry:T,stroke:\"colour\",\"stroke-opacity\":T,\"stroke-width\":T,transform:\"transform\",width:T,x:T,y:T},D=/[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/,q={hs:1,rg:1},O=/,?([achlmqrstvxz]),?/gi,V=/([achlmrqstvz])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/gi,W=/([rstm])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/gi,Y=/(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/gi,G=(e._radial_gradient=/^r(?:\\(([^,]+?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*([^\\)]+?)\\))?/,{}),H=function(t,e){return z(t)-z(e)},X=function(t){return t},U=e._rectPath=function(t,e,r,i,n){return n?[[\"M\",t+n,e],[\"l\",r-2*n,0],[\"a\",n,n,0,0,1,n,n],[\"l\",0,i-2*n],[\"a\",n,n,0,0,1,-n,n],[\"l\",2*n-r,0],[\"a\",n,n,0,0,1,-n,-n],[\"l\",0,2*n-i],[\"a\",n,n,0,0,1,n,-n],[\"z\"]]:[[\"M\",t,e],[\"l\",r,0],[\"l\",0,i],[\"l\",-r,0],[\"z\"]]},$=function(t,e,r,i){return null==i&&(i=r),[[\"M\",t,e],[\"m\",0,-i],[\"a\",r,i,0,1,1,0,2*i],[\"a\",r,i,0,1,1,0,-2*i],[\"z\"]]},Z=e._getPath={path:function(t){return t.attr(\"path\")},circle:function(t){var e=t.attrs;return $(e.cx,e.cy,e.r)},ellipse:function(t){var e=t.attrs;return $(e.cx,e.cy,e.rx,e.ry)},rect:function(t){var e=t.attrs;return U(e.x,e.y,e.width,e.height,e.r)},image:function(t){var e=t.attrs;return U(e.x,e.y,e.width,e.height)},text:function(t){var e=t._getBBox();return U(e.x,e.y,e.width,e.height)},set:function(t){var e=t._getBBox();return U(e.x,e.y,e.width,e.height)}},Q=e.mapPath=function(t,e){if(!e)return t;var r,i,n,a,s,o,l;for(n=0,s=(t=Tt(t)).length;n<s;n++)for(a=1,o=(l=t[n]).length;a<o;a+=2)r=e.x(l[a],l[a+1]),i=e.y(l[a],l[a+1]),l[a]=r,l[a+1]=i;return t};if(e._g=l,e.type=l.win.SVGAngle||l.doc.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\",\"1.1\")?\"SVG\":\"VML\",\"VML\"==e.type){var J,K=l.doc.createElement(\"div\");if(K.innerHTML='<v:shape adj=\"1\"/>',(J=K.firstChild).style.behavior=\"url(#default#VML)\",!J||\"object\"!=typeof J.adj)return e.type=d;K=null}function tt(t){if(\"function\"==typeof t||Object(t)!==t)return t;var e=new t.constructor;for(var r in t)t[o](r)&&(e[r]=tt(t[r]));return e}e.svg=!(e.vml=\"VML\"==e.type),e._Paper=u,e.fn=i=u.prototype=e.prototype,e._id=0,e.is=function(t,e){return\"finite\"==(e=b.call(e))?!N[o](+t):\"array\"==e?t instanceof Array:\"null\"==e&&null===t||e==typeof t&&null!==t||\"object\"==e&&t===Object(t)||\"array\"==e&&Array.isArray&&Array.isArray(t)||M.call(t).slice(8,-1).toLowerCase()==e},e.angle=function(t,r,i,n,a,s){if(null==a){var o=t-i,l=r-n;return o||l?(180+180*_.atan2(-l,-o)/S+360)%360:0}return e.angle(t,r,a,s)-e.angle(i,n,a,s)},e.rad=function(t){return t%360*S/180},e.deg=function(t){return Math.round(180*t/S%360*1e3)/1e3},e.snapTo=function(t,r,i){if(i=e.is(i,\"finite\")?i:10,e.is(t,A)){for(var n=t.length;n--;)if(B(t[n]-r)<=i)return t[n]}else{var a=r%(t=+t);if(a<i)return r-a;if(a>t-i)return r-a+t}return r};var et,rt;e.createUUID=(et=/[xy]/g,rt=function(t){var e=16*_.random()|0;return(\"x\"==t?e:3&e|8).toString(16)},function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(et,rt).toUpperCase()});e.setWindow=function(r){t(\"raphael.setWindow\",e,l.win,r),l.win=r,l.doc=l.win.document,e._engine.initWin&&e._engine.initWin(l.win)};var it=function(t){if(e.vml){var r,i=/^\\s+|\\s+$/g;try{var n=new ActiveXObject(\"htmlfile\");n.write(\"<body>\"),n.close(),r=n.body}catch(t){r=createPopup().document.body}var a=r.createTextRange();it=ht(function(t){try{r.style.color=x(t).replace(i,d);var e=a.queryCommandValue(\"ForeColor\");return\"#\"+(\"000000\"+(e=(255&e)<<16|65280&e|(16711680&e)>>>16).toString(16)).slice(-6)}catch(t){return\"none\"}})}else{var s=l.doc.createElement(\"i\");s.title=\"Raphaël Colour Picker\",s.style.display=\"none\",l.doc.body.appendChild(s),it=ht(function(t){return s.style.color=t,l.doc.defaultView.getComputedStyle(s,d).getPropertyValue(\"color\")})}return it(t)},nt=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},at=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},st=function(){return this.hex},ot=function(t,r,i){if(null==r&&e.is(t,\"object\")&&\"r\"in t&&\"g\"in t&&\"b\"in t&&(i=t.b,r=t.g,t=t.r),null==r&&e.is(t,\"string\")){var n=e.getRGB(t);t=n.r,r=n.g,i=n.b}return(t>1||r>1||i>1)&&(t/=255,r/=255,i/=255),[t,r,i]},lt=function(t,r,i,n){var a={r:t*=255,g:r*=255,b:i*=255,hex:e.rgb(t,r,i),toString:st};return e.is(n,\"finite\")&&(a.opacity=n),a};function ht(t,e,r){return function i(){var n=Array.prototype.slice.call(arguments,0),a=n.join(\"␀\"),s=i.cache=i.cache||{},l=i.count=i.count||[];return s[o](a)?(function(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return t.push(t.splice(r,1)[0])}(l,a),r?r(s[a]):s[a]):(l.length>=1e3&&delete s[l.shift()],l.push(a),s[a]=t[c](e,n),r?r(s[a]):s[a])}}e.color=function(t){var r;return e.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"b\"in t?(r=e.hsb2rgb(t),t.r=r.r,t.g=r.g,t.b=r.b,t.hex=r.hex):e.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"l\"in t?(r=e.hsl2rgb(t),t.r=r.r,t.g=r.g,t.b=r.b,t.hex=r.hex):(e.is(t,\"string\")&&(t=e.getRGB(t)),e.is(t,\"object\")&&\"r\"in t&&\"g\"in t&&\"b\"in t?(r=e.rgb2hsl(t),t.h=r.h,t.s=r.s,t.l=r.l,r=e.rgb2hsb(t),t.v=r.b):(t={hex:\"none\"}).r=t.g=t.b=t.h=t.s=t.v=t.l=-1),t.toString=st,t},e.hsb2rgb=function(t,e,r,i){var n,a,s,o,l;return this.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"b\"in t&&(r=t.b,e=t.s,i=t.o,t=t.h),o=(l=r*e)*(1-B((t=(t*=360)%360/60)%2-1)),n=a=s=r-l,lt(n+=[l,o,0,0,o,l][t=~~t],a+=[o,l,l,o,0,0][t],s+=[0,0,o,l,l,o][t],i)},e.hsl2rgb=function(t,e,r,i){var n,a,s,o,l;return this.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"l\"in t&&(r=t.l,e=t.s,t=t.h),(t>1||e>1||r>1)&&(t/=360,e/=100,r/=100),o=(l=2*e*(r<.5?r:1-r))*(1-B((t=(t*=360)%360/60)%2-1)),n=a=s=r-l/2,lt(n+=[l,o,0,0,o,l][t=~~t],a+=[o,l,l,o,0,0][t],s+=[0,0,o,l,l,o][t],i)},e.rgb2hsb=function(t,e,r){var i,n;return t=(r=ot(t,e,r))[0],e=r[1],r=r[2],{h:((0==(n=(i=w(t,e,r))-k(t,e,r))?null:i==t?(e-r)/n:i==e?(r-t)/n+2:(t-e)/n+4)+360)%6*60/360,s:0==n?0:n/i,b:i,toString:nt}},e.rgb2hsl=function(t,e,r){var i,n,a,s;return t=(r=ot(t,e,r))[0],e=r[1],r=r[2],i=((n=w(t,e,r))+(a=k(t,e,r)))/2,{h:((0==(s=n-a)?null:n==t?(e-r)/s:n==e?(r-t)/s+2:(t-e)/s+4)+360)%6*60/360,s:0==s?0:i<.5?s/(2*i):s/(2-2*i),l:i,toString:at}},e._path2string=function(){return this.join(\",\").replace(O,\"$1\")};e._preload=function(t,e){var r=l.doc.createElement(\"img\");r.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",r.onload=function(){e.call(this),this.onload=null,l.doc.body.removeChild(this)},r.onerror=function(){l.doc.body.removeChild(this)},l.doc.body.appendChild(r),r.src=t};function ut(){return this.hex}function ct(t,e){for(var r=[],i=0,n=t.length;n-2*!e>i;i+=2){var a=[{x:+t[i-2],y:+t[i-1]},{x:+t[i],y:+t[i+1]},{x:+t[i+2],y:+t[i+3]},{x:+t[i+4],y:+t[i+5]}];e?i?n-4==i?a[3]={x:+t[0],y:+t[1]}:n-2==i&&(a[2]={x:+t[0],y:+t[1]},a[3]={x:+t[2],y:+t[3]}):a[0]={x:+t[n-2],y:+t[n-1]}:n-4==i?a[3]=a[2]:i||(a[0]={x:+t[i],y:+t[i+1]}),r.push([\"C\",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return r}e.getRGB=ht(function(t){if(!t||(t=x(t)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ut};if(\"none\"==t)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ut};!q[o](t.toLowerCase().substring(0,2))&&\"#\"!=t.charAt()&&(t=it(t));var r,i,n,a,s,l,h=t.match(E);return h?(h[2]&&(n=F(h[2].substring(5),16),i=F(h[2].substring(3,5),16),r=F(h[2].substring(1,3),16)),h[3]&&(n=F((s=h[3].charAt(3))+s,16),i=F((s=h[3].charAt(2))+s,16),r=F((s=h[3].charAt(1))+s,16)),h[4]&&(l=h[4][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),\"rgba\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100)),h[5]?(l=h[5][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),(\"deg\"==l[0].slice(-3)||\"°\"==l[0].slice(-1))&&(r/=360),\"hsba\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100),e.hsb2rgb(r,i,n,a)):h[6]?(l=h[6][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),(\"deg\"==l[0].slice(-3)||\"°\"==l[0].slice(-1))&&(r/=360),\"hsla\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100),e.hsl2rgb(r,i,n,a)):((h={r:r,g:i,b:n,toString:ut}).hex=\"#\"+(16777216|n|i<<8|r<<16).toString(16).slice(1),e.is(a,\"finite\")&&(h.opacity=a),h)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ut}},e),e.hsb=ht(function(t,r,i){return e.hsb2rgb(t,r,i).hex}),e.hsl=ht(function(t,r,i){return e.hsl2rgb(t,r,i).hex}),e.rgb=ht(function(t,e,r){function i(t){return t+.5|0}return\"#\"+(16777216|i(r)|i(e)<<8|i(t)<<16).toString(16).slice(1)}),e.getColor=function(t){var e=this.getColor.start=this.getColor.start||{h:0,s:1,b:t||.75},r=this.hsb2rgb(e.h,e.s,e.b);return e.h+=.075,e.h>1&&(e.h=0,e.s-=.2,e.s<=0&&(this.getColor.start={h:0,s:1,b:e.b})),r.hex},e.getColor.reset=function(){delete this.start},e.parsePathString=function(t){if(!t)return null;var r=ft(t);if(r.arr)return mt(r.arr);var i={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},n=[];return e.is(t,A)&&e.is(t[0],A)&&(n=mt(t)),n.length||x(t).replace(V,function(t,e,r){var a=[],s=e.toLowerCase();if(r.replace(Y,function(t,e){e&&a.push(+e)}),\"m\"==s&&a.length>2&&(n.push([e][f](a.splice(0,2))),s=\"l\",e=\"m\"==e?\"l\":\"L\"),\"r\"==s)n.push([e][f](a));else for(;a.length>=i[s]&&(n.push([e][f](a.splice(0,i[s]))),i[s]););}),n.toString=e._path2string,r.arr=mt(n),n},e.parseTransformString=ht(function(t){if(!t)return null;var r=[];return e.is(t,A)&&e.is(t[0],A)&&(r=mt(t)),r.length||x(t).replace(W,function(t,e,i){var n=[];b.call(e);i.replace(Y,function(t,e){e&&n.push(+e)}),r.push([e][f](n))}),r.toString=e._path2string,r},this,function(t){if(!t)return t;for(var e=[],r=0;r<t.length;r++){for(var i=[],n=0;n<t[r].length;n++)i.push(t[r][n]);e.push(i)}return e});var ft=function(t){var e=ft.ps=ft.ps||{};return e[t]?e[t].sleep=100:e[t]={sleep:100},setTimeout(function(){for(var r in e)e[o](r)&&r!=t&&(e[r].sleep--,!e[r].sleep&&delete e[r])}),e[t]};function pt(t,e,r,i,n){return t*(t*(-3*e+9*r-9*i+3*n)+6*e-12*r+6*i)-3*e+3*r}function dt(t,e,r,i,n,a,s,o,l){null==l&&(l=1);for(var h=(l=l>1?1:l<0?0:l)/2,u=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],c=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],f=0,p=0;p<12;p++){var d=h*u[p]+h,g=pt(d,t,r,n,s),x=pt(d,e,i,a,o),v=g*g+x*x;f+=c[p]*_.sqrt(v)}return h*f}function gt(t,e,r,i,n,a,s,o){if(!(w(t,r)<k(n,s)||k(t,r)>w(n,s)||w(e,i)<k(a,o)||k(e,i)>w(a,o))){var l=(t-r)*(a-o)-(e-i)*(n-s);if(l){var h=((t*i-e*r)*(n-s)-(t-r)*(n*o-a*s))/l,u=((t*i-e*r)*(a-o)-(e-i)*(n*o-a*s))/l,c=+h.toFixed(2),f=+u.toFixed(2);if(!(c<+k(t,r).toFixed(2)||c>+w(t,r).toFixed(2)||c<+k(n,s).toFixed(2)||c>+w(n,s).toFixed(2)||f<+k(e,i).toFixed(2)||f>+w(e,i).toFixed(2)||f<+k(a,o).toFixed(2)||f>+w(a,o).toFixed(2)))return{x:h,y:u}}}}function xt(t,r,i){var n=e.bezierBBox(t),a=e.bezierBBox(r);if(!e.isBBoxIntersect(n,a))return i?0:[];for(var s=dt.apply(0,t),o=dt.apply(0,r),l=w(~~(s/5),1),h=w(~~(o/5),1),u=[],c=[],f={},p=i?0:[],d=0;d<l+1;d++){var g=e.findDotsAtSegment.apply(e,t.concat(d/l));u.push({x:g.x,y:g.y,t:d/l})}for(d=0;d<h+1;d++)g=e.findDotsAtSegment.apply(e,r.concat(d/h)),c.push({x:g.x,y:g.y,t:d/h});for(d=0;d<l;d++)for(var x=0;x<h;x++){var v=u[d],y=u[d+1],m=c[x],b=c[x+1],_=B(y.x-v.x)<.001?\"y\":\"x\",C=B(b.x-m.x)<.001?\"y\":\"x\",S=gt(v.x,v.y,y.x,y.y,m.x,m.y,b.x,b.y);if(S){if(f[S.x.toFixed(4)]==S.y.toFixed(4))continue;f[S.x.toFixed(4)]=S.y.toFixed(4);var T=v.t+B((S[_]-v[_])/(y[_]-v[_]))*(y.t-v.t),A=m.t+B((S[C]-m[C])/(b[C]-m[C]))*(b.t-m.t);T>=0&&T<=1.001&&A>=0&&A<=1.001&&(i?p++:p.push({x:S.x,y:S.y,t1:k(T,1),t2:k(A,1)}))}}return p}function vt(t,r,i){t=e._path2curve(t),r=e._path2curve(r);for(var n,a,s,o,l,h,u,c,f,p,d=i?0:[],g=0,x=t.length;g<x;g++){var v=t[g];if(\"M\"==v[0])n=l=v[1],a=h=v[2];else{\"C\"==v[0]?(f=[n,a].concat(v.slice(1)),n=f[6],a=f[7]):(f=[n,a,n,a,l,h,l,h],n=l,a=h);for(var y=0,m=r.length;y<m;y++){var b=r[y];if(\"M\"==b[0])s=u=b[1],o=c=b[2];else{\"C\"==b[0]?(p=[s,o].concat(b.slice(1)),s=p[6],o=p[7]):(p=[s,o,s,o,u,c,u,c],s=u,o=c);var _=xt(f,p,i);if(i)d+=_;else{for(var w=0,k=_.length;w<k;w++)_[w].segment1=g,_[w].segment2=y,_[w].bez1=f,_[w].bez2=p;d=d.concat(_)}}}}}return d}e.findDotsAtSegment=function(t,e,r,i,n,a,s,o,l){var h=1-l,u=C(h,3),c=C(h,2),f=l*l,p=f*l,d=u*t+3*c*l*r+3*h*l*l*n+p*s,g=u*e+3*c*l*i+3*h*l*l*a+p*o,x=t+2*l*(r-t)+f*(n-2*r+t),v=e+2*l*(i-e)+f*(a-2*i+e),y=r+2*l*(n-r)+f*(s-2*n+r),m=i+2*l*(a-i)+f*(o-2*a+i),b=h*t+l*r,w=h*e+l*i,k=h*n+l*s,B=h*a+l*o,T=90-180*_.atan2(x-y,v-m)/S;return(x>y||v<m)&&(T+=180),{x:d,y:g,m:{x:x,y:v},n:{x:y,y:m},start:{x:b,y:w},end:{x:k,y:B},alpha:T}},e.bezierBBox=function(t,r,i,n,a,s,o,l){e.is(t,\"array\")||(t=[t,r,i,n,a,s,o,l]);var h=St.apply(null,t);return{x:h.min.x,y:h.min.y,x2:h.max.x,y2:h.max.y,width:h.max.x-h.min.x,height:h.max.y-h.min.y}},e.isPointInsideBBox=function(t,e,r){return e>=t.x&&e<=t.x2&&r>=t.y&&r<=t.y2},e.isBBoxIntersect=function(t,r){var i=e.isPointInsideBBox;return i(r,t.x,t.y)||i(r,t.x2,t.y)||i(r,t.x,t.y2)||i(r,t.x2,t.y2)||i(t,r.x,r.y)||i(t,r.x2,r.y)||i(t,r.x,r.y2)||i(t,r.x2,r.y2)||(t.x<r.x2&&t.x>r.x||r.x<t.x2&&r.x>t.x)&&(t.y<r.y2&&t.y>r.y||r.y<t.y2&&r.y>t.y)},e.pathIntersection=function(t,e){return vt(t,e)},e.pathIntersectionNumber=function(t,e){return vt(t,e,1)},e.isPointInsidePath=function(t,r,i){var n=e.pathBBox(t);return e.isPointInsideBBox(n,r,i)&&vt(t,[[\"M\",r,i],[\"H\",n.x2+10]],1)%2==1},e._removedFactory=function(e){return function(){t(\"raphael.log\",null,\"Raphaël: you are calling to method “\"+e+\"” of removed object\",e)}};var yt=e.pathBBox=function(t){var e=ft(t);if(e.bbox)return tt(e.bbox);if(!t)return{x:0,y:0,width:0,height:0,x2:0,y2:0};for(var r,i=0,n=0,a=[],s=[],o=0,l=(t=Tt(t)).length;o<l;o++)if(\"M\"==(r=t[o])[0])i=r[1],n=r[2],a.push(i),s.push(n);else{var h=St(i,n,r[1],r[2],r[3],r[4],r[5],r[6]);a=a[f](h.min.x,h.max.x),s=s[f](h.min.y,h.max.y),i=r[5],n=r[6]}var u=k[c](0,a),p=k[c](0,s),d=w[c](0,a),g=w[c](0,s),x=d-u,v=g-p,y={x:u,y:p,x2:d,y2:g,width:x,height:v,cx:u+x/2,cy:p+v/2};return e.bbox=tt(y),y},mt=function(t){var r=tt(t);return r.toString=e._path2string,r},bt=e._pathToRelative=function(t){var r=ft(t);if(r.rel)return mt(r.rel);e.is(t,A)&&e.is(t&&t[0],A)||(t=e.parsePathString(t));var i=[],n=0,a=0,s=0,o=0,l=0;\"M\"==t[0][0]&&(s=n=t[0][1],o=a=t[0][2],l++,i.push([\"M\",n,a]));for(var h=l,u=t.length;h<u;h++){var c=i[h]=[],f=t[h];if(f[0]!=b.call(f[0]))switch(c[0]=b.call(f[0]),c[0]){case\"a\":c[1]=f[1],c[2]=f[2],c[3]=f[3],c[4]=f[4],c[5]=f[5],c[6]=+(f[6]-n).toFixed(3),c[7]=+(f[7]-a).toFixed(3);break;case\"v\":c[1]=+(f[1]-a).toFixed(3);break;case\"m\":s=f[1],o=f[2];default:for(var p=1,d=f.length;p<d;p++)c[p]=+(f[p]-(p%2?n:a)).toFixed(3)}else{c=i[h]=[],\"m\"==f[0]&&(s=f[1]+n,o=f[2]+a);for(var g=0,x=f.length;g<x;g++)i[h][g]=f[g]}var v=i[h].length;switch(i[h][0]){case\"z\":n=s,a=o;break;case\"h\":n+=+i[h][v-1];break;case\"v\":a+=+i[h][v-1];break;default:n+=+i[h][v-2],a+=+i[h][v-1]}}return i.toString=e._path2string,r.rel=mt(i),i},_t=e._pathToAbsolute=function(t){var r=ft(t);if(r.abs)return mt(r.abs);if(e.is(t,A)&&e.is(t&&t[0],A)||(t=e.parsePathString(t)),!t||!t.length)return[[\"M\",0,0]];var i=[],n=0,a=0,s=0,o=0,l=0;\"M\"==t[0][0]&&(s=n=+t[0][1],o=a=+t[0][2],l++,i[0]=[\"M\",n,a]);for(var h,u,c=3==t.length&&\"M\"==t[0][0]&&\"R\"==t[1][0].toUpperCase()&&\"Z\"==t[2][0].toUpperCase(),p=l,d=t.length;p<d;p++){if(i.push(h=[]),(u=t[p])[0]!=R.call(u[0]))switch(h[0]=R.call(u[0]),h[0]){case\"A\":h[1]=u[1],h[2]=u[2],h[3]=u[3],h[4]=u[4],h[5]=u[5],h[6]=+(u[6]+n),h[7]=+(u[7]+a);break;case\"V\":h[1]=+u[1]+a;break;case\"H\":h[1]=+u[1]+n;break;case\"R\":for(var g=[n,a][f](u.slice(1)),x=2,v=g.length;x<v;x++)g[x]=+g[x]+n,g[++x]=+g[x]+a;i.pop(),i=i[f](ct(g,c));break;case\"M\":s=+u[1]+n,o=+u[2]+a;default:for(x=1,v=u.length;x<v;x++)h[x]=+u[x]+(x%2?n:a)}else if(\"R\"==u[0])g=[n,a][f](u.slice(1)),i.pop(),i=i[f](ct(g,c)),h=[\"R\"][f](u.slice(-2));else for(var y=0,m=u.length;y<m;y++)h[y]=u[y];switch(h[0]){case\"Z\":n=s,a=o;break;case\"H\":n=h[1];break;case\"V\":a=h[1];break;case\"M\":s=h[h.length-2],o=h[h.length-1];default:n=h[h.length-2],a=h[h.length-1]}}return i.toString=e._path2string,r.abs=mt(i),i},wt=function(t,e,r,i){return[t,e,r,i,r,i]},kt=function(t,e,r,i,n,a){return[1/3*t+2/3*r,1/3*e+2/3*i,1/3*n+2/3*r,1/3*a+2/3*i,n,a]},Bt=function(t,e,r,i,n,a,s,o,l,h){var u,c=120*S/180,p=S/180*(+n||0),d=[],g=ht(function(t,e,r){return{x:t*_.cos(r)-e*_.sin(r),y:t*_.sin(r)+e*_.cos(r)}});if(h)A=h[0],M=h[1],C=h[2],T=h[3];else{t=(u=g(t,e,-p)).x,e=u.y,o=(u=g(o,l,-p)).x,l=u.y;_.cos(S/180*n),_.sin(S/180*n);var x=(t-o)/2,y=(e-l)/2,m=x*x/(r*r)+y*y/(i*i);m>1&&(r*=m=_.sqrt(m),i*=m);var b=r*r,w=i*i,k=(a==s?-1:1)*_.sqrt(B((b*w-b*y*y-w*x*x)/(b*y*y+w*x*x))),C=k*r*y/i+(t+o)/2,T=k*-i*x/r+(e+l)/2,A=_.asin(((e-T)/i).toFixed(9)),M=_.asin(((l-T)/i).toFixed(9));(A=t<C?S-A:A)<0&&(A=2*S+A),(M=o<C?S-M:M)<0&&(M=2*S+M),s&&A>M&&(A-=2*S),!s&&M>A&&(M-=2*S)}var E=M-A;if(B(E)>c){var N=M,L=o,P=l;M=A+c*(s&&M>A?1:-1),o=C+r*_.cos(M),l=T+i*_.sin(M),d=Bt(o,l,r,i,n,0,s,L,P,[M,N,C,T])}E=M-A;var z=_.cos(A),F=_.sin(A),R=_.cos(M),j=_.sin(M),I=_.tan(E/4),D=4/3*r*I,q=4/3*i*I,O=[t,e],V=[t+D*F,e-q*z],W=[o+D*j,l-q*R],Y=[o,l];if(V[0]=2*O[0]-V[0],V[1]=2*O[1]-V[1],h)return[V,W,Y][f](d);for(var G=[],H=0,X=(d=[V,W,Y][f](d).join()[v](\",\")).length;H<X;H++)G[H]=H%2?g(d[H-1],d[H],p).y:g(d[H],d[H+1],p).x;return G},Ct=function(t,e,r,i,n,a,s,o,l){var h=1-l;return{x:C(h,3)*t+3*C(h,2)*l*r+3*h*l*l*n+C(l,3)*s,y:C(h,3)*e+3*C(h,2)*l*i+3*h*l*l*a+C(l,3)*o}},St=ht(function(t,e,r,i,n,a,s,o){var l,h=n-2*r+t-(s-2*n+r),u=2*(r-t)-2*(n-r),f=t-r,p=(-u+_.sqrt(u*u-4*h*f))/2/h,d=(-u-_.sqrt(u*u-4*h*f))/2/h,g=[e,o],x=[t,s];return B(p)>\"1e12\"&&(p=.5),B(d)>\"1e12\"&&(d=.5),p>0&&p<1&&(l=Ct(t,e,r,i,n,a,s,o,p),x.push(l.x),g.push(l.y)),d>0&&d<1&&(l=Ct(t,e,r,i,n,a,s,o,d),x.push(l.x),g.push(l.y)),h=a-2*i+e-(o-2*a+i),f=e-i,p=(-(u=2*(i-e)-2*(a-i))+_.sqrt(u*u-4*h*f))/2/h,d=(-u-_.sqrt(u*u-4*h*f))/2/h,B(p)>\"1e12\"&&(p=.5),B(d)>\"1e12\"&&(d=.5),p>0&&p<1&&(l=Ct(t,e,r,i,n,a,s,o,p),x.push(l.x),g.push(l.y)),d>0&&d<1&&(l=Ct(t,e,r,i,n,a,s,o,d),x.push(l.x),g.push(l.y)),{min:{x:k[c](0,x),y:k[c](0,g)},max:{x:w[c](0,x),y:w[c](0,g)}}}),Tt=e._path2curve=ht(function(t,e){var r=!e&&ft(t);if(!e&&r.curve)return mt(r.curve);for(var i=_t(t),n=e&&_t(e),a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=function(t,e,r){var i,n;if(!t)return[\"C\",e.x,e.y,e.x,e.y,e.x,e.y];switch(!(t[0]in{T:1,Q:1})&&(e.qx=e.qy=null),t[0]){case\"M\":e.X=t[1],e.Y=t[2];break;case\"A\":t=[\"C\"][f](Bt[c](0,[e.x,e.y][f](t.slice(1))));break;case\"S\":\"C\"==r||\"S\"==r?(i=2*e.x-e.bx,n=2*e.y-e.by):(i=e.x,n=e.y),t=[\"C\",i,n][f](t.slice(1));break;case\"T\":\"Q\"==r||\"T\"==r?(e.qx=2*e.x-e.qx,e.qy=2*e.y-e.qy):(e.qx=e.x,e.qy=e.y),t=[\"C\"][f](kt(e.x,e.y,e.qx,e.qy,t[1],t[2]));break;case\"Q\":e.qx=t[1],e.qy=t[2],t=[\"C\"][f](kt(e.x,e.y,t[1],t[2],t[3],t[4]));break;case\"L\":t=[\"C\"][f](wt(e.x,e.y,t[1],t[2]));break;case\"H\":t=[\"C\"][f](wt(e.x,e.y,t[1],e.y));break;case\"V\":t=[\"C\"][f](wt(e.x,e.y,e.x,t[1]));break;case\"Z\":t=[\"C\"][f](wt(e.x,e.y,e.X,e.Y))}return t},l=function(t,e){if(t[e].length>7){t[e].shift();for(var r=t[e];r.length;)u[e]=\"A\",n&&(p[e]=\"A\"),t.splice(e++,0,[\"C\"][f](r.splice(0,6)));t.splice(e,1),v=w(i.length,n&&n.length||0)}},h=function(t,e,r,a,s){t&&e&&\"M\"==t[s][0]&&\"M\"!=e[s][0]&&(e.splice(s,0,[\"M\",a.x,a.y]),r.bx=0,r.by=0,r.x=t[s][1],r.y=t[s][2],v=w(i.length,n&&n.length||0))},u=[],p=[],d=\"\",g=\"\",x=0,v=w(i.length,n&&n.length||0);x<v;x++){i[x]&&(d=i[x][0]),\"C\"!=d&&(u[x]=d,x&&(g=u[x-1])),i[x]=o(i[x],a,g),\"A\"!=u[x]&&\"C\"==d&&(u[x]=\"C\"),l(i,x),n&&(n[x]&&(d=n[x][0]),\"C\"!=d&&(p[x]=d,x&&(g=p[x-1])),n[x]=o(n[x],s,g),\"A\"!=p[x]&&\"C\"==d&&(p[x]=\"C\"),l(n,x)),h(i,n,a,s,x),h(n,i,s,a,x);var y=i[x],m=n&&n[x],b=y.length,_=n&&m.length;a.x=y[b-2],a.y=y[b-1],a.bx=z(y[b-4])||a.x,a.by=z(y[b-3])||a.y,s.bx=n&&(z(m[_-4])||s.x),s.by=n&&(z(m[_-3])||s.y),s.x=n&&m[_-2],s.y=n&&m[_-1]}return n||(r.curve=mt(i)),n?[i,n]:i},null,mt),At=(e._parseDots=ht(function(t){for(var r=[],i=0,n=t.length;i<n;i++){var a={},s=t[i].match(/^([^:]*):?([\\d\\.]*)/);if(a.color=e.getRGB(s[1]),a.color.error)return null;a.opacity=a.color.opacity,a.color=a.color.hex,s[2]&&(a.offset=s[2]+\"%\"),r.push(a)}for(i=1,n=r.length-1;i<n;i++)if(!r[i].offset){for(var o=z(r[i-1].offset||0),l=0,h=i+1;h<n;h++)if(r[h].offset){l=r[h].offset;break}l||(l=100,h=n);for(var u=((l=z(l))-o)/(h-i+1);i<h;i++)o+=u,r[i].offset=o+\"%\"}return r}),e._tear=function(t,e){t==e.top&&(e.top=t.prev),t==e.bottom&&(e.bottom=t.next),t.next&&(t.next.prev=t.prev),t.prev&&(t.prev.next=t.next)}),Mt=(e._tofront=function(t,e){e.top!==t&&(At(t,e),t.next=null,t.prev=e.top,e.top.next=t,e.top=t)},e._toback=function(t,e){e.bottom!==t&&(At(t,e),t.next=e.bottom,t.prev=null,e.bottom.prev=t,e.bottom=t)},e._insertafter=function(t,e,r){At(t,r),e==r.top&&(r.top=t),e.next&&(e.next.prev=t),t.next=e.next,t.prev=e,e.next=t},e._insertbefore=function(t,e,r){At(t,r),e==r.bottom&&(r.bottom=t),e.prev&&(e.prev.next=t),t.prev=e.prev,e.prev=t,t.next=e},e.toMatrix=function(t,e){var r=yt(t),i={_:{transform:d},getBBox:function(){return r}};return Et(i,e),i.matrix}),Et=(e.transformPath=function(t,e){return Q(t,Mt(t,e))},e._extractTransform=function(t,r){if(null==r)return t._.transform;r=x(r).replace(/\\.{3}|\\u2026/g,t._.transform||d);var i,n,a=e.parseTransformString(r),s=0,o=1,l=1,h=t._,u=new Pt;if(h.transform=a||[],a)for(var c=0,f=a.length;c<f;c++){var p,g,v,y,m,b=a[c],_=b.length,w=x(b[0]).toLowerCase(),k=b[0]!=w,B=k?u.invert():0;\"t\"==w&&3==_?k?(p=B.x(0,0),g=B.y(0,0),v=B.x(b[1],b[2]),y=B.y(b[1],b[2]),u.translate(v-p,y-g)):u.translate(b[1],b[2]):\"r\"==w?2==_?(m=m||t.getBBox(1),u.rotate(b[1],m.x+m.width/2,m.y+m.height/2),s+=b[1]):4==_&&(k?(v=B.x(b[2],b[3]),y=B.y(b[2],b[3]),u.rotate(b[1],v,y)):u.rotate(b[1],b[2],b[3]),s+=b[1]):\"s\"==w?2==_||3==_?(m=m||t.getBBox(1),u.scale(b[1],b[_-1],m.x+m.width/2,m.y+m.height/2),o*=b[1],l*=b[_-1]):5==_&&(k?(v=B.x(b[3],b[4]),y=B.y(b[3],b[4]),u.scale(b[1],b[2],v,y)):u.scale(b[1],b[2],b[3],b[4]),o*=b[1],l*=b[2]):\"m\"==w&&7==_&&u.add(b[1],b[2],b[3],b[4],b[5],b[6]),h.dirtyT=1,t.matrix=u}t.matrix=u,h.sx=o,h.sy=l,h.deg=s,h.dx=i=u.e,h.dy=n=u.f,1==o&&1==l&&!s&&h.bbox?(h.bbox.x+=+i,h.bbox.y+=+n):h.dirtyT=1}),Nt=function(t){var e=t[0];switch(e.toLowerCase()){case\"t\":return[e,0,0];case\"m\":return[e,1,0,0,1,0,0];case\"r\":return 4==t.length?[e,0,t[2],t[3]]:[e,0];case\"s\":return 5==t.length?[e,1,1,t[3],t[4]]:3==t.length?[e,1,1]:[e,1]}},Lt=e._equaliseTransform=function(t,r){r=x(r).replace(/\\.{3}|\\u2026/g,t),t=e.parseTransformString(t)||[],r=e.parseTransformString(r)||[];for(var i,n,a,s,o=w(t.length,r.length),l=[],h=[],u=0;u<o;u++){if(a=t[u]||Nt(r[u]),s=r[u]||Nt(a),a[0]!=s[0]||\"r\"==a[0].toLowerCase()&&(a[2]!=s[2]||a[3]!=s[3])||\"s\"==a[0].toLowerCase()&&(a[3]!=s[3]||a[4]!=s[4]))return;for(l[u]=[],h[u]=[],i=0,n=w(a.length,s.length);i<n;i++)i in a&&(l[u][i]=a[i]),i in s&&(h[u][i]=s[i])}return{from:l,to:h}};function Pt(t,e,r,i,n,a){null!=t?(this.a=+t,this.b=+e,this.c=+r,this.d=+i,this.e=+n,this.f=+a):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}e._getContainer=function(t,r,i,n){var a;if(null!=(a=null!=n||e.is(t,\"object\")?t:l.doc.getElementById(t)))return a.tagName?null==r?{container:a,width:a.style.pixelWidth||a.offsetWidth,height:a.style.pixelHeight||a.offsetHeight}:{container:a,width:r,height:i}:{container:1,x:t,y:r,width:i,height:n}},e.pathToRelative=bt,e._engine={},e.path2curve=Tt,e.matrix=function(t,e,r,i,n,a){return new Pt(t,e,r,i,n,a)},function(t){function r(t){return t[0]*t[0]+t[1]*t[1]}function i(t){var e=_.sqrt(r(t));t[0]&&(t[0]/=e),t[1]&&(t[1]/=e)}t.add=function(t,e,r,i,n,a){var s,o,l,h,u=[[],[],[]],c=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],f=[[t,r,n],[e,i,a],[0,0,1]];for(t&&t instanceof Pt&&(f=[[t.a,t.c,t.e],[t.b,t.d,t.f],[0,0,1]]),s=0;s<3;s++)for(o=0;o<3;o++){for(h=0,l=0;l<3;l++)h+=c[s][l]*f[l][o];u[s][o]=h}this.a=u[0][0],this.b=u[1][0],this.c=u[0][1],this.d=u[1][1],this.e=u[0][2],this.f=u[1][2]},t.invert=function(){var t=this,e=t.a*t.d-t.b*t.c;return new Pt(t.d/e,-t.b/e,-t.c/e,t.a/e,(t.c*t.f-t.d*t.e)/e,(t.b*t.e-t.a*t.f)/e)},t.clone=function(){return new Pt(this.a,this.b,this.c,this.d,this.e,this.f)},t.translate=function(t,e){this.add(1,0,0,1,t,e)},t.scale=function(t,e,r,i){null==e&&(e=t),(r||i)&&this.add(1,0,0,1,r,i),this.add(t,0,0,e,0,0),(r||i)&&this.add(1,0,0,1,-r,-i)},t.rotate=function(t,r,i){t=e.rad(t),r=r||0,i=i||0;var n=+_.cos(t).toFixed(9),a=+_.sin(t).toFixed(9);this.add(n,a,-a,n,r,i),this.add(1,0,0,1,-r,-i)},t.x=function(t,e){return t*this.a+e*this.c+this.e},t.y=function(t,e){return t*this.b+e*this.d+this.f},t.get=function(t){return+this[x.fromCharCode(97+t)].toFixed(4)},t.toString=function(){return e.svg?\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},t.toFilter=function(){return\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+this.get(0)+\", M12=\"+this.get(2)+\", M21=\"+this.get(1)+\", M22=\"+this.get(3)+\", Dx=\"+this.get(4)+\", Dy=\"+this.get(5)+\", sizingmethod='auto expand')\"},t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},t.split=function(){var t={};t.dx=this.e,t.dy=this.f;var n=[[this.a,this.c],[this.b,this.d]];t.scalex=_.sqrt(r(n[0])),i(n[0]),t.shear=n[0][0]*n[1][0]+n[0][1]*n[1][1],n[1]=[n[1][0]-n[0][0]*t.shear,n[1][1]-n[0][1]*t.shear],t.scaley=_.sqrt(r(n[1])),i(n[1]),t.shear/=t.scaley;var a=-n[0][1],s=n[1][1];return s<0?(t.rotate=e.deg(_.acos(s)),a<0&&(t.rotate=360-t.rotate)):t.rotate=e.deg(_.asin(a)),t.isSimple=!(+t.shear.toFixed(9)||t.scalex.toFixed(9)!=t.scaley.toFixed(9)&&t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t},t.toTransformString=function(t){var e=t||this[v]();return e.isSimple?(e.scalex=+e.scalex.toFixed(4),e.scaley=+e.scaley.toFixed(4),e.rotate=+e.rotate.toFixed(4),(e.dx||e.dy?\"t\"+[e.dx,e.dy]:d)+(1!=e.scalex||1!=e.scaley?\"s\"+[e.scalex,e.scaley,0,0]:d)+(e.rotate?\"r\"+[e.rotate,0,0]:d)):\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(Pt.prototype);for(var zt=function(){this.returnValue=!1},Ft=function(){return this.originalEvent.preventDefault()},Rt=function(){this.cancelBubble=!0},jt=function(){return this.originalEvent.stopPropagation()},It=function(t){var e=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,r=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft;return{x:t.clientX+r,y:t.clientY+e}},Dt=l.doc.addEventListener?function(t,e,r,i){var n=function(t){var e=It(t);return r.call(i,t,e.x,e.y)};if(t.addEventListener(e,n,!1),p&&m[e]){var a=function(e){for(var n=It(e),a=e,s=0,o=e.targetTouches&&e.targetTouches.length;s<o;s++)if(e.targetTouches[s].target==t){(e=e.targetTouches[s]).originalEvent=a,e.preventDefault=Ft,e.stopPropagation=jt;break}return r.call(i,e,n.x,n.y)};t.addEventListener(m[e],a,!1)}return function(){return t.removeEventListener(e,n,!1),p&&m[e]&&t.removeEventListener(m[e],a,!1),!0}}:l.doc.attachEvent?function(t,e,r,i){var n=function(t){t=t||l.win.event;var e=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,n=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft,a=t.clientX+n,s=t.clientY+e;return t.preventDefault=t.preventDefault||zt,t.stopPropagation=t.stopPropagation||Rt,r.call(i,t,a,s)};return t.attachEvent(\"on\"+e,n),function(){return t.detachEvent(\"on\"+e,n),!0}}:void 0,qt=[],Ot=function(e){for(var r,i=e.clientX,n=e.clientY,a=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,s=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft,o=qt.length;o--;){if(r=qt[o],p&&e.touches){for(var h,u=e.touches.length;u--;)if((h=e.touches[u]).identifier==r.el._drag.id){i=h.clientX,n=h.clientY,(e.originalEvent?e.originalEvent:e).preventDefault();break}}else e.preventDefault();var c,f=r.el.node,d=f.nextSibling,g=f.parentNode,x=f.style.display;l.win.opera&&g.removeChild(f),f.style.display=\"none\",c=r.el.paper.getElementByPoint(i,n),f.style.display=x,l.win.opera&&(d?g.insertBefore(f,d):g.appendChild(f)),c&&t(\"raphael.drag.over.\"+r.el.id,r.el,c),i+=s,n+=a,t(\"raphael.drag.move.\"+r.el.id,r.move_scope||r.el,i-r.el._drag.x,n-r.el._drag.y,i,n,e)}},Vt=function(r){e.unmousemove(Ot).unmouseup(Vt);for(var i,n=qt.length;n--;)(i=qt[n]).el._drag={},t(\"raphael.drag.end.\"+i.el.id,i.end_scope||i.start_scope||i.move_scope||i.el,r);qt=[]},Wt=e.el={},Yt=y.length;Yt--;)!function(t){e[t]=Wt[t]=function(r,i){return e.is(r,\"function\")&&(this.events=this.events||[],this.events.push({name:t,f:r,unbind:Dt(this.shape||this.node||l.doc,t,r,i||this)})),this},e[\"un\"+t]=Wt[\"un\"+t]=function(r){for(var i=this.events||[],n=i.length;n--;)i[n].name!=t||!e.is(r,\"undefined\")&&i[n].f!=r||(i[n].unbind(),i.splice(n,1),!i.length&&delete this.events);return this}}(y[Yt]);Wt.data=function(r,i){var n=G[this.id]=G[this.id]||{};if(0==arguments.length)return n;if(1==arguments.length){if(e.is(r,\"object\")){for(var a in r)r[o](a)&&this.data(a,r[a]);return this}return t(\"raphael.data.get.\"+this.id,this,n[r],r),n[r]}return n[r]=i,t(\"raphael.data.set.\"+this.id,this,i,r),this},Wt.removeData=function(t){return null==t?delete G[this.id]:G[this.id]&&delete G[this.id][t],this},Wt.getData=function(){return tt(G[this.id]||{})},Wt.hover=function(t,e,r,i){return this.mouseover(t,r).mouseout(e,i||r)},Wt.unhover=function(t,e){return this.unmouseover(t).unmouseout(e)};var Gt=[];Wt.drag=function(r,i,n,a,s,o){function h(h){(h.originalEvent||h).preventDefault();var u=h.clientX,c=h.clientY,f=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,d=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft;if(this._drag.id=h.identifier,p&&h.touches)for(var g,x=h.touches.length;x--;)if(g=h.touches[x],this._drag.id=g.identifier,g.identifier==this._drag.id){u=g.clientX,c=g.clientY;break}this._drag.x=u+d,this._drag.y=c+f,!qt.length&&e.mousemove(Ot).mouseup(Vt),qt.push({el:this,move_scope:a,start_scope:s,end_scope:o}),i&&t.on(\"raphael.drag.start.\"+this.id,i),r&&t.on(\"raphael.drag.move.\"+this.id,r),n&&t.on(\"raphael.drag.end.\"+this.id,n),t(\"raphael.drag.start.\"+this.id,s||a||this,this._drag.x,this._drag.y,h)}return this._drag={},Gt.push({el:this,start:h}),this.mousedown(h),this},Wt.onDragOver=function(e){e?t.on(\"raphael.drag.over.\"+this.id,e):t.unbind(\"raphael.drag.over.\"+this.id)},Wt.undrag=function(){for(var r=Gt.length;r--;)Gt[r].el==this&&(this.unmousedown(Gt[r].start),Gt.splice(r,1),t.unbind(\"raphael.drag.*.\"+this.id));!Gt.length&&e.unmousemove(Ot).unmouseup(Vt),qt=[]},i.circle=function(t,r,i){var n=e._engine.circle(this,t||0,r||0,i||0);return this.__set__&&this.__set__.push(n),n},i.rect=function(t,r,i,n,a){var s=e._engine.rect(this,t||0,r||0,i||0,n||0,a||0);return this.__set__&&this.__set__.push(s),s},i.ellipse=function(t,r,i,n){var a=e._engine.ellipse(this,t||0,r||0,i||0,n||0);return this.__set__&&this.__set__.push(a),a},i.path=function(t){t&&!e.is(t,\"string\")&&!e.is(t[0],A)&&(t+=d);var r=e._engine.path(e.format[c](e,arguments),this);return this.__set__&&this.__set__.push(r),r},i.image=function(t,r,i,n,a){var s=e._engine.image(this,t||\"about:blank\",r||0,i||0,n||0,a||0);return this.__set__&&this.__set__.push(s),s},i.text=function(t,r,i){var n=e._engine.text(this,t||0,r||0,x(i));return this.__set__&&this.__set__.push(n),n},i.set=function(t){!e.is(t,\"array\")&&(t=Array.prototype.splice.call(arguments,0,arguments.length));var r=new ce(t);return this.__set__&&this.__set__.push(r),r.paper=this,r.type=\"set\",r},i.setStart=function(t){this.__set__=t||this.set()},i.setFinish=function(t){var e=this.__set__;return delete this.__set__,e},i.getSize=function(){var t=this.canvas.parentNode;return{width:t.offsetWidth,height:t.offsetHeight}},i.setSize=function(t,r){return e._engine.setSize.call(this,t,r)},i.setViewBox=function(t,r,i,n,a){return e._engine.setViewBox.call(this,t,r,i,n,a)},i.top=i.bottom=null,i.raphael=e;function Ht(){return this.x+g+this.y+g+this.width+\" × \"+this.height}i.getElementByPoint=function(t,e){var r,i,n,a,s,o,h,u=this.canvas,c=l.doc.elementFromPoint(t,e);if(l.win.opera&&\"svg\"==c.tagName){var f=(i=(r=u).getBoundingClientRect(),n=r.ownerDocument,a=n.body,s=n.documentElement,o=s.clientTop||a.clientTop||0,h=s.clientLeft||a.clientLeft||0,{y:i.top+(l.win.pageYOffset||s.scrollTop||a.scrollTop)-o,x:i.left+(l.win.pageXOffset||s.scrollLeft||a.scrollLeft)-h}),p=u.createSVGRect();p.x=t-f.x,p.y=e-f.y,p.width=p.height=1;var d=u.getIntersectionList(p,null);d.length&&(c=d[d.length-1])}if(!c)return null;for(;c.parentNode&&c!=u.parentNode&&!c.raphael;)c=c.parentNode;return c==this.canvas.parentNode&&(c=u),c=c&&c.raphael?this.getById(c.raphaelid):null},i.getElementsByBBox=function(t){var r=this.set();return this.forEach(function(i){e.isBBoxIntersect(i.getBBox(),t)&&r.push(i)}),r},i.getById=function(t){for(var e=this.bottom;e;){if(e.id==t)return e;e=e.next}return null},i.forEach=function(t,e){for(var r=this.bottom;r;){if(!1===t.call(e,r))return this;r=r.next}return this},i.getElementsByPoint=function(t,e){var r=this.set();return this.forEach(function(i){i.isPointInside(t,e)&&r.push(i)}),r},Wt.isPointInside=function(t,r){var i=this.realPath=Z[this.type](this);return this.attr(\"transform\")&&this.attr(\"transform\").length&&(i=e.transformPath(i,this.attr(\"transform\"))),e.isPointInsidePath(i,t,r)},Wt.getBBox=function(t){if(this.removed)return{};var e=this._;return t?(!e.dirty&&e.bboxwt||(this.realPath=Z[this.type](this),e.bboxwt=yt(this.realPath),e.bboxwt.toString=Ht,e.dirty=0),e.bboxwt):((e.dirty||e.dirtyT||!e.bbox)&&(!e.dirty&&this.realPath||(e.bboxwt=0,this.realPath=Z[this.type](this)),e.bbox=yt(Q(this.realPath,this.matrix)),e.bbox.toString=Ht,e.dirty=e.dirtyT=0),e.bbox)},Wt.clone=function(){if(this.removed)return null;var t=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(t),t},Wt.glow=function(t){if(\"text\"==this.type)return null;var e={width:((t=t||{}).width||10)+(+this.attr(\"stroke-width\")||1),fill:t.fill||!1,opacity:null==t.opacity?.5:t.opacity,offsetx:t.offsetx||0,offsety:t.offsety||0,color:t.color||\"#000\"},r=e.width/2,i=this.paper,n=i.set(),a=this.realPath||Z[this.type](this);a=this.matrix?Q(a,this.matrix):a;for(var s=1;s<r+1;s++)n.push(i.path(a).attr({stroke:e.color,fill:e.fill?e.color:\"none\",\"stroke-linejoin\":\"round\",\"stroke-linecap\":\"round\",\"stroke-width\":+(e.width/r*s).toFixed(3),opacity:+(e.opacity/r).toFixed(3)}));return n.insertBefore(this).translate(e.offsetx,e.offsety)};var Xt=function(t,r,i,n,a,s,o,l,h){return null==h?dt(t,r,i,n,a,s,o,l):e.findDotsAtSegment(t,r,i,n,a,s,o,l,function(t,e,r,i,n,a,s,o,l){if(!(l<0||dt(t,e,r,i,n,a,s,o)<l)){var h,u=.5,c=1-u;for(h=dt(t,e,r,i,n,a,s,o,c);B(h-l)>.01;)h=dt(t,e,r,i,n,a,s,o,c+=(h<l?1:-1)*(u/=2));return c}}(t,r,i,n,a,s,o,l,h))},Ut=function(t,r){return function(i,n,a){for(var s,o,l,h,u,c=\"\",f={},p=0,d=0,g=(i=Tt(i)).length;d<g;d++){if(\"M\"==(l=i[d])[0])s=+l[1],o=+l[2];else{if(p+(h=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6]))>n){if(r&&!f.start){if(c+=[\"C\"+(u=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6],n-p)).start.x,u.start.y,u.m.x,u.m.y,u.x,u.y],a)return c;f.start=c,c=[\"M\"+u.x,u.y+\"C\"+u.n.x,u.n.y,u.end.x,u.end.y,l[5],l[6]].join(),p+=h,s=+l[5],o=+l[6];continue}if(!t&&!r)return{x:(u=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6],n-p)).x,y:u.y,alpha:u.alpha}}p+=h,s=+l[5],o=+l[6]}c+=l.shift()+l}return f.end=c,(u=t?p:r?f:e.findDotsAtSegment(s,o,l[0],l[1],l[2],l[3],l[4],l[5],1)).alpha&&(u={x:u.x,y:u.y,alpha:u.alpha}),u}},$t=Ut(1),Zt=Ut(),Qt=Ut(0,1);e.getTotalLength=$t,e.getPointAtLength=Zt,e.getSubpath=function(t,e,r){if(this.getTotalLength(t)-r<1e-6)return Qt(t,e).end;var i=Qt(t,r,1);return e?Qt(i,e).end:i},Wt.getTotalLength=function(){var t=this.getPath();if(t)return this.node.getTotalLength?this.node.getTotalLength():$t(t)},Wt.getPointAtLength=function(t){var e=this.getPath();if(e)return Zt(e,t)},Wt.getPath=function(){var t,r=e._getPath[this.type];if(\"text\"!=this.type&&\"set\"!=this.type)return r&&(t=r(this)),t},Wt.getSubpath=function(t,r){var i=this.getPath();if(i)return e.getSubpath(i,t,r)};var Jt=e.easing_formulas={linear:function(t){return t},\"<\":function(t){return C(t,1.7)},\">\":function(t){return C(t,.48)},\"<>\":function(t){var e=.48-t/1.04,r=_.sqrt(.1734+e*e),i=r-e,n=-r-e,a=C(B(i),1/3)*(i<0?-1:1)+C(B(n),1/3)*(n<0?-1:1)+.5;return 3*(1-a)*a*a+a*a*a},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},elastic:function(t){return t==!!t?t:C(2,-10*t)*_.sin(2*S*(t-.075)/.3)+1},bounce:function(t){var e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375}};Jt.easeIn=Jt[\"ease-in\"]=Jt[\"<\"],Jt.easeOut=Jt[\"ease-out\"]=Jt[\">\"],Jt.easeInOut=Jt[\"ease-in-out\"]=Jt[\"<>\"],Jt[\"back-in\"]=Jt.backIn,Jt[\"back-out\"]=Jt.backOut;var Kt=[],te=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){setTimeout(t,16)},ee=function(){for(var r=+new Date,i=0;i<Kt.length;i++){var n=Kt[i];if(!n.el.removed&&!n.paused){var a,s,l=r-n.start,h=n.ms,u=n.easing,c=n.from,p=n.diff,d=n.to,x=(n.t,n.el),v={},y={};if(n.initstatus?(l=(n.initstatus*n.anim.top-n.prev)/(n.percent-n.prev)*h,n.status=n.initstatus,delete n.initstatus,n.stop&&Kt.splice(i--,1)):n.status=(n.prev+(n.percent-n.prev)*(l/h))/n.anim.top,!(l<0))if(l<h){var m=u(l/h);for(var b in c)if(c[o](b)){switch(I[b]){case T:a=+c[b]+m*h*p[b];break;case\"colour\":a=\"rgb(\"+[re(P(c[b].r+m*h*p[b].r)),re(P(c[b].g+m*h*p[b].g)),re(P(c[b].b+m*h*p[b].b))].join(\",\")+\")\";break;case\"path\":a=[];for(var _=0,w=c[b].length;_<w;_++){a[_]=[c[b][_][0]];for(var k=1,B=c[b][_].length;k<B;k++)a[_][k]=+c[b][_][k]+m*h*p[b][_][k];a[_]=a[_].join(g)}a=a.join(g);break;case\"transform\":if(p[b].real)for(a=[],_=0,w=c[b].length;_<w;_++)for(a[_]=[c[b][_][0]],k=1,B=c[b][_].length;k<B;k++)a[_][k]=c[b][_][k]+m*h*p[b][_][k];else{var C=function(t){return+c[b][t]+m*h*p[b][t]};a=[[\"m\",C(0),C(1),C(2),C(3),C(4),C(5)]]}break;case\"csv\":if(\"clip-rect\"==b)for(a=[],_=4;_--;)a[_]=+c[b][_]+m*h*p[b][_];break;default:var S=[][f](c[b]);for(a=[],_=x.paper.customAttributes[b].length;_--;)a[_]=+S[_]+m*h*p[b][_]}v[b]=a}x.attr(v),function(e,r,i){setTimeout(function(){t(\"raphael.anim.frame.\"+e,r,i)})}(x.id,x,n.anim)}else{if(function(r,i,n){setTimeout(function(){t(\"raphael.anim.frame.\"+i.id,i,n),t(\"raphael.anim.finish.\"+i.id,i,n),e.is(r,\"function\")&&r.call(i)})}(n.callback,x,n.anim),x.attr(d),Kt.splice(i--,1),n.repeat>1&&!n.next){for(s in d)d[o](s)&&(y[s]=n.totalOrigin[s]);n.el.attr(y),ae(n.anim,n.el,n.anim.percents[0],null,n.totalOrigin,n.repeat-1)}n.next&&!n.stop&&ae(n.anim,n.el,n.next,null,n.totalOrigin,n.repeat)}}}Kt.length&&te(ee)},re=function(t){return t>255?255:t<0?0:t};function ie(t,e,r,i,n,a){var s=3*e,o=3*(i-e)-s,l=1-s-o,h=3*r,u=3*(n-r)-h,c=1-h-u;function f(t){return((l*t+o)*t+s)*t}return function(t,e){var r=function(t,e){var r,i,n,a,h,u;for(n=t,u=0;u<8;u++){if(a=f(n)-t,B(a)<e)return n;if(B(h=(3*l*n+2*o)*n+s)<1e-6)break;n-=a/h}if(i=1,(n=t)<(r=0))return r;if(n>i)return i;for(;r<i;){if(a=f(n),B(a-t)<e)return n;t>a?r=n:i=n,n=(i-r)/2+r}return n}(t,e);return((c*r+u)*r+h)*r}(t,1/(200*a))}function ne(t,e){var r=[],i={};if(this.ms=e,this.times=1,t){for(var n in t)t[o](n)&&(i[z(n)]=t[n],r.push(z(n)));r.sort(H)}this.anim=i,this.top=r[r.length-1],this.percents=r}function ae(r,i,a,s,l,h){a=z(a);var u,c,p,d,g,y,m=r.ms,b={},_={},w={};if(s)for(B=0,C=Kt.length;B<C;B++){var k=Kt[B];if(k.el.id==i.id&&k.anim==r){k.percent!=a?(Kt.splice(B,1),p=1):c=k,i.attr(k.totalOrigin);break}}else s=+_;for(var B=0,C=r.percents.length;B<C;B++){if(r.percents[B]==a||r.percents[B]>s*r.top){a=r.percents[B],g=r.percents[B-1]||0,m=m/r.top*(a-g),d=r.percents[B+1],u=r.anim[a];break}s&&i.attr(r.anim[r.percents[B]])}if(u){if(c)c.initstatus=s,c.start=new Date-c.ms*s;else{for(var S in u)if(u[o](S)&&(I[o](S)||i.paper.customAttributes[o](S)))switch(b[S]=i.attr(S),null==b[S]&&(b[S]=j[S]),_[S]=u[S],I[S]){case T:w[S]=(_[S]-b[S])/m;break;case\"colour\":b[S]=e.getRGB(b[S]);var A=e.getRGB(_[S]);w[S]={r:(A.r-b[S].r)/m,g:(A.g-b[S].g)/m,b:(A.b-b[S].b)/m};break;case\"path\":var M=Tt(b[S],_[S]),E=M[1];for(b[S]=M[0],w[S]=[],B=0,C=b[S].length;B<C;B++){w[S][B]=[0];for(var N=1,P=b[S][B].length;N<P;N++)w[S][B][N]=(E[B][N]-b[S][B][N])/m}break;case\"transform\":var F=i._,R=Lt(F[S],_[S]);if(R)for(b[S]=R.from,_[S]=R.to,w[S]=[],w[S].real=!0,B=0,C=b[S].length;B<C;B++)for(w[S][B]=[b[S][B][0]],N=1,P=b[S][B].length;N<P;N++)w[S][B][N]=(_[S][B][N]-b[S][B][N])/m;else{var D=i.matrix||new Pt,q={_:{transform:F.transform},getBBox:function(){return i.getBBox(1)}};b[S]=[D.a,D.b,D.c,D.d,D.e,D.f],Et(q,_[S]),_[S]=q._.transform,w[S]=[(q.matrix.a-D.a)/m,(q.matrix.b-D.b)/m,(q.matrix.c-D.c)/m,(q.matrix.d-D.d)/m,(q.matrix.e-D.e)/m,(q.matrix.f-D.f)/m]}break;case\"csv\":var O=x(u[S])[v](n),V=x(b[S])[v](n);if(\"clip-rect\"==S)for(b[S]=V,w[S]=[],B=V.length;B--;)w[S][B]=(O[B]-b[S][B])/m;_[S]=O;break;default:for(O=[][f](u[S]),V=[][f](b[S]),w[S]=[],B=i.paper.customAttributes[S].length;B--;)w[S][B]=((O[B]||0)-(V[B]||0))/m}var W=u.easing,Y=e.easing_formulas[W];if(!Y)if((Y=x(W).match(L))&&5==Y.length){var G=Y;Y=function(t){return ie(t,+G[1],+G[2],+G[3],+G[4],m)}}else Y=X;if(k={anim:r,percent:a,timestamp:y=u.start||r.start||+new Date,start:y+(r.del||0),status:0,initstatus:s||0,stop:!1,ms:m,easing:Y,from:b,diff:w,to:_,el:i,callback:u.callback,prev:g,next:d,repeat:h||r.times,origin:i.attr(),totalOrigin:l},Kt.push(k),s&&!c&&!p&&(k.stop=!0,k.start=new Date-m*s,1==Kt.length))return ee();p&&(k.start=new Date-k.ms*s),1==Kt.length&&te(ee)}t(\"raphael.anim.start.\"+i.id,i,r)}}function se(t){for(var e=0;e<Kt.length;e++)Kt[e].el.paper==t&&Kt.splice(e--,1)}Wt.animateWith=function(t,r,i,n,a,s){if(this.removed)return s&&s.call(this),this;var o=i instanceof ne?i:e.animation(i,n,a,s);ae(o,this,o.percents[0],null,this.attr());for(var l=0,h=Kt.length;l<h;l++)if(Kt[l].anim==r&&Kt[l].el==t){Kt[h-1].start=Kt[l].start;break}return this},Wt.onAnimation=function(e){return e?t.on(\"raphael.anim.frame.\"+this.id,e):t.unbind(\"raphael.anim.frame.\"+this.id),this},ne.prototype.delay=function(t){var e=new ne(this.anim,this.ms);return e.times=this.times,e.del=+t||0,e},ne.prototype.repeat=function(t){var e=new ne(this.anim,this.ms);return e.del=this.del,e.times=_.floor(w(t,0))||1,e},e.animation=function(t,r,i,n){if(t instanceof ne)return t;!e.is(i,\"function\")&&i||(n=n||i||null,i=null),t=Object(t),r=+r||0;var a,s,l={};for(s in t)t[o](s)&&z(s)!=s&&z(s)+\"%\"!=s&&(a=!0,l[s]=t[s]);if(a)return i&&(l.easing=i),n&&(l.callback=n),new ne({100:l},r);if(n){var h=0;for(var u in t){var c=F(u);t[o](u)&&c>h&&(h=c)}!t[h+=\"%\"].callback&&(t[h].callback=n)}return new ne(t,r)},Wt.animate=function(t,r,i,n){if(this.removed)return n&&n.call(this),this;var a=t instanceof ne?t:e.animation(t,r,i,n);return ae(a,this,a.percents[0],null,this.attr()),this},Wt.setTime=function(t,e){return t&&null!=e&&this.status(t,k(e,t.ms)/t.ms),this},Wt.status=function(t,e){var r,i,n=[],a=0;if(null!=e)return ae(t,this,-1,k(e,1)),this;for(r=Kt.length;a<r;a++)if((i=Kt[a]).el.id==this.id&&(!t||i.anim==t)){if(t)return i.status;n.push({anim:i.anim,status:i.status})}return t?0:n},Wt.pause=function(e){for(var r=0;r<Kt.length;r++)Kt[r].el.id!=this.id||e&&Kt[r].anim!=e||!1!==t(\"raphael.anim.pause.\"+this.id,this,Kt[r].anim)&&(Kt[r].paused=!0);return this},Wt.resume=function(e){for(var r=0;r<Kt.length;r++)if(Kt[r].el.id==this.id&&(!e||Kt[r].anim==e)){var i=Kt[r];!1!==t(\"raphael.anim.resume.\"+this.id,this,i.anim)&&(delete i.paused,this.status(i.anim,i.status))}return this},Wt.stop=function(e){for(var r=0;r<Kt.length;r++)Kt[r].el.id!=this.id||e&&Kt[r].anim!=e||!1!==t(\"raphael.anim.stop.\"+this.id,this,Kt[r].anim)&&Kt.splice(r--,1);return this},t.on(\"raphael.remove\",se),t.on(\"raphael.clear\",se),Wt.toString=function(){return\"Raphaël’s object\"};var oe,le,he,ue,ce=function(t){if(this.items=[],this.length=0,this.type=\"set\",t)for(var e=0,r=t.length;e<r;e++)!t[e]||t[e].constructor!=Wt.constructor&&t[e].constructor!=ce||(this[this.items.length]=this.items[this.items.length]=t[e],this.length++)},fe=ce.prototype;for(var pe in fe.push=function(){for(var t,e,r=0,i=arguments.length;r<i;r++)!(t=arguments[r])||t.constructor!=Wt.constructor&&t.constructor!=ce||(this[e=this.items.length]=this.items[e]=t,this.length++);return this},fe.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},fe.forEach=function(t,e){for(var r=0,i=this.items.length;r<i;r++)if(!1===t.call(e,this.items[r],r))return this;return this},Wt)Wt[o](pe)&&(fe[pe]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t][c](r,e)})}}(pe));return fe.attr=function(t,r){if(t&&e.is(t,A)&&e.is(t[0],\"object\"))for(var i=0,n=t.length;i<n;i++)this.items[i].attr(t[i]);else for(var a=0,s=this.items.length;a<s;a++)this.items[a].attr(t,r);return this},fe.clear=function(){for(;this.length;)this.pop()},fe.splice=function(t,e,r){t=t<0?w(this.length+t,0):t,e=w(0,k(this.length-t,e));var i,n=[],a=[],s=[];for(i=2;i<arguments.length;i++)s.push(arguments[i]);for(i=0;i<e;i++)a.push(this[t+i]);for(;i<this.length-t;i++)n.push(this[t+i]);var o=s.length;for(i=0;i<o+n.length;i++)this.items[t+i]=this[t+i]=i<o?s[i]:n[i-o];for(i=this.items.length=this.length-=e-o;this[i];)delete this[i++];return new ce(a)},fe.exclude=function(t){for(var e=0,r=this.length;e<r;e++)if(this[e]==t)return this.splice(e,1),!0},fe.animate=function(t,r,i,n){(e.is(i,\"function\")||!i)&&(n=i||null);var a,s,o=this.items.length,l=o,h=this;if(!o)return this;n&&(s=function(){!--o&&n.call(h)}),i=e.is(i,\"string\")?i:s;var u=e.animation(t,r,i,s);for(a=this.items[--l].animate(u);l--;)this.items[l]&&!this.items[l].removed&&this.items[l].animateWith(a,u,u),this.items[l]&&!this.items[l].removed||o--;return this},fe.insertAfter=function(t){for(var e=this.items.length;e--;)this.items[e].insertAfter(t);return this},fe.getBBox=function(){for(var t=[],e=[],r=[],i=[],n=this.items.length;n--;)if(!this.items[n].removed){var a=this.items[n].getBBox();t.push(a.x),e.push(a.y),r.push(a.x+a.width),i.push(a.y+a.height)}return{x:t=k[c](0,t),y:e=k[c](0,e),x2:r=w[c](0,r),y2:i=w[c](0,i),width:r-t,height:i-e}},fe.clone=function(t){t=this.paper.set();for(var e=0,r=this.items.length;e<r;e++)t.push(this.items[e].clone());return t},fe.toString=function(){return\"Raphaël‘s set\"},fe.glow=function(t){var e=this.paper.set();return this.forEach(function(r,i){var n=r.glow(t);null!=n&&n.forEach(function(t,r){e.push(t)})}),e},fe.isPointInside=function(t,e){var r=!1;return this.forEach(function(i){if(i.isPointInside(t,e))return r=!0,!1}),r},e.registerFont=function(t){if(!t.face)return t;this.fonts=this.fonts||{};var e={w:t.w,face:{},glyphs:{}},r=t.face[\"font-family\"];for(var i in t.face)t.face[o](i)&&(e.face[i]=t.face[i]);if(this.fonts[r]?this.fonts[r].push(e):this.fonts[r]=[e],!t.svg)for(var n in e.face[\"units-per-em\"]=F(t.face[\"units-per-em\"],10),t.glyphs)if(t.glyphs[o](n)){var a=t.glyphs[n];if(e.glyphs[n]={w:a.w,k:{},d:a.d&&\"M\"+a.d.replace(/[mlcxtrv]/g,function(t){return{l:\"L\",c:\"C\",x:\"z\",t:\"m\",r:\"l\",v:\"c\"}[t]||\"M\"})+\"z\"},a.k)for(var s in a.k)a[o](s)&&(e.glyphs[n].k[s]=a.k[s])}return t},i.getFont=function(t,r,i,n){if(n=n||\"normal\",i=i||\"normal\",r=+r||{normal:400,bold:700,lighter:300,bolder:800}[r]||400,e.fonts){var a,s=e.fonts[t];if(!s){var l=new RegExp(\"(^|\\\\s)\"+t.replace(/[^\\w\\d\\s+!~.:_-]/g,d)+\"(\\\\s|$)\",\"i\");for(var h in e.fonts)if(e.fonts[o](h)&&l.test(h)){s=e.fonts[h];break}}if(s)for(var u=0,c=s.length;u<c&&((a=s[u]).face[\"font-weight\"]!=r||a.face[\"font-style\"]!=i&&a.face[\"font-style\"]||a.face[\"font-stretch\"]!=n);u++);return a}},i.print=function(t,r,i,a,s,o,l,h){o=o||\"middle\",l=w(k(l||0,1),-1),h=w(k(h||1,3),1);var u,c=x(i)[v](d),f=0,p=0,g=d;if(e.is(a,\"string\")&&(a=this.getFont(a)),a){u=(s||16)/a.face[\"units-per-em\"];for(var y=a.face.bbox[v](n),m=+y[0],b=y[3]-y[1],_=0,B=+y[1]+(\"baseline\"==o?b+ +a.face.descent:b/2),C=0,S=c.length;C<S;C++){if(\"\\n\"==c[C])f=0,A=0,p=0,_+=b*h;else{var T=p&&a.glyphs[c[C-1]]||{},A=a.glyphs[c[C]];f+=p?(T.w||a.w)+(T.k&&T.k[c[C]]||0)+a.w*l:0,p=1}A&&A.d&&(g+=e.transformPath(A.d,[\"t\",f*u,_*u,\"s\",u,u,m,B,\"t\",(t-m)/u,(r-B)/u]))}}return this.path(g).attr({fill:\"#000\",stroke:\"none\"})},i.add=function(t){if(e.is(t,\"array\"))for(var r,i=this.set(),n=0,s=t.length;n<s;n++)r=t[n]||{},a[o](r.type)&&i.push(this[r.type]().attr(r));return i},e.format=function(t,r){var i=e.is(r,A)?[0][f](r):arguments;return t&&e.is(t,\"string\")&&i.length-1&&(t=t.replace(s,function(t,e){return null==i[++e]?d:i[e]})),t||d},e.fullfill=(oe=/\\{([^\\}]+)\\}/g,le=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,function(t,e){return String(t).replace(oe,function(t,r){return function(t,e,r){var i=r;return e.replace(le,function(t,e,r,n,a){e=e||n,i&&(e in i&&(i=i[e]),\"function\"==typeof i&&a&&(i=i()))}),i=(null==i||i==r?t:i)+\"\"}(t,r,e)})}),e.ninja=function(){if(h.was)l.win.Raphael=h.is;else{window.Raphael=void 0;try{delete window.Raphael}catch(t){}}return e},e.st=fe,t.on(\"raphael.DOMload\",function(){r=!0}),null==(he=document).readyState&&he.addEventListener&&(he.addEventListener(\"DOMContentLoaded\",ue=function(){he.removeEventListener(\"DOMContentLoaded\",ue,!1),he.readyState=\"complete\"},!1),he.readyState=\"loading\"),function t(){/in/.test(he.readyState)?setTimeout(t,9):e.eve(\"raphael.DOMload\")}(),e}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n;i=[r(0),r(3),r(4)],void 0===(n=function(t){return t}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n,a,s,o,l,h,u,c,f,p,d,g,x;s=\"hasOwnProperty\",o=/[\\.\\/]/,l=/\\s*,\\s*/,h=function(t,e){return t-e},u={n:{}},c=function(){for(var t=0,e=this.length;t<e;t++)if(void 0!==this[t])return this[t]},f=function(){for(var t=this.length;--t;)if(void 0!==this[t])return this[t]},p=Object.prototype.toString,d=String,g=Array.isArray||function(t){return t instanceof Array||\"[object Array]\"==p.call(t)},(x=function(t,e){var r,i=a,s=Array.prototype.slice.call(arguments,2),o=x.listeners(t),l=0,u=[],p={},d=[],g=n;d.firstDefined=c,d.lastDefined=f,n=t,a=0;for(var v=0,y=o.length;v<y;v++)\"zIndex\"in o[v]&&(u.push(o[v].zIndex),o[v].zIndex<0&&(p[o[v].zIndex]=o[v]));for(u.sort(h);u[l]<0;)if(r=p[u[l++]],d.push(r.apply(e,s)),a)return a=i,d;for(v=0;v<y;v++)if(\"zIndex\"in(r=o[v]))if(r.zIndex==u[l]){if(d.push(r.apply(e,s)),a)break;do{if((r=p[u[++l]])&&d.push(r.apply(e,s)),a)break}while(r)}else p[r.zIndex]=r;else if(d.push(r.apply(e,s)),a)break;return a=i,n=g,d})._events=u,x.listeners=function(t){var e,r,i,n,a,s,l,h,c=g(t)?t:t.split(o),f=u,p=[f],d=[];for(n=0,a=c.length;n<a;n++){for(h=[],s=0,l=p.length;s<l;s++)for(r=[(f=p[s].n)[c[n]],f[\"*\"]],i=2;i--;)(e=r[i])&&(h.push(e),d=d.concat(e.f||[]));p=h}return d},x.separator=function(t){t?(t=\"[\"+(t=d(t).replace(/(?=[\\.\\^\\]\\[\\-])/g,\"\\\\\"))+\"]\",o=new RegExp(t)):o=/[\\.\\/]/},x.on=function(t,e){if(\"function\"!=typeof e)return function(){};for(var r=g(t)?g(t[0])?t:[t]:d(t).split(l),i=0,n=r.length;i<n;i++)!function(t){for(var r,i=g(t)?t:d(t).split(o),n=u,a=0,s=i.length;a<s;a++)n=(n=n.n).hasOwnProperty(i[a])&&n[i[a]]||(n[i[a]]={n:{}});for(n.f=n.f||[],a=0,s=n.f.length;a<s;a++)if(n.f[a]==e){r=!0;break}!r&&n.f.push(e)}(r[i]);return function(t){+t==+t&&(e.zIndex=+t)}},x.f=function(t){var e=[].slice.call(arguments,1);return function(){x.apply(null,[t,null].concat(e).concat([].slice.call(arguments,0)))}},x.stop=function(){a=1},x.nt=function(t){var e=g(n)?n.join(\".\"):n;return t?new RegExp(\"(?:\\\\.|\\\\/|^)\"+t+\"(?:\\\\.|\\\\/|$)\").test(e):e},x.nts=function(){return g(n)?n:n.split(o)},x.off=x.unbind=function(t,e){if(t){var r=g(t)?g(t[0])?t:[t]:d(t).split(l);if(r.length>1)for(var i=0,n=r.length;i<n;i++)x.off(r[i],e);else{r=g(t)?t:d(t).split(o);var a,h,c,f,p,v=[u];for(i=0,n=r.length;i<n;i++)for(f=0;f<v.length;f+=c.length-2){if(c=[f,1],a=v[f].n,\"*\"!=r[i])a[r[i]]&&c.push(a[r[i]]);else for(h in a)a[s](h)&&c.push(a[h]);v.splice.apply(v,c)}for(i=0,n=v.length;i<n;i++)for(a=v[i];a.n;){if(e){if(a.f){for(f=0,p=a.f.length;f<p;f++)if(a.f[f]==e){a.f.splice(f,1);break}!a.f.length&&delete a.f}for(h in a.n)if(a.n[s](h)&&a.n[h].f){var y=a.n[h].f;for(f=0,p=y.length;f<p;f++)if(y[f]==e){y.splice(f,1);break}!y.length&&delete a.n[h].f}}else for(h in delete a.f,a.n)a.n[s](h)&&a.n[h].f&&delete a.n[h].f;a=a.n}}}else x._events=u={n:{}}},x.once=function(t,e){var r=function(){return x.off(t,r),e.apply(this,arguments)};return x.on(t,r)},x.version=\"0.5.0\",x.toString=function(){return\"You are running Eve 0.5.0\"},t.exports?t.exports=x:void 0===(i=function(){return x}.apply(e,[]))||(t.exports=i)},function(t,e,r){var i,n;i=[r(0)],void 0===(n=function(t){if(!t||t.svg){var e=\"hasOwnProperty\",r=String,i=parseFloat,n=parseInt,a=Math,s=a.max,o=a.abs,l=a.pow,h=/[, ]+/,u=t.eve,c=\"\",f=\" \",p=\"http://www.w3.org/1999/xlink\",d={block:\"M5,0 0,2.5 5,5z\",classic:\"M5,0 0,2.5 5,5 3.5,3 3.5,2z\",diamond:\"M2.5,0 5,2.5 2.5,5 0,2.5z\",open:\"M6,1 1,3.5 6,6\",oval:\"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z\"},g={};t.toString=function(){return\"Your browser supports SVG.\\nYou are running Raphaël \"+this.version};var x=function(i,n){if(n)for(var a in\"string\"==typeof i&&(i=x(i)),n)n[e](a)&&(\"xlink:\"==a.substring(0,6)?i.setAttributeNS(p,a.substring(6),r(n[a])):i.setAttribute(a,r(n[a])));else(i=t._g.doc.createElementNS(\"http://www.w3.org/2000/svg\",i)).style&&(i.style.webkitTapHighlightColor=\"rgba(0,0,0,0)\");return i},v=function(e,n){var h=\"linear\",u=e.id+n,f=.5,p=.5,d=e.node,g=e.paper,v=d.style,m=t._g.doc.getElementById(u);if(!m){if(n=(n=r(n).replace(t._radial_gradient,function(t,e,r){if(h=\"radial\",e&&r){f=i(e);var n=2*((p=i(r))>.5)-1;l(f-.5,2)+l(p-.5,2)>.25&&(p=a.sqrt(.25-l(f-.5,2))*n+.5)&&.5!=p&&(p=p.toFixed(5)-1e-5*n)}return c})).split(/\\s*\\-\\s*/),\"linear\"==h){var b=n.shift();if(b=-i(b),isNaN(b))return null;var _=[0,0,a.cos(t.rad(b)),a.sin(t.rad(b))],w=1/(s(o(_[2]),o(_[3]))||1);_[2]*=w,_[3]*=w,_[2]<0&&(_[0]=-_[2],_[2]=0),_[3]<0&&(_[1]=-_[3],_[3]=0)}var k=t._parseDots(n);if(!k)return null;if(u=u.replace(/[\\(\\)\\s,\\xb0#]/g,\"_\"),e.gradient&&u!=e.gradient.id&&(g.defs.removeChild(e.gradient),delete e.gradient),!e.gradient){m=x(h+\"Gradient\",{id:u}),e.gradient=m,x(m,\"radial\"==h?{fx:f,fy:p}:{x1:_[0],y1:_[1],x2:_[2],y2:_[3],gradientTransform:e.matrix.invert()}),g.defs.appendChild(m);for(var B=0,C=k.length;B<C;B++)m.appendChild(x(\"stop\",{offset:k[B].offset?k[B].offset:B?\"100%\":\"0%\",\"stop-color\":k[B].color||\"#fff\",\"stop-opacity\":isFinite(k[B].opacity)?k[B].opacity:1}))}}return x(d,{fill:y(u),opacity:1,\"fill-opacity\":1}),v.fill=c,v.opacity=1,v.fillOpacity=1,1},y=function(t){if((e=document.documentMode)&&(9===e||10===e))return\"url('#\"+t+\"')\";var e,r=document.location;return\"url('\"+(r.protocol+\"//\"+r.host+r.pathname+r.search)+\"#\"+t+\"')\"},m=function(t){var e=t.getBBox(1);x(t.pattern,{patternTransform:t.matrix.invert()+\" translate(\"+e.x+\",\"+e.y+\")\"})},b=function(i,n,a){if(\"path\"==i.type){for(var s,o,l,h,u,f=r(n).toLowerCase().split(\"-\"),p=i.paper,v=a?\"end\":\"start\",y=i.node,m=i.attrs,b=m[\"stroke-width\"],_=f.length,w=\"classic\",k=3,B=3,C=5;_--;)switch(f[_]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":w=f[_];break;case\"wide\":B=5;break;case\"narrow\":B=2;break;case\"long\":k=5;break;case\"short\":k=2}if(\"open\"==w?(k+=2,B+=2,C+=2,l=1,h=a?4:1,u={fill:\"none\",stroke:m.stroke}):(h=l=k/2,u={fill:m.stroke,stroke:\"none\"}),i._.arrows?a?(i._.arrows.endPath&&g[i._.arrows.endPath]--,i._.arrows.endMarker&&g[i._.arrows.endMarker]--):(i._.arrows.startPath&&g[i._.arrows.startPath]--,i._.arrows.startMarker&&g[i._.arrows.startMarker]--):i._.arrows={},\"none\"!=w){var S=\"raphael-marker-\"+w,T=\"raphael-marker-\"+v+w+k+B+\"-obj\"+i.id;t._g.doc.getElementById(S)?g[S]++:(p.defs.appendChild(x(x(\"path\"),{\"stroke-linecap\":\"round\",d:d[w],id:S})),g[S]=1);var A,M=t._g.doc.getElementById(T);M?(g[T]++,A=M.getElementsByTagName(\"use\")[0]):(M=x(x(\"marker\"),{id:T,markerHeight:B,markerWidth:k,orient:\"auto\",refX:h,refY:B/2}),A=x(x(\"use\"),{\"xlink:href\":\"#\"+S,transform:(a?\"rotate(180 \"+k/2+\" \"+B/2+\") \":c)+\"scale(\"+k/C+\",\"+B/C+\")\",\"stroke-width\":(1/((k/C+B/C)/2)).toFixed(4)}),M.appendChild(A),p.defs.appendChild(M),g[T]=1),x(A,u);var E=l*(\"diamond\"!=w&&\"oval\"!=w);a?(s=i._.arrows.startdx*b||0,o=t.getTotalLength(m.path)-E*b):(s=E*b,o=t.getTotalLength(m.path)-(i._.arrows.enddx*b||0)),(u={})[\"marker-\"+v]=\"url(#\"+T+\")\",(o||s)&&(u.d=t.getSubpath(m.path,s,o)),x(y,u),i._.arrows[v+\"Path\"]=S,i._.arrows[v+\"Marker\"]=T,i._.arrows[v+\"dx\"]=E,i._.arrows[v+\"Type\"]=w,i._.arrows[v+\"String\"]=n}else a?(s=i._.arrows.startdx*b||0,o=t.getTotalLength(m.path)-s):(s=0,o=t.getTotalLength(m.path)-(i._.arrows.enddx*b||0)),i._.arrows[v+\"Path\"]&&x(y,{d:t.getSubpath(m.path,s,o)}),delete i._.arrows[v+\"Path\"],delete i._.arrows[v+\"Marker\"],delete i._.arrows[v+\"dx\"],delete i._.arrows[v+\"Type\"],delete i._.arrows[v+\"String\"];for(u in g)if(g[e](u)&&!g[u]){var N=t._g.doc.getElementById(u);N&&N.parentNode.removeChild(N)}}},_={\"-\":[3,1],\".\":[1,1],\"-.\":[3,1,1,1],\"-..\":[3,1,1,1,1,1],\". \":[1,3],\"- \":[4,3],\"--\":[8,3],\"- .\":[4,3,1,3],\"--.\":[8,3,1,3],\"--..\":[8,3,1,3,1,3]},w=function(t,e,i){if(e=_[r(e).toLowerCase()]){for(var n=t.attrs[\"stroke-width\"]||\"1\",a={round:n,square:n,butt:0}[t.attrs[\"stroke-linecap\"]||i[\"stroke-linecap\"]]||0,s=[],o=e.length;o--;)s[o]=e[o]*n+(o%2?1:-1)*a;x(t.node,{\"stroke-dasharray\":s.join(\",\")})}else x(t.node,{\"stroke-dasharray\":\"none\"})},k=function(i,a){var l=i.node,u=i.attrs,f=l.style.visibility;for(var d in l.style.visibility=\"hidden\",a)if(a[e](d)){if(!t._availableAttrs[e](d))continue;var g=a[d];switch(u[d]=g,d){case\"blur\":i.blur(g);break;case\"title\":var y=l.getElementsByTagName(\"title\");if(y.length&&(y=y[0]))y.firstChild.nodeValue=g;else{y=x(\"title\");var _=t._g.doc.createTextNode(g);y.appendChild(_),l.appendChild(y)}break;case\"href\":case\"target\":var k=l.parentNode;if(\"a\"!=k.tagName.toLowerCase()){var C=x(\"a\");k.insertBefore(C,l),C.appendChild(l),k=C}\"target\"==d?k.setAttributeNS(p,\"show\",\"blank\"==g?\"new\":g):k.setAttributeNS(p,d,g);break;case\"cursor\":l.style.cursor=g;break;case\"transform\":i.transform(g);break;case\"arrow-start\":b(i,g);break;case\"arrow-end\":b(i,g,1);break;case\"clip-rect\":var S=r(g).split(h);if(4==S.length){i.clip&&i.clip.parentNode.parentNode.removeChild(i.clip.parentNode);var T=x(\"clipPath\"),A=x(\"rect\");T.id=t.createUUID(),x(A,{x:S[0],y:S[1],width:S[2],height:S[3]}),T.appendChild(A),i.paper.defs.appendChild(T),x(l,{\"clip-path\":\"url(#\"+T.id+\")\"}),i.clip=A}if(!g){var M=l.getAttribute(\"clip-path\");if(M){var E=t._g.doc.getElementById(M.replace(/(^url\\(#|\\)$)/g,c));E&&E.parentNode.removeChild(E),x(l,{\"clip-path\":c}),delete i.clip}}break;case\"path\":\"path\"==i.type&&(x(l,{d:g?u.path=t._pathToAbsolute(g):\"M0,0\"}),i._.dirty=1,i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1)));break;case\"width\":if(l.setAttribute(d,g),i._.dirty=1,!u.fx)break;d=\"x\",g=u.x;case\"x\":u.fx&&(g=-u.x-(u.width||0));case\"rx\":if(\"rx\"==d&&\"rect\"==i.type)break;case\"cx\":l.setAttribute(d,g),i.pattern&&m(i),i._.dirty=1;break;case\"height\":if(l.setAttribute(d,g),i._.dirty=1,!u.fy)break;d=\"y\",g=u.y;case\"y\":u.fy&&(g=-u.y-(u.height||0));case\"ry\":if(\"ry\"==d&&\"rect\"==i.type)break;case\"cy\":l.setAttribute(d,g),i.pattern&&m(i),i._.dirty=1;break;case\"r\":\"rect\"==i.type?x(l,{rx:g,ry:g}):l.setAttribute(d,g),i._.dirty=1;break;case\"src\":\"image\"==i.type&&l.setAttributeNS(p,\"href\",g);break;case\"stroke-width\":1==i._.sx&&1==i._.sy||(g/=s(o(i._.sx),o(i._.sy))||1),l.setAttribute(d,g),u[\"stroke-dasharray\"]&&w(i,u[\"stroke-dasharray\"],a),i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1));break;case\"stroke-dasharray\":w(i,g,a);break;case\"fill\":var N=r(g).match(t._ISURL);if(N){T=x(\"pattern\");var L=x(\"image\");T.id=t.createUUID(),x(T,{x:0,y:0,patternUnits:\"userSpaceOnUse\",height:1,width:1}),x(L,{x:0,y:0,\"xlink:href\":N[1]}),T.appendChild(L),function(e){t._preload(N[1],function(){var t=this.offsetWidth,r=this.offsetHeight;x(e,{width:t,height:r}),x(L,{width:t,height:r})})}(T),i.paper.defs.appendChild(T),x(l,{fill:\"url(#\"+T.id+\")\"}),i.pattern=T,i.pattern&&m(i);break}var P=t.getRGB(g);if(P.error){if((\"circle\"==i.type||\"ellipse\"==i.type||\"r\"!=r(g).charAt())&&v(i,g)){if(\"opacity\"in u||\"fill-opacity\"in u){var z=t._g.doc.getElementById(l.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,c));if(z){var F=z.getElementsByTagName(\"stop\");x(F[F.length-1],{\"stop-opacity\":(\"opacity\"in u?u.opacity:1)*(\"fill-opacity\"in u?u[\"fill-opacity\"]:1)})}}u.gradient=g,u.fill=\"none\";break}}else delete a.gradient,delete u.gradient,!t.is(u.opacity,\"undefined\")&&t.is(a.opacity,\"undefined\")&&x(l,{opacity:u.opacity}),!t.is(u[\"fill-opacity\"],\"undefined\")&&t.is(a[\"fill-opacity\"],\"undefined\")&&x(l,{\"fill-opacity\":u[\"fill-opacity\"]});P[e](\"opacity\")&&x(l,{\"fill-opacity\":P.opacity>1?P.opacity/100:P.opacity});case\"stroke\":P=t.getRGB(g),l.setAttribute(d,P.hex),\"stroke\"==d&&P[e](\"opacity\")&&x(l,{\"stroke-opacity\":P.opacity>1?P.opacity/100:P.opacity}),\"stroke\"==d&&i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1));break;case\"gradient\":(\"circle\"==i.type||\"ellipse\"==i.type||\"r\"!=r(g).charAt())&&v(i,g);break;case\"opacity\":u.gradient&&!u[e](\"stroke-opacity\")&&x(l,{\"stroke-opacity\":g>1?g/100:g});case\"fill-opacity\":if(u.gradient){(z=t._g.doc.getElementById(l.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,c)))&&(F=z.getElementsByTagName(\"stop\"),x(F[F.length-1],{\"stop-opacity\":g}));break}default:\"font-size\"==d&&(g=n(g,10)+\"px\");var R=d.replace(/(\\-.)/g,function(t){return t.substring(1).toUpperCase()});l.style[R]=g,i._.dirty=1,l.setAttribute(d,g)}}B(i,a),l.style.visibility=f},B=function(i,a){if(\"text\"==i.type&&(a[e](\"text\")||a[e](\"font\")||a[e](\"font-size\")||a[e](\"x\")||a[e](\"y\"))){var s=i.attrs,o=i.node,l=o.firstChild?n(t._g.doc.defaultView.getComputedStyle(o.firstChild,c).getPropertyValue(\"font-size\"),10):10;if(a[e](\"text\")){for(s.text=a.text;o.firstChild;)o.removeChild(o.firstChild);for(var h,u=r(a.text).split(\"\\n\"),f=[],p=0,d=u.length;p<d;p++)h=x(\"tspan\"),p&&x(h,{dy:1.2*l,x:s.x}),h.appendChild(t._g.doc.createTextNode(u[p])),o.appendChild(h),f[p]=h}else for(p=0,d=(f=o.getElementsByTagName(\"tspan\")).length;p<d;p++)p?x(f[p],{dy:1.2*l,x:s.x}):x(f[0],{dy:0});x(o,{x:s.x,y:s.y}),i._.dirty=1;var g=i._getBBox(),v=s.y-(g.y+g.height/2);v&&t.is(v,\"finite\")&&x(f[0],{dy:v})}},C=function(t){return t.parentNode&&\"a\"===t.parentNode.tagName.toLowerCase()?t.parentNode:t},S=function(e,r){this[0]=this.node=e,e.raphael=!0,this.id=(\"0000\"+(Math.random()*Math.pow(36,5)<<0).toString(36)).slice(-5),e.raphaelid=this.id,this.matrix=t.matrix(),this.realPath=null,this.paper=r,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!r.bottom&&(r.bottom=this),this.prev=r.top,r.top&&(r.top.next=this),r.top=this,this.next=null},T=t.el;S.prototype=T,T.constructor=S,t._engine.path=function(t,e){var r=x(\"path\");e.canvas&&e.canvas.appendChild(r);var i=new S(r,e);return i.type=\"path\",k(i,{fill:\"none\",stroke:\"#000\",path:t}),i},T.rotate=function(t,e,n){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2])),t=i(t[0]),null==n&&(e=n),null==e||null==n){var a=this.getBBox(1);e=a.x+a.width/2,n=a.y+a.height/2}return this.transform(this._.transform.concat([[\"r\",t,e,n]])),this},T.scale=function(t,e,n,a){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2]),a=i(t[3])),t=i(t[0]),null==e&&(e=t),null==a&&(n=a),null==n||null==a)var s=this.getBBox(1);return n=null==n?s.x+s.width/2:n,a=null==a?s.y+s.height/2:a,this.transform(this._.transform.concat([[\"s\",t,e,n,a]])),this},T.translate=function(t,e){return this.removed?this:((t=r(t).split(h)).length-1&&(e=i(t[1])),t=i(t[0])||0,e=+e||0,this.transform(this._.transform.concat([[\"t\",t,e]])),this)},T.transform=function(r){var i=this._;if(null==r)return i.transform;if(t._extractTransform(this,r),this.clip&&x(this.clip,{transform:this.matrix.invert()}),this.pattern&&m(this),this.node&&x(this.node,{transform:this.matrix}),1!=i.sx||1!=i.sy){var n=this.attrs[e](\"stroke-width\")?this.attrs[\"stroke-width\"]:1;this.attr({\"stroke-width\":n})}return this},T.hide=function(){return this.removed||(this.node.style.display=\"none\"),this},T.show=function(){return this.removed||(this.node.style.display=\"\"),this},T.remove=function(){var e=C(this.node);if(!this.removed&&e.parentNode){var r=this.paper;for(var i in r.__set__&&r.__set__.exclude(this),u.unbind(\"raphael.*.*.\"+this.id),this.gradient&&r.defs.removeChild(this.gradient),t._tear(this,r),e.parentNode.removeChild(e),this.removeData(),this)this[i]=\"function\"==typeof this[i]?t._removedFactory(i):null;this.removed=!0}},T._getBBox=function(){if(\"none\"==this.node.style.display){this.show();var t=!0}var e,r=!1;this.paper.canvas.parentElement?e=this.paper.canvas.parentElement.style:this.paper.canvas.parentNode&&(e=this.paper.canvas.parentNode.style),e&&\"none\"==e.display&&(r=!0,e.display=\"\");var i={};try{i=this.node.getBBox()}catch(t){i={x:this.node.clientLeft,y:this.node.clientTop,width:this.node.clientWidth,height:this.node.clientHeight}}finally{i=i||{},r&&(e.display=\"none\")}return t&&this.hide(),i},T.attr=function(r,i){if(this.removed)return this;if(null==r){var n={};for(var a in this.attrs)this.attrs[e](a)&&(n[a]=this.attrs[a]);return n.gradient&&\"none\"==n.fill&&(n.fill=n.gradient)&&delete n.gradient,n.transform=this._.transform,n}if(null==i&&t.is(r,\"string\")){if(\"fill\"==r&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if(\"transform\"==r)return this._.transform;for(var s=r.split(h),o={},l=0,c=s.length;l<c;l++)(r=s[l])in this.attrs?o[r]=this.attrs[r]:t.is(this.paper.customAttributes[r],\"function\")?o[r]=this.paper.customAttributes[r].def:o[r]=t._availableAttrs[r];return c-1?o:o[s[0]]}if(null==i&&t.is(r,\"array\")){for(o={},l=0,c=r.length;l<c;l++)o[r[l]]=this.attr(r[l]);return o}if(null!=i){var f={};f[r]=i}else null!=r&&t.is(r,\"object\")&&(f=r);for(var p in f)u(\"raphael.attr.\"+p+\".\"+this.id,this,f[p]);for(p in this.paper.customAttributes)if(this.paper.customAttributes[e](p)&&f[e](p)&&t.is(this.paper.customAttributes[p],\"function\")){var d=this.paper.customAttributes[p].apply(this,[].concat(f[p]));for(var g in this.attrs[p]=f[p],d)d[e](g)&&(f[g]=d[g])}return k(this,f),this},T.toFront=function(){if(this.removed)return this;var e=C(this.node);e.parentNode.appendChild(e);var r=this.paper;return r.top!=this&&t._tofront(this,r),this},T.toBack=function(){if(this.removed)return this;var e=C(this.node),r=e.parentNode;r.insertBefore(e,r.firstChild),t._toback(this,this.paper);this.paper;return this},T.insertAfter=function(e){if(this.removed||!e)return this;var r=C(this.node),i=C(e.node||e[e.length-1].node);return i.nextSibling?i.parentNode.insertBefore(r,i.nextSibling):i.parentNode.appendChild(r),t._insertafter(this,e,this.paper),this},T.insertBefore=function(e){if(this.removed||!e)return this;var r=C(this.node),i=C(e.node||e[0].node);return i.parentNode.insertBefore(r,i),t._insertbefore(this,e,this.paper),this},T.blur=function(e){var r=this;if(0!=+e){var i=x(\"filter\"),n=x(\"feGaussianBlur\");r.attrs.blur=e,i.id=t.createUUID(),x(n,{stdDeviation:+e||1.5}),i.appendChild(n),r.paper.defs.appendChild(i),r._blur=i,x(r.node,{filter:\"url(#\"+i.id+\")\"})}else r._blur&&(r._blur.parentNode.removeChild(r._blur),delete r._blur,delete r.attrs.blur),r.node.removeAttribute(\"filter\");return r},t._engine.circle=function(t,e,r,i){var n=x(\"circle\");t.canvas&&t.canvas.appendChild(n);var a=new S(n,t);return a.attrs={cx:e,cy:r,r:i,fill:\"none\",stroke:\"#000\"},a.type=\"circle\",x(n,a.attrs),a},t._engine.rect=function(t,e,r,i,n,a){var s=x(\"rect\");t.canvas&&t.canvas.appendChild(s);var o=new S(s,t);return o.attrs={x:e,y:r,width:i,height:n,rx:a||0,ry:a||0,fill:\"none\",stroke:\"#000\"},o.type=\"rect\",x(s,o.attrs),o},t._engine.ellipse=function(t,e,r,i,n){var a=x(\"ellipse\");t.canvas&&t.canvas.appendChild(a);var s=new S(a,t);return s.attrs={cx:e,cy:r,rx:i,ry:n,fill:\"none\",stroke:\"#000\"},s.type=\"ellipse\",x(a,s.attrs),s},t._engine.image=function(t,e,r,i,n,a){var s=x(\"image\");x(s,{x:r,y:i,width:n,height:a,preserveAspectRatio:\"none\"}),s.setAttributeNS(p,\"href\",e),t.canvas&&t.canvas.appendChild(s);var o=new S(s,t);return o.attrs={x:r,y:i,width:n,height:a,src:e},o.type=\"image\",o},t._engine.text=function(e,r,i,n){var a=x(\"text\");e.canvas&&e.canvas.appendChild(a);var s=new S(a,e);return s.attrs={x:r,y:i,\"text-anchor\":\"middle\",text:n,\"font-family\":t._availableAttrs[\"font-family\"],\"font-size\":t._availableAttrs[\"font-size\"],stroke:\"none\",fill:\"#000\"},s.type=\"text\",k(s,s.attrs),s},t._engine.setSize=function(t,e){return this.width=t||this.width,this.height=e||this.height,this.canvas.setAttribute(\"width\",this.width),this.canvas.setAttribute(\"height\",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},t._engine.create=function(){var e=t._getContainer.apply(0,arguments),r=e&&e.container;if(!r)throw new Error(\"SVG container not found.\");var i,n=e.x,a=e.y,s=e.width,o=e.height,l=x(\"svg\"),h=\"overflow:hidden;\";return n=n||0,a=a||0,x(l,{height:o=o||342,version:1.1,width:s=s||512,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}),1==r?(l.style.cssText=h+\"position:absolute;left:\"+n+\"px;top:\"+a+\"px\",t._g.doc.body.appendChild(l),i=1):(l.style.cssText=h+\"position:relative\",r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l)),(r=new t._Paper).width=s,r.height=o,r.canvas=l,r.clear(),r._left=r._top=0,i&&(r.renderfix=function(){}),r.renderfix(),r},t._engine.setViewBox=function(t,e,r,i,n){u(\"raphael.setViewBox\",this,this._viewBox,[t,e,r,i,n]);var a,o,l=this.getSize(),h=s(r/l.width,i/l.height),c=this.top,p=n?\"xMidYMid meet\":\"xMinYMin\";for(null==t?(this._vbSize&&(h=1),delete this._vbSize,a=\"0 0 \"+this.width+f+this.height):(this._vbSize=h,a=t+f+e+f+r+f+i),x(this.canvas,{viewBox:a,preserveAspectRatio:p});h&&c;)o=\"stroke-width\"in c.attrs?c.attrs[\"stroke-width\"]:1,c.attr({\"stroke-width\":o}),c._.dirty=1,c._.dirtyT=1,c=c.prev;return this._viewBox=[t,e,r,i,!!n],this},t.prototype.renderfix=function(){var t,e=this.canvas,r=e.style;try{t=e.getScreenCTM()||e.createSVGMatrix()}catch(r){t=e.createSVGMatrix()}var i=-t.e%1,n=-t.f%1;(i||n)&&(i&&(this._left=(this._left+i)%1,r.left=this._left+\"px\"),n&&(this._top=(this._top+n)%1,r.top=this._top+\"px\"))},t.prototype.clear=function(){t.eve(\"raphael.clear\",this);for(var e=this.canvas;e.firstChild;)e.removeChild(e.firstChild);this.bottom=this.top=null,(this.desc=x(\"desc\")).appendChild(t._g.doc.createTextNode(\"Created with Raphaël \"+t.version)),e.appendChild(this.desc),e.appendChild(this.defs=x(\"defs\"))},t.prototype.remove=function(){for(var e in u(\"raphael.remove\",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null};var A=t.st;for(var M in T)T[e](M)&&!A[e](M)&&(A[M]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t].apply(r,e)})}}(M))}}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n;i=[r(0)],void 0===(n=function(t){if(!t||t.vml){var e=\"hasOwnProperty\",r=String,i=parseFloat,n=Math,a=n.round,s=n.max,o=n.min,l=n.abs,h=/[, ]+/,u=t.eve,c=\" \",f=\"\",p={M:\"m\",L:\"l\",C:\"c\",Z:\"x\",m:\"t\",l:\"r\",c:\"v\",z:\"x\"},d=/([clmz]),?([^clmz]*)/gi,g=/ progid:\\S+Blur\\([^\\)]+\\)/g,x=/-?[^,\\s-]+/g,v=\"position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)\",y=21600,m={path:1,rect:1,image:1},b={circle:1,ellipse:1},_=function(e,r,i){var n=t.matrix();return n.rotate(-e,.5,.5),{dx:n.x(r,i),dy:n.y(r,i)}},w=function(t,e,r,i,n,a){var s=t._,o=t.matrix,h=s.fillpos,u=t.node,f=u.style,p=1,d=\"\",g=y/e,x=y/r;if(f.visibility=\"hidden\",e&&r){if(u.coordsize=l(g)+c+l(x),f.rotation=a*(e*r<0?-1:1),a){var v=_(a,i,n);i=v.dx,n=v.dy}if(e<0&&(d+=\"x\"),r<0&&(d+=\" y\")&&(p=-1),f.flip=d,u.coordorigin=i*-g+c+n*-x,h||s.fillsize){var m=u.getElementsByTagName(\"fill\");m=m&&m[0],u.removeChild(m),h&&(v=_(a,o.x(h[0],h[1]),o.y(h[0],h[1])),m.position=v.dx*p+c+v.dy*p),s.fillsize&&(m.size=s.fillsize[0]*l(e)+c+s.fillsize[1]*l(r)),u.appendChild(m)}f.visibility=\"visible\"}};t.toString=function(){return\"Your browser doesn’t support SVG. Falling down to VML.\\nYou are running Raphaël \"+this.version};var k,B=function(t,e,i){for(var n=r(e).toLowerCase().split(\"-\"),a=i?\"end\":\"start\",s=n.length,o=\"classic\",l=\"medium\",h=\"medium\";s--;)switch(n[s]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":o=n[s];break;case\"wide\":case\"narrow\":h=n[s];break;case\"long\":case\"short\":l=n[s]}var u=t.node.getElementsByTagName(\"stroke\")[0];u[a+\"arrow\"]=o,u[a+\"arrowlength\"]=l,u[a+\"arrowwidth\"]=h},C=function(n,l){n.attrs=n.attrs||{};var u=n.node,g=n.attrs,v=u.style,_=m[n.type]&&(l.x!=g.x||l.y!=g.y||l.width!=g.width||l.height!=g.height||l.cx!=g.cx||l.cy!=g.cy||l.rx!=g.rx||l.ry!=g.ry||l.r!=g.r),C=b[n.type]&&(g.cx!=l.cx||g.cy!=l.cy||g.r!=l.r||g.rx!=l.rx||g.ry!=l.ry),T=n;for(var A in l)l[e](A)&&(g[A]=l[A]);if(_&&(g.path=t._getPath[n.type](n),n._.dirty=1),l.href&&(u.href=l.href),l.title&&(u.title=l.title),l.target&&(u.target=l.target),l.cursor&&(v.cursor=l.cursor),\"blur\"in l&&n.blur(l.blur),(l.path&&\"path\"==n.type||_)&&(u.path=function(e){var i=/[ahqstv]/gi,n=t._pathToAbsolute;if(r(e).match(i)&&(n=t._path2curve),i=/[clmz]/g,n==t._pathToAbsolute&&!r(e).match(i)){var s=r(e).replace(d,function(t,e,r){var i=[],n=\"m\"==e.toLowerCase(),s=p[e];return r.replace(x,function(t){n&&2==i.length&&(s+=i+p[\"m\"==e?\"l\":\"L\"],i=[]),i.push(a(t*y))}),s+i});return s}var o,l,h=n(e);s=[];for(var u=0,g=h.length;u<g;u++){o=h[u],\"z\"==(l=h[u][0].toLowerCase())&&(l=\"x\");for(var v=1,m=o.length;v<m;v++)l+=a(o[v]*y)+(v!=m-1?\",\":f);s.push(l)}return s.join(c)}(~r(g.path).toLowerCase().indexOf(\"r\")?t._pathToAbsolute(g.path):g.path),n._.dirty=1,\"image\"==n.type&&(n._.fillpos=[g.x,g.y],n._.fillsize=[g.width,g.height],w(n,1,1,0,0,0))),\"transform\"in l&&n.transform(l.transform),C){var M=+g.cx,E=+g.cy,N=+g.rx||+g.r||0,L=+g.ry||+g.r||0;u.path=t.format(\"ar{0},{1},{2},{3},{4},{1},{4},{1}x\",a((M-N)*y),a((E-L)*y),a((M+N)*y),a((E+L)*y),a(M*y)),n._.dirty=1}if(\"clip-rect\"in l){var P=r(l[\"clip-rect\"]).split(h);if(4==P.length){P[2]=+P[2]+ +P[0],P[3]=+P[3]+ +P[1];var z=u.clipRect||t._g.doc.createElement(\"div\"),F=z.style;F.clip=t.format(\"rect({1}px {2}px {3}px {0}px)\",P),u.clipRect||(F.position=\"absolute\",F.top=0,F.left=0,F.width=n.paper.width+\"px\",F.height=n.paper.height+\"px\",u.parentNode.insertBefore(z,u),z.appendChild(u),u.clipRect=z)}l[\"clip-rect\"]||u.clipRect&&(u.clipRect.style.clip=\"auto\")}if(n.textpath){var R=n.textpath.style;l.font&&(R.font=l.font),l[\"font-family\"]&&(R.fontFamily='\"'+l[\"font-family\"].split(\",\")[0].replace(/^['\"]+|['\"]+$/g,f)+'\"'),l[\"font-size\"]&&(R.fontSize=l[\"font-size\"]),l[\"font-weight\"]&&(R.fontWeight=l[\"font-weight\"]),l[\"font-style\"]&&(R.fontStyle=l[\"font-style\"])}if(\"arrow-start\"in l&&B(T,l[\"arrow-start\"]),\"arrow-end\"in l&&B(T,l[\"arrow-end\"],1),null!=l.opacity||null!=l.fill||null!=l.src||null!=l.stroke||null!=l[\"stroke-width\"]||null!=l[\"stroke-opacity\"]||null!=l[\"fill-opacity\"]||null!=l[\"stroke-dasharray\"]||null!=l[\"stroke-miterlimit\"]||null!=l[\"stroke-linejoin\"]||null!=l[\"stroke-linecap\"]){var j=u.getElementsByTagName(\"fill\");if(!(j=j&&j[0])&&(j=k(\"fill\")),\"image\"==n.type&&l.src&&(j.src=l.src),l.fill&&(j.on=!0),null!=j.on&&\"none\"!=l.fill&&null!==l.fill||(j.on=!1),j.on&&l.fill){var I=r(l.fill).match(t._ISURL);if(I){j.parentNode==u&&u.removeChild(j),j.rotate=!0,j.src=I[1],j.type=\"tile\";var D=n.getBBox(1);j.position=D.x+c+D.y,n._.fillpos=[D.x,D.y],t._preload(I[1],function(){n._.fillsize=[this.offsetWidth,this.offsetHeight]})}else j.color=t.getRGB(l.fill).hex,j.src=f,j.type=\"solid\",t.getRGB(l.fill).error&&(T.type in{circle:1,ellipse:1}||\"r\"!=r(l.fill).charAt())&&S(T,l.fill,j)&&(g.fill=\"none\",g.gradient=l.fill,j.rotate=!1)}if(\"fill-opacity\"in l||\"opacity\"in l){var q=((+g[\"fill-opacity\"]+1||2)-1)*((+g.opacity+1||2)-1)*((+t.getRGB(l.fill).o+1||2)-1);q=o(s(q,0),1),j.opacity=q,j.src&&(j.color=\"none\")}u.appendChild(j);var O=u.getElementsByTagName(\"stroke\")&&u.getElementsByTagName(\"stroke\")[0],V=!1;!O&&(V=O=k(\"stroke\")),(l.stroke&&\"none\"!=l.stroke||l[\"stroke-width\"]||null!=l[\"stroke-opacity\"]||l[\"stroke-dasharray\"]||l[\"stroke-miterlimit\"]||l[\"stroke-linejoin\"]||l[\"stroke-linecap\"])&&(O.on=!0),(\"none\"==l.stroke||null===l.stroke||null==O.on||0==l.stroke||0==l[\"stroke-width\"])&&(O.on=!1);var W=t.getRGB(l.stroke);O.on&&l.stroke&&(O.color=W.hex),q=((+g[\"stroke-opacity\"]+1||2)-1)*((+g.opacity+1||2)-1)*((+W.o+1||2)-1);var Y=.75*(i(l[\"stroke-width\"])||1);if(q=o(s(q,0),1),null==l[\"stroke-width\"]&&(Y=g[\"stroke-width\"]),l[\"stroke-width\"]&&(O.weight=Y),Y&&Y<1&&(q*=Y)&&(O.weight=1),O.opacity=q,l[\"stroke-linejoin\"]&&(O.joinstyle=l[\"stroke-linejoin\"]||\"miter\"),O.miterlimit=l[\"stroke-miterlimit\"]||8,l[\"stroke-linecap\"]&&(O.endcap=\"butt\"==l[\"stroke-linecap\"]?\"flat\":\"square\"==l[\"stroke-linecap\"]?\"square\":\"round\"),\"stroke-dasharray\"in l){var G={\"-\":\"shortdash\",\".\":\"shortdot\",\"-.\":\"shortdashdot\",\"-..\":\"shortdashdotdot\",\". \":\"dot\",\"- \":\"dash\",\"--\":\"longdash\",\"- .\":\"dashdot\",\"--.\":\"longdashdot\",\"--..\":\"longdashdotdot\"};O.dashstyle=G[e](l[\"stroke-dasharray\"])?G[l[\"stroke-dasharray\"]]:f}V&&u.appendChild(O)}if(\"text\"==T.type){T.paper.canvas.style.display=f;var H=T.paper.span,X=g.font&&g.font.match(/\\d+(?:\\.\\d*)?(?=px)/);v=H.style,g.font&&(v.font=g.font),g[\"font-family\"]&&(v.fontFamily=g[\"font-family\"]),g[\"font-weight\"]&&(v.fontWeight=g[\"font-weight\"]),g[\"font-style\"]&&(v.fontStyle=g[\"font-style\"]),X=i(g[\"font-size\"]||X&&X[0])||10,v.fontSize=100*X+\"px\",T.textpath.string&&(H.innerHTML=r(T.textpath.string).replace(/</g,\"&#60;\").replace(/&/g,\"&#38;\").replace(/\\n/g,\"<br>\"));var U=H.getBoundingClientRect();T.W=g.w=(U.right-U.left)/100,T.H=g.h=(U.bottom-U.top)/100,T.X=g.x,T.Y=g.y+T.H/2,(\"x\"in l||\"y\"in l)&&(T.path.v=t.format(\"m{0},{1}l{2},{1}\",a(g.x*y),a(g.y*y),a(g.x*y)+1));for(var $=[\"x\",\"y\",\"text\",\"font\",\"font-family\",\"font-weight\",\"font-style\",\"font-size\"],Z=0,Q=$.length;Z<Q;Z++)if($[Z]in l){T._.dirty=1;break}switch(g[\"text-anchor\"]){case\"start\":T.textpath.style[\"v-text-align\"]=\"left\",T.bbx=T.W/2;break;case\"end\":T.textpath.style[\"v-text-align\"]=\"right\",T.bbx=-T.W/2;break;default:T.textpath.style[\"v-text-align\"]=\"center\",T.bbx=0}T.textpath.style[\"v-text-kern\"]=!0}},S=function(e,a,s){e.attrs=e.attrs||{};e.attrs;var o=Math.pow,l=\"linear\",h=\".5 .5\";if(e.attrs.gradient=a,a=(a=r(a).replace(t._radial_gradient,function(t,e,r){return l=\"radial\",e&&r&&(e=i(e),r=i(r),o(e-.5,2)+o(r-.5,2)>.25&&(r=n.sqrt(.25-o(e-.5,2))*(2*(r>.5)-1)+.5),h=e+c+r),f})).split(/\\s*\\-\\s*/),\"linear\"==l){var u=a.shift();if(u=-i(u),isNaN(u))return null}var p=t._parseDots(a);if(!p)return null;if(e=e.shape||e.node,p.length){e.removeChild(s),s.on=!0,s.method=\"none\",s.color=p[0].color,s.color2=p[p.length-1].color;for(var d=[],g=0,x=p.length;g<x;g++)p[g].offset&&d.push(p[g].offset+c+p[g].color);s.colors=d.length?d.join():\"0% \"+s.color,\"radial\"==l?(s.type=\"gradientTitle\",s.focus=\"100%\",s.focussize=\"0 0\",s.focusposition=h,s.angle=0):(s.type=\"gradient\",s.angle=(270-u)%360),e.appendChild(s)}return 1},T=function(e,r){this[0]=this.node=e,e.raphael=!0,this.id=t._oid++,e.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=r,this.matrix=t.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!r.bottom&&(r.bottom=this),this.prev=r.top,r.top&&(r.top.next=this),r.top=this,this.next=null},A=t.el;T.prototype=A,A.constructor=T,A.transform=function(e){if(null==e)return this._.transform;var i,n=this.paper._viewBoxShift,a=n?\"s\"+[n.scale,n.scale]+\"-1-1t\"+[n.dx,n.dy]:f;n&&(i=e=r(e).replace(/\\.{3}|\\u2026/g,this._.transform||f)),t._extractTransform(this,a+e);var s,o=this.matrix.clone(),l=this.skew,h=this.node,u=~r(this.attrs.fill).indexOf(\"-\"),p=!r(this.attrs.fill).indexOf(\"url(\");if(o.translate(1,1),p||u||\"image\"==this.type)if(l.matrix=\"1 0 0 1\",l.offset=\"0 0\",s=o.split(),u&&s.noRotation||!s.isSimple){h.style.filter=o.toFilter();var d=this.getBBox(),g=this.getBBox(1),x=d.x-g.x,v=d.y-g.y;h.coordorigin=x*-y+c+v*-y,w(this,1,1,x,v,0)}else h.style.filter=f,w(this,s.scalex,s.scaley,s.dx,s.dy,s.rotate);else h.style.filter=f,l.matrix=r(o),l.offset=o.offset();return null!==i&&(this._.transform=i,t._extractTransform(this,i)),this},A.rotate=function(t,e,n){if(this.removed)return this;if(null!=t){if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2])),t=i(t[0]),null==n&&(e=n),null==e||null==n){var a=this.getBBox(1);e=a.x+a.width/2,n=a.y+a.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([[\"r\",t,e,n]])),this}},A.translate=function(t,e){return this.removed?this:((t=r(t).split(h)).length-1&&(e=i(t[1])),t=i(t[0])||0,e=+e||0,this._.bbox&&(this._.bbox.x+=t,this._.bbox.y+=e),this.transform(this._.transform.concat([[\"t\",t,e]])),this)},A.scale=function(t,e,n,a){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2]),a=i(t[3]),isNaN(n)&&(n=null),isNaN(a)&&(a=null)),t=i(t[0]),null==e&&(e=t),null==a&&(n=a),null==n||null==a)var s=this.getBBox(1);return n=null==n?s.x+s.width/2:n,a=null==a?s.y+s.height/2:a,this.transform(this._.transform.concat([[\"s\",t,e,n,a]])),this._.dirtyT=1,this},A.hide=function(){return!this.removed&&(this.node.style.display=\"none\"),this},A.show=function(){return!this.removed&&(this.node.style.display=f),this},A.auxGetBBox=t.el.getBBox,A.getBBox=function(){var t=this.auxGetBBox();if(this.paper&&this.paper._viewBoxShift){var e={},r=1/this.paper._viewBoxShift.scale;return e.x=t.x-this.paper._viewBoxShift.dx,e.x*=r,e.y=t.y-this.paper._viewBoxShift.dy,e.y*=r,e.width=t.width*r,e.height=t.height*r,e.x2=e.x+e.width,e.y2=e.y+e.height,e}return t},A._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},A.remove=function(){if(!this.removed&&this.node.parentNode){for(var e in this.paper.__set__&&this.paper.__set__.exclude(this),t.eve.unbind(\"raphael.*.*.\"+this.id),t._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null;this.removed=!0}},A.attr=function(r,i){if(this.removed)return this;if(null==r){var n={};for(var a in this.attrs)this.attrs[e](a)&&(n[a]=this.attrs[a]);return n.gradient&&\"none\"==n.fill&&(n.fill=n.gradient)&&delete n.gradient,n.transform=this._.transform,n}if(null==i&&t.is(r,\"string\")){if(\"fill\"==r&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var s=r.split(h),o={},l=0,c=s.length;l<c;l++)(r=s[l])in this.attrs?o[r]=this.attrs[r]:t.is(this.paper.customAttributes[r],\"function\")?o[r]=this.paper.customAttributes[r].def:o[r]=t._availableAttrs[r];return c-1?o:o[s[0]]}if(this.attrs&&null==i&&t.is(r,\"array\")){for(o={},l=0,c=r.length;l<c;l++)o[r[l]]=this.attr(r[l]);return o}var f;for(var p in null!=i&&((f={})[r]=i),null==i&&t.is(r,\"object\")&&(f=r),f)u(\"raphael.attr.\"+p+\".\"+this.id,this,f[p]);if(f){for(p in this.paper.customAttributes)if(this.paper.customAttributes[e](p)&&f[e](p)&&t.is(this.paper.customAttributes[p],\"function\")){var d=this.paper.customAttributes[p].apply(this,[].concat(f[p]));for(var g in this.attrs[p]=f[p],d)d[e](g)&&(f[g]=d[g])}f.text&&\"text\"==this.type&&(this.textpath.string=f.text),C(this,f)}return this},A.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&t._tofront(this,this.paper),this},A.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),t._toback(this,this.paper)),this)},A.insertAfter=function(e){return this.removed?this:(e.constructor==t.st.constructor&&(e=e[e.length-1]),e.node.nextSibling?e.node.parentNode.insertBefore(this.node,e.node.nextSibling):e.node.parentNode.appendChild(this.node),t._insertafter(this,e,this.paper),this)},A.insertBefore=function(e){return this.removed?this:(e.constructor==t.st.constructor&&(e=e[0]),e.node.parentNode.insertBefore(this.node,e.node),t._insertbefore(this,e,this.paper),this)},A.blur=function(e){var r=this.node.runtimeStyle,i=r.filter;return i=i.replace(g,f),0!=+e?(this.attrs.blur=e,r.filter=i+c+\" progid:DXImageTransform.Microsoft.Blur(pixelradius=\"+(+e||1.5)+\")\",r.margin=t.format(\"-{0}px 0 0 -{0}px\",a(+e||1.5))):(r.filter=i,r.margin=0,delete this.attrs.blur),this},t._engine.path=function(t,e){var r=k(\"shape\");r.style.cssText=v,r.coordsize=y+c+y,r.coordorigin=e.coordorigin;var i=new T(r,e),n={fill:\"none\",stroke:\"#000\"};t&&(n.path=t),i.type=\"path\",i.path=[],i.Path=f,C(i,n),e.canvas&&e.canvas.appendChild(r);var a=k(\"skew\");return a.on=!0,r.appendChild(a),i.skew=a,i.transform(f),i},t._engine.rect=function(e,r,i,n,a,s){var o=t._rectPath(r,i,n,a,s),l=e.path(o),h=l.attrs;return l.X=h.x=r,l.Y=h.y=i,l.W=h.width=n,l.H=h.height=a,h.r=s,h.path=o,l.type=\"rect\",l},t._engine.ellipse=function(t,e,r,i,n){var a=t.path();a.attrs;return a.X=e-i,a.Y=r-n,a.W=2*i,a.H=2*n,a.type=\"ellipse\",C(a,{cx:e,cy:r,rx:i,ry:n}),a},t._engine.circle=function(t,e,r,i){var n=t.path();n.attrs;return n.X=e-i,n.Y=r-i,n.W=n.H=2*i,n.type=\"circle\",C(n,{cx:e,cy:r,r:i}),n},t._engine.image=function(e,r,i,n,a,s){var o=t._rectPath(i,n,a,s),l=e.path(o).attr({stroke:\"none\"}),h=l.attrs,u=l.node,c=u.getElementsByTagName(\"fill\")[0];return h.src=r,l.X=h.x=i,l.Y=h.y=n,l.W=h.width=a,l.H=h.height=s,h.path=o,l.type=\"image\",c.parentNode==u&&u.removeChild(c),c.rotate=!0,c.src=r,c.type=\"tile\",l._.fillpos=[i,n],l._.fillsize=[a,s],u.appendChild(c),w(l,1,1,0,0,0),l},t._engine.text=function(e,i,n,s){var o=k(\"shape\"),l=k(\"path\"),h=k(\"textpath\");i=i||0,n=n||0,s=s||\"\",l.v=t.format(\"m{0},{1}l{2},{1}\",a(i*y),a(n*y),a(i*y)+1),l.textpathok=!0,h.string=r(s),h.on=!0,o.style.cssText=v,o.coordsize=y+c+y,o.coordorigin=\"0 0\";var u=new T(o,e),p={fill:\"#000\",stroke:\"none\",font:t._availableAttrs.font,text:s};u.shape=o,u.path=l,u.textpath=h,u.type=\"text\",u.attrs.text=r(s),u.attrs.x=i,u.attrs.y=n,u.attrs.w=1,u.attrs.h=1,C(u,p),o.appendChild(h),o.appendChild(l),e.canvas.appendChild(o);var d=k(\"skew\");return d.on=!0,o.appendChild(d),u.skew=d,u.transform(f),u},t._engine.setSize=function(e,r){var i=this.canvas.style;return this.width=e,this.height=r,e==+e&&(e+=\"px\"),r==+r&&(r+=\"px\"),i.width=e,i.height=r,i.clip=\"rect(0 \"+e+\" \"+r+\" 0)\",this._viewBox&&t._engine.setViewBox.apply(this,this._viewBox),this},t._engine.setViewBox=function(e,r,i,n,a){t.eve(\"raphael.setViewBox\",this,this._viewBox,[e,r,i,n,a]);var s,o,l=this.getSize(),h=l.width,u=l.height;return a&&(i*(s=u/n)<h&&(e-=(h-i*s)/2/s),n*(o=h/i)<u&&(r-=(u-n*o)/2/o)),this._viewBox=[e,r,i,n,!!a],this._viewBoxShift={dx:-e,dy:-r,scale:l},this.forEach(function(t){t.transform(\"...\")}),this},t._engine.initWin=function(t){var e=t.document;e.styleSheets.length<31?e.createStyleSheet().addRule(\".rvml\",\"behavior:url(#default#VML)\"):e.styleSheets[0].addRule(\".rvml\",\"behavior:url(#default#VML)\");try{!e.namespaces.rvml&&e.namespaces.add(\"rvml\",\"urn:schemas-microsoft-com:vml\"),k=function(t){return e.createElement(\"<rvml:\"+t+' class=\"rvml\">')}}catch(t){k=function(t){return e.createElement(\"<\"+t+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">')}}},t._engine.initWin(t._g.win),t._engine.create=function(){var e=t._getContainer.apply(0,arguments),r=e.container,i=e.height,n=e.width,a=e.x,s=e.y;if(!r)throw new Error(\"VML container not found.\");var o=new t._Paper,l=o.canvas=t._g.doc.createElement(\"div\"),h=l.style;return a=a||0,s=s||0,n=n||512,i=i||342,o.width=n,o.height=i,n==+n&&(n+=\"px\"),i==+i&&(i+=\"px\"),o.coordsize=216e5+c+216e5,o.coordorigin=\"0 0\",o.span=t._g.doc.createElement(\"span\"),o.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;\",l.appendChild(o.span),h.cssText=t.format(\"top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden\",n,i),1==r?(t._g.doc.body.appendChild(l),h.left=a+\"px\",h.top=s+\"px\",h.position=\"absolute\"):r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),o.renderfix=function(){},o},t.prototype.clear=function(){t.eve(\"raphael.clear\",this),this.canvas.innerHTML=f,this.span=t._g.doc.createElement(\"span\"),this.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;\",this.canvas.appendChild(this.span),this.bottom=this.top=null},t.prototype.remove=function(){for(var e in t.eve(\"raphael.remove\",this),this.canvas.parentNode.removeChild(this.canvas),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null;return!0};var M=t.st;for(var E in A)A[e](E)&&!M[e](E)&&(M[E]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t].apply(r,e)})}}(E))}}.apply(e,i))||(t.exports=n)}])});","/**\n * JustGage - Animated gauges using RaphaelJS\n * Check http://www.justgage.com for official releases\n * Licensed under MIT.\n * @author Bojan Djuricic (@Toorshia)\n **/\n\nimport Raphael from \"raphael\";\n\nexport default class JustGage {\n\n\tconstructor(config) {\n\t\t// Helps in case developer wants to debug it. unobtrusive\n\t\tif (isUndefined(config)) {\n\t\t\tthrow new Error(\"* justgage: Make sure to pass options to the constructor!\");\n\t\t}\n\t\tthis.events = {};\n\n\t\tthis.node = config.element;\n\n\t\tconst dataset = this.node.dataset ? this.node.dataset : {};\n\n\t\t// check for defaults\n\t\tconst defaults = !isUndefined(config.defaults) ? config.defaults : false;\n\t\tif (defaults !== false) {\n\t\t\tconfig = extend({});\n\t\t\tdelete config.defaults;\n\t\t}\n\n\t\t// configurable parameters\n\t\tthis.config = {\n\t\t\t// id : string\n\t\t\t// this is container element\n\t\t\telement: config.element,\n\n\t\t\t// classId : string\n\t\t\t// this is the class id utilize when generating styles\n\t\t\tclassId: uuid(),\n\n\t\t\t// value : float\n\t\t\t// value gauge is showing\n\t\t\tvalue: kvLookup(\"value\", config, dataset, 0, \"float\"),\n\n\t\t\t// defaults : bool\n\t\t\t// defaults parameter to use\n\t\t\tdefaults: kvLookup(\"defaults\", config, dataset, 0, false),\n\n\t\t\t// parentNode : node object\n\t\t\t// this is container element\n\t\t\tparentNode: kvLookup(\"parentNode\", config, dataset, null),\n\n\t\t\t// width : int\n\t\t\t// gauge width\n\t\t\twidth: kvLookup(\"width\", config, dataset, null),\n\n\t\t\t// height : int\n\t\t\t// gauge height\n\t\t\theight: kvLookup(\"height\", config, dataset, null),\n\n\t\t\t// valueFontColor : string\n\t\t\t// color of label showing current value\n\t\t\tvalueFontColor: kvLookup(\"valueFontColor\", config, dataset, \"#010101\"),\n\n\t\t\t// valueFontFamily : string\n\t\t\t// color of label showing current value\n\t\t\tvalueFontFamily: kvLookup(\"valueFontFamily\", config, dataset, \"Arial\"),\n\n\t\t\t// symbol : string\n\t\t\t// special symbol to show next to value\n\t\t\tsymbol: kvLookup(\"symbol\", config, dataset, \"\"),\n\n\t\t\t// min : float\n\t\t\t// min value\n\t\t\tmin: kvLookup(\"min\", config, dataset, 0, \"float\"),\n\n\t\t\t// minTxt : string\n\t\t\t// min value text\n\t\t\tminTxt: kvLookup(\"minTxt\", config, dataset, false),\n\n\t\t\t// max : float\n\t\t\t// max value\n\t\t\tmax: kvLookup(\"max\", config, dataset, 100, \"float\"),\n\n\t\t\t// maxTxt : string\n\t\t\t// max value text\n\t\t\tmaxTxt: kvLookup(\"maxTxt\", config, dataset, false),\n\n\t\t\t// reverse : bool\n\t\t\t// reverse min and max\n\t\t\treverse: kvLookup(\"reverse\", config, dataset, false),\n\n\t\t\t// humanFriendlyDecimal : int\n\t\t\t// number of decimal places for our human friendly number to contain\n\t\t\thumanFriendlyDecimal: kvLookup(\"humanFriendlyDecimal\", config, dataset, 0),\n\n\t\t\t// textRenderer: func\n\t\t\t// function applied before rendering text\n\t\t\ttextRenderer: kvLookup(\"textRenderer\", config, dataset, null),\n\n\t\t\t// onAnimationEnd: func\n\t\t\t// function applied after animation is done\n\t\t\tonAnimationEnd: kvLookup(\"onAnimationEnd\", config, dataset, null),\n\n\t\t\t// gaugeWidthScale : float\n\t\t\t// width of the gauge element\n\t\t\tgaugeWidthScale: kvLookup(\"gaugeWidthScale\", config, dataset, 1.0),\n\n\t\t\t// gaugeColor : string\n\t\t\t// background color of gauge element\n\t\t\tgaugeColor: kvLookup(\"gaugeColor\", config, dataset, \"#edebeb\"),\n\n\t\t\t// label : string\n\t\t\t// text to show below value\n\t\t\tlabel: kvLookup(\"label\", config, dataset, \"\"),\n\n\t\t\t// labelFontColor : string\n\t\t\t// color of label showing label under value\n\t\t\tlabelFontColor: kvLookup(\"labelFontColor\", config, dataset, \"#b3b3b3\"),\n\n\t\t\t// valueFontFamily : string\n\t\t\t// font-family for label as well as min/max value\n\t\t\tlabelFontFamily: kvLookup(\"labelFontFamily\", config, dataset, \"Arial\"),\n\n\t\t\t// shadowOpacity : int\n\t\t\t// 0 ~ 1\n\t\t\tshadowOpacity: kvLookup(\"shadowOpacity\", config, dataset, 0.2),\n\n\t\t\t// shadowSize: int\n\t\t\t// inner shadow size\n\t\t\tshadowSize: kvLookup(\"shadowSize\", config, dataset, 5),\n\n\t\t\t// shadowVerticalOffset : int\n\t\t\t// how much shadow is offset from top\n\t\t\tshadowVerticalOffset: kvLookup(\"shadowVerticalOffset\", config, dataset, 3),\n\n\t\t\t// levelColors : string[]\n\t\t\t// colors of indicator, from lower to upper, in RGB format\n\t\t\tlevelColors: kvLookup(\"levelColors\", config, dataset, [\"#a9d70b\", \"#f9c802\", \"#ff0000\"], \"array\", \",\"),\n\n\t\t\t// startAnimationTime : int\n\t\t\t// length of initial animation\n\t\t\tstartAnimationTime: kvLookup(\"startAnimationTime\", config, dataset, 700),\n\n\t\t\t// startAnimationType : string\n\t\t\t// type of initial animation (linear, >, <, <>, bounce)\n\t\t\tstartAnimationType: kvLookup(\"startAnimationType\", config, dataset, \">\"),\n\n\t\t\t// refreshAnimationTime : int\n\t\t\t// length of refresh animation\n\t\t\trefreshAnimationTime: kvLookup(\"refreshAnimationTime\", config, dataset, 700),\n\n\t\t\t// refreshAnimationType : string\n\t\t\t// type of refresh animation (linear, >, <, <>, bounce)\n\t\t\trefreshAnimationType: kvLookup(\"refreshAnimationType\", config, dataset, \">\"),\n\n\t\t\t// donutStartAngle : int\n\t\t\t// angle to start from when in donut mode\n\t\t\tdonutStartAngle: kvLookup(\"donutStartAngle\", config, dataset, 90),\n\n\t\t\t// valueMinFontSize : int\n\t\t\t// absolute minimum font size for the value\n\t\t\tvalueMinFontSize: kvLookup(\"valueMinFontSize\", config, dataset, 16),\n\n\t\t\t// labelMinFontSize\n\t\t\t// absolute minimum font size for the label\n\t\t\tlabelMinFontSize: kvLookup(\"labelMinFontSize\", config, dataset, 10),\n\n\t\t\t// minLabelMinFontSize\n\t\t\t// absolute minimum font size for the minimum label\n\t\t\tminLabelMinFontSize: kvLookup(\"minLabelMinFontSize\", config, dataset, 10),\n\n\t\t\t// maxLabelMinFontSize\n\t\t\t// absolute minimum font size for the maximum label\n\t\t\tmaxLabelMinFontSize: kvLookup(\"maxLabelMinFontSize\", config, dataset, 10),\n\n\t\t\t// hideValue : bool\n\t\t\t// hide value text\n\t\t\thideValue: kvLookup(\"hideValue\", config, dataset, false),\n\n\t\t\t// hideMinMax : bool\n\t\t\t// hide min and max values\n\t\t\thideMinMax: kvLookup(\"hideMinMax\", config, dataset, false),\n\n\t\t\t// showInnerShadow : bool\n\t\t\t// show inner shadow\n\t\t\tshowInnerShadow: kvLookup(\"showInnerShadow\", config, dataset, false),\n\n\t\t\t// humanFriendly : bool\n\t\t\t// convert large numbers for min, max, value to human friendly (e.g. 1234567 -> 1.23M)\n\t\t\thumanFriendly: kvLookup(\"humanFriendly\", config, dataset, false),\n\n\t\t\t// noGradient : bool\n\t\t\t// whether to use gradual color change for value, or sector-based\n\t\t\tnoGradient: kvLookup(\"noGradient\", config, dataset, false),\n\n\t\t\t// donut : bool\n\t\t\t// show full donut gauge\n\t\t\tdonut: kvLookup(\"donut\", config, dataset, false),\n\n\t\t\t// relativeGaugeSize : bool\n\t\t\t// whether gauge size should follow changes in container element size\n\t\t\trelativeGaugeSize: kvLookup(\"relativeGaugeSize\", config, dataset, false),\n\n\t\t\t// counter : bool\n\t\t\t// animate level number change\n\t\t\tcounter: kvLookup(\"counter\", config, dataset, false),\n\n\t\t\t// decimals : int\n\t\t\t// number of digits after floating point\n\t\t\tdecimals: kvLookup(\"decimals\", config, dataset, 0),\n\n\t\t\t// customSectors : object\n\t\t\t// custom sectors colors. Expects an object with props\n\t\t\t// percents : bool hi/lo are percents values\n\t\t\t// ranges : array of objects : {hi, lo, color}\n\t\t\tcustomSectors: kvLookup(\"customSectors\", config, dataset, {}),\n\n\t\t\t// formatNumber: boolean\n\t\t\t// formats numbers with commas where appropriate\n\t\t\tformatNumber: kvLookup(\"formatNumber\", config, dataset, false),\n\n\t\t\t// pointer : bool\n\t\t\t// show value pointer\n\t\t\tpointer: kvLookup(\"pointer\", config, dataset, false),\n\n\t\t\t// pointerOptions : object\n\t\t\t// define pointer look\n\t\t\tpointerOptions: kvLookup(\"pointerOptions\", config, dataset, {}),\n\n\t\t\t// displayRemaining: boolean\n\t\t\t// replace display number with the number remaining to reach max\n\t\t\tdisplayRemaining: kvLookup(\"displayRemaining\", config, dataset, false),\n\t\t};\n\n\t\t// variables\n\t\tlet canvasW,\n\t\t\tcanvasH,\n\t\t\twidgetW,\n\t\t\twidgetH,\n\t\t\taspect,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tvalueFontSize,\n\t\t\tvalueX,\n\t\t\tvalueY,\n\t\t\tlabelFontSize,\n\t\t\tlabelX,\n\t\t\tlabelY,\n\t\t\tminFontSize,\n\t\t\tminX,\n\t\t\tminY,\n\t\t\tmaxFontSize,\n\t\t\tmaxX,\n\t\t\tmaxY;\n\n\t\t// overflow values\n\t\tif (this.config.value > this.config.max) this.config.value = this.config.max;\n\t\tif (this.config.value < this.config.min) this.config.value = this.config.min;\n\t\tthis.originalValue = kvLookup(\"value\", config, dataset, -1, \"float\");\n\n\t\t// create canvas\n\t\tthis.canvas = Raphael(this.config.element, \"100%\", \"100%\");\n\n\t\t// canvas dimensions\n\t\tif (this.config.relativeGaugeSize === true) {\n\t\t\tif (this.config.donut === true) {\n\t\t\t\tthis.canvas.setViewBox(0, 0, 200, 200, true);\n\t\t\t\tcanvasW = 200;\n\t\t\t\tcanvasH = 200;\n\t\t\t} else {\n\t\t\t\tthis.canvas.setViewBox(0, 0, 200, 100, true);\n\t\t\t\tcanvasW = 200;\n\t\t\t\tcanvasH = 100;\n\t\t\t}\n\t\t} else if (this.config.width !== null && this.config.height !== null) {\n\t\t\tcanvasW = this.config.width;\n\t\t\tcanvasH = this.config.height;\n\t\t} else if (this.config.parentNode !== null) {\n\t\t\tthis.canvas.setViewBox(0, 0, 200, 100, true);\n\t\t\tcanvasW = 200;\n\t\t\tcanvasH = 100;\n\t\t} else {\n\t\t\tcanvasW = Number(getStyle(this.config.element, \"width\").slice(0, -2)) * 1;\n\t\t\tcanvasH = Number(getStyle(this.config.element, \"height\").slice(0, -2)) * 1;\n\t\t}\n\n\t\t// widget dimensions\n\t\tif (this.config.donut === true) {\n\t\t\tif (canvasW > canvasH) {\n\t\t\t\t// landscape\n\t\t\t\twidgetH = canvasH;\n\t\t\t\twidgetW = widgetH;\n\t\t\t\t// width less than height\n\t\t\t} else if (canvasW < canvasH) {\n\t\t\t\t// portrait\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW;\n\t\t\t} else {\n\t\t\t\t// square\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW;\n\t\t\t}\n\n\t\t\t// delta\n\t\t\tdx = (canvasW - widgetW) / 2;\n\t\t\tdy = (canvasH - widgetH) / 2;\n\n\t\t\t// value\n\t\t\tvalueFontSize = widgetH / 6.4 > 16 ? widgetH / 5.4 : 18;\n\t\t\tvalueX = dx + widgetW / 2;\n\t\t\tif (this.config.label !== \"\") {\n\t\t\t\tvalueY = dy + widgetH / 1.85;\n\t\t\t} else {\n\t\t\t\tvalueY = dy + widgetH / 1.7;\n\t\t\t}\n\n\t\t\t// label\n\t\t\tlabelFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tlabelX = dx + widgetW / 2;\n\t\t\tlabelY = valueY + labelFontSize;\n\n\t\t\t// min\n\t\t\tminFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tminX = dx + widgetW / 10 + ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tminY = labelY;\n\n\t\t\t// max\n\t\t\tmaxFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tmaxX = dx + widgetW - widgetW / 10 - ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tmaxY = labelY;\n\t\t} else {\n\t\t\tif (canvasW > canvasH) {\n\t\t\t\t// landscape\n\t\t\t\twidgetH = canvasH;\n\t\t\t\twidgetW = widgetH * 2;\n\t\t\t\tif (widgetW > canvasW) {\n\t\t\t\t\t// if width doesn't fit, rescale both\n\t\t\t\t\taspect = widgetW / canvasW;\n\t\t\t\t\twidgetW = widgetW / aspect;\n\t\t\t\t\twidgetH = widgetH / aspect;\n\t\t\t\t}\n\t\t\t} else if (canvasW < canvasH) {\n\t\t\t\t// portrait\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW / 2;\n\t\t\t} else {\n\t\t\t\t// square\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW * 0.5;\n\t\t\t}\n\n\t\t\t// delta\n\t\t\tdx = (canvasW - widgetW) / 2;\n\t\t\tdy = (canvasH - widgetH) / 2;\n\n\t\t\t// value\n\t\t\tvalueFontSize = widgetH / 6.5 > this.config.valueMinFontSize ? widgetH / 6.5 : this.config.valueMinFontSize;\n\t\t\tvalueX = dx + widgetW / 2;\n\t\t\tvalueY = dy + widgetH / 1.275;\n\n\t\t\t// label\n\t\t\tlabelFontSize = widgetH / 16 > this.config.labelMinFontSize ? widgetH / 16 : this.config.labelMinFontSize;\n\t\t\tlabelX = dx + widgetW / 2;\n\t\t\tlabelY = valueY + valueFontSize / 2 + 5;\n\n\t\t\t// min\n\t\t\tminFontSize = widgetH / 16 > this.config.minLabelMinFontSize ? widgetH / 16 : this.config.minLabelMinFontSize;\n\t\t\tminX = dx + widgetW / 10 + ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tminY = labelY;\n\n\t\t\t// max\n\t\t\tmaxFontSize = widgetH / 16 > this.config.maxLabelMinFontSize ? widgetH / 16 : this.config.maxLabelMinFontSize;\n\t\t\tmaxX = dx + widgetW - widgetW / 10 - ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tmaxY = labelY;\n\t\t}\n\n\t\t// parameters\n\t\tthis.params = {\n\t\t\tcanvasW: canvasW,\n\t\t\tcanvasH: canvasH,\n\t\t\twidgetW: widgetW,\n\t\t\twidgetH: widgetH,\n\t\t\tdx: dx,\n\t\t\tdy: dy,\n\t\t\tvalueFontSize: valueFontSize,\n\t\t\tvalueX: valueX,\n\t\t\tvalueY: valueY,\n\t\t\tlabelFontSize: labelFontSize,\n\t\t\tlabelX: labelX,\n\t\t\tlabelY: labelY,\n\t\t\tminFontSize: minFontSize,\n\t\t\tminX: minX,\n\t\t\tminY: minY,\n\t\t\tmaxFontSize: maxFontSize,\n\t\t\tmaxX: maxX,\n\t\t\tmaxY: maxY,\n\t\t};\n\n\t\t// var clear\n\t\t// canvasW, canvasH, widgetW, widgetH, aspect, dx, dy, valueFontSize, valueX, valueY, labelFontSize, labelX, labelY, minFontSize, minX, minY, maxFontSize, maxX, maxY = null\n\n\t\t/**\n\t\t * pki - custom attribute for generating gauge paths\n\t\t *\n\t\t * @param {Number} value display value\n\t\t * @returns SVG path string for gauge level\n\t\t */\n\t\tthis.canvas.customAttributes.pki = (value) => {\n\t\t\tlet min = this.config.min;\n\t\t\tlet max = this.config.max;\n\t\t\tconst w = this.params.widgetW;\n\t\t\tconst h = this.params.widgetH;\n\t\t\tconst dx = this.params.dx;\n\t\t\tconst dy = this.params.dy;\n\t\t\tconst gws = this.config.gaugeWidthScale;\n\t\t\tconst donut = this.config.donut;\n\n\t\t\tlet alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path;\n\n\t\t\tif (min < 0) {\n\t\t\t\tmax -= min;\n\t\t\t\tvalue -= min;\n\t\t\t\tmin = 0;\n\t\t\t}\n\n\t\t\tif (donut) {\n\t\t\t\talpha = (1 - (2 * (value - min)) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 30;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\tCx = w / 2 + dx;\n\t\t\t\tCy = h / 2 + dy;\n\n\t\t\t\tXo = Cx + Ro * Math.cos(alpha);\n\t\t\t\tYo = Cy - Ro * Math.sin(alpha);\n\t\t\t\tXi = Cx + Ri * Math.cos(alpha);\n\t\t\t\tYi = Cy - Ri * Math.sin(alpha);\n\n\t\t\t\tpath = \"M\" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"L\" + (Cx - Ro) + \",\" + Cy + \" \";\n\t\t\t\tif (value - min > (max - min) / 2) {\n\t\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + (Cx + Ro) + \",\" + Cy + \" \";\n\t\t\t\t}\n\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + Xo + \",\" + Yo + \" \";\n\t\t\t\tpath += \"L\" + Xi + \",\" + Yi + \" \";\n\t\t\t\tif (value - min > (max - min) / 2) {\n\t\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx + Ri) + \",\" + Cy + \" \";\n\t\t\t\t}\n\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\talpha = (1 - (value - min) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 10;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\tCx = w / 2 + dx;\n\t\t\t\tCy = h / 1.25 + dy;\n\n\t\t\t\t// Xo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\t// Yo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\t// Xi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\t// Yi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXo = Cx + Ro * Math.cos(alpha);\n\t\t\t\tYo = Cy - Ro * Math.sin(alpha);\n\t\t\t\tXi = Cx + Ri * Math.cos(alpha);\n\t\t\t\tYi = Cy - Ri * Math.sin(alpha);\n\n\t\t\t\tpath = \"M\" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"L\" + (Cx - Ro) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + Xo + \",\" + Yo + \" \";\n\t\t\t\tpath += \"L\" + Xi + \",\" + Yi + \" \";\n\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * ndl - custom attribute for generating pointer path\n\t\t *\n\t\t * @param {Number} value display value\n\t\t * @returns SVG path string for gauge pointer\n\t\t */\n\t\tthis.canvas.customAttributes.ndl = function (value) {\n\t\t\tconst min = this.config.min;\n\t\t\tconst max = this.config.max;\n\t\t\tconst w = this.params.widgetW;\n\t\t\tconst h = this.params.widgetH;\n\t\t\tconst dx = this.params.dx;\n\t\t\tconst dy = this.params.dy;\n\t\t\tconst gws = this.config.gaugeWidthScale;\n\t\t\tconst donut = this.config.donut;\n\n\t\t\tlet dlt = (w * 3.5) / 100;\n\t\t\tlet dlb = w / 15;\n\t\t\tlet dw = w / 100;\n\n\t\t\tif (this.config.pointerOptions.toplength != null && this.config.pointerOptions.toplength !== undefined) dlt = this.config.pointerOptions.toplength;\n\t\t\tif (this.config.pointerOptions.bottomlength != null && this.config.pointerOptions.bottomlength !== undefined)\n\t\t\t\tdlb = this.config.pointerOptions.bottomlength;\n\t\t\tif (this.config.pointerOptions.bottomwidth != null && this.config.pointerOptions.bottomwidth !== undefined)\n\t\t\t\tdw = this.config.pointerOptions.bottomwidth;\n\n\t\t\tlet alpha, Ro, Ri, Cy, Xo, Yo, Xi, Yi, Xc, Yc, Xz, Yz, Xa, Ya, Xb, Yb, path;\n\n\t\t\tif (donut) {\n\t\t\t\talpha = (1 - (2 * (value - min)) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 30;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\t// Cx = w / 2 + dx\n\t\t\t\tCy = h / 2 + dy;\n\n\t\t\t\tXo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\tYo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\tXi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\tYi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXc = Xo + dlt * Math.cos(alpha);\n\t\t\t\tYc = Yo - dlt * Math.sin(alpha);\n\t\t\t\tXz = Xi - dlb * Math.cos(alpha);\n\t\t\t\tYz = Yi + dlb * Math.sin(alpha);\n\n\t\t\t\tXa = Xz + dw * Math.sin(alpha);\n\t\t\t\tYa = Yz + dw * Math.cos(alpha);\n\t\t\t\tXb = Xz - dw * Math.sin(alpha);\n\t\t\t\tYb = Yz - dw * Math.cos(alpha);\n\n\t\t\t\tpath = \"M\" + Xa + \",\" + Ya + \" \";\n\t\t\t\tpath += \"L\" + Xb + \",\" + Yb + \" \";\n\t\t\t\tpath += \"L\" + Xc + \",\" + Yc + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\talpha = (1 - (value - min) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 10;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\t// Cx = w / 2 + dx\n\t\t\t\tCy = h / 1.25 + dy;\n\n\t\t\t\tXo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\tYo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\tXi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\tYi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXc = Xo + dlt * Math.cos(alpha);\n\t\t\t\tYc = Yo - dlt * Math.sin(alpha);\n\t\t\t\tXz = Xi - dlb * Math.cos(alpha);\n\t\t\t\tYz = Yi + dlb * Math.sin(alpha);\n\n\t\t\t\tXa = Xz + dw * Math.sin(alpha);\n\t\t\t\tYa = Yz + dw * Math.cos(alpha);\n\t\t\t\tXb = Xz - dw * Math.sin(alpha);\n\t\t\t\tYb = Yz - dw * Math.cos(alpha);\n\n\t\t\t\tpath = \"M\" + Xa + \",\" + Ya + \" \";\n\t\t\t\tpath += \"L\" + Xb + \",\" + Yb + \" \";\n\t\t\t\tpath += \"L\" + Xc + \",\" + Yc + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t// gauge\n\t\tthis.gauge = this.canvas.path().attr({\n\t\t\tstroke: \"none\",\n\t\t\tfill: this.config.gaugeColor,\n\t\t\tpki: [this.config.max],\n\t\t});\n\n\t\t// level\n\t\tthis.level = this.canvas.path().attr({\n\t\t\tstroke: \"none\",\n\t\t\tfill: getColor(\n\t\t\t\tthis.config.value,\n\t\t\t\t(this.config.value - this.config.min) / (this.config.max - this.config.min),\n\t\t\t\tthis.config.levelColors,\n\t\t\t\tthis.config.noGradient,\n\t\t\t\tthis.config.customSectors,\n\t\t\t),\n\t\t\tpki: [this.config.min],\n\t\t});\n\t\tif (this.config.donut) {\n\t\t\tthis.level.transform(\n\t\t\t\t\"r\" + this.config.donutStartAngle + \", \" + (this.params.widgetW / 2 + this.params.dx) + \", \" + (this.params.widgetH / 2 + this.params.dy),\n\t\t\t);\n\t\t}\n\n\t\tif (this.config.pointer) {\n\t\t\t// needle\n\t\t\tthis.needle = this.canvas.path().attr({\n\t\t\t\tstroke: !isUndefined(this.config.pointerOptions.stroke) ? this.config.pointerOptions.stroke : \"none\",\n\t\t\t\t\"stroke-width\": !isUndefined(this.config.pointerOptions.stroke_width) ? this.config.pointerOptions.stroke_width : 0,\n\t\t\t\t\"stroke-linecap\": !isUndefined(this.config.pointerOptions.stroke_linecap) ? this.config.pointerOptions.stroke_linecap : \"square\",\n\t\t\t\tfill: !isUndefined(this.config.pointerOptions.color) ? this.config.pointerOptions.color : \"#000000\",\n\t\t\t\tndl: [this.config.min],\n\t\t\t});\n\n\t\t\tif (this.config.donut) {\n\t\t\t\tthis.needle.transform(\n\t\t\t\t\t\"r\" + this.config.donutStartAngle + \", \" + (this.params.widgetW / 2 + this.params.dx) + \", \" + (this.params.widgetH / 2 + this.params.dy),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// value\n\t\tthis.txtValue = this.canvas.text(this.params.valueX, this.params.valueY, 0);\n\t\tthis.txtValue.attr({\n\t\t\t\"font-size\": this.params.valueFontSize,\n\t\t\t\"font-weight\": \"bold\",\n\t\t\t\"font-family\": this.config.valueFontFamily,\n\t\t\tfill: this.config.valueFontColor,\n\t\t\t\"fill-opacity\": \"0\",\n\t\t});\n\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\n\t\t// label\n\t\tthis.txtLabel = this.canvas.text(this.params.labelX, this.params.labelY, this.config.label);\n\t\tthis.txtLabel.attr({\n\t\t\t\"font-size\": this.params.labelFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": \"0\",\n\t\t});\n\t\tsetDy(this.txtLabel, this.params.labelFontSize, this.params.labelY);\n\n\t\t// min\n\t\tlet min = this.config.min;\n\t\tif (this.config.reverse) {\n\t\t\tmin = this.config.max;\n\t\t}\n\n\t\tthis.txtMinimum = min;\n\t\tif (this.config.minTxt) {\n\t\t\tthis.txtMinimum = this.config.minTxt;\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.txtMinimum = humanFriendlyNumber(min, this.config.humanFriendlyDecimal);\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.txtMinimum = formatNumber(min);\n\t\t}\n\t\tthis.txtMin = this.canvas.text(this.params.minX, this.params.minY, this.txtMinimum);\n\t\tthis.txtMin.attr({\n\t\t\t\"font-size\": this.params.minFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": this.config.hideMinMax || this.config.donut ? \"0\" : \"1\",\n\t\t});\n\t\tsetDy(this.txtMin, this.params.minFontSize, this.params.minY);\n\n\t\t// max\n\t\tlet max = this.config.max;\n\t\tif (this.config.reverse) {\n\t\t\tmax = this.config.min;\n\t\t}\n\t\tthis.txtMaximum = max;\n\t\tif (this.config.maxTxt) {\n\t\t\tthis.txtMaximum = this.config.maxTxt;\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.txtMaximum = humanFriendlyNumber(max, this.config.humanFriendlyDecimal);\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.txtMaximum = formatNumber(max);\n\t\t}\n\t\tthis.txtMax = this.canvas.text(this.params.maxX, this.params.maxY, this.txtMaximum);\n\t\tthis.txtMax.attr({\n\t\t\t\"font-size\": this.params.maxFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": this.config.hideMinMax || this.config.donut ? \"0\" : \"1\",\n\t\t});\n\t\tsetDy(this.txtMax, this.params.maxFontSize, this.params.maxY);\n\n\t\tconst defs = this.canvas.canvas.childNodes[1];\n\t\tconst svg = \"http://www.w3.org/2000/svg\";\n\n\t\tif (ie !== undefined && ie < 9) {\n\t\t\t// VML mode - no SVG & SVG filter support\n\t\t} else if (ie !== undefined) {\n\t\t\tonCreateElementNsReady(() => {\n\t\t\t\tthis.generateShadow(svg, defs);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.generateShadow(svg, defs);\n\t\t}\n\n\t\t// set value to display\n\t\tif (this.config.textRenderer && this.config.textRenderer(this.originalValue) !== false) {\n\t\t\tthis.originalValue = this.config.textRenderer(this.originalValue);\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.originalValue = humanFriendlyNumber(this.originalValue, this.config.humanFriendlyDecimal) + this.config.symbol;\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.originalValue = formatNumber(this.originalValue) + this.config.symbol;\n\t\t} else if (this.config.displayRemaining) {\n\t\t\tthis.originalValue = ((this.config.max - this.originalValue) * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t} else {\n\t\t\tthis.originalValue = (this.originalValue * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t}\n\n\t\tif (this.config.counter === true) {\n\t\t\t// on each animation frame\n\t\t\tconst onFrame = () => {\n\t\t\t\tlet currentValue = this.level.attr(\"pki\")[0];\n\t\t\t\tif (this.config.reverse) {\n\t\t\t\t\tcurrentValue = this.config.max * 1 + this.config.min * 1 - this.level.attr(\"pki\")[0] * 1;\n\t\t\t\t}\n\t\t\t\tif (this.config.textRenderer && this.config.textRenderer(Math.floor(currentValue)) !== false) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", this.config.textRenderer(Math.floor(currentValue)));\n\t\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", humanFriendlyNumber(Math.floor(currentValue), this.config.humanFriendlyDecimal) + this.config.symbol);\n\t\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", formatNumber(Math.floor(currentValue)) + this.config.symbol);\n\t\t\t\t} else if (this.config.displayRemaining) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", ((this.config.max - currentValue) * 1).toFixed(this.config.decimals) + this.config.symbol);\n\t\t\t\t} else {\n\t\t\t\t\tthis.txtValue.attr(\"text\", (currentValue * 1).toFixed(this.config.decimals) + this.config.symbol);\n\t\t\t\t}\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t\tcurrentValue = null;\n\t\t\t};\n\n\t\t\t// on animation end\n\t\t\tconst onFinish = () => {\n\t\t\t\tthis.txtValue.attr({\n\t\t\t\t\ttext: this.originalValue,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t};\n\n\t\t\tthis.bindEvent(\"raphael.anim.finish\", onFinish);\n\t\t\tthis.bindEvent(\"raphael.anim.frame\", onFrame);\n\t\t} else {\n\t\t\t// on animation start\n\t\t\tconst onStart = () => {\n\t\t\t\tthis.txtValue.attr({\n\t\t\t\t\ttext: this.originalValue,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t};\n\n\t\t\tthis.bindEvent(\"raphael.anim.start\", onStart);\n\t\t}\n\n\t\t// animate gauge level, value & label\n\t\tlet rvl = this.config.value;\n\t\tif (this.config.reverse) {\n\t\t\trvl = this.config.max * 1 + this.config.min * 1 - this.config.value * 1;\n\t\t}\n\t\tthis.level.animate(\n\t\t\t{\n\t\t\t\tpki: [rvl],\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t\tthis.config.onAnimationEnd,\n\t\t);\n\n\t\tif (this.config.pointer) {\n\t\t\tthis.needle.animate(\n\t\t\t\t{\n\t\t\t\t\tndl: [rvl],\n\t\t\t\t},\n\t\t\t\tthis.config.startAnimationTime,\n\t\t\t\tthis.config.startAnimationType,\n\t\t\t);\n\t\t}\n\n\t\tthis.txtValue.animate(\n\t\t\t{\n\t\t\t\t\"fill-opacity\": this.config.hideValue ? \"0\" : \"1\",\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t);\n\t\tthis.txtLabel.animate(\n\t\t\t{\n\t\t\t\t\"fill-opacity\": \"1\",\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t);\n\t}\n\n\t/**\n\t * Bind a function to a Raphael eve event\n\t *\n\t * @param {String} eventName Raphael event name\n\t * @param {Function} func The function to call on that event\n\t */\n\tbindEvent(eventName, func) {\n\t\t// add the level id to the event\n\t\teventName += \".\" + this.level.id;\n\n\t\t// check for existing bind events\n\t\tif (this.events[eventName]) {\n\t\t\tRaphael.eve.off(eventName, this.events[eventName]);\n\t\t}\n\n\t\tRaphael.eve.on(eventName, func);\n\n\t\tthis.events[eventName] = func;\n\t}\n\t/**\n\t * Update Gauge values\n\t *\n\t * @param {Number} val The value\n\t * @param {Number|String} max Max value\n\t * @param {Number|String} min Min value\n\t * @param {String} label The Label\n\t */\n\trefresh(val, max, min, label) {\n\t\tlet displayVal;\n\n\t\tmax = isNumber(max) ? max : null;\n\t\tmin = isNumber(min) ? min : null;\n\t\tlabel = label || null;\n\n\t\t// set label min\n\t\tif (label !== null) {\n\t\t\tthis.config.label = label;\n\n\t\t\tthis.txtLabel.attr({\n\t\t\t\ttext: this.config.label,\n\t\t\t});\n\t\t\tsetDy(this.txtLabel, this.params.labelFontSize, this.params.labelY);\n\t\t}\n\n\t\t// set new min\n\t\tif (min !== null) {\n\t\t\tthis.config.min = min;\n\t\t\t// TODO: update customSectors\n\n\t\t\tthis.txtMinimum = this.config.min;\n\t\t\tif (this.config.minTxt) {\n\t\t\t\tthis.txtMinimum = this.config.minTxt;\n\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\tthis.txtMinimum = humanFriendlyNumber(this.config.min, this.config.humanFriendlyDecimal);\n\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\tthis.txtMinimum = formatNumber(this.config.min);\n\t\t\t}\n\t\t\tif (!this.config.reverse) {\n\t\t\t\tthis.txtMin.attr({\n\t\t\t\t\ttext: this.txtMinimum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMin, this.params.minFontSize, this.params.minY);\n\t\t\t} else {\n\t\t\t\tthis.txtMax.attr({\n\t\t\t\t\ttext: this.txtMinimum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMax, this.params.minFontSize, this.params.minY);\n\t\t\t}\n\t\t}\n\n\t\t// set new max\n\t\tif (max !== null) {\n\t\t\tthis.config.max = max;\n\n\t\t\tthis.txtMaximum = this.config.max;\n\t\t\tif (this.config.maxTxt) {\n\t\t\t\tthis.txtMaximum = this.config.maxTxt;\n\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\tthis.txtMaximum = humanFriendlyNumber(this.config.max, this.config.humanFriendlyDecimal);\n\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\tthis.txtMaximum = formatNumber(this.config.max);\n\t\t\t}\n\t\t\tif (!this.config.reverse) {\n\t\t\t\tthis.txtMax.attr({\n\t\t\t\t\ttext: this.txtMaximum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMax, this.params.maxFontSize, this.params.maxY);\n\t\t\t} else {\n\t\t\t\tthis.txtMin.attr({\n\t\t\t\t\ttext: this.txtMaximum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMin, this.params.maxFontSize, this.params.maxY);\n\t\t\t}\n\t\t}\n\n\t\t// overflow values\n\t\tdisplayVal = val;\n\t\tif (val * 1 > this.config.max * 1) {\n\t\t\tval = this.config.max * 1;\n\t\t}\n\t\tif (val * 1 < this.config.min * 1) {\n\t\t\tval = this.config.min * 1;\n\t\t}\n\n\t\tconst color = getColor(\n\t\t\tval,\n\t\t\t(val - this.config.min) / (this.config.max - this.config.min),\n\t\t\tthis.config.levelColors,\n\t\t\tthis.config.noGradient,\n\t\t\tthis.config.customSectors,\n\t\t);\n\n\t\tif (this.config.textRenderer && this.config.textRenderer(displayVal) !== false) {\n\t\t\tdisplayVal = this.config.textRenderer(displayVal);\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tdisplayVal = humanFriendlyNumber(displayVal, this.config.humanFriendlyDecimal) + this.config.symbol;\n\t\t} else if (this.config.formatNumber) {\n\t\t\tdisplayVal = formatNumber((displayVal * 1).toFixed(this.config.decimals)) + this.config.symbol;\n\t\t} else if (this.config.displayRemaining) {\n\t\t\tdisplayVal = ((this.config.max - displayVal) * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t} else {\n\t\t\tdisplayVal = (displayVal * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t}\n\t\tthis.originalValue = displayVal;\n\t\tthis.config.value = val * 1;\n\n\t\tif (!this.config.counter) {\n\t\t\tthis.txtValue.attr({\n\t\t\t\ttext: displayVal,\n\t\t\t});\n\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t}\n\n\t\tlet rvl = this.config.value;\n\t\tif (this.config.reverse) {\n\t\t\trvl = this.config.max * 1 + this.config.min * 1 - this.config.value * 1;\n\t\t}\n\n\t\tthis.level.animate(\n\t\t\t{\n\t\t\t\tpki: [rvl],\n\t\t\t\tfill: color,\n\t\t\t},\n\t\t\tthis.config.refreshAnimationTime,\n\t\t\tthis.config.refreshAnimationType,\n\t\t\tthis.config.onAnimationEnd,\n\t\t);\n\n\t\tif (this.config.pointer) {\n\t\t\tthis.needle.animate(\n\t\t\t\t{\n\t\t\t\t\tndl: [rvl],\n\t\t\t\t},\n\t\t\t\tthis.config.refreshAnimationTime,\n\t\t\t\tthis.config.refreshAnimationType,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Update Gauge options\n\t *\n\t * @param options {String} option The target option name\n\t * @param val {Number|String} val The value to be assigned to the option\n\t *\n\t * Alternative signature\n\t * @param options {String|Object} options name and value\n\t */\n\tupdate(options, val) {\n\t\tconst obj = this;\n\n\t\t// options as an object of option/val values\n\t\tif (options instanceof Object) {\n\t\t\tfor (const option in options) {\n\t\t\t\tval = options[option];\n\t\t\t\tupdateProp(obj, option, val);\n\t\t\t}\n\n\t\t\t// options as single option/val\n\t\t} else {\n\t\t\tupdateProp(obj, options, val);\n\t\t}\n\t}\n\t/**\n\t * Destroy the Gauge Object and unbind events\n\t *\n\t */\n\tdestroy() {\n\t\tif (this.node && this.node.parentNode) this.node.innerHTML = \"\";\n\n\t\tfor (const event in this.events) {\n\t\t\tRaphael.eve.off(event, this.events[event]);\n\t\t}\n\n\t\tthis.events = {};\n\t}\n\n\t/**\n\t * Generate Shadow\n\t *\n\t * @param {Object} svg The Svg element Object\n\t * @param {Object} defs The defs element Object\n\t */\n\tgenerateShadow(svg, defs) {\n\t\tconst sid = \"inner-shadow-\" + (this.config.element.id || this.config.classId);\n\n\t\t// FILTER\n\t\tconst gaussFilter = document.createElementNS(svg, \"filter\");\n\t\tgaussFilter.setAttribute(\"id\", sid);\n\t\tdefs.appendChild(gaussFilter);\n\n\t\t// offset\n\t\tconst feOffset = document.createElementNS(svg, \"feOffset\");\n\t\tfeOffset.setAttribute(\"dx\", \"0\");\n\t\tfeOffset.setAttribute(\"dy\", this.config.shadowVerticalOffset);\n\t\tgaussFilter.appendChild(feOffset);\n\n\t\t// blur\n\t\tconst feGaussianBlur = document.createElementNS(svg, \"feGaussianBlur\");\n\t\tfeGaussianBlur.setAttribute(\"result\", \"offset-blur\");\n\t\tfeGaussianBlur.setAttribute(\"stdDeviation\", this.config.shadowSize);\n\t\tgaussFilter.appendChild(feGaussianBlur);\n\n\t\t// composite 1\n\t\tconst feComposite1 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite1.setAttribute(\"operator\", \"out\");\n\t\tfeComposite1.setAttribute(\"in\", \"SourceGraphic\");\n\t\tfeComposite1.setAttribute(\"in2\", \"offset-blur\");\n\t\tfeComposite1.setAttribute(\"result\", \"inverse\");\n\t\tgaussFilter.appendChild(feComposite1);\n\n\t\t// flood\n\t\tconst feFlood = document.createElementNS(svg, \"feFlood\");\n\t\tfeFlood.setAttribute(\"flood-color\", \"black\");\n\t\tfeFlood.setAttribute(\"flood-opacity\", this.config.shadowOpacity);\n\t\tfeFlood.setAttribute(\"result\", \"color\");\n\t\tgaussFilter.appendChild(feFlood);\n\n\t\t// composite 2\n\t\tconst feComposite2 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite2.setAttribute(\"operator\", \"in\");\n\t\tfeComposite2.setAttribute(\"in\", \"color\");\n\t\tfeComposite2.setAttribute(\"in2\", \"inverse\");\n\t\tfeComposite2.setAttribute(\"result\", \"shadow\");\n\t\tgaussFilter.appendChild(feComposite2);\n\n\t\t// composite 3\n\t\tconst feComposite3 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite3.setAttribute(\"operator\", \"over\");\n\t\tfeComposite3.setAttribute(\"in\", \"shadow\");\n\t\tfeComposite3.setAttribute(\"in2\", \"SourceGraphic\");\n\t\tgaussFilter.appendChild(feComposite3);\n\n\t\t// set shadow\n\t\tif (this.config.showInnerShadow) {\n\t\t\tthis.canvas.canvas.childNodes[2].setAttribute(\"filter\", \"url(#\" + sid + \")\");\n\t\t\tthis.canvas.canvas.childNodes[3].setAttribute(\"filter\", \"url(#\" + sid + \")\");\n\t\t}\n\t}\n}\n\n/**\n * Utility function to update properties to a JustGage object\n *\n * @param obj {JustGage Object} JustGage object to apply the property update to\n * @param option {String} option name\n * @param val {String} option value\n */\nfunction updateProp(obj, option, val) {\n\tswitch (option) {\n\t\tcase \"valueFontColor\":\n\t\t\tif (!isHexColor(val)) {\n\t\t\t\tconsole.log(\"* justgage: the updated valueFontColor value is not a valid hex color\");\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tobj.txtValue.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase \"labelFontColor\":\n\t\t\tif (!isHexColor(val)) {\n\t\t\t\tconsole.log(\"* justgage: the updated labelFontColor value is not a valid hex color\");\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tobj.txtMin.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tobj.txtMax.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tobj.txtLabel.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tconsole.log(`* justgage: \"${option}\" is not a supported update setting`);\n\t}\n}\n\n//\n// tiny helper function to lookup value of a key from two hash tables\n// if none found, return defaultvalue\n//\n// key: string\n// tablea: object\n// tableb: DOMStringMap|object\n// defval: string|integer|float|null\n// datatype: return datatype\n// delimiter: delimiter to be used in conjunction with datatype formatting\n//\nfunction kvLookup(key, tablea, tableb, defval, datatype, delimiter) {\n\tlet val = defval;\n\tlet canConvert = false;\n\tif (!isUndefined(key)) {\n\t\tif (!isUndefined(tableb) && typeof tableb === \"object\" && key in tableb) {\n\t\t\tval = tableb[key];\n\t\t\tcanConvert = true;\n\t\t} else if (!isUndefined(tablea) && typeof tablea === \"object\" && key in tablea) {\n\t\t\tval = tablea[key];\n\t\t\tcanConvert = true;\n\t\t} else {\n\t\t\tval = defval;\n\t\t}\n\t\tif (canConvert === true) {\n\t\t\tif (!isUndefined(datatype)) {\n\t\t\t\tswitch (datatype) {\n\t\t\t\t\tcase \"int\":\n\t\t\t\t\t\tval = parseInt(val, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"float\":\n\t\t\t\t\t\tval = parseFloat(val);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn val;\n}\n\nfunction isUndefined(v) {\n\treturn v === null || v === undefined;\n}\n\n/** Get color for value */\nfunction getColor(val, pct, col, noGradient, custSec) {\n\tlet percentage, rval, gval, bval, lower, upper, range, rangePct, pctLower, pctUpper, color;\n\tconst cust = custSec && custSec.ranges && custSec.ranges.length > 0;\n\tnoGradient = noGradient || cust;\n\n\tif (cust) {\n\t\tif (custSec.percents === true) val = pct * 100;\n\t\tfor (let i = 0; i < custSec.ranges.length; i++) {\n\t\t\tif (val >= custSec.ranges[i].lo && val <= custSec.ranges[i].hi) {\n\t\t\t\treturn custSec.ranges[i].color;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst no = col.length;\n\tif (no === 1) return col[0];\n\tconst inc = noGradient ? 1 / no : 1 / (no - 1);\n\tconst colors = [];\n\tfor (let i = 0; i < col.length; i++) {\n\t\tpercentage = noGradient ? inc * (i + 1) : inc * i;\n\t\trval = parseInt(cutHex(col[i]).substring(0, 2), 16);\n\t\tgval = parseInt(cutHex(col[i]).substring(2, 4), 16);\n\t\tbval = parseInt(cutHex(col[i]).substring(4, 6), 16);\n\t\tcolors[i] = {\n\t\t\tpct: percentage,\n\t\t\tcolor: {\n\t\t\t\tr: rval,\n\t\t\t\tg: gval,\n\t\t\t\tb: bval,\n\t\t\t},\n\t\t};\n\t}\n\n\tif (pct === 0) {\n\t\treturn \"rgb(\" + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(\",\") + \")\";\n\t}\n\n\tfor (let j = 0; j < colors.length; j++) {\n\t\tif (pct <= colors[j].pct) {\n\t\t\tif (noGradient) {\n\t\t\t\treturn \"rgb(\" + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(\",\") + \")\";\n\t\t\t} else {\n\t\t\t\tlower = colors[j - 1];\n\t\t\t\tupper = colors[j];\n\t\t\t\trange = upper.pct - lower.pct;\n\t\t\t\trangePct = (pct - lower.pct) / range;\n\t\t\t\tpctLower = 1 - rangePct;\n\t\t\t\tpctUpper = rangePct;\n\t\t\t\tcolor = {\n\t\t\t\t\tr: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper),\n\t\t\t\t\tg: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper),\n\t\t\t\t\tb: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper),\n\t\t\t\t};\n\t\t\t\treturn \"rgb(\" + [color.r, color.g, color.b].join(\",\") + \")\";\n\t\t\t}\n\t\t}\n\t}\n}\n\n/** Fix Raphael display:none tspan dy attribute bug */\nfunction setDy(elem, fontSize, txtYpos) {\n\tif ((!ie || ie > 9) && elem.node.firstChild.attributes.dy) {\n\t\telem.node.firstChild.attributes.dy.value = 0;\n\t}\n}\n\n/** Cut hex */\nfunction cutHex(str) {\n\treturn str.charAt(0) === \"#\" ? str.substring(1, 7) : str;\n}\n\n/**\n * Validate if html hex color presentation\n *\n * @param val\n * @returns {*|boolean}\n */\nfunction isHexColor(val) {\n\tconst regExp = /^#([0-9A-Fa-f]{3}){1,2}$/;\n\treturn typeof val === \"string\" && regExp.test(val);\n}\n\n/** Human friendly number suffix - @robertsLando */\nfunction humanFriendlyNumber(n, d) {\n\tconst d2 = Math.pow(10, d);\n\tconst s = \" KMGTPE\";\n\tlet i = 0;\n\tconst c = 1000;\n\n\twhile ((n >= c || n <= -c) && ++i < s.length) n = n / c;\n\n\ti = i >= s.length ? s.length - 1 : i;\n\n\treturn Math.round(n * d2) / d2 + s[i];\n}\n\n/** Format numbers with commas - From: http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript */\nfunction formatNumber(x) {\n\tconst parts = x.toString().split(\".\");\n\tparts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\treturn parts.join(\".\");\n}\n\n/** Get style */\nfunction getStyle(oElm, strCssRule) {\n\tlet strValue = \"\";\n\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\tstrValue = document.defaultView.getComputedStyle(oElm, \"\").getPropertyValue(strCssRule);\n\t} else if (oElm.currentStyle) {\n\t\tstrCssRule = strCssRule.replace(/-(\\w)/g, function (strMatch, p1) {\n\t\t\treturn p1.toUpperCase();\n\t\t});\n\t\tstrValue = oElm.currentStyle[strCssRule];\n\t}\n\treturn strValue;\n}\n\n/** Create Element NS Ready */\nfunction onCreateElementNsReady(func) {\n\tif (document.createElementNS !== undefined) {\n\t\tfunc();\n\t} else {\n\t\tsetTimeout(function () {\n\t\t\tonCreateElementNsReady(func);\n\t\t}, 100);\n\t}\n}\n\n/** Get IE version */\n// ----------------------------------------------------------\n// A short snippet for detecting versions of IE in JavaScript\n// without resorting to user-agent sniffing\n// ----------------------------------------------------------\n// If you're not in IE (or IE version is less than 5) then:\n// ie === undefined\n// If you're in IE (>=5) then you can determine which version:\n// ie === 7; // IE7\n// Thus, to detect IE:\n// if (ie) {}\n// And to detect the version:\n// ie === 6 // IE6\n// ie > 7 // IE8, IE9 ...\n// ie < 9 // Anything less than IE9\n// ----------------------------------------------------------\n// UPDATE: Now using Live NodeList idea from @jdalton\nconst ie = (function () {\n\tlet v = 3;\n\tconst div = document.createElement(\"div\");\n\tconst all = div.getElementsByTagName(\"i\");\n\n\twhile (all[0]) {\n\t\tdiv.innerHTML = \"<!--[if gt IE \" + ++v + \"]><i></i><![endif]-->\";\n\t}\n\treturn v > 4 ? v : undefined;\n})();\n\n// extend target object with second object\nfunction extend(out) {\n\tout = out || {};\n\n\tfor (let i = 1; i < arguments.length; i++) {\n\t\tif (!arguments[i]) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfor (const key in arguments[i]) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n\t\t\t\tout[key] = arguments[i][key];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n\nfunction isNumber(n) {\n\treturn n !== null && n !== undefined && !isNaN(n);\n}\n\n/**\n * Generate UUID\n * @returns UUID\n */\nfunction uuid() {\n\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n\t\tconst r = (Math.random() * 16) | 0;\n\t\tconst v = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n}\n","<svelte:options tag=\"hb-gauge\" />\n\n<script lang=\"ts\">\n\timport { get_current_component, onDestroy, onMount } from \"svelte/internal\";\n\timport debounce from \"debounce\";\n\n\timport { createEventDispatcher } from \"svelte\";\n\timport JustGage from \"@app/functions/justgage\";\n\timport pkg from \"../../package.json\";\n\tconst component = get_current_component();\n\t// const svelteDispatch = createEventDispatcher();\n\t// function dispatch(name, detail) {\n\t// \tsvelteDispatch(name, detail);\n\t// \tcomponent.dispatchEvent && component.dispatchEvent(new CustomEvent(name, { detail }));\n\t// }\n\tlet gaugeEl: HTMLElement;\n\tlet gauge: JustGage;\n\texport let id: string;\n\texport let options: any;\n\n\t$: {\n\t\tif (!id) id = \"\";\n\t\tif (options && typeof options === \"string\") {\n\t\t\toptions = JSON.parse(options);\n\t\t}\n\t\tif (gaugeEl && gauge) {\n\t\t\trecreateGauge();\n\t\t}\n\t}\n\t// function updateGauge(val: number) {\n\t// \tif (gauge) gauge.refresh(val, null, null, null);\n\t// }\n\tfunction recreateGauge() {\n\t\tif (gauge) gauge.destroy();\n\t\tgauge = null;\n\n\t\tcreateGauge();\n\t}\n\tfunction createGauge() {\n\t\tif (!options || !gaugeEl) return console.error(\"cannot create gauge\");\n\t\tif (!gauge) {\n\t\t\tconst opts = Object.assign({ element: gaugeEl }, options);\n\t\t\tgauge = new JustGage(opts);\n\t\t} else {\n\t\t\tconsole.error(\"cannot create html gauge\");\n\t\t}\n\t}\n\tonMount(() => {\n\t\tgaugeEl = component.shadowRoot.getElementById(\"gauge\");\n\t\tcreateGauge();\n\t});\n\tonDestroy(() => {\n\t\tif (gauge) gauge.destroy();\n\t\tgauge = null;\n\t});\n</script>\n\n<div part=\"gauge\" style=\"width:100%\" id=\"gauge\" />\n<svelte:window on:resize={debounce(recreateGauge, 200)} />\n\n<style lang=\"scss\">\n\t// @import \"../styles/webcomponent.scss\";\n</style>\n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","insert","target","node","anchor","insertBefore","detach","parentNode","removeChild","attr","attribute","value","removeAttribute","getAttribute","setAttribute","attribute_to_object","attributes","result","name","current_component","set_current_component","component","get_current_component","Error","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","seen_callbacks","Set","flushidx","flush","saved_component","length","update","$$","pop","i","callback","has","add","clear","fragment","before_update","dirty","p","ctx","after_update","outroing","make_dirty","then","fill","init","options","instance","create_fragment","not_equal","props","append_styles","parent_component","bound","on_mount","on_destroy","on_disconnect","context","Map","callbacks","skip_bound","root","ready","ret","rest","hydrate","nodes","element","Array","from","childNodes","children","l","c","intro","block","delete","local","customElement","m","new_on_destroy","map","filter","mount_component","SvelteElement","debounce","func","wait","immediate","timeout","args","timestamp","later","last","Date","now","setTimeout","apply","debounced","this","arguments","callNow","clearTimeout","HTMLElement","constructor","super","attachShadow","mode","connectedCallback","key","slotted","appendChild","attributeChangedCallback","_oldValue","newValue","disconnectedCallback","$destroy","detaching","d","destroy_component","$on","type","index","indexOf","splice","$set","$$props","obj","$$set","keys","debounce_1","window","module","t","e","r","exports","n","call","o","defineProperty","enumerable","get","Symbol","toStringTag","__esModule","bind","default","prototype","hasOwnProperty","s","is","on","A","_engine","T","slice","version","eve","et","rt","circle","rect","path","ellipse","text","image","doc","document","win","h","was","Raphael","u","ca","customAttributes","f","TouchEvent","DocumentTouch","g","x","String","v","y","mousedown","mousemove","mouseup","toLowerCase","_","Math","w","max","k","min","B","abs","C","pow","S","PI","M","toString","E","_ISURL","N","NaN","Infinity","L","P","round","z","parseFloat","F","parseInt","R","toUpperCase","j","_availableAttrs","blur","cursor","cx","cy","font","gradient","height","href","opacity","rx","ry","src","stroke","title","transform","width","class","I","_availableAnimAttrs","D","q","hs","rg","O","V","W","Y","G","_radial_gradient","H","X","U","_rectPath","$","Z","_getPath","attrs","_getBBox","set","Q","mapPath","Tt","_g","SVGAngle","implementation","hasFeature","J","K","createElement","innerHTML","firstChild","style","behavior","adj","tt","svg","vml","_Paper","_id","isArray","angle","atan2","rad","deg","snapTo","createUUID","random","replace","setWindow","initWin","it","ActiveXObject","write","close","body","createPopup","createTextRange","ht","color","queryCommandValue","display","defaultView","getComputedStyle","getPropertyValue","nt","at","st","hex","ot","getRGB","lt","rgb","join","cache","count","shift","ut","ct","hsb2rgb","hsl2rgb","rgb2hsl","rgb2hsb","_path2string","_preload","cssText","onload","onerror","error","substring","charAt","match","hsb","hsl","getColor","start","reset","parsePathString","ft","arr","mt","parseTransformString","ps","sleep","pt","dt","sqrt","gt","toFixed","xt","bezierBBox","isBBoxIntersect","findDotsAtSegment","concat","t1","t2","vt","_path2curve","segment1","segment2","bez1","bez2","end","alpha","St","x2","y2","isPointInsideBBox","pathIntersection","pathIntersectionNumber","isPointInsidePath","pathBBox","_removedFactory","yt","bbox","bt","_pathToRelative","rel","_t","_pathToAbsolute","wt","kt","Bt","cos","sin","asin","tan","Ct","curve","bx","by","qx","qy","At","_parseDots","offset","_tear","top","prev","bottom","next","Mt","_tofront","_toback","_insertafter","_insertbefore","toMatrix","getBBox","Et","matrix","transformPath","_extractTransform","Pt","invert","translate","rotate","scale","dirtyT","sx","sy","dx","dy","Nt","Lt","_equaliseTransform","to","_getContainer","getElementById","tagName","container","pixelWidth","offsetWidth","pixelHeight","offsetHeight","pathToRelative","path2curve","clone","fromCharCode","toFilter","split","scalex","shear","scaley","acos","isSimple","isSuperSimple","noRotation","toTransformString","zt","returnValue","Ft","originalEvent","preventDefault","Rt","cancelBubble","jt","stopPropagation","It","documentElement","scrollTop","scrollLeft","clientX","clientY","Dt","addEventListener","targetTouches","removeEventListener","attachEvent","event","detachEvent","qt","Ot","touches","identifier","el","_drag","id","nextSibling","opera","paper","getElementByPoint","move_scope","Vt","unmousemove","unmouseup","end_scope","start_scope","Wt","Yt","events","unbind","shape","data","removeData","getData","hover","mouseover","mouseout","unhover","unmouseover","unmouseout","Gt","Ht","drag","onDragOver","undrag","unmousedown","__set__","format","ce","setStart","setFinish","getSize","canvas","setSize","setViewBox","raphael","elementFromPoint","getBoundingClientRect","ownerDocument","clientTop","clientLeft","pageYOffset","left","pageXOffset","createSVGRect","getIntersectionList","getById","raphaelid","getElementsByBBox","getElementsByPoint","isPointInside","realPath","removed","bboxwt","glow","offsetx","offsety","Xt","Ut","$t","Zt","Qt","getTotalLength","getPointAtLength","getSubpath","getPath","Jt","easing_formulas","linear","backIn","backOut","elastic","bounce","easeIn","easeOut","easeInOut","Kt","te","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","ee","paused","ms","easing","diff","initstatus","anim","percent","status","stop","re","real","repeat","totalOrigin","ae","percents","ie","ne","times","sort","del","origin","se","animateWith","animation","onAnimation","delay","floor","animate","setTime","pause","resume","oe","le","he","ue","items","fe","pe","exclude","insertAfter","registerFont","face","fonts","glyphs","getFont","normal","bold","lighter","bolder","RegExp","test","print","descent","fullfill","ninja","readyState","listeners","firstDefined","lastDefined","zIndex","_events","separator","nts","off","once","classic","diamond","open","oval","setAttributeNS","createElementNS","webkitTapHighlightColor","isNaN","defs","fx","fy","x1","y1","gradientTransform","isFinite","fillOpacity","documentMode","location","protocol","host","pathname","search","pattern","patternTransform","arrows","endPath","endMarker","startPath","startMarker","getElementsByTagName","markerHeight","markerWidth","orient","refX","refY","startdx","enddx","square","butt","visibility","nodeValue","createTextNode","clip","startString","endString","patternUnits","hide","show","remove","parentElement","clientWidth","clientHeight","def","toFront","toBack","stdDeviation","_blur","preserveAspectRatio","_viewBox","xmlns","_left","_top","renderfix","_vbSize","viewBox","getScreenCTM","createSVGMatrix","desc","fillpos","coordsize","rotation","flip","coordorigin","fillsize","position","size","clipRect","textpath","fontFamily","fontSize","fontWeight","fontStyle","weight","joinstyle","miterlimit","endcap","dashstyle","span","string","right","bbx","method","color2","colors","focus","focussize","focusposition","_oid","_viewBoxShift","skew","auxGetBBox","runtimeStyle","margin","Path","textpathok","styleSheets","createStyleSheet","addRule","namespaces","rvml","JustGage","config","isUndefined","dataset","canvasW","canvasH","widgetW","widgetH","aspect","valueFontSize","valueX","valueY","labelFontSize","labelX","labelY","minFontSize","minX","minY","maxFontSize","maxX","maxY","defaults","out","extend","classId","kvLookup","valueFontColor","valueFontFamily","symbol","minTxt","maxTxt","reverse","humanFriendlyDecimal","textRenderer","onAnimationEnd","gaugeWidthScale","gaugeColor","label","labelFontColor","labelFontFamily","shadowOpacity","shadowSize","shadowVerticalOffset","levelColors","startAnimationTime","startAnimationType","refreshAnimationTime","refreshAnimationType","donutStartAngle","valueMinFontSize","labelMinFontSize","minLabelMinFontSize","maxLabelMinFontSize","hideValue","hideMinMax","showInnerShadow","humanFriendly","noGradient","donut","relativeGaugeSize","counter","decimals","customSectors","formatNumber","pointer","pointerOptions","displayRemaining","originalValue","Number","getStyle","params","pki","gws","Ro","Ri","Cx","Cy","Xo","Yo","Xi","Yi","ndl","Xc","Yc","Xz","Yz","Xa","Ya","Xb","Yb","dlt","dlb","dw","toplength","undefined","bottomlength","bottomwidth","gauge","level","needle","stroke_width","stroke_linecap","txtValue","setDy","txtLabel","txtMinimum","humanFriendlyNumber","txtMin","txtMaximum","txtMax","onCreateElementNsReady","generateShadow","onFrame","currentValue","onFinish","bindEvent","onStart","rvl","eventName","refresh","val","displayVal","isNumber","option","updateProp","destroy","sid","gaussFilter","feOffset","feGaussianBlur","feComposite1","feFlood","feComposite2","feComposite3","isHexColor","console","log","tablea","tableb","defval","datatype","delimiter","canConvert","pct","col","custSec","percentage","rval","gval","bval","lower","upper","range","rangePct","pctLower","pctUpper","cust","ranges","lo","hi","no","inc","cutHex","elem","txtYpos","str","d2","parts","oElm","strCssRule","strValue","currentStyle","strMatch","p1","div","all","important","removeProperty","setProperty","handler","gaugeEl","recreateGauge","$$invalidate","createGauge","opts","assign","onMount","shadowRoot","onDestroy","JSON","parse"],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sources":["../../../node_modules/svelte/internal/index.mjs","../../../node_modules/debounce/index.js","../../../node_modules/raphael/raphael.min.js","../app/functions/justgage.js","../app/html/webcomponent.svelte"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) {\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\nfunction get_all_dirty_from_scope($$scope) {\n if ($$scope.ctx.length > 32) {\n const dirty = [];\n const length = $$scope.ctx.length / 32;\n for (let i = 0; i < length; i++) {\n dirty[i] = -1;\n }\n return dirty;\n }\n return -1;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\nfunction start_hydrating() {\n is_hydrating = true;\n}\nfunction end_hydrating() {\n is_hydrating = false;\n}\nfunction upper_bound(low, high, key, value) {\n // Return first index of value larger than input value in the range [low, high)\n while (low < high) {\n const mid = low + ((high - low) >> 1);\n if (key(mid) <= value) {\n low = mid + 1;\n }\n else {\n high = mid;\n }\n }\n return low;\n}\nfunction init_hydrate(target) {\n if (target.hydrate_init)\n return;\n target.hydrate_init = true;\n // We know that all children have claim_order values since the unclaimed have been detached if target is not <head>\n let children = target.childNodes;\n // If target is <head>, there may be children without claim_order\n if (target.nodeName === 'HEAD') {\n const myChildren = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n if (node.claim_order !== undefined) {\n myChildren.push(node);\n }\n }\n children = myChildren;\n }\n /*\n * Reorder claimed children optimally.\n * We can reorder claimed children optimally by finding the longest subsequence of\n * nodes that are already claimed in order and only moving the rest. The longest\n * subsequence subsequence of nodes that are claimed in order can be found by\n * computing the longest increasing subsequence of .claim_order values.\n *\n * This algorithm is optimal in generating the least amount of reorder operations\n * possible.\n *\n * Proof:\n * We know that, given a set of reordering operations, the nodes that do not move\n * always form an increasing subsequence, since they do not move among each other\n * meaning that they must be already ordered among each other. Thus, the maximal\n * set of nodes that do not move form a longest increasing subsequence.\n */\n // Compute longest increasing subsequence\n // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n const m = new Int32Array(children.length + 1);\n // Predecessor indices + 1\n const p = new Int32Array(children.length);\n m[0] = -1;\n let longest = 0;\n for (let i = 0; i < children.length; i++) {\n const current = children[i].claim_order;\n // Find the largest subsequence length such that it ends in a value less than our current value\n // upper_bound returns first greater value, so we subtract one\n // with fast path for when we are on the current longest subsequence\n const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1;\n p[i] = m[seqLen] + 1;\n const newLen = seqLen + 1;\n // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n m[newLen] = i;\n longest = Math.max(newLen, longest);\n }\n // The longest increasing subsequence of nodes (initially reversed)\n const lis = [];\n // The rest of the nodes, nodes that will be moved\n const toMove = [];\n let last = children.length - 1;\n for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n lis.push(children[cur - 1]);\n for (; last >= cur; last--) {\n toMove.push(children[last]);\n }\n last--;\n }\n for (; last >= 0; last--) {\n toMove.push(children[last]);\n }\n lis.reverse();\n // We sort the nodes being moved to guarantee that their insertion order matches the claim order\n toMove.sort((a, b) => a.claim_order - b.claim_order);\n // Finally, we move the nodes\n for (let i = 0, j = 0; i < toMove.length; i++) {\n while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) {\n j++;\n }\n const anchor = j < lis.length ? lis[j] : null;\n target.insertBefore(toMove[i], anchor);\n }\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction append_styles(target, style_sheet_id, styles) {\n const append_styles_to = get_root_for_style(target);\n if (!append_styles_to.getElementById(style_sheet_id)) {\n const style = element('style');\n style.id = style_sheet_id;\n style.textContent = styles;\n append_stylesheet(append_styles_to, style);\n }\n}\nfunction get_root_for_style(node) {\n if (!node)\n return document;\n const root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n if (root && root.host) {\n return root;\n }\n return node.ownerDocument;\n}\nfunction append_empty_stylesheet(node) {\n const style_element = element('style');\n append_stylesheet(get_root_for_style(node), style_element);\n return style_element.sheet;\n}\nfunction append_stylesheet(node, style) {\n append(node.head || node, style);\n}\nfunction append_hydration(target, node) {\n if (is_hydrating) {\n init_hydrate(target);\n if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) {\n target.actual_end_child = target.firstChild;\n }\n // Skip nodes of undefined ordering\n while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) {\n target.actual_end_child = target.actual_end_child.nextSibling;\n }\n if (node !== target.actual_end_child) {\n // We only insert if the ordering of this node should be modified or the parent node is not target\n if (node.claim_order !== undefined || node.parentNode !== target) {\n target.insertBefore(node, target.actual_end_child);\n }\n }\n else {\n target.actual_end_child = node.nextSibling;\n }\n }\n else if (node.parentNode !== target || node.nextSibling !== null) {\n target.appendChild(node);\n }\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction insert_hydration(target, node, anchor) {\n if (is_hydrating && !anchor) {\n append_hydration(target, node);\n }\n else if (node.parentNode !== target || node.nextSibling != anchor) {\n target.insertBefore(node, anchor || null);\n }\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction trusted(fn) {\n return function (event) {\n // @ts-ignore\n if (event.isTrusted)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction init_claim_info(nodes) {\n if (nodes.claim_info === undefined) {\n nodes.claim_info = { last_index: 0, total_claimed: 0 };\n }\n}\nfunction claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) {\n // Try to find nodes in an order such that we lengthen the longest increasing subsequence\n init_claim_info(nodes);\n const resultNode = (() => {\n // We first try to find an element after the previous one\n for (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n return node;\n }\n }\n // Otherwise, we try to find one before\n // We iterate in reverse so that we don't go too far back\n for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n const node = nodes[i];\n if (predicate(node)) {\n const replacement = processNode(node);\n if (replacement === undefined) {\n nodes.splice(i, 1);\n }\n else {\n nodes[i] = replacement;\n }\n if (!dontUpdateLastIndex) {\n nodes.claim_info.last_index = i;\n }\n else if (replacement === undefined) {\n // Since we spliced before the last_index, we decrease it\n nodes.claim_info.last_index--;\n }\n return node;\n }\n }\n // If we can't find any matching node, we create a new one\n return createNode();\n })();\n resultNode.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n return resultNode;\n}\nfunction claim_element_base(nodes, name, attributes, create_element) {\n return claim_node(nodes, (node) => node.nodeName === name, (node) => {\n const remove = [];\n for (let j = 0; j < node.attributes.length; j++) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n remove.forEach(v => node.removeAttribute(v));\n return undefined;\n }, () => create_element(name));\n}\nfunction claim_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, element);\n}\nfunction claim_svg_element(nodes, name, attributes) {\n return claim_element_base(nodes, name, attributes, svg_element);\n}\nfunction claim_text(nodes, data) {\n return claim_node(nodes, (node) => node.nodeType === 3, (node) => {\n const dataStr = '' + data;\n if (node.data.startsWith(dataStr)) {\n if (node.data.length !== dataStr.length) {\n return node.splitText(dataStr.length);\n }\n }\n else {\n node.data = dataStr;\n }\n }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n );\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction find_comment(nodes, text, start) {\n for (let i = start; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n return i;\n }\n }\n return nodes.length;\n}\nfunction claim_html_tag(nodes, is_svg) {\n // find html opening tag\n const start_index = find_comment(nodes, 'HTML_TAG_START', 0);\n const end_index = find_comment(nodes, 'HTML_TAG_END', start_index);\n if (start_index === end_index) {\n return new HtmlTagHydration(undefined, is_svg);\n }\n init_claim_info(nodes);\n const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n detach(html_tag_nodes[0]);\n detach(html_tag_nodes[html_tag_nodes.length - 1]);\n const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n for (const n of claimed_nodes) {\n n.claim_order = nodes.claim_info.total_claimed;\n nodes.claim_info.total_claimed += 1;\n }\n return new HtmlTagHydration(claimed_nodes, is_svg);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n select.selectedIndex = -1; // no option should be selected\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;');\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,<script>onresize=function(){parent.postMessage(0,'*')}</script>\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, bubbles, cancelable, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(is_svg = false) {\n this.is_svg = false;\n this.is_svg = is_svg;\n this.e = this.n = null;\n }\n c(html) {\n this.h(html);\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n if (this.is_svg)\n this.e = svg_element(target.nodeName);\n else\n this.e = element(target.nodeName);\n this.t = target;\n this.c(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nclass HtmlTagHydration extends HtmlTag {\n constructor(claimed_nodes, is_svg = false) {\n super(is_svg);\n this.e = this.n = null;\n this.l = claimed_nodes;\n }\n c(html) {\n if (this.l) {\n this.n = this.l;\n }\n else {\n super.c(html);\n }\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert_hydration(this.t, this.n[i], anchor);\n }\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\n// we need to store the information for multiple documents because a Svelte application could also contain iframes\n// https://github.com/sveltejs/svelte/issues/3624\nconst managed_styles = new Map();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_style_information(doc, node) {\n const info = { stylesheet: append_empty_stylesheet(node), rules: {} };\n managed_styles.set(doc, info);\n return info;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = get_root_for_style(node);\n const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node);\n if (!rules[name]) {\n rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n managed_styles.forEach(info => {\n const { stylesheet } = info;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n info.rules = {};\n });\n managed_styles.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail, { cancelable = false } = {}) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail, { cancelable });\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n return !event.defaultPrevented;\n }\n return true;\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n return context;\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction getAllContexts() {\n return get_current_component().$$.context;\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n // @ts-ignore\n callbacks.slice().forEach(fn => fn.call(this, event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n else if (callback) {\n callback();\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n started = true;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = (program.b - t);\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n if (info.blocks[i] === block) {\n info.blocks[i] = null;\n }\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\nfunction update_await_block_branch(info, ctx, dirty) {\n const child_ctx = ctx.slice();\n const { resolved } = info;\n if (info.current === info.then) {\n child_ctx[info.value] = resolved;\n }\n if (info.current === info.catch) {\n child_ctx[info.error] = resolved;\n }\n info.block.p(child_ctx, dirty);\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst void_element_names = /^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/;\nfunction is_void(name) {\n return void_element_names.test(name) || name.toLowerCase() === '!doctype';\n}\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, attrs_to_add) {\n const attributes = Object.assign({}, ...args);\n if (attrs_to_add) {\n const classes_to_add = attrs_to_add.classes;\n const styles_to_add = attrs_to_add.styles;\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n if (styles_to_add) {\n if (attributes.style == null) {\n attributes.style = style_object_to_string(styles_to_add);\n }\n else {\n attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add));\n }\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${value}\"`;\n }\n });\n return str;\n}\nfunction merge_ssr_styles(style_attribute, style_directive) {\n const style_object = {};\n for (const individual_style of style_attribute.split(';')) {\n const colon_index = individual_style.indexOf(':');\n const name = individual_style.slice(0, colon_index).trim();\n const value = individual_style.slice(colon_index + 1).trim();\n if (!name)\n continue;\n style_object[name] = value;\n }\n for (const name in style_directive) {\n const value = style_directive[name];\n if (value) {\n style_object[name] = value;\n }\n else {\n delete style_object[name];\n }\n }\n return style_object;\n}\nconst ATTR_REGEX = /[&\"]/g;\nconst CONTENT_REGEX = /[&<]/g;\n/**\n * Note: this method is performance sensitive and has been optimized\n * https://github.com/sveltejs/svelte/pull/5701\n */\nfunction escape(value, is_attr = false) {\n const str = String(value);\n const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;\n pattern.lastIndex = 0;\n let escaped = '';\n let last = 0;\n while (pattern.test(str)) {\n const i = pattern.lastIndex - 1;\n const ch = str[i];\n escaped += str.substring(last, i) + (ch === '&' ? '&amp;' : (ch === '\"' ? '&quot;' : '&lt;'));\n last = i + 1;\n }\n return escaped + str.substring(last);\n}\nfunction escape_attribute_value(value) {\n // keep booleans, null, and undefined for the sake of `spread`\n const should_escape = typeof value === 'string' || (value && typeof value === 'object');\n return should_escape ? escape(value, true) : value;\n}\nfunction escape_object(obj) {\n const result = {};\n for (const key in obj) {\n result[key] = escape_attribute_value(obj[key]);\n }\n return result;\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots, context) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(context || (parent_component ? parent_component.$$.context : [])),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, { $$slots = {}, context = new Map() } = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, $$slots, context);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n const assignment = (boolean && value === true) ? '' : `=\"${escape(value, true)}\"`;\n return ` ${name}${assignment}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\nfunction style_object_to_string(style_object) {\n return Object.keys(style_object)\n .filter(key => style_object[key])\n .map(key => `${key}: ${style_object[key]};`)\n .join(' ');\n}\nfunction add_styles(style_object) {\n const styles = style_object_to_string(style_object);\n return styles ? ` style=\"${styles}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n start_hydrating();\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n end_hydrating();\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.49.0' }, detail), { bubbles: true }));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction append_hydration_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append_hydration(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction insert_hydration_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert_hydration(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nfunction validate_dynamic_element(tag) {\n const is_string = typeof tag === 'string';\n if (tag && !is_string) {\n throw new Error('<svelte:element> expects \"this\" attribute to be a string.');\n }\n}\nfunction validate_void_dynamic_element(tag) {\n if (tag && is_void(tag)) {\n throw new Error(`<svelte:element this=\"${tag}\"> is self-closing and cannot have content.`);\n }\n}\n/**\n * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.\n */\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\n/**\n * Base class to create strongly typed Svelte components.\n * This only exists for typing purposes and should be used in `.d.ts` files.\n *\n * ### Example:\n *\n * You have component library on npm called `component-library`, from which\n * you export a component called `MyComponent`. For Svelte+TypeScript users,\n * you want to provide typings. Therefore you create a `index.d.ts`:\n * ```ts\n * import { SvelteComponentTyped } from \"svelte\";\n * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}\n * ```\n * Typing this makes it possible for IDEs like VS Code with the Svelte extension\n * to provide intellisense and to use the component like this in a Svelte file\n * with TypeScript:\n * ```svelte\n * <script lang=\"ts\">\n * \timport { MyComponent } from \"component-library\";\n * </script>\n * <MyComponent foo={'bar'} />\n * ```\n *\n * #### Why not make this part of `SvelteComponent(Dev)`?\n * Because\n * ```ts\n * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}\n * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;\n * ```\n * will throw a type error, so we need to separate the more strictly typed class.\n */\nclass SvelteComponentTyped extends SvelteComponentDev {\n constructor(options) {\n super(options);\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_styles, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, is_void, listen, listen_dev, loop, loop_guard, merge_ssr_styles, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_dynamic_element, validate_each_argument, validate_each_keys, validate_slots, validate_store, validate_void_dynamic_element, xlink_attr };\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Raphael=e():t.Raphael=e()}(window,function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=1)}([function(t,e,r){var i,n;i=[r(2)],void 0===(n=function(t){function e(i){if(e.is(i,\"function\"))return r?i():t.on(\"raphael.DOMload\",i);if(e.is(i,A))return e._engine.create[c](e,i.splice(0,3+e.is(i[0],T))).add(i);var n=Array.prototype.slice.call(arguments,0);if(e.is(n[n.length-1],\"function\")){var a=n.pop();return r?a.call(e._engine.create[c](e,n)):t.on(\"raphael.DOMload\",function(){a.call(e._engine.create[c](e,n))})}return e._engine.create[c](e,arguments)}e.version=\"2.3.0\",e.eve=t;var r,i,n=/[, ]+/,a={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},s=/\\{(\\d+)\\}/g,o=\"hasOwnProperty\",l={doc:document,win:window},h={was:Object.prototype[o].call(l.win,\"Raphael\"),is:l.win.Raphael},u=function(){this.ca=this.customAttributes={}},c=\"apply\",f=\"concat\",p=\"ontouchstart\"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch,d=\"\",g=\" \",x=String,v=\"split\",y=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\"[v](g),m={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},b=x.prototype.toLowerCase,_=Math,w=_.max,k=_.min,B=_.abs,C=_.pow,S=_.PI,T=\"number\",A=\"array\",M=Object.prototype.toString,E=(e._ISURL=/^url\\(['\"]?(.+?)['\"]?\\)$/i,/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i),N={NaN:1,Infinity:1,\"-Infinity\":1},L=/^(?:cubic-)?bezier\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,P=_.round,z=parseFloat,F=parseInt,R=x.prototype.toUpperCase,j=e._availableAttrs={\"arrow-end\":\"none\",\"arrow-start\":\"none\",blur:0,\"clip-rect\":\"0 0 1e9 1e9\",cursor:\"default\",cx:0,cy:0,fill:\"#fff\",\"fill-opacity\":1,font:'10px \"Arial\"',\"font-family\":'\"Arial\"',\"font-size\":\"10\",\"font-style\":\"normal\",\"font-weight\":400,gradient:0,height:0,href:\"http://raphaeljs.com/\",\"letter-spacing\":0,opacity:1,path:\"M0,0\",r:0,rx:0,ry:0,src:\"\",stroke:\"#000\",\"stroke-dasharray\":\"\",\"stroke-linecap\":\"butt\",\"stroke-linejoin\":\"butt\",\"stroke-miterlimit\":0,\"stroke-opacity\":1,\"stroke-width\":1,target:\"_blank\",\"text-anchor\":\"middle\",title:\"Raphael\",transform:\"\",width:0,x:0,y:0,class:\"\"},I=e._availableAnimAttrs={blur:T,\"clip-rect\":\"csv\",cx:T,cy:T,fill:\"colour\",\"fill-opacity\":T,\"font-size\":T,height:T,opacity:T,path:\"path\",r:T,rx:T,ry:T,stroke:\"colour\",\"stroke-opacity\":T,\"stroke-width\":T,transform:\"transform\",width:T,x:T,y:T},D=/[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/,q={hs:1,rg:1},O=/,?([achlmqrstvxz]),?/gi,V=/([achlmrqstvz])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/gi,W=/([rstm])[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)/gi,Y=/(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*/gi,G=(e._radial_gradient=/^r(?:\\(([^,]+?)[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*([^\\)]+?)\\))?/,{}),H=function(t,e){return z(t)-z(e)},X=function(t){return t},U=e._rectPath=function(t,e,r,i,n){return n?[[\"M\",t+n,e],[\"l\",r-2*n,0],[\"a\",n,n,0,0,1,n,n],[\"l\",0,i-2*n],[\"a\",n,n,0,0,1,-n,n],[\"l\",2*n-r,0],[\"a\",n,n,0,0,1,-n,-n],[\"l\",0,2*n-i],[\"a\",n,n,0,0,1,n,-n],[\"z\"]]:[[\"M\",t,e],[\"l\",r,0],[\"l\",0,i],[\"l\",-r,0],[\"z\"]]},$=function(t,e,r,i){return null==i&&(i=r),[[\"M\",t,e],[\"m\",0,-i],[\"a\",r,i,0,1,1,0,2*i],[\"a\",r,i,0,1,1,0,-2*i],[\"z\"]]},Z=e._getPath={path:function(t){return t.attr(\"path\")},circle:function(t){var e=t.attrs;return $(e.cx,e.cy,e.r)},ellipse:function(t){var e=t.attrs;return $(e.cx,e.cy,e.rx,e.ry)},rect:function(t){var e=t.attrs;return U(e.x,e.y,e.width,e.height,e.r)},image:function(t){var e=t.attrs;return U(e.x,e.y,e.width,e.height)},text:function(t){var e=t._getBBox();return U(e.x,e.y,e.width,e.height)},set:function(t){var e=t._getBBox();return U(e.x,e.y,e.width,e.height)}},Q=e.mapPath=function(t,e){if(!e)return t;var r,i,n,a,s,o,l;for(n=0,s=(t=Tt(t)).length;n<s;n++)for(a=1,o=(l=t[n]).length;a<o;a+=2)r=e.x(l[a],l[a+1]),i=e.y(l[a],l[a+1]),l[a]=r,l[a+1]=i;return t};if(e._g=l,e.type=l.win.SVGAngle||l.doc.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\",\"1.1\")?\"SVG\":\"VML\",\"VML\"==e.type){var J,K=l.doc.createElement(\"div\");if(K.innerHTML='<v:shape adj=\"1\"/>',(J=K.firstChild).style.behavior=\"url(#default#VML)\",!J||\"object\"!=typeof J.adj)return e.type=d;K=null}function tt(t){if(\"function\"==typeof t||Object(t)!==t)return t;var e=new t.constructor;for(var r in t)t[o](r)&&(e[r]=tt(t[r]));return e}e.svg=!(e.vml=\"VML\"==e.type),e._Paper=u,e.fn=i=u.prototype=e.prototype,e._id=0,e.is=function(t,e){return\"finite\"==(e=b.call(e))?!N[o](+t):\"array\"==e?t instanceof Array:\"null\"==e&&null===t||e==typeof t&&null!==t||\"object\"==e&&t===Object(t)||\"array\"==e&&Array.isArray&&Array.isArray(t)||M.call(t).slice(8,-1).toLowerCase()==e},e.angle=function(t,r,i,n,a,s){if(null==a){var o=t-i,l=r-n;return o||l?(180+180*_.atan2(-l,-o)/S+360)%360:0}return e.angle(t,r,a,s)-e.angle(i,n,a,s)},e.rad=function(t){return t%360*S/180},e.deg=function(t){return Math.round(180*t/S%360*1e3)/1e3},e.snapTo=function(t,r,i){if(i=e.is(i,\"finite\")?i:10,e.is(t,A)){for(var n=t.length;n--;)if(B(t[n]-r)<=i)return t[n]}else{var a=r%(t=+t);if(a<i)return r-a;if(a>t-i)return r-a+t}return r};var et,rt;e.createUUID=(et=/[xy]/g,rt=function(t){var e=16*_.random()|0;return(\"x\"==t?e:3&e|8).toString(16)},function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(et,rt).toUpperCase()});e.setWindow=function(r){t(\"raphael.setWindow\",e,l.win,r),l.win=r,l.doc=l.win.document,e._engine.initWin&&e._engine.initWin(l.win)};var it=function(t){if(e.vml){var r,i=/^\\s+|\\s+$/g;try{var n=new ActiveXObject(\"htmlfile\");n.write(\"<body>\"),n.close(),r=n.body}catch(t){r=createPopup().document.body}var a=r.createTextRange();it=ht(function(t){try{r.style.color=x(t).replace(i,d);var e=a.queryCommandValue(\"ForeColor\");return\"#\"+(\"000000\"+(e=(255&e)<<16|65280&e|(16711680&e)>>>16).toString(16)).slice(-6)}catch(t){return\"none\"}})}else{var s=l.doc.createElement(\"i\");s.title=\"Raphaël Colour Picker\",s.style.display=\"none\",l.doc.body.appendChild(s),it=ht(function(t){return s.style.color=t,l.doc.defaultView.getComputedStyle(s,d).getPropertyValue(\"color\")})}return it(t)},nt=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},at=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},st=function(){return this.hex},ot=function(t,r,i){if(null==r&&e.is(t,\"object\")&&\"r\"in t&&\"g\"in t&&\"b\"in t&&(i=t.b,r=t.g,t=t.r),null==r&&e.is(t,\"string\")){var n=e.getRGB(t);t=n.r,r=n.g,i=n.b}return(t>1||r>1||i>1)&&(t/=255,r/=255,i/=255),[t,r,i]},lt=function(t,r,i,n){var a={r:t*=255,g:r*=255,b:i*=255,hex:e.rgb(t,r,i),toString:st};return e.is(n,\"finite\")&&(a.opacity=n),a};function ht(t,e,r){return function i(){var n=Array.prototype.slice.call(arguments,0),a=n.join(\"␀\"),s=i.cache=i.cache||{},l=i.count=i.count||[];return s[o](a)?(function(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return t.push(t.splice(r,1)[0])}(l,a),r?r(s[a]):s[a]):(l.length>=1e3&&delete s[l.shift()],l.push(a),s[a]=t[c](e,n),r?r(s[a]):s[a])}}e.color=function(t){var r;return e.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"b\"in t?(r=e.hsb2rgb(t),t.r=r.r,t.g=r.g,t.b=r.b,t.hex=r.hex):e.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"l\"in t?(r=e.hsl2rgb(t),t.r=r.r,t.g=r.g,t.b=r.b,t.hex=r.hex):(e.is(t,\"string\")&&(t=e.getRGB(t)),e.is(t,\"object\")&&\"r\"in t&&\"g\"in t&&\"b\"in t?(r=e.rgb2hsl(t),t.h=r.h,t.s=r.s,t.l=r.l,r=e.rgb2hsb(t),t.v=r.b):(t={hex:\"none\"}).r=t.g=t.b=t.h=t.s=t.v=t.l=-1),t.toString=st,t},e.hsb2rgb=function(t,e,r,i){var n,a,s,o,l;return this.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"b\"in t&&(r=t.b,e=t.s,i=t.o,t=t.h),o=(l=r*e)*(1-B((t=(t*=360)%360/60)%2-1)),n=a=s=r-l,lt(n+=[l,o,0,0,o,l][t=~~t],a+=[o,l,l,o,0,0][t],s+=[0,0,o,l,l,o][t],i)},e.hsl2rgb=function(t,e,r,i){var n,a,s,o,l;return this.is(t,\"object\")&&\"h\"in t&&\"s\"in t&&\"l\"in t&&(r=t.l,e=t.s,t=t.h),(t>1||e>1||r>1)&&(t/=360,e/=100,r/=100),o=(l=2*e*(r<.5?r:1-r))*(1-B((t=(t*=360)%360/60)%2-1)),n=a=s=r-l/2,lt(n+=[l,o,0,0,o,l][t=~~t],a+=[o,l,l,o,0,0][t],s+=[0,0,o,l,l,o][t],i)},e.rgb2hsb=function(t,e,r){var i,n;return t=(r=ot(t,e,r))[0],e=r[1],r=r[2],{h:((0==(n=(i=w(t,e,r))-k(t,e,r))?null:i==t?(e-r)/n:i==e?(r-t)/n+2:(t-e)/n+4)+360)%6*60/360,s:0==n?0:n/i,b:i,toString:nt}},e.rgb2hsl=function(t,e,r){var i,n,a,s;return t=(r=ot(t,e,r))[0],e=r[1],r=r[2],i=((n=w(t,e,r))+(a=k(t,e,r)))/2,{h:((0==(s=n-a)?null:n==t?(e-r)/s:n==e?(r-t)/s+2:(t-e)/s+4)+360)%6*60/360,s:0==s?0:i<.5?s/(2*i):s/(2-2*i),l:i,toString:at}},e._path2string=function(){return this.join(\",\").replace(O,\"$1\")};e._preload=function(t,e){var r=l.doc.createElement(\"img\");r.style.cssText=\"position:absolute;left:-9999em;top:-9999em\",r.onload=function(){e.call(this),this.onload=null,l.doc.body.removeChild(this)},r.onerror=function(){l.doc.body.removeChild(this)},l.doc.body.appendChild(r),r.src=t};function ut(){return this.hex}function ct(t,e){for(var r=[],i=0,n=t.length;n-2*!e>i;i+=2){var a=[{x:+t[i-2],y:+t[i-1]},{x:+t[i],y:+t[i+1]},{x:+t[i+2],y:+t[i+3]},{x:+t[i+4],y:+t[i+5]}];e?i?n-4==i?a[3]={x:+t[0],y:+t[1]}:n-2==i&&(a[2]={x:+t[0],y:+t[1]},a[3]={x:+t[2],y:+t[3]}):a[0]={x:+t[n-2],y:+t[n-1]}:n-4==i?a[3]=a[2]:i||(a[0]={x:+t[i],y:+t[i+1]}),r.push([\"C\",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return r}e.getRGB=ht(function(t){if(!t||(t=x(t)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ut};if(\"none\"==t)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ut};!q[o](t.toLowerCase().substring(0,2))&&\"#\"!=t.charAt()&&(t=it(t));var r,i,n,a,s,l,h=t.match(E);return h?(h[2]&&(n=F(h[2].substring(5),16),i=F(h[2].substring(3,5),16),r=F(h[2].substring(1,3),16)),h[3]&&(n=F((s=h[3].charAt(3))+s,16),i=F((s=h[3].charAt(2))+s,16),r=F((s=h[3].charAt(1))+s,16)),h[4]&&(l=h[4][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),\"rgba\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100)),h[5]?(l=h[5][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),(\"deg\"==l[0].slice(-3)||\"°\"==l[0].slice(-1))&&(r/=360),\"hsba\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100),e.hsb2rgb(r,i,n,a)):h[6]?(l=h[6][v](D),r=z(l[0]),\"%\"==l[0].slice(-1)&&(r*=2.55),i=z(l[1]),\"%\"==l[1].slice(-1)&&(i*=2.55),n=z(l[2]),\"%\"==l[2].slice(-1)&&(n*=2.55),(\"deg\"==l[0].slice(-3)||\"°\"==l[0].slice(-1))&&(r/=360),\"hsla\"==h[1].toLowerCase().slice(0,4)&&(a=z(l[3])),l[3]&&\"%\"==l[3].slice(-1)&&(a/=100),e.hsl2rgb(r,i,n,a)):((h={r:r,g:i,b:n,toString:ut}).hex=\"#\"+(16777216|n|i<<8|r<<16).toString(16).slice(1),e.is(a,\"finite\")&&(h.opacity=a),h)):{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ut}},e),e.hsb=ht(function(t,r,i){return e.hsb2rgb(t,r,i).hex}),e.hsl=ht(function(t,r,i){return e.hsl2rgb(t,r,i).hex}),e.rgb=ht(function(t,e,r){function i(t){return t+.5|0}return\"#\"+(16777216|i(r)|i(e)<<8|i(t)<<16).toString(16).slice(1)}),e.getColor=function(t){var e=this.getColor.start=this.getColor.start||{h:0,s:1,b:t||.75},r=this.hsb2rgb(e.h,e.s,e.b);return e.h+=.075,e.h>1&&(e.h=0,e.s-=.2,e.s<=0&&(this.getColor.start={h:0,s:1,b:e.b})),r.hex},e.getColor.reset=function(){delete this.start},e.parsePathString=function(t){if(!t)return null;var r=ft(t);if(r.arr)return mt(r.arr);var i={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},n=[];return e.is(t,A)&&e.is(t[0],A)&&(n=mt(t)),n.length||x(t).replace(V,function(t,e,r){var a=[],s=e.toLowerCase();if(r.replace(Y,function(t,e){e&&a.push(+e)}),\"m\"==s&&a.length>2&&(n.push([e][f](a.splice(0,2))),s=\"l\",e=\"m\"==e?\"l\":\"L\"),\"r\"==s)n.push([e][f](a));else for(;a.length>=i[s]&&(n.push([e][f](a.splice(0,i[s]))),i[s]););}),n.toString=e._path2string,r.arr=mt(n),n},e.parseTransformString=ht(function(t){if(!t)return null;var r=[];return e.is(t,A)&&e.is(t[0],A)&&(r=mt(t)),r.length||x(t).replace(W,function(t,e,i){var n=[];b.call(e);i.replace(Y,function(t,e){e&&n.push(+e)}),r.push([e][f](n))}),r.toString=e._path2string,r},this,function(t){if(!t)return t;for(var e=[],r=0;r<t.length;r++){for(var i=[],n=0;n<t[r].length;n++)i.push(t[r][n]);e.push(i)}return e});var ft=function(t){var e=ft.ps=ft.ps||{};return e[t]?e[t].sleep=100:e[t]={sleep:100},setTimeout(function(){for(var r in e)e[o](r)&&r!=t&&(e[r].sleep--,!e[r].sleep&&delete e[r])}),e[t]};function pt(t,e,r,i,n){return t*(t*(-3*e+9*r-9*i+3*n)+6*e-12*r+6*i)-3*e+3*r}function dt(t,e,r,i,n,a,s,o,l){null==l&&(l=1);for(var h=(l=l>1?1:l<0?0:l)/2,u=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],c=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],f=0,p=0;p<12;p++){var d=h*u[p]+h,g=pt(d,t,r,n,s),x=pt(d,e,i,a,o),v=g*g+x*x;f+=c[p]*_.sqrt(v)}return h*f}function gt(t,e,r,i,n,a,s,o){if(!(w(t,r)<k(n,s)||k(t,r)>w(n,s)||w(e,i)<k(a,o)||k(e,i)>w(a,o))){var l=(t-r)*(a-o)-(e-i)*(n-s);if(l){var h=((t*i-e*r)*(n-s)-(t-r)*(n*o-a*s))/l,u=((t*i-e*r)*(a-o)-(e-i)*(n*o-a*s))/l,c=+h.toFixed(2),f=+u.toFixed(2);if(!(c<+k(t,r).toFixed(2)||c>+w(t,r).toFixed(2)||c<+k(n,s).toFixed(2)||c>+w(n,s).toFixed(2)||f<+k(e,i).toFixed(2)||f>+w(e,i).toFixed(2)||f<+k(a,o).toFixed(2)||f>+w(a,o).toFixed(2)))return{x:h,y:u}}}}function xt(t,r,i){var n=e.bezierBBox(t),a=e.bezierBBox(r);if(!e.isBBoxIntersect(n,a))return i?0:[];for(var s=dt.apply(0,t),o=dt.apply(0,r),l=w(~~(s/5),1),h=w(~~(o/5),1),u=[],c=[],f={},p=i?0:[],d=0;d<l+1;d++){var g=e.findDotsAtSegment.apply(e,t.concat(d/l));u.push({x:g.x,y:g.y,t:d/l})}for(d=0;d<h+1;d++)g=e.findDotsAtSegment.apply(e,r.concat(d/h)),c.push({x:g.x,y:g.y,t:d/h});for(d=0;d<l;d++)for(var x=0;x<h;x++){var v=u[d],y=u[d+1],m=c[x],b=c[x+1],_=B(y.x-v.x)<.001?\"y\":\"x\",C=B(b.x-m.x)<.001?\"y\":\"x\",S=gt(v.x,v.y,y.x,y.y,m.x,m.y,b.x,b.y);if(S){if(f[S.x.toFixed(4)]==S.y.toFixed(4))continue;f[S.x.toFixed(4)]=S.y.toFixed(4);var T=v.t+B((S[_]-v[_])/(y[_]-v[_]))*(y.t-v.t),A=m.t+B((S[C]-m[C])/(b[C]-m[C]))*(b.t-m.t);T>=0&&T<=1.001&&A>=0&&A<=1.001&&(i?p++:p.push({x:S.x,y:S.y,t1:k(T,1),t2:k(A,1)}))}}return p}function vt(t,r,i){t=e._path2curve(t),r=e._path2curve(r);for(var n,a,s,o,l,h,u,c,f,p,d=i?0:[],g=0,x=t.length;g<x;g++){var v=t[g];if(\"M\"==v[0])n=l=v[1],a=h=v[2];else{\"C\"==v[0]?(f=[n,a].concat(v.slice(1)),n=f[6],a=f[7]):(f=[n,a,n,a,l,h,l,h],n=l,a=h);for(var y=0,m=r.length;y<m;y++){var b=r[y];if(\"M\"==b[0])s=u=b[1],o=c=b[2];else{\"C\"==b[0]?(p=[s,o].concat(b.slice(1)),s=p[6],o=p[7]):(p=[s,o,s,o,u,c,u,c],s=u,o=c);var _=xt(f,p,i);if(i)d+=_;else{for(var w=0,k=_.length;w<k;w++)_[w].segment1=g,_[w].segment2=y,_[w].bez1=f,_[w].bez2=p;d=d.concat(_)}}}}}return d}e.findDotsAtSegment=function(t,e,r,i,n,a,s,o,l){var h=1-l,u=C(h,3),c=C(h,2),f=l*l,p=f*l,d=u*t+3*c*l*r+3*h*l*l*n+p*s,g=u*e+3*c*l*i+3*h*l*l*a+p*o,x=t+2*l*(r-t)+f*(n-2*r+t),v=e+2*l*(i-e)+f*(a-2*i+e),y=r+2*l*(n-r)+f*(s-2*n+r),m=i+2*l*(a-i)+f*(o-2*a+i),b=h*t+l*r,w=h*e+l*i,k=h*n+l*s,B=h*a+l*o,T=90-180*_.atan2(x-y,v-m)/S;return(x>y||v<m)&&(T+=180),{x:d,y:g,m:{x:x,y:v},n:{x:y,y:m},start:{x:b,y:w},end:{x:k,y:B},alpha:T}},e.bezierBBox=function(t,r,i,n,a,s,o,l){e.is(t,\"array\")||(t=[t,r,i,n,a,s,o,l]);var h=St.apply(null,t);return{x:h.min.x,y:h.min.y,x2:h.max.x,y2:h.max.y,width:h.max.x-h.min.x,height:h.max.y-h.min.y}},e.isPointInsideBBox=function(t,e,r){return e>=t.x&&e<=t.x2&&r>=t.y&&r<=t.y2},e.isBBoxIntersect=function(t,r){var i=e.isPointInsideBBox;return i(r,t.x,t.y)||i(r,t.x2,t.y)||i(r,t.x,t.y2)||i(r,t.x2,t.y2)||i(t,r.x,r.y)||i(t,r.x2,r.y)||i(t,r.x,r.y2)||i(t,r.x2,r.y2)||(t.x<r.x2&&t.x>r.x||r.x<t.x2&&r.x>t.x)&&(t.y<r.y2&&t.y>r.y||r.y<t.y2&&r.y>t.y)},e.pathIntersection=function(t,e){return vt(t,e)},e.pathIntersectionNumber=function(t,e){return vt(t,e,1)},e.isPointInsidePath=function(t,r,i){var n=e.pathBBox(t);return e.isPointInsideBBox(n,r,i)&&vt(t,[[\"M\",r,i],[\"H\",n.x2+10]],1)%2==1},e._removedFactory=function(e){return function(){t(\"raphael.log\",null,\"Raphaël: you are calling to method “\"+e+\"” of removed object\",e)}};var yt=e.pathBBox=function(t){var e=ft(t);if(e.bbox)return tt(e.bbox);if(!t)return{x:0,y:0,width:0,height:0,x2:0,y2:0};for(var r,i=0,n=0,a=[],s=[],o=0,l=(t=Tt(t)).length;o<l;o++)if(\"M\"==(r=t[o])[0])i=r[1],n=r[2],a.push(i),s.push(n);else{var h=St(i,n,r[1],r[2],r[3],r[4],r[5],r[6]);a=a[f](h.min.x,h.max.x),s=s[f](h.min.y,h.max.y),i=r[5],n=r[6]}var u=k[c](0,a),p=k[c](0,s),d=w[c](0,a),g=w[c](0,s),x=d-u,v=g-p,y={x:u,y:p,x2:d,y2:g,width:x,height:v,cx:u+x/2,cy:p+v/2};return e.bbox=tt(y),y},mt=function(t){var r=tt(t);return r.toString=e._path2string,r},bt=e._pathToRelative=function(t){var r=ft(t);if(r.rel)return mt(r.rel);e.is(t,A)&&e.is(t&&t[0],A)||(t=e.parsePathString(t));var i=[],n=0,a=0,s=0,o=0,l=0;\"M\"==t[0][0]&&(s=n=t[0][1],o=a=t[0][2],l++,i.push([\"M\",n,a]));for(var h=l,u=t.length;h<u;h++){var c=i[h]=[],f=t[h];if(f[0]!=b.call(f[0]))switch(c[0]=b.call(f[0]),c[0]){case\"a\":c[1]=f[1],c[2]=f[2],c[3]=f[3],c[4]=f[4],c[5]=f[5],c[6]=+(f[6]-n).toFixed(3),c[7]=+(f[7]-a).toFixed(3);break;case\"v\":c[1]=+(f[1]-a).toFixed(3);break;case\"m\":s=f[1],o=f[2];default:for(var p=1,d=f.length;p<d;p++)c[p]=+(f[p]-(p%2?n:a)).toFixed(3)}else{c=i[h]=[],\"m\"==f[0]&&(s=f[1]+n,o=f[2]+a);for(var g=0,x=f.length;g<x;g++)i[h][g]=f[g]}var v=i[h].length;switch(i[h][0]){case\"z\":n=s,a=o;break;case\"h\":n+=+i[h][v-1];break;case\"v\":a+=+i[h][v-1];break;default:n+=+i[h][v-2],a+=+i[h][v-1]}}return i.toString=e._path2string,r.rel=mt(i),i},_t=e._pathToAbsolute=function(t){var r=ft(t);if(r.abs)return mt(r.abs);if(e.is(t,A)&&e.is(t&&t[0],A)||(t=e.parsePathString(t)),!t||!t.length)return[[\"M\",0,0]];var i=[],n=0,a=0,s=0,o=0,l=0;\"M\"==t[0][0]&&(s=n=+t[0][1],o=a=+t[0][2],l++,i[0]=[\"M\",n,a]);for(var h,u,c=3==t.length&&\"M\"==t[0][0]&&\"R\"==t[1][0].toUpperCase()&&\"Z\"==t[2][0].toUpperCase(),p=l,d=t.length;p<d;p++){if(i.push(h=[]),(u=t[p])[0]!=R.call(u[0]))switch(h[0]=R.call(u[0]),h[0]){case\"A\":h[1]=u[1],h[2]=u[2],h[3]=u[3],h[4]=u[4],h[5]=u[5],h[6]=+(u[6]+n),h[7]=+(u[7]+a);break;case\"V\":h[1]=+u[1]+a;break;case\"H\":h[1]=+u[1]+n;break;case\"R\":for(var g=[n,a][f](u.slice(1)),x=2,v=g.length;x<v;x++)g[x]=+g[x]+n,g[++x]=+g[x]+a;i.pop(),i=i[f](ct(g,c));break;case\"M\":s=+u[1]+n,o=+u[2]+a;default:for(x=1,v=u.length;x<v;x++)h[x]=+u[x]+(x%2?n:a)}else if(\"R\"==u[0])g=[n,a][f](u.slice(1)),i.pop(),i=i[f](ct(g,c)),h=[\"R\"][f](u.slice(-2));else for(var y=0,m=u.length;y<m;y++)h[y]=u[y];switch(h[0]){case\"Z\":n=s,a=o;break;case\"H\":n=h[1];break;case\"V\":a=h[1];break;case\"M\":s=h[h.length-2],o=h[h.length-1];default:n=h[h.length-2],a=h[h.length-1]}}return i.toString=e._path2string,r.abs=mt(i),i},wt=function(t,e,r,i){return[t,e,r,i,r,i]},kt=function(t,e,r,i,n,a){return[1/3*t+2/3*r,1/3*e+2/3*i,1/3*n+2/3*r,1/3*a+2/3*i,n,a]},Bt=function(t,e,r,i,n,a,s,o,l,h){var u,c=120*S/180,p=S/180*(+n||0),d=[],g=ht(function(t,e,r){return{x:t*_.cos(r)-e*_.sin(r),y:t*_.sin(r)+e*_.cos(r)}});if(h)A=h[0],M=h[1],C=h[2],T=h[3];else{t=(u=g(t,e,-p)).x,e=u.y,o=(u=g(o,l,-p)).x,l=u.y;_.cos(S/180*n),_.sin(S/180*n);var x=(t-o)/2,y=(e-l)/2,m=x*x/(r*r)+y*y/(i*i);m>1&&(r*=m=_.sqrt(m),i*=m);var b=r*r,w=i*i,k=(a==s?-1:1)*_.sqrt(B((b*w-b*y*y-w*x*x)/(b*y*y+w*x*x))),C=k*r*y/i+(t+o)/2,T=k*-i*x/r+(e+l)/2,A=_.asin(((e-T)/i).toFixed(9)),M=_.asin(((l-T)/i).toFixed(9));(A=t<C?S-A:A)<0&&(A=2*S+A),(M=o<C?S-M:M)<0&&(M=2*S+M),s&&A>M&&(A-=2*S),!s&&M>A&&(M-=2*S)}var E=M-A;if(B(E)>c){var N=M,L=o,P=l;M=A+c*(s&&M>A?1:-1),o=C+r*_.cos(M),l=T+i*_.sin(M),d=Bt(o,l,r,i,n,0,s,L,P,[M,N,C,T])}E=M-A;var z=_.cos(A),F=_.sin(A),R=_.cos(M),j=_.sin(M),I=_.tan(E/4),D=4/3*r*I,q=4/3*i*I,O=[t,e],V=[t+D*F,e-q*z],W=[o+D*j,l-q*R],Y=[o,l];if(V[0]=2*O[0]-V[0],V[1]=2*O[1]-V[1],h)return[V,W,Y][f](d);for(var G=[],H=0,X=(d=[V,W,Y][f](d).join()[v](\",\")).length;H<X;H++)G[H]=H%2?g(d[H-1],d[H],p).y:g(d[H],d[H+1],p).x;return G},Ct=function(t,e,r,i,n,a,s,o,l){var h=1-l;return{x:C(h,3)*t+3*C(h,2)*l*r+3*h*l*l*n+C(l,3)*s,y:C(h,3)*e+3*C(h,2)*l*i+3*h*l*l*a+C(l,3)*o}},St=ht(function(t,e,r,i,n,a,s,o){var l,h=n-2*r+t-(s-2*n+r),u=2*(r-t)-2*(n-r),f=t-r,p=(-u+_.sqrt(u*u-4*h*f))/2/h,d=(-u-_.sqrt(u*u-4*h*f))/2/h,g=[e,o],x=[t,s];return B(p)>\"1e12\"&&(p=.5),B(d)>\"1e12\"&&(d=.5),p>0&&p<1&&(l=Ct(t,e,r,i,n,a,s,o,p),x.push(l.x),g.push(l.y)),d>0&&d<1&&(l=Ct(t,e,r,i,n,a,s,o,d),x.push(l.x),g.push(l.y)),h=a-2*i+e-(o-2*a+i),f=e-i,p=(-(u=2*(i-e)-2*(a-i))+_.sqrt(u*u-4*h*f))/2/h,d=(-u-_.sqrt(u*u-4*h*f))/2/h,B(p)>\"1e12\"&&(p=.5),B(d)>\"1e12\"&&(d=.5),p>0&&p<1&&(l=Ct(t,e,r,i,n,a,s,o,p),x.push(l.x),g.push(l.y)),d>0&&d<1&&(l=Ct(t,e,r,i,n,a,s,o,d),x.push(l.x),g.push(l.y)),{min:{x:k[c](0,x),y:k[c](0,g)},max:{x:w[c](0,x),y:w[c](0,g)}}}),Tt=e._path2curve=ht(function(t,e){var r=!e&&ft(t);if(!e&&r.curve)return mt(r.curve);for(var i=_t(t),n=e&&_t(e),a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},o=function(t,e,r){var i,n;if(!t)return[\"C\",e.x,e.y,e.x,e.y,e.x,e.y];switch(!(t[0]in{T:1,Q:1})&&(e.qx=e.qy=null),t[0]){case\"M\":e.X=t[1],e.Y=t[2];break;case\"A\":t=[\"C\"][f](Bt[c](0,[e.x,e.y][f](t.slice(1))));break;case\"S\":\"C\"==r||\"S\"==r?(i=2*e.x-e.bx,n=2*e.y-e.by):(i=e.x,n=e.y),t=[\"C\",i,n][f](t.slice(1));break;case\"T\":\"Q\"==r||\"T\"==r?(e.qx=2*e.x-e.qx,e.qy=2*e.y-e.qy):(e.qx=e.x,e.qy=e.y),t=[\"C\"][f](kt(e.x,e.y,e.qx,e.qy,t[1],t[2]));break;case\"Q\":e.qx=t[1],e.qy=t[2],t=[\"C\"][f](kt(e.x,e.y,t[1],t[2],t[3],t[4]));break;case\"L\":t=[\"C\"][f](wt(e.x,e.y,t[1],t[2]));break;case\"H\":t=[\"C\"][f](wt(e.x,e.y,t[1],e.y));break;case\"V\":t=[\"C\"][f](wt(e.x,e.y,e.x,t[1]));break;case\"Z\":t=[\"C\"][f](wt(e.x,e.y,e.X,e.Y))}return t},l=function(t,e){if(t[e].length>7){t[e].shift();for(var r=t[e];r.length;)u[e]=\"A\",n&&(p[e]=\"A\"),t.splice(e++,0,[\"C\"][f](r.splice(0,6)));t.splice(e,1),v=w(i.length,n&&n.length||0)}},h=function(t,e,r,a,s){t&&e&&\"M\"==t[s][0]&&\"M\"!=e[s][0]&&(e.splice(s,0,[\"M\",a.x,a.y]),r.bx=0,r.by=0,r.x=t[s][1],r.y=t[s][2],v=w(i.length,n&&n.length||0))},u=[],p=[],d=\"\",g=\"\",x=0,v=w(i.length,n&&n.length||0);x<v;x++){i[x]&&(d=i[x][0]),\"C\"!=d&&(u[x]=d,x&&(g=u[x-1])),i[x]=o(i[x],a,g),\"A\"!=u[x]&&\"C\"==d&&(u[x]=\"C\"),l(i,x),n&&(n[x]&&(d=n[x][0]),\"C\"!=d&&(p[x]=d,x&&(g=p[x-1])),n[x]=o(n[x],s,g),\"A\"!=p[x]&&\"C\"==d&&(p[x]=\"C\"),l(n,x)),h(i,n,a,s,x),h(n,i,s,a,x);var y=i[x],m=n&&n[x],b=y.length,_=n&&m.length;a.x=y[b-2],a.y=y[b-1],a.bx=z(y[b-4])||a.x,a.by=z(y[b-3])||a.y,s.bx=n&&(z(m[_-4])||s.x),s.by=n&&(z(m[_-3])||s.y),s.x=n&&m[_-2],s.y=n&&m[_-1]}return n||(r.curve=mt(i)),n?[i,n]:i},null,mt),At=(e._parseDots=ht(function(t){for(var r=[],i=0,n=t.length;i<n;i++){var a={},s=t[i].match(/^([^:]*):?([\\d\\.]*)/);if(a.color=e.getRGB(s[1]),a.color.error)return null;a.opacity=a.color.opacity,a.color=a.color.hex,s[2]&&(a.offset=s[2]+\"%\"),r.push(a)}for(i=1,n=r.length-1;i<n;i++)if(!r[i].offset){for(var o=z(r[i-1].offset||0),l=0,h=i+1;h<n;h++)if(r[h].offset){l=r[h].offset;break}l||(l=100,h=n);for(var u=((l=z(l))-o)/(h-i+1);i<h;i++)o+=u,r[i].offset=o+\"%\"}return r}),e._tear=function(t,e){t==e.top&&(e.top=t.prev),t==e.bottom&&(e.bottom=t.next),t.next&&(t.next.prev=t.prev),t.prev&&(t.prev.next=t.next)}),Mt=(e._tofront=function(t,e){e.top!==t&&(At(t,e),t.next=null,t.prev=e.top,e.top.next=t,e.top=t)},e._toback=function(t,e){e.bottom!==t&&(At(t,e),t.next=e.bottom,t.prev=null,e.bottom.prev=t,e.bottom=t)},e._insertafter=function(t,e,r){At(t,r),e==r.top&&(r.top=t),e.next&&(e.next.prev=t),t.next=e.next,t.prev=e,e.next=t},e._insertbefore=function(t,e,r){At(t,r),e==r.bottom&&(r.bottom=t),e.prev&&(e.prev.next=t),t.prev=e.prev,e.prev=t,t.next=e},e.toMatrix=function(t,e){var r=yt(t),i={_:{transform:d},getBBox:function(){return r}};return Et(i,e),i.matrix}),Et=(e.transformPath=function(t,e){return Q(t,Mt(t,e))},e._extractTransform=function(t,r){if(null==r)return t._.transform;r=x(r).replace(/\\.{3}|\\u2026/g,t._.transform||d);var i,n,a=e.parseTransformString(r),s=0,o=1,l=1,h=t._,u=new Pt;if(h.transform=a||[],a)for(var c=0,f=a.length;c<f;c++){var p,g,v,y,m,b=a[c],_=b.length,w=x(b[0]).toLowerCase(),k=b[0]!=w,B=k?u.invert():0;\"t\"==w&&3==_?k?(p=B.x(0,0),g=B.y(0,0),v=B.x(b[1],b[2]),y=B.y(b[1],b[2]),u.translate(v-p,y-g)):u.translate(b[1],b[2]):\"r\"==w?2==_?(m=m||t.getBBox(1),u.rotate(b[1],m.x+m.width/2,m.y+m.height/2),s+=b[1]):4==_&&(k?(v=B.x(b[2],b[3]),y=B.y(b[2],b[3]),u.rotate(b[1],v,y)):u.rotate(b[1],b[2],b[3]),s+=b[1]):\"s\"==w?2==_||3==_?(m=m||t.getBBox(1),u.scale(b[1],b[_-1],m.x+m.width/2,m.y+m.height/2),o*=b[1],l*=b[_-1]):5==_&&(k?(v=B.x(b[3],b[4]),y=B.y(b[3],b[4]),u.scale(b[1],b[2],v,y)):u.scale(b[1],b[2],b[3],b[4]),o*=b[1],l*=b[2]):\"m\"==w&&7==_&&u.add(b[1],b[2],b[3],b[4],b[5],b[6]),h.dirtyT=1,t.matrix=u}t.matrix=u,h.sx=o,h.sy=l,h.deg=s,h.dx=i=u.e,h.dy=n=u.f,1==o&&1==l&&!s&&h.bbox?(h.bbox.x+=+i,h.bbox.y+=+n):h.dirtyT=1}),Nt=function(t){var e=t[0];switch(e.toLowerCase()){case\"t\":return[e,0,0];case\"m\":return[e,1,0,0,1,0,0];case\"r\":return 4==t.length?[e,0,t[2],t[3]]:[e,0];case\"s\":return 5==t.length?[e,1,1,t[3],t[4]]:3==t.length?[e,1,1]:[e,1]}},Lt=e._equaliseTransform=function(t,r){r=x(r).replace(/\\.{3}|\\u2026/g,t),t=e.parseTransformString(t)||[],r=e.parseTransformString(r)||[];for(var i,n,a,s,o=w(t.length,r.length),l=[],h=[],u=0;u<o;u++){if(a=t[u]||Nt(r[u]),s=r[u]||Nt(a),a[0]!=s[0]||\"r\"==a[0].toLowerCase()&&(a[2]!=s[2]||a[3]!=s[3])||\"s\"==a[0].toLowerCase()&&(a[3]!=s[3]||a[4]!=s[4]))return;for(l[u]=[],h[u]=[],i=0,n=w(a.length,s.length);i<n;i++)i in a&&(l[u][i]=a[i]),i in s&&(h[u][i]=s[i])}return{from:l,to:h}};function Pt(t,e,r,i,n,a){null!=t?(this.a=+t,this.b=+e,this.c=+r,this.d=+i,this.e=+n,this.f=+a):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}e._getContainer=function(t,r,i,n){var a;if(null!=(a=null!=n||e.is(t,\"object\")?t:l.doc.getElementById(t)))return a.tagName?null==r?{container:a,width:a.style.pixelWidth||a.offsetWidth,height:a.style.pixelHeight||a.offsetHeight}:{container:a,width:r,height:i}:{container:1,x:t,y:r,width:i,height:n}},e.pathToRelative=bt,e._engine={},e.path2curve=Tt,e.matrix=function(t,e,r,i,n,a){return new Pt(t,e,r,i,n,a)},function(t){function r(t){return t[0]*t[0]+t[1]*t[1]}function i(t){var e=_.sqrt(r(t));t[0]&&(t[0]/=e),t[1]&&(t[1]/=e)}t.add=function(t,e,r,i,n,a){var s,o,l,h,u=[[],[],[]],c=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],f=[[t,r,n],[e,i,a],[0,0,1]];for(t&&t instanceof Pt&&(f=[[t.a,t.c,t.e],[t.b,t.d,t.f],[0,0,1]]),s=0;s<3;s++)for(o=0;o<3;o++){for(h=0,l=0;l<3;l++)h+=c[s][l]*f[l][o];u[s][o]=h}this.a=u[0][0],this.b=u[1][0],this.c=u[0][1],this.d=u[1][1],this.e=u[0][2],this.f=u[1][2]},t.invert=function(){var t=this,e=t.a*t.d-t.b*t.c;return new Pt(t.d/e,-t.b/e,-t.c/e,t.a/e,(t.c*t.f-t.d*t.e)/e,(t.b*t.e-t.a*t.f)/e)},t.clone=function(){return new Pt(this.a,this.b,this.c,this.d,this.e,this.f)},t.translate=function(t,e){this.add(1,0,0,1,t,e)},t.scale=function(t,e,r,i){null==e&&(e=t),(r||i)&&this.add(1,0,0,1,r,i),this.add(t,0,0,e,0,0),(r||i)&&this.add(1,0,0,1,-r,-i)},t.rotate=function(t,r,i){t=e.rad(t),r=r||0,i=i||0;var n=+_.cos(t).toFixed(9),a=+_.sin(t).toFixed(9);this.add(n,a,-a,n,r,i),this.add(1,0,0,1,-r,-i)},t.x=function(t,e){return t*this.a+e*this.c+this.e},t.y=function(t,e){return t*this.b+e*this.d+this.f},t.get=function(t){return+this[x.fromCharCode(97+t)].toFixed(4)},t.toString=function(){return e.svg?\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},t.toFilter=function(){return\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+this.get(0)+\", M12=\"+this.get(2)+\", M21=\"+this.get(1)+\", M22=\"+this.get(3)+\", Dx=\"+this.get(4)+\", Dy=\"+this.get(5)+\", sizingmethod='auto expand')\"},t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},t.split=function(){var t={};t.dx=this.e,t.dy=this.f;var n=[[this.a,this.c],[this.b,this.d]];t.scalex=_.sqrt(r(n[0])),i(n[0]),t.shear=n[0][0]*n[1][0]+n[0][1]*n[1][1],n[1]=[n[1][0]-n[0][0]*t.shear,n[1][1]-n[0][1]*t.shear],t.scaley=_.sqrt(r(n[1])),i(n[1]),t.shear/=t.scaley;var a=-n[0][1],s=n[1][1];return s<0?(t.rotate=e.deg(_.acos(s)),a<0&&(t.rotate=360-t.rotate)):t.rotate=e.deg(_.asin(a)),t.isSimple=!(+t.shear.toFixed(9)||t.scalex.toFixed(9)!=t.scaley.toFixed(9)&&t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t},t.toTransformString=function(t){var e=t||this[v]();return e.isSimple?(e.scalex=+e.scalex.toFixed(4),e.scaley=+e.scaley.toFixed(4),e.rotate=+e.rotate.toFixed(4),(e.dx||e.dy?\"t\"+[e.dx,e.dy]:d)+(1!=e.scalex||1!=e.scaley?\"s\"+[e.scalex,e.scaley,0,0]:d)+(e.rotate?\"r\"+[e.rotate,0,0]:d)):\"m\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(Pt.prototype);for(var zt=function(){this.returnValue=!1},Ft=function(){return this.originalEvent.preventDefault()},Rt=function(){this.cancelBubble=!0},jt=function(){return this.originalEvent.stopPropagation()},It=function(t){var e=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,r=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft;return{x:t.clientX+r,y:t.clientY+e}},Dt=l.doc.addEventListener?function(t,e,r,i){var n=function(t){var e=It(t);return r.call(i,t,e.x,e.y)};if(t.addEventListener(e,n,!1),p&&m[e]){var a=function(e){for(var n=It(e),a=e,s=0,o=e.targetTouches&&e.targetTouches.length;s<o;s++)if(e.targetTouches[s].target==t){(e=e.targetTouches[s]).originalEvent=a,e.preventDefault=Ft,e.stopPropagation=jt;break}return r.call(i,e,n.x,n.y)};t.addEventListener(m[e],a,!1)}return function(){return t.removeEventListener(e,n,!1),p&&m[e]&&t.removeEventListener(m[e],a,!1),!0}}:l.doc.attachEvent?function(t,e,r,i){var n=function(t){t=t||l.win.event;var e=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,n=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft,a=t.clientX+n,s=t.clientY+e;return t.preventDefault=t.preventDefault||zt,t.stopPropagation=t.stopPropagation||Rt,r.call(i,t,a,s)};return t.attachEvent(\"on\"+e,n),function(){return t.detachEvent(\"on\"+e,n),!0}}:void 0,qt=[],Ot=function(e){for(var r,i=e.clientX,n=e.clientY,a=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,s=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft,o=qt.length;o--;){if(r=qt[o],p&&e.touches){for(var h,u=e.touches.length;u--;)if((h=e.touches[u]).identifier==r.el._drag.id){i=h.clientX,n=h.clientY,(e.originalEvent?e.originalEvent:e).preventDefault();break}}else e.preventDefault();var c,f=r.el.node,d=f.nextSibling,g=f.parentNode,x=f.style.display;l.win.opera&&g.removeChild(f),f.style.display=\"none\",c=r.el.paper.getElementByPoint(i,n),f.style.display=x,l.win.opera&&(d?g.insertBefore(f,d):g.appendChild(f)),c&&t(\"raphael.drag.over.\"+r.el.id,r.el,c),i+=s,n+=a,t(\"raphael.drag.move.\"+r.el.id,r.move_scope||r.el,i-r.el._drag.x,n-r.el._drag.y,i,n,e)}},Vt=function(r){e.unmousemove(Ot).unmouseup(Vt);for(var i,n=qt.length;n--;)(i=qt[n]).el._drag={},t(\"raphael.drag.end.\"+i.el.id,i.end_scope||i.start_scope||i.move_scope||i.el,r);qt=[]},Wt=e.el={},Yt=y.length;Yt--;)!function(t){e[t]=Wt[t]=function(r,i){return e.is(r,\"function\")&&(this.events=this.events||[],this.events.push({name:t,f:r,unbind:Dt(this.shape||this.node||l.doc,t,r,i||this)})),this},e[\"un\"+t]=Wt[\"un\"+t]=function(r){for(var i=this.events||[],n=i.length;n--;)i[n].name!=t||!e.is(r,\"undefined\")&&i[n].f!=r||(i[n].unbind(),i.splice(n,1),!i.length&&delete this.events);return this}}(y[Yt]);Wt.data=function(r,i){var n=G[this.id]=G[this.id]||{};if(0==arguments.length)return n;if(1==arguments.length){if(e.is(r,\"object\")){for(var a in r)r[o](a)&&this.data(a,r[a]);return this}return t(\"raphael.data.get.\"+this.id,this,n[r],r),n[r]}return n[r]=i,t(\"raphael.data.set.\"+this.id,this,i,r),this},Wt.removeData=function(t){return null==t?delete G[this.id]:G[this.id]&&delete G[this.id][t],this},Wt.getData=function(){return tt(G[this.id]||{})},Wt.hover=function(t,e,r,i){return this.mouseover(t,r).mouseout(e,i||r)},Wt.unhover=function(t,e){return this.unmouseover(t).unmouseout(e)};var Gt=[];Wt.drag=function(r,i,n,a,s,o){function h(h){(h.originalEvent||h).preventDefault();var u=h.clientX,c=h.clientY,f=l.doc.documentElement.scrollTop||l.doc.body.scrollTop,d=l.doc.documentElement.scrollLeft||l.doc.body.scrollLeft;if(this._drag.id=h.identifier,p&&h.touches)for(var g,x=h.touches.length;x--;)if(g=h.touches[x],this._drag.id=g.identifier,g.identifier==this._drag.id){u=g.clientX,c=g.clientY;break}this._drag.x=u+d,this._drag.y=c+f,!qt.length&&e.mousemove(Ot).mouseup(Vt),qt.push({el:this,move_scope:a,start_scope:s,end_scope:o}),i&&t.on(\"raphael.drag.start.\"+this.id,i),r&&t.on(\"raphael.drag.move.\"+this.id,r),n&&t.on(\"raphael.drag.end.\"+this.id,n),t(\"raphael.drag.start.\"+this.id,s||a||this,this._drag.x,this._drag.y,h)}return this._drag={},Gt.push({el:this,start:h}),this.mousedown(h),this},Wt.onDragOver=function(e){e?t.on(\"raphael.drag.over.\"+this.id,e):t.unbind(\"raphael.drag.over.\"+this.id)},Wt.undrag=function(){for(var r=Gt.length;r--;)Gt[r].el==this&&(this.unmousedown(Gt[r].start),Gt.splice(r,1),t.unbind(\"raphael.drag.*.\"+this.id));!Gt.length&&e.unmousemove(Ot).unmouseup(Vt),qt=[]},i.circle=function(t,r,i){var n=e._engine.circle(this,t||0,r||0,i||0);return this.__set__&&this.__set__.push(n),n},i.rect=function(t,r,i,n,a){var s=e._engine.rect(this,t||0,r||0,i||0,n||0,a||0);return this.__set__&&this.__set__.push(s),s},i.ellipse=function(t,r,i,n){var a=e._engine.ellipse(this,t||0,r||0,i||0,n||0);return this.__set__&&this.__set__.push(a),a},i.path=function(t){t&&!e.is(t,\"string\")&&!e.is(t[0],A)&&(t+=d);var r=e._engine.path(e.format[c](e,arguments),this);return this.__set__&&this.__set__.push(r),r},i.image=function(t,r,i,n,a){var s=e._engine.image(this,t||\"about:blank\",r||0,i||0,n||0,a||0);return this.__set__&&this.__set__.push(s),s},i.text=function(t,r,i){var n=e._engine.text(this,t||0,r||0,x(i));return this.__set__&&this.__set__.push(n),n},i.set=function(t){!e.is(t,\"array\")&&(t=Array.prototype.splice.call(arguments,0,arguments.length));var r=new ce(t);return this.__set__&&this.__set__.push(r),r.paper=this,r.type=\"set\",r},i.setStart=function(t){this.__set__=t||this.set()},i.setFinish=function(t){var e=this.__set__;return delete this.__set__,e},i.getSize=function(){var t=this.canvas.parentNode;return{width:t.offsetWidth,height:t.offsetHeight}},i.setSize=function(t,r){return e._engine.setSize.call(this,t,r)},i.setViewBox=function(t,r,i,n,a){return e._engine.setViewBox.call(this,t,r,i,n,a)},i.top=i.bottom=null,i.raphael=e;function Ht(){return this.x+g+this.y+g+this.width+\" × \"+this.height}i.getElementByPoint=function(t,e){var r,i,n,a,s,o,h,u=this.canvas,c=l.doc.elementFromPoint(t,e);if(l.win.opera&&\"svg\"==c.tagName){var f=(i=(r=u).getBoundingClientRect(),n=r.ownerDocument,a=n.body,s=n.documentElement,o=s.clientTop||a.clientTop||0,h=s.clientLeft||a.clientLeft||0,{y:i.top+(l.win.pageYOffset||s.scrollTop||a.scrollTop)-o,x:i.left+(l.win.pageXOffset||s.scrollLeft||a.scrollLeft)-h}),p=u.createSVGRect();p.x=t-f.x,p.y=e-f.y,p.width=p.height=1;var d=u.getIntersectionList(p,null);d.length&&(c=d[d.length-1])}if(!c)return null;for(;c.parentNode&&c!=u.parentNode&&!c.raphael;)c=c.parentNode;return c==this.canvas.parentNode&&(c=u),c=c&&c.raphael?this.getById(c.raphaelid):null},i.getElementsByBBox=function(t){var r=this.set();return this.forEach(function(i){e.isBBoxIntersect(i.getBBox(),t)&&r.push(i)}),r},i.getById=function(t){for(var e=this.bottom;e;){if(e.id==t)return e;e=e.next}return null},i.forEach=function(t,e){for(var r=this.bottom;r;){if(!1===t.call(e,r))return this;r=r.next}return this},i.getElementsByPoint=function(t,e){var r=this.set();return this.forEach(function(i){i.isPointInside(t,e)&&r.push(i)}),r},Wt.isPointInside=function(t,r){var i=this.realPath=Z[this.type](this);return this.attr(\"transform\")&&this.attr(\"transform\").length&&(i=e.transformPath(i,this.attr(\"transform\"))),e.isPointInsidePath(i,t,r)},Wt.getBBox=function(t){if(this.removed)return{};var e=this._;return t?(!e.dirty&&e.bboxwt||(this.realPath=Z[this.type](this),e.bboxwt=yt(this.realPath),e.bboxwt.toString=Ht,e.dirty=0),e.bboxwt):((e.dirty||e.dirtyT||!e.bbox)&&(!e.dirty&&this.realPath||(e.bboxwt=0,this.realPath=Z[this.type](this)),e.bbox=yt(Q(this.realPath,this.matrix)),e.bbox.toString=Ht,e.dirty=e.dirtyT=0),e.bbox)},Wt.clone=function(){if(this.removed)return null;var t=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(t),t},Wt.glow=function(t){if(\"text\"==this.type)return null;var e={width:((t=t||{}).width||10)+(+this.attr(\"stroke-width\")||1),fill:t.fill||!1,opacity:null==t.opacity?.5:t.opacity,offsetx:t.offsetx||0,offsety:t.offsety||0,color:t.color||\"#000\"},r=e.width/2,i=this.paper,n=i.set(),a=this.realPath||Z[this.type](this);a=this.matrix?Q(a,this.matrix):a;for(var s=1;s<r+1;s++)n.push(i.path(a).attr({stroke:e.color,fill:e.fill?e.color:\"none\",\"stroke-linejoin\":\"round\",\"stroke-linecap\":\"round\",\"stroke-width\":+(e.width/r*s).toFixed(3),opacity:+(e.opacity/r).toFixed(3)}));return n.insertBefore(this).translate(e.offsetx,e.offsety)};var Xt=function(t,r,i,n,a,s,o,l,h){return null==h?dt(t,r,i,n,a,s,o,l):e.findDotsAtSegment(t,r,i,n,a,s,o,l,function(t,e,r,i,n,a,s,o,l){if(!(l<0||dt(t,e,r,i,n,a,s,o)<l)){var h,u=.5,c=1-u;for(h=dt(t,e,r,i,n,a,s,o,c);B(h-l)>.01;)h=dt(t,e,r,i,n,a,s,o,c+=(h<l?1:-1)*(u/=2));return c}}(t,r,i,n,a,s,o,l,h))},Ut=function(t,r){return function(i,n,a){for(var s,o,l,h,u,c=\"\",f={},p=0,d=0,g=(i=Tt(i)).length;d<g;d++){if(\"M\"==(l=i[d])[0])s=+l[1],o=+l[2];else{if(p+(h=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6]))>n){if(r&&!f.start){if(c+=[\"C\"+(u=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6],n-p)).start.x,u.start.y,u.m.x,u.m.y,u.x,u.y],a)return c;f.start=c,c=[\"M\"+u.x,u.y+\"C\"+u.n.x,u.n.y,u.end.x,u.end.y,l[5],l[6]].join(),p+=h,s=+l[5],o=+l[6];continue}if(!t&&!r)return{x:(u=Xt(s,o,l[1],l[2],l[3],l[4],l[5],l[6],n-p)).x,y:u.y,alpha:u.alpha}}p+=h,s=+l[5],o=+l[6]}c+=l.shift()+l}return f.end=c,(u=t?p:r?f:e.findDotsAtSegment(s,o,l[0],l[1],l[2],l[3],l[4],l[5],1)).alpha&&(u={x:u.x,y:u.y,alpha:u.alpha}),u}},$t=Ut(1),Zt=Ut(),Qt=Ut(0,1);e.getTotalLength=$t,e.getPointAtLength=Zt,e.getSubpath=function(t,e,r){if(this.getTotalLength(t)-r<1e-6)return Qt(t,e).end;var i=Qt(t,r,1);return e?Qt(i,e).end:i},Wt.getTotalLength=function(){var t=this.getPath();if(t)return this.node.getTotalLength?this.node.getTotalLength():$t(t)},Wt.getPointAtLength=function(t){var e=this.getPath();if(e)return Zt(e,t)},Wt.getPath=function(){var t,r=e._getPath[this.type];if(\"text\"!=this.type&&\"set\"!=this.type)return r&&(t=r(this)),t},Wt.getSubpath=function(t,r){var i=this.getPath();if(i)return e.getSubpath(i,t,r)};var Jt=e.easing_formulas={linear:function(t){return t},\"<\":function(t){return C(t,1.7)},\">\":function(t){return C(t,.48)},\"<>\":function(t){var e=.48-t/1.04,r=_.sqrt(.1734+e*e),i=r-e,n=-r-e,a=C(B(i),1/3)*(i<0?-1:1)+C(B(n),1/3)*(n<0?-1:1)+.5;return 3*(1-a)*a*a+a*a*a},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},elastic:function(t){return t==!!t?t:C(2,-10*t)*_.sin(2*S*(t-.075)/.3)+1},bounce:function(t){var e=7.5625,r=2.75;return t<1/r?e*t*t:t<2/r?e*(t-=1.5/r)*t+.75:t<2.5/r?e*(t-=2.25/r)*t+.9375:e*(t-=2.625/r)*t+.984375}};Jt.easeIn=Jt[\"ease-in\"]=Jt[\"<\"],Jt.easeOut=Jt[\"ease-out\"]=Jt[\">\"],Jt.easeInOut=Jt[\"ease-in-out\"]=Jt[\"<>\"],Jt[\"back-in\"]=Jt.backIn,Jt[\"back-out\"]=Jt.backOut;var Kt=[],te=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){setTimeout(t,16)},ee=function(){for(var r=+new Date,i=0;i<Kt.length;i++){var n=Kt[i];if(!n.el.removed&&!n.paused){var a,s,l=r-n.start,h=n.ms,u=n.easing,c=n.from,p=n.diff,d=n.to,x=(n.t,n.el),v={},y={};if(n.initstatus?(l=(n.initstatus*n.anim.top-n.prev)/(n.percent-n.prev)*h,n.status=n.initstatus,delete n.initstatus,n.stop&&Kt.splice(i--,1)):n.status=(n.prev+(n.percent-n.prev)*(l/h))/n.anim.top,!(l<0))if(l<h){var m=u(l/h);for(var b in c)if(c[o](b)){switch(I[b]){case T:a=+c[b]+m*h*p[b];break;case\"colour\":a=\"rgb(\"+[re(P(c[b].r+m*h*p[b].r)),re(P(c[b].g+m*h*p[b].g)),re(P(c[b].b+m*h*p[b].b))].join(\",\")+\")\";break;case\"path\":a=[];for(var _=0,w=c[b].length;_<w;_++){a[_]=[c[b][_][0]];for(var k=1,B=c[b][_].length;k<B;k++)a[_][k]=+c[b][_][k]+m*h*p[b][_][k];a[_]=a[_].join(g)}a=a.join(g);break;case\"transform\":if(p[b].real)for(a=[],_=0,w=c[b].length;_<w;_++)for(a[_]=[c[b][_][0]],k=1,B=c[b][_].length;k<B;k++)a[_][k]=c[b][_][k]+m*h*p[b][_][k];else{var C=function(t){return+c[b][t]+m*h*p[b][t]};a=[[\"m\",C(0),C(1),C(2),C(3),C(4),C(5)]]}break;case\"csv\":if(\"clip-rect\"==b)for(a=[],_=4;_--;)a[_]=+c[b][_]+m*h*p[b][_];break;default:var S=[][f](c[b]);for(a=[],_=x.paper.customAttributes[b].length;_--;)a[_]=+S[_]+m*h*p[b][_]}v[b]=a}x.attr(v),function(e,r,i){setTimeout(function(){t(\"raphael.anim.frame.\"+e,r,i)})}(x.id,x,n.anim)}else{if(function(r,i,n){setTimeout(function(){t(\"raphael.anim.frame.\"+i.id,i,n),t(\"raphael.anim.finish.\"+i.id,i,n),e.is(r,\"function\")&&r.call(i)})}(n.callback,x,n.anim),x.attr(d),Kt.splice(i--,1),n.repeat>1&&!n.next){for(s in d)d[o](s)&&(y[s]=n.totalOrigin[s]);n.el.attr(y),ae(n.anim,n.el,n.anim.percents[0],null,n.totalOrigin,n.repeat-1)}n.next&&!n.stop&&ae(n.anim,n.el,n.next,null,n.totalOrigin,n.repeat)}}}Kt.length&&te(ee)},re=function(t){return t>255?255:t<0?0:t};function ie(t,e,r,i,n,a){var s=3*e,o=3*(i-e)-s,l=1-s-o,h=3*r,u=3*(n-r)-h,c=1-h-u;function f(t){return((l*t+o)*t+s)*t}return function(t,e){var r=function(t,e){var r,i,n,a,h,u;for(n=t,u=0;u<8;u++){if(a=f(n)-t,B(a)<e)return n;if(B(h=(3*l*n+2*o)*n+s)<1e-6)break;n-=a/h}if(i=1,(n=t)<(r=0))return r;if(n>i)return i;for(;r<i;){if(a=f(n),B(a-t)<e)return n;t>a?r=n:i=n,n=(i-r)/2+r}return n}(t,e);return((c*r+u)*r+h)*r}(t,1/(200*a))}function ne(t,e){var r=[],i={};if(this.ms=e,this.times=1,t){for(var n in t)t[o](n)&&(i[z(n)]=t[n],r.push(z(n)));r.sort(H)}this.anim=i,this.top=r[r.length-1],this.percents=r}function ae(r,i,a,s,l,h){a=z(a);var u,c,p,d,g,y,m=r.ms,b={},_={},w={};if(s)for(B=0,C=Kt.length;B<C;B++){var k=Kt[B];if(k.el.id==i.id&&k.anim==r){k.percent!=a?(Kt.splice(B,1),p=1):c=k,i.attr(k.totalOrigin);break}}else s=+_;for(var B=0,C=r.percents.length;B<C;B++){if(r.percents[B]==a||r.percents[B]>s*r.top){a=r.percents[B],g=r.percents[B-1]||0,m=m/r.top*(a-g),d=r.percents[B+1],u=r.anim[a];break}s&&i.attr(r.anim[r.percents[B]])}if(u){if(c)c.initstatus=s,c.start=new Date-c.ms*s;else{for(var S in u)if(u[o](S)&&(I[o](S)||i.paper.customAttributes[o](S)))switch(b[S]=i.attr(S),null==b[S]&&(b[S]=j[S]),_[S]=u[S],I[S]){case T:w[S]=(_[S]-b[S])/m;break;case\"colour\":b[S]=e.getRGB(b[S]);var A=e.getRGB(_[S]);w[S]={r:(A.r-b[S].r)/m,g:(A.g-b[S].g)/m,b:(A.b-b[S].b)/m};break;case\"path\":var M=Tt(b[S],_[S]),E=M[1];for(b[S]=M[0],w[S]=[],B=0,C=b[S].length;B<C;B++){w[S][B]=[0];for(var N=1,P=b[S][B].length;N<P;N++)w[S][B][N]=(E[B][N]-b[S][B][N])/m}break;case\"transform\":var F=i._,R=Lt(F[S],_[S]);if(R)for(b[S]=R.from,_[S]=R.to,w[S]=[],w[S].real=!0,B=0,C=b[S].length;B<C;B++)for(w[S][B]=[b[S][B][0]],N=1,P=b[S][B].length;N<P;N++)w[S][B][N]=(_[S][B][N]-b[S][B][N])/m;else{var D=i.matrix||new Pt,q={_:{transform:F.transform},getBBox:function(){return i.getBBox(1)}};b[S]=[D.a,D.b,D.c,D.d,D.e,D.f],Et(q,_[S]),_[S]=q._.transform,w[S]=[(q.matrix.a-D.a)/m,(q.matrix.b-D.b)/m,(q.matrix.c-D.c)/m,(q.matrix.d-D.d)/m,(q.matrix.e-D.e)/m,(q.matrix.f-D.f)/m]}break;case\"csv\":var O=x(u[S])[v](n),V=x(b[S])[v](n);if(\"clip-rect\"==S)for(b[S]=V,w[S]=[],B=V.length;B--;)w[S][B]=(O[B]-b[S][B])/m;_[S]=O;break;default:for(O=[][f](u[S]),V=[][f](b[S]),w[S]=[],B=i.paper.customAttributes[S].length;B--;)w[S][B]=((O[B]||0)-(V[B]||0))/m}var W=u.easing,Y=e.easing_formulas[W];if(!Y)if((Y=x(W).match(L))&&5==Y.length){var G=Y;Y=function(t){return ie(t,+G[1],+G[2],+G[3],+G[4],m)}}else Y=X;if(k={anim:r,percent:a,timestamp:y=u.start||r.start||+new Date,start:y+(r.del||0),status:0,initstatus:s||0,stop:!1,ms:m,easing:Y,from:b,diff:w,to:_,el:i,callback:u.callback,prev:g,next:d,repeat:h||r.times,origin:i.attr(),totalOrigin:l},Kt.push(k),s&&!c&&!p&&(k.stop=!0,k.start=new Date-m*s,1==Kt.length))return ee();p&&(k.start=new Date-k.ms*s),1==Kt.length&&te(ee)}t(\"raphael.anim.start.\"+i.id,i,r)}}function se(t){for(var e=0;e<Kt.length;e++)Kt[e].el.paper==t&&Kt.splice(e--,1)}Wt.animateWith=function(t,r,i,n,a,s){if(this.removed)return s&&s.call(this),this;var o=i instanceof ne?i:e.animation(i,n,a,s);ae(o,this,o.percents[0],null,this.attr());for(var l=0,h=Kt.length;l<h;l++)if(Kt[l].anim==r&&Kt[l].el==t){Kt[h-1].start=Kt[l].start;break}return this},Wt.onAnimation=function(e){return e?t.on(\"raphael.anim.frame.\"+this.id,e):t.unbind(\"raphael.anim.frame.\"+this.id),this},ne.prototype.delay=function(t){var e=new ne(this.anim,this.ms);return e.times=this.times,e.del=+t||0,e},ne.prototype.repeat=function(t){var e=new ne(this.anim,this.ms);return e.del=this.del,e.times=_.floor(w(t,0))||1,e},e.animation=function(t,r,i,n){if(t instanceof ne)return t;!e.is(i,\"function\")&&i||(n=n||i||null,i=null),t=Object(t),r=+r||0;var a,s,l={};for(s in t)t[o](s)&&z(s)!=s&&z(s)+\"%\"!=s&&(a=!0,l[s]=t[s]);if(a)return i&&(l.easing=i),n&&(l.callback=n),new ne({100:l},r);if(n){var h=0;for(var u in t){var c=F(u);t[o](u)&&c>h&&(h=c)}!t[h+=\"%\"].callback&&(t[h].callback=n)}return new ne(t,r)},Wt.animate=function(t,r,i,n){if(this.removed)return n&&n.call(this),this;var a=t instanceof ne?t:e.animation(t,r,i,n);return ae(a,this,a.percents[0],null,this.attr()),this},Wt.setTime=function(t,e){return t&&null!=e&&this.status(t,k(e,t.ms)/t.ms),this},Wt.status=function(t,e){var r,i,n=[],a=0;if(null!=e)return ae(t,this,-1,k(e,1)),this;for(r=Kt.length;a<r;a++)if((i=Kt[a]).el.id==this.id&&(!t||i.anim==t)){if(t)return i.status;n.push({anim:i.anim,status:i.status})}return t?0:n},Wt.pause=function(e){for(var r=0;r<Kt.length;r++)Kt[r].el.id!=this.id||e&&Kt[r].anim!=e||!1!==t(\"raphael.anim.pause.\"+this.id,this,Kt[r].anim)&&(Kt[r].paused=!0);return this},Wt.resume=function(e){for(var r=0;r<Kt.length;r++)if(Kt[r].el.id==this.id&&(!e||Kt[r].anim==e)){var i=Kt[r];!1!==t(\"raphael.anim.resume.\"+this.id,this,i.anim)&&(delete i.paused,this.status(i.anim,i.status))}return this},Wt.stop=function(e){for(var r=0;r<Kt.length;r++)Kt[r].el.id!=this.id||e&&Kt[r].anim!=e||!1!==t(\"raphael.anim.stop.\"+this.id,this,Kt[r].anim)&&Kt.splice(r--,1);return this},t.on(\"raphael.remove\",se),t.on(\"raphael.clear\",se),Wt.toString=function(){return\"Raphaël’s object\"};var oe,le,he,ue,ce=function(t){if(this.items=[],this.length=0,this.type=\"set\",t)for(var e=0,r=t.length;e<r;e++)!t[e]||t[e].constructor!=Wt.constructor&&t[e].constructor!=ce||(this[this.items.length]=this.items[this.items.length]=t[e],this.length++)},fe=ce.prototype;for(var pe in fe.push=function(){for(var t,e,r=0,i=arguments.length;r<i;r++)!(t=arguments[r])||t.constructor!=Wt.constructor&&t.constructor!=ce||(this[e=this.items.length]=this.items[e]=t,this.length++);return this},fe.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},fe.forEach=function(t,e){for(var r=0,i=this.items.length;r<i;r++)if(!1===t.call(e,this.items[r],r))return this;return this},Wt)Wt[o](pe)&&(fe[pe]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t][c](r,e)})}}(pe));return fe.attr=function(t,r){if(t&&e.is(t,A)&&e.is(t[0],\"object\"))for(var i=0,n=t.length;i<n;i++)this.items[i].attr(t[i]);else for(var a=0,s=this.items.length;a<s;a++)this.items[a].attr(t,r);return this},fe.clear=function(){for(;this.length;)this.pop()},fe.splice=function(t,e,r){t=t<0?w(this.length+t,0):t,e=w(0,k(this.length-t,e));var i,n=[],a=[],s=[];for(i=2;i<arguments.length;i++)s.push(arguments[i]);for(i=0;i<e;i++)a.push(this[t+i]);for(;i<this.length-t;i++)n.push(this[t+i]);var o=s.length;for(i=0;i<o+n.length;i++)this.items[t+i]=this[t+i]=i<o?s[i]:n[i-o];for(i=this.items.length=this.length-=e-o;this[i];)delete this[i++];return new ce(a)},fe.exclude=function(t){for(var e=0,r=this.length;e<r;e++)if(this[e]==t)return this.splice(e,1),!0},fe.animate=function(t,r,i,n){(e.is(i,\"function\")||!i)&&(n=i||null);var a,s,o=this.items.length,l=o,h=this;if(!o)return this;n&&(s=function(){!--o&&n.call(h)}),i=e.is(i,\"string\")?i:s;var u=e.animation(t,r,i,s);for(a=this.items[--l].animate(u);l--;)this.items[l]&&!this.items[l].removed&&this.items[l].animateWith(a,u,u),this.items[l]&&!this.items[l].removed||o--;return this},fe.insertAfter=function(t){for(var e=this.items.length;e--;)this.items[e].insertAfter(t);return this},fe.getBBox=function(){for(var t=[],e=[],r=[],i=[],n=this.items.length;n--;)if(!this.items[n].removed){var a=this.items[n].getBBox();t.push(a.x),e.push(a.y),r.push(a.x+a.width),i.push(a.y+a.height)}return{x:t=k[c](0,t),y:e=k[c](0,e),x2:r=w[c](0,r),y2:i=w[c](0,i),width:r-t,height:i-e}},fe.clone=function(t){t=this.paper.set();for(var e=0,r=this.items.length;e<r;e++)t.push(this.items[e].clone());return t},fe.toString=function(){return\"Raphaël‘s set\"},fe.glow=function(t){var e=this.paper.set();return this.forEach(function(r,i){var n=r.glow(t);null!=n&&n.forEach(function(t,r){e.push(t)})}),e},fe.isPointInside=function(t,e){var r=!1;return this.forEach(function(i){if(i.isPointInside(t,e))return r=!0,!1}),r},e.registerFont=function(t){if(!t.face)return t;this.fonts=this.fonts||{};var e={w:t.w,face:{},glyphs:{}},r=t.face[\"font-family\"];for(var i in t.face)t.face[o](i)&&(e.face[i]=t.face[i]);if(this.fonts[r]?this.fonts[r].push(e):this.fonts[r]=[e],!t.svg)for(var n in e.face[\"units-per-em\"]=F(t.face[\"units-per-em\"],10),t.glyphs)if(t.glyphs[o](n)){var a=t.glyphs[n];if(e.glyphs[n]={w:a.w,k:{},d:a.d&&\"M\"+a.d.replace(/[mlcxtrv]/g,function(t){return{l:\"L\",c:\"C\",x:\"z\",t:\"m\",r:\"l\",v:\"c\"}[t]||\"M\"})+\"z\"},a.k)for(var s in a.k)a[o](s)&&(e.glyphs[n].k[s]=a.k[s])}return t},i.getFont=function(t,r,i,n){if(n=n||\"normal\",i=i||\"normal\",r=+r||{normal:400,bold:700,lighter:300,bolder:800}[r]||400,e.fonts){var a,s=e.fonts[t];if(!s){var l=new RegExp(\"(^|\\\\s)\"+t.replace(/[^\\w\\d\\s+!~.:_-]/g,d)+\"(\\\\s|$)\",\"i\");for(var h in e.fonts)if(e.fonts[o](h)&&l.test(h)){s=e.fonts[h];break}}if(s)for(var u=0,c=s.length;u<c&&((a=s[u]).face[\"font-weight\"]!=r||a.face[\"font-style\"]!=i&&a.face[\"font-style\"]||a.face[\"font-stretch\"]!=n);u++);return a}},i.print=function(t,r,i,a,s,o,l,h){o=o||\"middle\",l=w(k(l||0,1),-1),h=w(k(h||1,3),1);var u,c=x(i)[v](d),f=0,p=0,g=d;if(e.is(a,\"string\")&&(a=this.getFont(a)),a){u=(s||16)/a.face[\"units-per-em\"];for(var y=a.face.bbox[v](n),m=+y[0],b=y[3]-y[1],_=0,B=+y[1]+(\"baseline\"==o?b+ +a.face.descent:b/2),C=0,S=c.length;C<S;C++){if(\"\\n\"==c[C])f=0,A=0,p=0,_+=b*h;else{var T=p&&a.glyphs[c[C-1]]||{},A=a.glyphs[c[C]];f+=p?(T.w||a.w)+(T.k&&T.k[c[C]]||0)+a.w*l:0,p=1}A&&A.d&&(g+=e.transformPath(A.d,[\"t\",f*u,_*u,\"s\",u,u,m,B,\"t\",(t-m)/u,(r-B)/u]))}}return this.path(g).attr({fill:\"#000\",stroke:\"none\"})},i.add=function(t){if(e.is(t,\"array\"))for(var r,i=this.set(),n=0,s=t.length;n<s;n++)r=t[n]||{},a[o](r.type)&&i.push(this[r.type]().attr(r));return i},e.format=function(t,r){var i=e.is(r,A)?[0][f](r):arguments;return t&&e.is(t,\"string\")&&i.length-1&&(t=t.replace(s,function(t,e){return null==i[++e]?d:i[e]})),t||d},e.fullfill=(oe=/\\{([^\\}]+)\\}/g,le=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,function(t,e){return String(t).replace(oe,function(t,r){return function(t,e,r){var i=r;return e.replace(le,function(t,e,r,n,a){e=e||n,i&&(e in i&&(i=i[e]),\"function\"==typeof i&&a&&(i=i()))}),i=(null==i||i==r?t:i)+\"\"}(t,r,e)})}),e.ninja=function(){if(h.was)l.win.Raphael=h.is;else{window.Raphael=void 0;try{delete window.Raphael}catch(t){}}return e},e.st=fe,t.on(\"raphael.DOMload\",function(){r=!0}),null==(he=document).readyState&&he.addEventListener&&(he.addEventListener(\"DOMContentLoaded\",ue=function(){he.removeEventListener(\"DOMContentLoaded\",ue,!1),he.readyState=\"complete\"},!1),he.readyState=\"loading\"),function t(){/in/.test(he.readyState)?setTimeout(t,9):e.eve(\"raphael.DOMload\")}(),e}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n;i=[r(0),r(3),r(4)],void 0===(n=function(t){return t}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n,a,s,o,l,h,u,c,f,p,d,g,x;s=\"hasOwnProperty\",o=/[\\.\\/]/,l=/\\s*,\\s*/,h=function(t,e){return t-e},u={n:{}},c=function(){for(var t=0,e=this.length;t<e;t++)if(void 0!==this[t])return this[t]},f=function(){for(var t=this.length;--t;)if(void 0!==this[t])return this[t]},p=Object.prototype.toString,d=String,g=Array.isArray||function(t){return t instanceof Array||\"[object Array]\"==p.call(t)},(x=function(t,e){var r,i=a,s=Array.prototype.slice.call(arguments,2),o=x.listeners(t),l=0,u=[],p={},d=[],g=n;d.firstDefined=c,d.lastDefined=f,n=t,a=0;for(var v=0,y=o.length;v<y;v++)\"zIndex\"in o[v]&&(u.push(o[v].zIndex),o[v].zIndex<0&&(p[o[v].zIndex]=o[v]));for(u.sort(h);u[l]<0;)if(r=p[u[l++]],d.push(r.apply(e,s)),a)return a=i,d;for(v=0;v<y;v++)if(\"zIndex\"in(r=o[v]))if(r.zIndex==u[l]){if(d.push(r.apply(e,s)),a)break;do{if((r=p[u[++l]])&&d.push(r.apply(e,s)),a)break}while(r)}else p[r.zIndex]=r;else if(d.push(r.apply(e,s)),a)break;return a=i,n=g,d})._events=u,x.listeners=function(t){var e,r,i,n,a,s,l,h,c=g(t)?t:t.split(o),f=u,p=[f],d=[];for(n=0,a=c.length;n<a;n++){for(h=[],s=0,l=p.length;s<l;s++)for(r=[(f=p[s].n)[c[n]],f[\"*\"]],i=2;i--;)(e=r[i])&&(h.push(e),d=d.concat(e.f||[]));p=h}return d},x.separator=function(t){t?(t=\"[\"+(t=d(t).replace(/(?=[\\.\\^\\]\\[\\-])/g,\"\\\\\"))+\"]\",o=new RegExp(t)):o=/[\\.\\/]/},x.on=function(t,e){if(\"function\"!=typeof e)return function(){};for(var r=g(t)?g(t[0])?t:[t]:d(t).split(l),i=0,n=r.length;i<n;i++)!function(t){for(var r,i=g(t)?t:d(t).split(o),n=u,a=0,s=i.length;a<s;a++)n=(n=n.n).hasOwnProperty(i[a])&&n[i[a]]||(n[i[a]]={n:{}});for(n.f=n.f||[],a=0,s=n.f.length;a<s;a++)if(n.f[a]==e){r=!0;break}!r&&n.f.push(e)}(r[i]);return function(t){+t==+t&&(e.zIndex=+t)}},x.f=function(t){var e=[].slice.call(arguments,1);return function(){x.apply(null,[t,null].concat(e).concat([].slice.call(arguments,0)))}},x.stop=function(){a=1},x.nt=function(t){var e=g(n)?n.join(\".\"):n;return t?new RegExp(\"(?:\\\\.|\\\\/|^)\"+t+\"(?:\\\\.|\\\\/|$)\").test(e):e},x.nts=function(){return g(n)?n:n.split(o)},x.off=x.unbind=function(t,e){if(t){var r=g(t)?g(t[0])?t:[t]:d(t).split(l);if(r.length>1)for(var i=0,n=r.length;i<n;i++)x.off(r[i],e);else{r=g(t)?t:d(t).split(o);var a,h,c,f,p,v=[u];for(i=0,n=r.length;i<n;i++)for(f=0;f<v.length;f+=c.length-2){if(c=[f,1],a=v[f].n,\"*\"!=r[i])a[r[i]]&&c.push(a[r[i]]);else for(h in a)a[s](h)&&c.push(a[h]);v.splice.apply(v,c)}for(i=0,n=v.length;i<n;i++)for(a=v[i];a.n;){if(e){if(a.f){for(f=0,p=a.f.length;f<p;f++)if(a.f[f]==e){a.f.splice(f,1);break}!a.f.length&&delete a.f}for(h in a.n)if(a.n[s](h)&&a.n[h].f){var y=a.n[h].f;for(f=0,p=y.length;f<p;f++)if(y[f]==e){y.splice(f,1);break}!y.length&&delete a.n[h].f}}else for(h in delete a.f,a.n)a.n[s](h)&&a.n[h].f&&delete a.n[h].f;a=a.n}}}else x._events=u={n:{}}},x.once=function(t,e){var r=function(){return x.off(t,r),e.apply(this,arguments)};return x.on(t,r)},x.version=\"0.5.0\",x.toString=function(){return\"You are running Eve 0.5.0\"},t.exports?t.exports=x:void 0===(i=function(){return x}.apply(e,[]))||(t.exports=i)},function(t,e,r){var i,n;i=[r(0)],void 0===(n=function(t){if(!t||t.svg){var e=\"hasOwnProperty\",r=String,i=parseFloat,n=parseInt,a=Math,s=a.max,o=a.abs,l=a.pow,h=/[, ]+/,u=t.eve,c=\"\",f=\" \",p=\"http://www.w3.org/1999/xlink\",d={block:\"M5,0 0,2.5 5,5z\",classic:\"M5,0 0,2.5 5,5 3.5,3 3.5,2z\",diamond:\"M2.5,0 5,2.5 2.5,5 0,2.5z\",open:\"M6,1 1,3.5 6,6\",oval:\"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z\"},g={};t.toString=function(){return\"Your browser supports SVG.\\nYou are running Raphaël \"+this.version};var x=function(i,n){if(n)for(var a in\"string\"==typeof i&&(i=x(i)),n)n[e](a)&&(\"xlink:\"==a.substring(0,6)?i.setAttributeNS(p,a.substring(6),r(n[a])):i.setAttribute(a,r(n[a])));else(i=t._g.doc.createElementNS(\"http://www.w3.org/2000/svg\",i)).style&&(i.style.webkitTapHighlightColor=\"rgba(0,0,0,0)\");return i},v=function(e,n){var h=\"linear\",u=e.id+n,f=.5,p=.5,d=e.node,g=e.paper,v=d.style,m=t._g.doc.getElementById(u);if(!m){if(n=(n=r(n).replace(t._radial_gradient,function(t,e,r){if(h=\"radial\",e&&r){f=i(e);var n=2*((p=i(r))>.5)-1;l(f-.5,2)+l(p-.5,2)>.25&&(p=a.sqrt(.25-l(f-.5,2))*n+.5)&&.5!=p&&(p=p.toFixed(5)-1e-5*n)}return c})).split(/\\s*\\-\\s*/),\"linear\"==h){var b=n.shift();if(b=-i(b),isNaN(b))return null;var _=[0,0,a.cos(t.rad(b)),a.sin(t.rad(b))],w=1/(s(o(_[2]),o(_[3]))||1);_[2]*=w,_[3]*=w,_[2]<0&&(_[0]=-_[2],_[2]=0),_[3]<0&&(_[1]=-_[3],_[3]=0)}var k=t._parseDots(n);if(!k)return null;if(u=u.replace(/[\\(\\)\\s,\\xb0#]/g,\"_\"),e.gradient&&u!=e.gradient.id&&(g.defs.removeChild(e.gradient),delete e.gradient),!e.gradient){m=x(h+\"Gradient\",{id:u}),e.gradient=m,x(m,\"radial\"==h?{fx:f,fy:p}:{x1:_[0],y1:_[1],x2:_[2],y2:_[3],gradientTransform:e.matrix.invert()}),g.defs.appendChild(m);for(var B=0,C=k.length;B<C;B++)m.appendChild(x(\"stop\",{offset:k[B].offset?k[B].offset:B?\"100%\":\"0%\",\"stop-color\":k[B].color||\"#fff\",\"stop-opacity\":isFinite(k[B].opacity)?k[B].opacity:1}))}}return x(d,{fill:y(u),opacity:1,\"fill-opacity\":1}),v.fill=c,v.opacity=1,v.fillOpacity=1,1},y=function(t){if((e=document.documentMode)&&(9===e||10===e))return\"url('#\"+t+\"')\";var e,r=document.location;return\"url('\"+(r.protocol+\"//\"+r.host+r.pathname+r.search)+\"#\"+t+\"')\"},m=function(t){var e=t.getBBox(1);x(t.pattern,{patternTransform:t.matrix.invert()+\" translate(\"+e.x+\",\"+e.y+\")\"})},b=function(i,n,a){if(\"path\"==i.type){for(var s,o,l,h,u,f=r(n).toLowerCase().split(\"-\"),p=i.paper,v=a?\"end\":\"start\",y=i.node,m=i.attrs,b=m[\"stroke-width\"],_=f.length,w=\"classic\",k=3,B=3,C=5;_--;)switch(f[_]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":w=f[_];break;case\"wide\":B=5;break;case\"narrow\":B=2;break;case\"long\":k=5;break;case\"short\":k=2}if(\"open\"==w?(k+=2,B+=2,C+=2,l=1,h=a?4:1,u={fill:\"none\",stroke:m.stroke}):(h=l=k/2,u={fill:m.stroke,stroke:\"none\"}),i._.arrows?a?(i._.arrows.endPath&&g[i._.arrows.endPath]--,i._.arrows.endMarker&&g[i._.arrows.endMarker]--):(i._.arrows.startPath&&g[i._.arrows.startPath]--,i._.arrows.startMarker&&g[i._.arrows.startMarker]--):i._.arrows={},\"none\"!=w){var S=\"raphael-marker-\"+w,T=\"raphael-marker-\"+v+w+k+B+\"-obj\"+i.id;t._g.doc.getElementById(S)?g[S]++:(p.defs.appendChild(x(x(\"path\"),{\"stroke-linecap\":\"round\",d:d[w],id:S})),g[S]=1);var A,M=t._g.doc.getElementById(T);M?(g[T]++,A=M.getElementsByTagName(\"use\")[0]):(M=x(x(\"marker\"),{id:T,markerHeight:B,markerWidth:k,orient:\"auto\",refX:h,refY:B/2}),A=x(x(\"use\"),{\"xlink:href\":\"#\"+S,transform:(a?\"rotate(180 \"+k/2+\" \"+B/2+\") \":c)+\"scale(\"+k/C+\",\"+B/C+\")\",\"stroke-width\":(1/((k/C+B/C)/2)).toFixed(4)}),M.appendChild(A),p.defs.appendChild(M),g[T]=1),x(A,u);var E=l*(\"diamond\"!=w&&\"oval\"!=w);a?(s=i._.arrows.startdx*b||0,o=t.getTotalLength(m.path)-E*b):(s=E*b,o=t.getTotalLength(m.path)-(i._.arrows.enddx*b||0)),(u={})[\"marker-\"+v]=\"url(#\"+T+\")\",(o||s)&&(u.d=t.getSubpath(m.path,s,o)),x(y,u),i._.arrows[v+\"Path\"]=S,i._.arrows[v+\"Marker\"]=T,i._.arrows[v+\"dx\"]=E,i._.arrows[v+\"Type\"]=w,i._.arrows[v+\"String\"]=n}else a?(s=i._.arrows.startdx*b||0,o=t.getTotalLength(m.path)-s):(s=0,o=t.getTotalLength(m.path)-(i._.arrows.enddx*b||0)),i._.arrows[v+\"Path\"]&&x(y,{d:t.getSubpath(m.path,s,o)}),delete i._.arrows[v+\"Path\"],delete i._.arrows[v+\"Marker\"],delete i._.arrows[v+\"dx\"],delete i._.arrows[v+\"Type\"],delete i._.arrows[v+\"String\"];for(u in g)if(g[e](u)&&!g[u]){var N=t._g.doc.getElementById(u);N&&N.parentNode.removeChild(N)}}},_={\"-\":[3,1],\".\":[1,1],\"-.\":[3,1,1,1],\"-..\":[3,1,1,1,1,1],\". \":[1,3],\"- \":[4,3],\"--\":[8,3],\"- .\":[4,3,1,3],\"--.\":[8,3,1,3],\"--..\":[8,3,1,3,1,3]},w=function(t,e,i){if(e=_[r(e).toLowerCase()]){for(var n=t.attrs[\"stroke-width\"]||\"1\",a={round:n,square:n,butt:0}[t.attrs[\"stroke-linecap\"]||i[\"stroke-linecap\"]]||0,s=[],o=e.length;o--;)s[o]=e[o]*n+(o%2?1:-1)*a;x(t.node,{\"stroke-dasharray\":s.join(\",\")})}else x(t.node,{\"stroke-dasharray\":\"none\"})},k=function(i,a){var l=i.node,u=i.attrs,f=l.style.visibility;for(var d in l.style.visibility=\"hidden\",a)if(a[e](d)){if(!t._availableAttrs[e](d))continue;var g=a[d];switch(u[d]=g,d){case\"blur\":i.blur(g);break;case\"title\":var y=l.getElementsByTagName(\"title\");if(y.length&&(y=y[0]))y.firstChild.nodeValue=g;else{y=x(\"title\");var _=t._g.doc.createTextNode(g);y.appendChild(_),l.appendChild(y)}break;case\"href\":case\"target\":var k=l.parentNode;if(\"a\"!=k.tagName.toLowerCase()){var C=x(\"a\");k.insertBefore(C,l),C.appendChild(l),k=C}\"target\"==d?k.setAttributeNS(p,\"show\",\"blank\"==g?\"new\":g):k.setAttributeNS(p,d,g);break;case\"cursor\":l.style.cursor=g;break;case\"transform\":i.transform(g);break;case\"arrow-start\":b(i,g);break;case\"arrow-end\":b(i,g,1);break;case\"clip-rect\":var S=r(g).split(h);if(4==S.length){i.clip&&i.clip.parentNode.parentNode.removeChild(i.clip.parentNode);var T=x(\"clipPath\"),A=x(\"rect\");T.id=t.createUUID(),x(A,{x:S[0],y:S[1],width:S[2],height:S[3]}),T.appendChild(A),i.paper.defs.appendChild(T),x(l,{\"clip-path\":\"url(#\"+T.id+\")\"}),i.clip=A}if(!g){var M=l.getAttribute(\"clip-path\");if(M){var E=t._g.doc.getElementById(M.replace(/(^url\\(#|\\)$)/g,c));E&&E.parentNode.removeChild(E),x(l,{\"clip-path\":c}),delete i.clip}}break;case\"path\":\"path\"==i.type&&(x(l,{d:g?u.path=t._pathToAbsolute(g):\"M0,0\"}),i._.dirty=1,i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1)));break;case\"width\":if(l.setAttribute(d,g),i._.dirty=1,!u.fx)break;d=\"x\",g=u.x;case\"x\":u.fx&&(g=-u.x-(u.width||0));case\"rx\":if(\"rx\"==d&&\"rect\"==i.type)break;case\"cx\":l.setAttribute(d,g),i.pattern&&m(i),i._.dirty=1;break;case\"height\":if(l.setAttribute(d,g),i._.dirty=1,!u.fy)break;d=\"y\",g=u.y;case\"y\":u.fy&&(g=-u.y-(u.height||0));case\"ry\":if(\"ry\"==d&&\"rect\"==i.type)break;case\"cy\":l.setAttribute(d,g),i.pattern&&m(i),i._.dirty=1;break;case\"r\":\"rect\"==i.type?x(l,{rx:g,ry:g}):l.setAttribute(d,g),i._.dirty=1;break;case\"src\":\"image\"==i.type&&l.setAttributeNS(p,\"href\",g);break;case\"stroke-width\":1==i._.sx&&1==i._.sy||(g/=s(o(i._.sx),o(i._.sy))||1),l.setAttribute(d,g),u[\"stroke-dasharray\"]&&w(i,u[\"stroke-dasharray\"],a),i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1));break;case\"stroke-dasharray\":w(i,g,a);break;case\"fill\":var N=r(g).match(t._ISURL);if(N){T=x(\"pattern\");var L=x(\"image\");T.id=t.createUUID(),x(T,{x:0,y:0,patternUnits:\"userSpaceOnUse\",height:1,width:1}),x(L,{x:0,y:0,\"xlink:href\":N[1]}),T.appendChild(L),function(e){t._preload(N[1],function(){var t=this.offsetWidth,r=this.offsetHeight;x(e,{width:t,height:r}),x(L,{width:t,height:r})})}(T),i.paper.defs.appendChild(T),x(l,{fill:\"url(#\"+T.id+\")\"}),i.pattern=T,i.pattern&&m(i);break}var P=t.getRGB(g);if(P.error){if((\"circle\"==i.type||\"ellipse\"==i.type||\"r\"!=r(g).charAt())&&v(i,g)){if(\"opacity\"in u||\"fill-opacity\"in u){var z=t._g.doc.getElementById(l.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,c));if(z){var F=z.getElementsByTagName(\"stop\");x(F[F.length-1],{\"stop-opacity\":(\"opacity\"in u?u.opacity:1)*(\"fill-opacity\"in u?u[\"fill-opacity\"]:1)})}}u.gradient=g,u.fill=\"none\";break}}else delete a.gradient,delete u.gradient,!t.is(u.opacity,\"undefined\")&&t.is(a.opacity,\"undefined\")&&x(l,{opacity:u.opacity}),!t.is(u[\"fill-opacity\"],\"undefined\")&&t.is(a[\"fill-opacity\"],\"undefined\")&&x(l,{\"fill-opacity\":u[\"fill-opacity\"]});P[e](\"opacity\")&&x(l,{\"fill-opacity\":P.opacity>1?P.opacity/100:P.opacity});case\"stroke\":P=t.getRGB(g),l.setAttribute(d,P.hex),\"stroke\"==d&&P[e](\"opacity\")&&x(l,{\"stroke-opacity\":P.opacity>1?P.opacity/100:P.opacity}),\"stroke\"==d&&i._.arrows&&(\"startString\"in i._.arrows&&b(i,i._.arrows.startString),\"endString\"in i._.arrows&&b(i,i._.arrows.endString,1));break;case\"gradient\":(\"circle\"==i.type||\"ellipse\"==i.type||\"r\"!=r(g).charAt())&&v(i,g);break;case\"opacity\":u.gradient&&!u[e](\"stroke-opacity\")&&x(l,{\"stroke-opacity\":g>1?g/100:g});case\"fill-opacity\":if(u.gradient){(z=t._g.doc.getElementById(l.getAttribute(\"fill\").replace(/^url\\(#|\\)$/g,c)))&&(F=z.getElementsByTagName(\"stop\"),x(F[F.length-1],{\"stop-opacity\":g}));break}default:\"font-size\"==d&&(g=n(g,10)+\"px\");var R=d.replace(/(\\-.)/g,function(t){return t.substring(1).toUpperCase()});l.style[R]=g,i._.dirty=1,l.setAttribute(d,g)}}B(i,a),l.style.visibility=f},B=function(i,a){if(\"text\"==i.type&&(a[e](\"text\")||a[e](\"font\")||a[e](\"font-size\")||a[e](\"x\")||a[e](\"y\"))){var s=i.attrs,o=i.node,l=o.firstChild?n(t._g.doc.defaultView.getComputedStyle(o.firstChild,c).getPropertyValue(\"font-size\"),10):10;if(a[e](\"text\")){for(s.text=a.text;o.firstChild;)o.removeChild(o.firstChild);for(var h,u=r(a.text).split(\"\\n\"),f=[],p=0,d=u.length;p<d;p++)h=x(\"tspan\"),p&&x(h,{dy:1.2*l,x:s.x}),h.appendChild(t._g.doc.createTextNode(u[p])),o.appendChild(h),f[p]=h}else for(p=0,d=(f=o.getElementsByTagName(\"tspan\")).length;p<d;p++)p?x(f[p],{dy:1.2*l,x:s.x}):x(f[0],{dy:0});x(o,{x:s.x,y:s.y}),i._.dirty=1;var g=i._getBBox(),v=s.y-(g.y+g.height/2);v&&t.is(v,\"finite\")&&x(f[0],{dy:v})}},C=function(t){return t.parentNode&&\"a\"===t.parentNode.tagName.toLowerCase()?t.parentNode:t},S=function(e,r){this[0]=this.node=e,e.raphael=!0,this.id=(\"0000\"+(Math.random()*Math.pow(36,5)<<0).toString(36)).slice(-5),e.raphaelid=this.id,this.matrix=t.matrix(),this.realPath=null,this.paper=r,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!r.bottom&&(r.bottom=this),this.prev=r.top,r.top&&(r.top.next=this),r.top=this,this.next=null},T=t.el;S.prototype=T,T.constructor=S,t._engine.path=function(t,e){var r=x(\"path\");e.canvas&&e.canvas.appendChild(r);var i=new S(r,e);return i.type=\"path\",k(i,{fill:\"none\",stroke:\"#000\",path:t}),i},T.rotate=function(t,e,n){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2])),t=i(t[0]),null==n&&(e=n),null==e||null==n){var a=this.getBBox(1);e=a.x+a.width/2,n=a.y+a.height/2}return this.transform(this._.transform.concat([[\"r\",t,e,n]])),this},T.scale=function(t,e,n,a){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2]),a=i(t[3])),t=i(t[0]),null==e&&(e=t),null==a&&(n=a),null==n||null==a)var s=this.getBBox(1);return n=null==n?s.x+s.width/2:n,a=null==a?s.y+s.height/2:a,this.transform(this._.transform.concat([[\"s\",t,e,n,a]])),this},T.translate=function(t,e){return this.removed?this:((t=r(t).split(h)).length-1&&(e=i(t[1])),t=i(t[0])||0,e=+e||0,this.transform(this._.transform.concat([[\"t\",t,e]])),this)},T.transform=function(r){var i=this._;if(null==r)return i.transform;if(t._extractTransform(this,r),this.clip&&x(this.clip,{transform:this.matrix.invert()}),this.pattern&&m(this),this.node&&x(this.node,{transform:this.matrix}),1!=i.sx||1!=i.sy){var n=this.attrs[e](\"stroke-width\")?this.attrs[\"stroke-width\"]:1;this.attr({\"stroke-width\":n})}return this},T.hide=function(){return this.removed||(this.node.style.display=\"none\"),this},T.show=function(){return this.removed||(this.node.style.display=\"\"),this},T.remove=function(){var e=C(this.node);if(!this.removed&&e.parentNode){var r=this.paper;for(var i in r.__set__&&r.__set__.exclude(this),u.unbind(\"raphael.*.*.\"+this.id),this.gradient&&r.defs.removeChild(this.gradient),t._tear(this,r),e.parentNode.removeChild(e),this.removeData(),this)this[i]=\"function\"==typeof this[i]?t._removedFactory(i):null;this.removed=!0}},T._getBBox=function(){if(\"none\"==this.node.style.display){this.show();var t=!0}var e,r=!1;this.paper.canvas.parentElement?e=this.paper.canvas.parentElement.style:this.paper.canvas.parentNode&&(e=this.paper.canvas.parentNode.style),e&&\"none\"==e.display&&(r=!0,e.display=\"\");var i={};try{i=this.node.getBBox()}catch(t){i={x:this.node.clientLeft,y:this.node.clientTop,width:this.node.clientWidth,height:this.node.clientHeight}}finally{i=i||{},r&&(e.display=\"none\")}return t&&this.hide(),i},T.attr=function(r,i){if(this.removed)return this;if(null==r){var n={};for(var a in this.attrs)this.attrs[e](a)&&(n[a]=this.attrs[a]);return n.gradient&&\"none\"==n.fill&&(n.fill=n.gradient)&&delete n.gradient,n.transform=this._.transform,n}if(null==i&&t.is(r,\"string\")){if(\"fill\"==r&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if(\"transform\"==r)return this._.transform;for(var s=r.split(h),o={},l=0,c=s.length;l<c;l++)(r=s[l])in this.attrs?o[r]=this.attrs[r]:t.is(this.paper.customAttributes[r],\"function\")?o[r]=this.paper.customAttributes[r].def:o[r]=t._availableAttrs[r];return c-1?o:o[s[0]]}if(null==i&&t.is(r,\"array\")){for(o={},l=0,c=r.length;l<c;l++)o[r[l]]=this.attr(r[l]);return o}if(null!=i){var f={};f[r]=i}else null!=r&&t.is(r,\"object\")&&(f=r);for(var p in f)u(\"raphael.attr.\"+p+\".\"+this.id,this,f[p]);for(p in this.paper.customAttributes)if(this.paper.customAttributes[e](p)&&f[e](p)&&t.is(this.paper.customAttributes[p],\"function\")){var d=this.paper.customAttributes[p].apply(this,[].concat(f[p]));for(var g in this.attrs[p]=f[p],d)d[e](g)&&(f[g]=d[g])}return k(this,f),this},T.toFront=function(){if(this.removed)return this;var e=C(this.node);e.parentNode.appendChild(e);var r=this.paper;return r.top!=this&&t._tofront(this,r),this},T.toBack=function(){if(this.removed)return this;var e=C(this.node),r=e.parentNode;r.insertBefore(e,r.firstChild),t._toback(this,this.paper);this.paper;return this},T.insertAfter=function(e){if(this.removed||!e)return this;var r=C(this.node),i=C(e.node||e[e.length-1].node);return i.nextSibling?i.parentNode.insertBefore(r,i.nextSibling):i.parentNode.appendChild(r),t._insertafter(this,e,this.paper),this},T.insertBefore=function(e){if(this.removed||!e)return this;var r=C(this.node),i=C(e.node||e[0].node);return i.parentNode.insertBefore(r,i),t._insertbefore(this,e,this.paper),this},T.blur=function(e){var r=this;if(0!=+e){var i=x(\"filter\"),n=x(\"feGaussianBlur\");r.attrs.blur=e,i.id=t.createUUID(),x(n,{stdDeviation:+e||1.5}),i.appendChild(n),r.paper.defs.appendChild(i),r._blur=i,x(r.node,{filter:\"url(#\"+i.id+\")\"})}else r._blur&&(r._blur.parentNode.removeChild(r._blur),delete r._blur,delete r.attrs.blur),r.node.removeAttribute(\"filter\");return r},t._engine.circle=function(t,e,r,i){var n=x(\"circle\");t.canvas&&t.canvas.appendChild(n);var a=new S(n,t);return a.attrs={cx:e,cy:r,r:i,fill:\"none\",stroke:\"#000\"},a.type=\"circle\",x(n,a.attrs),a},t._engine.rect=function(t,e,r,i,n,a){var s=x(\"rect\");t.canvas&&t.canvas.appendChild(s);var o=new S(s,t);return o.attrs={x:e,y:r,width:i,height:n,rx:a||0,ry:a||0,fill:\"none\",stroke:\"#000\"},o.type=\"rect\",x(s,o.attrs),o},t._engine.ellipse=function(t,e,r,i,n){var a=x(\"ellipse\");t.canvas&&t.canvas.appendChild(a);var s=new S(a,t);return s.attrs={cx:e,cy:r,rx:i,ry:n,fill:\"none\",stroke:\"#000\"},s.type=\"ellipse\",x(a,s.attrs),s},t._engine.image=function(t,e,r,i,n,a){var s=x(\"image\");x(s,{x:r,y:i,width:n,height:a,preserveAspectRatio:\"none\"}),s.setAttributeNS(p,\"href\",e),t.canvas&&t.canvas.appendChild(s);var o=new S(s,t);return o.attrs={x:r,y:i,width:n,height:a,src:e},o.type=\"image\",o},t._engine.text=function(e,r,i,n){var a=x(\"text\");e.canvas&&e.canvas.appendChild(a);var s=new S(a,e);return s.attrs={x:r,y:i,\"text-anchor\":\"middle\",text:n,\"font-family\":t._availableAttrs[\"font-family\"],\"font-size\":t._availableAttrs[\"font-size\"],stroke:\"none\",fill:\"#000\"},s.type=\"text\",k(s,s.attrs),s},t._engine.setSize=function(t,e){return this.width=t||this.width,this.height=e||this.height,this.canvas.setAttribute(\"width\",this.width),this.canvas.setAttribute(\"height\",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},t._engine.create=function(){var e=t._getContainer.apply(0,arguments),r=e&&e.container;if(!r)throw new Error(\"SVG container not found.\");var i,n=e.x,a=e.y,s=e.width,o=e.height,l=x(\"svg\"),h=\"overflow:hidden;\";return n=n||0,a=a||0,x(l,{height:o=o||342,version:1.1,width:s=s||512,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}),1==r?(l.style.cssText=h+\"position:absolute;left:\"+n+\"px;top:\"+a+\"px\",t._g.doc.body.appendChild(l),i=1):(l.style.cssText=h+\"position:relative\",r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l)),(r=new t._Paper).width=s,r.height=o,r.canvas=l,r.clear(),r._left=r._top=0,i&&(r.renderfix=function(){}),r.renderfix(),r},t._engine.setViewBox=function(t,e,r,i,n){u(\"raphael.setViewBox\",this,this._viewBox,[t,e,r,i,n]);var a,o,l=this.getSize(),h=s(r/l.width,i/l.height),c=this.top,p=n?\"xMidYMid meet\":\"xMinYMin\";for(null==t?(this._vbSize&&(h=1),delete this._vbSize,a=\"0 0 \"+this.width+f+this.height):(this._vbSize=h,a=t+f+e+f+r+f+i),x(this.canvas,{viewBox:a,preserveAspectRatio:p});h&&c;)o=\"stroke-width\"in c.attrs?c.attrs[\"stroke-width\"]:1,c.attr({\"stroke-width\":o}),c._.dirty=1,c._.dirtyT=1,c=c.prev;return this._viewBox=[t,e,r,i,!!n],this},t.prototype.renderfix=function(){var t,e=this.canvas,r=e.style;try{t=e.getScreenCTM()||e.createSVGMatrix()}catch(r){t=e.createSVGMatrix()}var i=-t.e%1,n=-t.f%1;(i||n)&&(i&&(this._left=(this._left+i)%1,r.left=this._left+\"px\"),n&&(this._top=(this._top+n)%1,r.top=this._top+\"px\"))},t.prototype.clear=function(){t.eve(\"raphael.clear\",this);for(var e=this.canvas;e.firstChild;)e.removeChild(e.firstChild);this.bottom=this.top=null,(this.desc=x(\"desc\")).appendChild(t._g.doc.createTextNode(\"Created with Raphaël \"+t.version)),e.appendChild(this.desc),e.appendChild(this.defs=x(\"defs\"))},t.prototype.remove=function(){for(var e in u(\"raphael.remove\",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null};var A=t.st;for(var M in T)T[e](M)&&!A[e](M)&&(A[M]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t].apply(r,e)})}}(M))}}.apply(e,i))||(t.exports=n)},function(t,e,r){var i,n;i=[r(0)],void 0===(n=function(t){if(!t||t.vml){var e=\"hasOwnProperty\",r=String,i=parseFloat,n=Math,a=n.round,s=n.max,o=n.min,l=n.abs,h=/[, ]+/,u=t.eve,c=\" \",f=\"\",p={M:\"m\",L:\"l\",C:\"c\",Z:\"x\",m:\"t\",l:\"r\",c:\"v\",z:\"x\"},d=/([clmz]),?([^clmz]*)/gi,g=/ progid:\\S+Blur\\([^\\)]+\\)/g,x=/-?[^,\\s-]+/g,v=\"position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)\",y=21600,m={path:1,rect:1,image:1},b={circle:1,ellipse:1},_=function(e,r,i){var n=t.matrix();return n.rotate(-e,.5,.5),{dx:n.x(r,i),dy:n.y(r,i)}},w=function(t,e,r,i,n,a){var s=t._,o=t.matrix,h=s.fillpos,u=t.node,f=u.style,p=1,d=\"\",g=y/e,x=y/r;if(f.visibility=\"hidden\",e&&r){if(u.coordsize=l(g)+c+l(x),f.rotation=a*(e*r<0?-1:1),a){var v=_(a,i,n);i=v.dx,n=v.dy}if(e<0&&(d+=\"x\"),r<0&&(d+=\" y\")&&(p=-1),f.flip=d,u.coordorigin=i*-g+c+n*-x,h||s.fillsize){var m=u.getElementsByTagName(\"fill\");m=m&&m[0],u.removeChild(m),h&&(v=_(a,o.x(h[0],h[1]),o.y(h[0],h[1])),m.position=v.dx*p+c+v.dy*p),s.fillsize&&(m.size=s.fillsize[0]*l(e)+c+s.fillsize[1]*l(r)),u.appendChild(m)}f.visibility=\"visible\"}};t.toString=function(){return\"Your browser doesn’t support SVG. Falling down to VML.\\nYou are running Raphaël \"+this.version};var k,B=function(t,e,i){for(var n=r(e).toLowerCase().split(\"-\"),a=i?\"end\":\"start\",s=n.length,o=\"classic\",l=\"medium\",h=\"medium\";s--;)switch(n[s]){case\"block\":case\"classic\":case\"oval\":case\"diamond\":case\"open\":case\"none\":o=n[s];break;case\"wide\":case\"narrow\":h=n[s];break;case\"long\":case\"short\":l=n[s]}var u=t.node.getElementsByTagName(\"stroke\")[0];u[a+\"arrow\"]=o,u[a+\"arrowlength\"]=l,u[a+\"arrowwidth\"]=h},C=function(n,l){n.attrs=n.attrs||{};var u=n.node,g=n.attrs,v=u.style,_=m[n.type]&&(l.x!=g.x||l.y!=g.y||l.width!=g.width||l.height!=g.height||l.cx!=g.cx||l.cy!=g.cy||l.rx!=g.rx||l.ry!=g.ry||l.r!=g.r),C=b[n.type]&&(g.cx!=l.cx||g.cy!=l.cy||g.r!=l.r||g.rx!=l.rx||g.ry!=l.ry),T=n;for(var A in l)l[e](A)&&(g[A]=l[A]);if(_&&(g.path=t._getPath[n.type](n),n._.dirty=1),l.href&&(u.href=l.href),l.title&&(u.title=l.title),l.target&&(u.target=l.target),l.cursor&&(v.cursor=l.cursor),\"blur\"in l&&n.blur(l.blur),(l.path&&\"path\"==n.type||_)&&(u.path=function(e){var i=/[ahqstv]/gi,n=t._pathToAbsolute;if(r(e).match(i)&&(n=t._path2curve),i=/[clmz]/g,n==t._pathToAbsolute&&!r(e).match(i)){var s=r(e).replace(d,function(t,e,r){var i=[],n=\"m\"==e.toLowerCase(),s=p[e];return r.replace(x,function(t){n&&2==i.length&&(s+=i+p[\"m\"==e?\"l\":\"L\"],i=[]),i.push(a(t*y))}),s+i});return s}var o,l,h=n(e);s=[];for(var u=0,g=h.length;u<g;u++){o=h[u],\"z\"==(l=h[u][0].toLowerCase())&&(l=\"x\");for(var v=1,m=o.length;v<m;v++)l+=a(o[v]*y)+(v!=m-1?\",\":f);s.push(l)}return s.join(c)}(~r(g.path).toLowerCase().indexOf(\"r\")?t._pathToAbsolute(g.path):g.path),n._.dirty=1,\"image\"==n.type&&(n._.fillpos=[g.x,g.y],n._.fillsize=[g.width,g.height],w(n,1,1,0,0,0))),\"transform\"in l&&n.transform(l.transform),C){var M=+g.cx,E=+g.cy,N=+g.rx||+g.r||0,L=+g.ry||+g.r||0;u.path=t.format(\"ar{0},{1},{2},{3},{4},{1},{4},{1}x\",a((M-N)*y),a((E-L)*y),a((M+N)*y),a((E+L)*y),a(M*y)),n._.dirty=1}if(\"clip-rect\"in l){var P=r(l[\"clip-rect\"]).split(h);if(4==P.length){P[2]=+P[2]+ +P[0],P[3]=+P[3]+ +P[1];var z=u.clipRect||t._g.doc.createElement(\"div\"),F=z.style;F.clip=t.format(\"rect({1}px {2}px {3}px {0}px)\",P),u.clipRect||(F.position=\"absolute\",F.top=0,F.left=0,F.width=n.paper.width+\"px\",F.height=n.paper.height+\"px\",u.parentNode.insertBefore(z,u),z.appendChild(u),u.clipRect=z)}l[\"clip-rect\"]||u.clipRect&&(u.clipRect.style.clip=\"auto\")}if(n.textpath){var R=n.textpath.style;l.font&&(R.font=l.font),l[\"font-family\"]&&(R.fontFamily='\"'+l[\"font-family\"].split(\",\")[0].replace(/^['\"]+|['\"]+$/g,f)+'\"'),l[\"font-size\"]&&(R.fontSize=l[\"font-size\"]),l[\"font-weight\"]&&(R.fontWeight=l[\"font-weight\"]),l[\"font-style\"]&&(R.fontStyle=l[\"font-style\"])}if(\"arrow-start\"in l&&B(T,l[\"arrow-start\"]),\"arrow-end\"in l&&B(T,l[\"arrow-end\"],1),null!=l.opacity||null!=l.fill||null!=l.src||null!=l.stroke||null!=l[\"stroke-width\"]||null!=l[\"stroke-opacity\"]||null!=l[\"fill-opacity\"]||null!=l[\"stroke-dasharray\"]||null!=l[\"stroke-miterlimit\"]||null!=l[\"stroke-linejoin\"]||null!=l[\"stroke-linecap\"]){var j=u.getElementsByTagName(\"fill\");if(!(j=j&&j[0])&&(j=k(\"fill\")),\"image\"==n.type&&l.src&&(j.src=l.src),l.fill&&(j.on=!0),null!=j.on&&\"none\"!=l.fill&&null!==l.fill||(j.on=!1),j.on&&l.fill){var I=r(l.fill).match(t._ISURL);if(I){j.parentNode==u&&u.removeChild(j),j.rotate=!0,j.src=I[1],j.type=\"tile\";var D=n.getBBox(1);j.position=D.x+c+D.y,n._.fillpos=[D.x,D.y],t._preload(I[1],function(){n._.fillsize=[this.offsetWidth,this.offsetHeight]})}else j.color=t.getRGB(l.fill).hex,j.src=f,j.type=\"solid\",t.getRGB(l.fill).error&&(T.type in{circle:1,ellipse:1}||\"r\"!=r(l.fill).charAt())&&S(T,l.fill,j)&&(g.fill=\"none\",g.gradient=l.fill,j.rotate=!1)}if(\"fill-opacity\"in l||\"opacity\"in l){var q=((+g[\"fill-opacity\"]+1||2)-1)*((+g.opacity+1||2)-1)*((+t.getRGB(l.fill).o+1||2)-1);q=o(s(q,0),1),j.opacity=q,j.src&&(j.color=\"none\")}u.appendChild(j);var O=u.getElementsByTagName(\"stroke\")&&u.getElementsByTagName(\"stroke\")[0],V=!1;!O&&(V=O=k(\"stroke\")),(l.stroke&&\"none\"!=l.stroke||l[\"stroke-width\"]||null!=l[\"stroke-opacity\"]||l[\"stroke-dasharray\"]||l[\"stroke-miterlimit\"]||l[\"stroke-linejoin\"]||l[\"stroke-linecap\"])&&(O.on=!0),(\"none\"==l.stroke||null===l.stroke||null==O.on||0==l.stroke||0==l[\"stroke-width\"])&&(O.on=!1);var W=t.getRGB(l.stroke);O.on&&l.stroke&&(O.color=W.hex),q=((+g[\"stroke-opacity\"]+1||2)-1)*((+g.opacity+1||2)-1)*((+W.o+1||2)-1);var Y=.75*(i(l[\"stroke-width\"])||1);if(q=o(s(q,0),1),null==l[\"stroke-width\"]&&(Y=g[\"stroke-width\"]),l[\"stroke-width\"]&&(O.weight=Y),Y&&Y<1&&(q*=Y)&&(O.weight=1),O.opacity=q,l[\"stroke-linejoin\"]&&(O.joinstyle=l[\"stroke-linejoin\"]||\"miter\"),O.miterlimit=l[\"stroke-miterlimit\"]||8,l[\"stroke-linecap\"]&&(O.endcap=\"butt\"==l[\"stroke-linecap\"]?\"flat\":\"square\"==l[\"stroke-linecap\"]?\"square\":\"round\"),\"stroke-dasharray\"in l){var G={\"-\":\"shortdash\",\".\":\"shortdot\",\"-.\":\"shortdashdot\",\"-..\":\"shortdashdotdot\",\". \":\"dot\",\"- \":\"dash\",\"--\":\"longdash\",\"- .\":\"dashdot\",\"--.\":\"longdashdot\",\"--..\":\"longdashdotdot\"};O.dashstyle=G[e](l[\"stroke-dasharray\"])?G[l[\"stroke-dasharray\"]]:f}V&&u.appendChild(O)}if(\"text\"==T.type){T.paper.canvas.style.display=f;var H=T.paper.span,X=g.font&&g.font.match(/\\d+(?:\\.\\d*)?(?=px)/);v=H.style,g.font&&(v.font=g.font),g[\"font-family\"]&&(v.fontFamily=g[\"font-family\"]),g[\"font-weight\"]&&(v.fontWeight=g[\"font-weight\"]),g[\"font-style\"]&&(v.fontStyle=g[\"font-style\"]),X=i(g[\"font-size\"]||X&&X[0])||10,v.fontSize=100*X+\"px\",T.textpath.string&&(H.innerHTML=r(T.textpath.string).replace(/</g,\"&#60;\").replace(/&/g,\"&#38;\").replace(/\\n/g,\"<br>\"));var U=H.getBoundingClientRect();T.W=g.w=(U.right-U.left)/100,T.H=g.h=(U.bottom-U.top)/100,T.X=g.x,T.Y=g.y+T.H/2,(\"x\"in l||\"y\"in l)&&(T.path.v=t.format(\"m{0},{1}l{2},{1}\",a(g.x*y),a(g.y*y),a(g.x*y)+1));for(var $=[\"x\",\"y\",\"text\",\"font\",\"font-family\",\"font-weight\",\"font-style\",\"font-size\"],Z=0,Q=$.length;Z<Q;Z++)if($[Z]in l){T._.dirty=1;break}switch(g[\"text-anchor\"]){case\"start\":T.textpath.style[\"v-text-align\"]=\"left\",T.bbx=T.W/2;break;case\"end\":T.textpath.style[\"v-text-align\"]=\"right\",T.bbx=-T.W/2;break;default:T.textpath.style[\"v-text-align\"]=\"center\",T.bbx=0}T.textpath.style[\"v-text-kern\"]=!0}},S=function(e,a,s){e.attrs=e.attrs||{};e.attrs;var o=Math.pow,l=\"linear\",h=\".5 .5\";if(e.attrs.gradient=a,a=(a=r(a).replace(t._radial_gradient,function(t,e,r){return l=\"radial\",e&&r&&(e=i(e),r=i(r),o(e-.5,2)+o(r-.5,2)>.25&&(r=n.sqrt(.25-o(e-.5,2))*(2*(r>.5)-1)+.5),h=e+c+r),f})).split(/\\s*\\-\\s*/),\"linear\"==l){var u=a.shift();if(u=-i(u),isNaN(u))return null}var p=t._parseDots(a);if(!p)return null;if(e=e.shape||e.node,p.length){e.removeChild(s),s.on=!0,s.method=\"none\",s.color=p[0].color,s.color2=p[p.length-1].color;for(var d=[],g=0,x=p.length;g<x;g++)p[g].offset&&d.push(p[g].offset+c+p[g].color);s.colors=d.length?d.join():\"0% \"+s.color,\"radial\"==l?(s.type=\"gradientTitle\",s.focus=\"100%\",s.focussize=\"0 0\",s.focusposition=h,s.angle=0):(s.type=\"gradient\",s.angle=(270-u)%360),e.appendChild(s)}return 1},T=function(e,r){this[0]=this.node=e,e.raphael=!0,this.id=t._oid++,e.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=r,this.matrix=t.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!r.bottom&&(r.bottom=this),this.prev=r.top,r.top&&(r.top.next=this),r.top=this,this.next=null},A=t.el;T.prototype=A,A.constructor=T,A.transform=function(e){if(null==e)return this._.transform;var i,n=this.paper._viewBoxShift,a=n?\"s\"+[n.scale,n.scale]+\"-1-1t\"+[n.dx,n.dy]:f;n&&(i=e=r(e).replace(/\\.{3}|\\u2026/g,this._.transform||f)),t._extractTransform(this,a+e);var s,o=this.matrix.clone(),l=this.skew,h=this.node,u=~r(this.attrs.fill).indexOf(\"-\"),p=!r(this.attrs.fill).indexOf(\"url(\");if(o.translate(1,1),p||u||\"image\"==this.type)if(l.matrix=\"1 0 0 1\",l.offset=\"0 0\",s=o.split(),u&&s.noRotation||!s.isSimple){h.style.filter=o.toFilter();var d=this.getBBox(),g=this.getBBox(1),x=d.x-g.x,v=d.y-g.y;h.coordorigin=x*-y+c+v*-y,w(this,1,1,x,v,0)}else h.style.filter=f,w(this,s.scalex,s.scaley,s.dx,s.dy,s.rotate);else h.style.filter=f,l.matrix=r(o),l.offset=o.offset();return null!==i&&(this._.transform=i,t._extractTransform(this,i)),this},A.rotate=function(t,e,n){if(this.removed)return this;if(null!=t){if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2])),t=i(t[0]),null==n&&(e=n),null==e||null==n){var a=this.getBBox(1);e=a.x+a.width/2,n=a.y+a.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([[\"r\",t,e,n]])),this}},A.translate=function(t,e){return this.removed?this:((t=r(t).split(h)).length-1&&(e=i(t[1])),t=i(t[0])||0,e=+e||0,this._.bbox&&(this._.bbox.x+=t,this._.bbox.y+=e),this.transform(this._.transform.concat([[\"t\",t,e]])),this)},A.scale=function(t,e,n,a){if(this.removed)return this;if((t=r(t).split(h)).length-1&&(e=i(t[1]),n=i(t[2]),a=i(t[3]),isNaN(n)&&(n=null),isNaN(a)&&(a=null)),t=i(t[0]),null==e&&(e=t),null==a&&(n=a),null==n||null==a)var s=this.getBBox(1);return n=null==n?s.x+s.width/2:n,a=null==a?s.y+s.height/2:a,this.transform(this._.transform.concat([[\"s\",t,e,n,a]])),this._.dirtyT=1,this},A.hide=function(){return!this.removed&&(this.node.style.display=\"none\"),this},A.show=function(){return!this.removed&&(this.node.style.display=f),this},A.auxGetBBox=t.el.getBBox,A.getBBox=function(){var t=this.auxGetBBox();if(this.paper&&this.paper._viewBoxShift){var e={},r=1/this.paper._viewBoxShift.scale;return e.x=t.x-this.paper._viewBoxShift.dx,e.x*=r,e.y=t.y-this.paper._viewBoxShift.dy,e.y*=r,e.width=t.width*r,e.height=t.height*r,e.x2=e.x+e.width,e.y2=e.y+e.height,e}return t},A._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},A.remove=function(){if(!this.removed&&this.node.parentNode){for(var e in this.paper.__set__&&this.paper.__set__.exclude(this),t.eve.unbind(\"raphael.*.*.\"+this.id),t._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null;this.removed=!0}},A.attr=function(r,i){if(this.removed)return this;if(null==r){var n={};for(var a in this.attrs)this.attrs[e](a)&&(n[a]=this.attrs[a]);return n.gradient&&\"none\"==n.fill&&(n.fill=n.gradient)&&delete n.gradient,n.transform=this._.transform,n}if(null==i&&t.is(r,\"string\")){if(\"fill\"==r&&\"none\"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var s=r.split(h),o={},l=0,c=s.length;l<c;l++)(r=s[l])in this.attrs?o[r]=this.attrs[r]:t.is(this.paper.customAttributes[r],\"function\")?o[r]=this.paper.customAttributes[r].def:o[r]=t._availableAttrs[r];return c-1?o:o[s[0]]}if(this.attrs&&null==i&&t.is(r,\"array\")){for(o={},l=0,c=r.length;l<c;l++)o[r[l]]=this.attr(r[l]);return o}var f;for(var p in null!=i&&((f={})[r]=i),null==i&&t.is(r,\"object\")&&(f=r),f)u(\"raphael.attr.\"+p+\".\"+this.id,this,f[p]);if(f){for(p in this.paper.customAttributes)if(this.paper.customAttributes[e](p)&&f[e](p)&&t.is(this.paper.customAttributes[p],\"function\")){var d=this.paper.customAttributes[p].apply(this,[].concat(f[p]));for(var g in this.attrs[p]=f[p],d)d[e](g)&&(f[g]=d[g])}f.text&&\"text\"==this.type&&(this.textpath.string=f.text),C(this,f)}return this},A.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&t._tofront(this,this.paper),this},A.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),t._toback(this,this.paper)),this)},A.insertAfter=function(e){return this.removed?this:(e.constructor==t.st.constructor&&(e=e[e.length-1]),e.node.nextSibling?e.node.parentNode.insertBefore(this.node,e.node.nextSibling):e.node.parentNode.appendChild(this.node),t._insertafter(this,e,this.paper),this)},A.insertBefore=function(e){return this.removed?this:(e.constructor==t.st.constructor&&(e=e[0]),e.node.parentNode.insertBefore(this.node,e.node),t._insertbefore(this,e,this.paper),this)},A.blur=function(e){var r=this.node.runtimeStyle,i=r.filter;return i=i.replace(g,f),0!=+e?(this.attrs.blur=e,r.filter=i+c+\" progid:DXImageTransform.Microsoft.Blur(pixelradius=\"+(+e||1.5)+\")\",r.margin=t.format(\"-{0}px 0 0 -{0}px\",a(+e||1.5))):(r.filter=i,r.margin=0,delete this.attrs.blur),this},t._engine.path=function(t,e){var r=k(\"shape\");r.style.cssText=v,r.coordsize=y+c+y,r.coordorigin=e.coordorigin;var i=new T(r,e),n={fill:\"none\",stroke:\"#000\"};t&&(n.path=t),i.type=\"path\",i.path=[],i.Path=f,C(i,n),e.canvas&&e.canvas.appendChild(r);var a=k(\"skew\");return a.on=!0,r.appendChild(a),i.skew=a,i.transform(f),i},t._engine.rect=function(e,r,i,n,a,s){var o=t._rectPath(r,i,n,a,s),l=e.path(o),h=l.attrs;return l.X=h.x=r,l.Y=h.y=i,l.W=h.width=n,l.H=h.height=a,h.r=s,h.path=o,l.type=\"rect\",l},t._engine.ellipse=function(t,e,r,i,n){var a=t.path();a.attrs;return a.X=e-i,a.Y=r-n,a.W=2*i,a.H=2*n,a.type=\"ellipse\",C(a,{cx:e,cy:r,rx:i,ry:n}),a},t._engine.circle=function(t,e,r,i){var n=t.path();n.attrs;return n.X=e-i,n.Y=r-i,n.W=n.H=2*i,n.type=\"circle\",C(n,{cx:e,cy:r,r:i}),n},t._engine.image=function(e,r,i,n,a,s){var o=t._rectPath(i,n,a,s),l=e.path(o).attr({stroke:\"none\"}),h=l.attrs,u=l.node,c=u.getElementsByTagName(\"fill\")[0];return h.src=r,l.X=h.x=i,l.Y=h.y=n,l.W=h.width=a,l.H=h.height=s,h.path=o,l.type=\"image\",c.parentNode==u&&u.removeChild(c),c.rotate=!0,c.src=r,c.type=\"tile\",l._.fillpos=[i,n],l._.fillsize=[a,s],u.appendChild(c),w(l,1,1,0,0,0),l},t._engine.text=function(e,i,n,s){var o=k(\"shape\"),l=k(\"path\"),h=k(\"textpath\");i=i||0,n=n||0,s=s||\"\",l.v=t.format(\"m{0},{1}l{2},{1}\",a(i*y),a(n*y),a(i*y)+1),l.textpathok=!0,h.string=r(s),h.on=!0,o.style.cssText=v,o.coordsize=y+c+y,o.coordorigin=\"0 0\";var u=new T(o,e),p={fill:\"#000\",stroke:\"none\",font:t._availableAttrs.font,text:s};u.shape=o,u.path=l,u.textpath=h,u.type=\"text\",u.attrs.text=r(s),u.attrs.x=i,u.attrs.y=n,u.attrs.w=1,u.attrs.h=1,C(u,p),o.appendChild(h),o.appendChild(l),e.canvas.appendChild(o);var d=k(\"skew\");return d.on=!0,o.appendChild(d),u.skew=d,u.transform(f),u},t._engine.setSize=function(e,r){var i=this.canvas.style;return this.width=e,this.height=r,e==+e&&(e+=\"px\"),r==+r&&(r+=\"px\"),i.width=e,i.height=r,i.clip=\"rect(0 \"+e+\" \"+r+\" 0)\",this._viewBox&&t._engine.setViewBox.apply(this,this._viewBox),this},t._engine.setViewBox=function(e,r,i,n,a){t.eve(\"raphael.setViewBox\",this,this._viewBox,[e,r,i,n,a]);var s,o,l=this.getSize(),h=l.width,u=l.height;return a&&(i*(s=u/n)<h&&(e-=(h-i*s)/2/s),n*(o=h/i)<u&&(r-=(u-n*o)/2/o)),this._viewBox=[e,r,i,n,!!a],this._viewBoxShift={dx:-e,dy:-r,scale:l},this.forEach(function(t){t.transform(\"...\")}),this},t._engine.initWin=function(t){var e=t.document;e.styleSheets.length<31?e.createStyleSheet().addRule(\".rvml\",\"behavior:url(#default#VML)\"):e.styleSheets[0].addRule(\".rvml\",\"behavior:url(#default#VML)\");try{!e.namespaces.rvml&&e.namespaces.add(\"rvml\",\"urn:schemas-microsoft-com:vml\"),k=function(t){return e.createElement(\"<rvml:\"+t+' class=\"rvml\">')}}catch(t){k=function(t){return e.createElement(\"<\"+t+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">')}}},t._engine.initWin(t._g.win),t._engine.create=function(){var e=t._getContainer.apply(0,arguments),r=e.container,i=e.height,n=e.width,a=e.x,s=e.y;if(!r)throw new Error(\"VML container not found.\");var o=new t._Paper,l=o.canvas=t._g.doc.createElement(\"div\"),h=l.style;return a=a||0,s=s||0,n=n||512,i=i||342,o.width=n,o.height=i,n==+n&&(n+=\"px\"),i==+i&&(i+=\"px\"),o.coordsize=216e5+c+216e5,o.coordorigin=\"0 0\",o.span=t._g.doc.createElement(\"span\"),o.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;\",l.appendChild(o.span),h.cssText=t.format(\"top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden\",n,i),1==r?(t._g.doc.body.appendChild(l),h.left=a+\"px\",h.top=s+\"px\",h.position=\"absolute\"):r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),o.renderfix=function(){},o},t.prototype.clear=function(){t.eve(\"raphael.clear\",this),this.canvas.innerHTML=f,this.span=t._g.doc.createElement(\"span\"),this.span.style.cssText=\"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;\",this.canvas.appendChild(this.span),this.bottom=this.top=null},t.prototype.remove=function(){for(var e in t.eve(\"raphael.remove\",this),this.canvas.parentNode.removeChild(this.canvas),this)this[e]=\"function\"==typeof this[e]?t._removedFactory(e):null;return!0};var M=t.st;for(var E in A)A[e](E)&&!M[e](E)&&(M[E]=function(t){return function(){var e=arguments;return this.forEach(function(r){r[t].apply(r,e)})}}(E))}}.apply(e,i))||(t.exports=n)}])});","/**\n * JustGage - Animated gauges using RaphaelJS\n * Check http://www.justgage.com for official releases\n * Licensed under MIT.\n * @author Bojan Djuricic (@Toorshia)\n **/\n\nimport Raphael from \"raphael\";\n\nexport default class JustGage {\n\n\tconstructor(config) {\n\t\t// Helps in case developer wants to debug it. unobtrusive\n\t\tif (isUndefined(config)) {\n\t\t\tthrow new Error(\"* justgage: Make sure to pass options to the constructor!\");\n\t\t}\n\t\tthis.events = {};\n\n\t\tthis.node = config.element;\n\n\t\tconst dataset = this.node.dataset ? this.node.dataset : {};\n\n\t\t// check for defaults\n\t\tconst defaults = !isUndefined(config.defaults) ? config.defaults : false;\n\t\tif (defaults !== false) {\n\t\t\tconfig = extend({});\n\t\t\tdelete config.defaults;\n\t\t}\n\n\t\t// configurable parameters\n\t\tthis.config = {\n\t\t\t// id : string\n\t\t\t// this is container element\n\t\t\telement: config.element,\n\n\t\t\t// classId : string\n\t\t\t// this is the class id utilize when generating styles\n\t\t\tclassId: uuid(),\n\n\t\t\t// value : float\n\t\t\t// value gauge is showing\n\t\t\tvalue: kvLookup(\"value\", config, dataset, 0, \"float\"),\n\n\t\t\t// defaults : bool\n\t\t\t// defaults parameter to use\n\t\t\tdefaults: kvLookup(\"defaults\", config, dataset, 0, false),\n\n\t\t\t// parentNode : node object\n\t\t\t// this is container element\n\t\t\tparentNode: kvLookup(\"parentNode\", config, dataset, null),\n\n\t\t\t// width : int\n\t\t\t// gauge width\n\t\t\twidth: kvLookup(\"width\", config, dataset, null),\n\n\t\t\t// height : int\n\t\t\t// gauge height\n\t\t\theight: kvLookup(\"height\", config, dataset, null),\n\n\t\t\t// valueFontColor : string\n\t\t\t// color of label showing current value\n\t\t\tvalueFontColor: kvLookup(\"valueFontColor\", config, dataset, \"#010101\"),\n\n\t\t\t// valueFontFamily : string\n\t\t\t// color of label showing current value\n\t\t\tvalueFontFamily: kvLookup(\"valueFontFamily\", config, dataset, \"Arial\"),\n\n\t\t\t// symbol : string\n\t\t\t// special symbol to show next to value\n\t\t\tsymbol: kvLookup(\"symbol\", config, dataset, \"\"),\n\n\t\t\t// min : float\n\t\t\t// min value\n\t\t\tmin: kvLookup(\"min\", config, dataset, 0, \"float\"),\n\n\t\t\t// minTxt : string\n\t\t\t// min value text\n\t\t\tminTxt: kvLookup(\"minTxt\", config, dataset, false),\n\n\t\t\t// max : float\n\t\t\t// max value\n\t\t\tmax: kvLookup(\"max\", config, dataset, 100, \"float\"),\n\n\t\t\t// maxTxt : string\n\t\t\t// max value text\n\t\t\tmaxTxt: kvLookup(\"maxTxt\", config, dataset, false),\n\n\t\t\t// reverse : bool\n\t\t\t// reverse min and max\n\t\t\treverse: kvLookup(\"reverse\", config, dataset, false),\n\n\t\t\t// humanFriendlyDecimal : int\n\t\t\t// number of decimal places for our human friendly number to contain\n\t\t\thumanFriendlyDecimal: kvLookup(\"humanFriendlyDecimal\", config, dataset, 0),\n\n\t\t\t// textRenderer: func\n\t\t\t// function applied before rendering text\n\t\t\ttextRenderer: kvLookup(\"textRenderer\", config, dataset, null),\n\n\t\t\t// onAnimationEnd: func\n\t\t\t// function applied after animation is done\n\t\t\tonAnimationEnd: kvLookup(\"onAnimationEnd\", config, dataset, null),\n\n\t\t\t// gaugeWidthScale : float\n\t\t\t// width of the gauge element\n\t\t\tgaugeWidthScale: kvLookup(\"gaugeWidthScale\", config, dataset, 1.0),\n\n\t\t\t// gaugeColor : string\n\t\t\t// background color of gauge element\n\t\t\tgaugeColor: kvLookup(\"gaugeColor\", config, dataset, \"#edebeb\"),\n\n\t\t\t// label : string\n\t\t\t// text to show below value\n\t\t\tlabel: kvLookup(\"label\", config, dataset, \"\"),\n\n\t\t\t// labelFontColor : string\n\t\t\t// color of label showing label under value\n\t\t\tlabelFontColor: kvLookup(\"labelFontColor\", config, dataset, \"#b3b3b3\"),\n\n\t\t\t// valueFontFamily : string\n\t\t\t// font-family for label as well as min/max value\n\t\t\tlabelFontFamily: kvLookup(\"labelFontFamily\", config, dataset, \"Arial\"),\n\n\t\t\t// shadowOpacity : int\n\t\t\t// 0 ~ 1\n\t\t\tshadowOpacity: kvLookup(\"shadowOpacity\", config, dataset, 0.2),\n\n\t\t\t// shadowSize: int\n\t\t\t// inner shadow size\n\t\t\tshadowSize: kvLookup(\"shadowSize\", config, dataset, 5),\n\n\t\t\t// shadowVerticalOffset : int\n\t\t\t// how much shadow is offset from top\n\t\t\tshadowVerticalOffset: kvLookup(\"shadowVerticalOffset\", config, dataset, 3),\n\n\t\t\t// levelColors : string[]\n\t\t\t// colors of indicator, from lower to upper, in RGB format\n\t\t\tlevelColors: kvLookup(\"levelColors\", config, dataset, [\"#a9d70b\", \"#f9c802\", \"#ff0000\"], \"array\", \",\"),\n\n\t\t\t// startAnimationTime : int\n\t\t\t// length of initial animation\n\t\t\tstartAnimationTime: kvLookup(\"startAnimationTime\", config, dataset, 700),\n\n\t\t\t// startAnimationType : string\n\t\t\t// type of initial animation (linear, >, <, <>, bounce)\n\t\t\tstartAnimationType: kvLookup(\"startAnimationType\", config, dataset, \">\"),\n\n\t\t\t// refreshAnimationTime : int\n\t\t\t// length of refresh animation\n\t\t\trefreshAnimationTime: kvLookup(\"refreshAnimationTime\", config, dataset, 700),\n\n\t\t\t// refreshAnimationType : string\n\t\t\t// type of refresh animation (linear, >, <, <>, bounce)\n\t\t\trefreshAnimationType: kvLookup(\"refreshAnimationType\", config, dataset, \">\"),\n\n\t\t\t// donutStartAngle : int\n\t\t\t// angle to start from when in donut mode\n\t\t\tdonutStartAngle: kvLookup(\"donutStartAngle\", config, dataset, 90),\n\n\t\t\t// valueMinFontSize : int\n\t\t\t// absolute minimum font size for the value\n\t\t\tvalueMinFontSize: kvLookup(\"valueMinFontSize\", config, dataset, 16),\n\n\t\t\t// labelMinFontSize\n\t\t\t// absolute minimum font size for the label\n\t\t\tlabelMinFontSize: kvLookup(\"labelMinFontSize\", config, dataset, 10),\n\n\t\t\t// minLabelMinFontSize\n\t\t\t// absolute minimum font size for the minimum label\n\t\t\tminLabelMinFontSize: kvLookup(\"minLabelMinFontSize\", config, dataset, 10),\n\n\t\t\t// maxLabelMinFontSize\n\t\t\t// absolute minimum font size for the maximum label\n\t\t\tmaxLabelMinFontSize: kvLookup(\"maxLabelMinFontSize\", config, dataset, 10),\n\n\t\t\t// hideValue : bool\n\t\t\t// hide value text\n\t\t\thideValue: kvLookup(\"hideValue\", config, dataset, false),\n\n\t\t\t// hideMinMax : bool\n\t\t\t// hide min and max values\n\t\t\thideMinMax: kvLookup(\"hideMinMax\", config, dataset, false),\n\n\t\t\t// showInnerShadow : bool\n\t\t\t// show inner shadow\n\t\t\tshowInnerShadow: kvLookup(\"showInnerShadow\", config, dataset, false),\n\n\t\t\t// humanFriendly : bool\n\t\t\t// convert large numbers for min, max, value to human friendly (e.g. 1234567 -> 1.23M)\n\t\t\thumanFriendly: kvLookup(\"humanFriendly\", config, dataset, false),\n\n\t\t\t// noGradient : bool\n\t\t\t// whether to use gradual color change for value, or sector-based\n\t\t\tnoGradient: kvLookup(\"noGradient\", config, dataset, false),\n\n\t\t\t// donut : bool\n\t\t\t// show full donut gauge\n\t\t\tdonut: kvLookup(\"donut\", config, dataset, false),\n\n\t\t\t// relativeGaugeSize : bool\n\t\t\t// whether gauge size should follow changes in container element size\n\t\t\trelativeGaugeSize: kvLookup(\"relativeGaugeSize\", config, dataset, false),\n\n\t\t\t// counter : bool\n\t\t\t// animate level number change\n\t\t\tcounter: kvLookup(\"counter\", config, dataset, false),\n\n\t\t\t// decimals : int\n\t\t\t// number of digits after floating point\n\t\t\tdecimals: kvLookup(\"decimals\", config, dataset, 0),\n\n\t\t\t// customSectors : object\n\t\t\t// custom sectors colors. Expects an object with props\n\t\t\t// percents : bool hi/lo are percents values\n\t\t\t// ranges : array of objects : {hi, lo, color}\n\t\t\tcustomSectors: kvLookup(\"customSectors\", config, dataset, {}),\n\n\t\t\t// formatNumber: boolean\n\t\t\t// formats numbers with commas where appropriate\n\t\t\tformatNumber: kvLookup(\"formatNumber\", config, dataset, false),\n\n\t\t\t// pointer : bool\n\t\t\t// show value pointer\n\t\t\tpointer: kvLookup(\"pointer\", config, dataset, false),\n\n\t\t\t// pointerOptions : object\n\t\t\t// define pointer look\n\t\t\tpointerOptions: kvLookup(\"pointerOptions\", config, dataset, {}),\n\n\t\t\t// displayRemaining: boolean\n\t\t\t// replace display number with the number remaining to reach max\n\t\t\tdisplayRemaining: kvLookup(\"displayRemaining\", config, dataset, false),\n\t\t};\n\n\t\t// variables\n\t\tlet canvasW,\n\t\t\tcanvasH,\n\t\t\twidgetW,\n\t\t\twidgetH,\n\t\t\taspect,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tvalueFontSize,\n\t\t\tvalueX,\n\t\t\tvalueY,\n\t\t\tlabelFontSize,\n\t\t\tlabelX,\n\t\t\tlabelY,\n\t\t\tminFontSize,\n\t\t\tminX,\n\t\t\tminY,\n\t\t\tmaxFontSize,\n\t\t\tmaxX,\n\t\t\tmaxY;\n\n\t\t// overflow values\n\t\tif (this.config.value > this.config.max) this.config.value = this.config.max;\n\t\tif (this.config.value < this.config.min) this.config.value = this.config.min;\n\t\tthis.originalValue = kvLookup(\"value\", config, dataset, -1, \"float\");\n\n\t\t// create canvas\n\t\tthis.canvas = Raphael(this.config.element, \"100%\", \"100%\");\n\n\t\t// canvas dimensions\n\t\tif (this.config.relativeGaugeSize === true) {\n\t\t\tif (this.config.donut === true) {\n\t\t\t\tthis.canvas.setViewBox(0, 0, 200, 200, true);\n\t\t\t\tcanvasW = 200;\n\t\t\t\tcanvasH = 200;\n\t\t\t} else {\n\t\t\t\tthis.canvas.setViewBox(0, 0, 200, 100, true);\n\t\t\t\tcanvasW = 200;\n\t\t\t\tcanvasH = 100;\n\t\t\t}\n\t\t} else if (this.config.width !== null && this.config.height !== null) {\n\t\t\tcanvasW = this.config.width;\n\t\t\tcanvasH = this.config.height;\n\t\t} else if (this.config.parentNode !== null) {\n\t\t\tthis.canvas.setViewBox(0, 0, 200, 100, true);\n\t\t\tcanvasW = 200;\n\t\t\tcanvasH = 100;\n\t\t} else {\n\t\t\tcanvasW = Number(getStyle(this.config.element, \"width\").slice(0, -2)) * 1;\n\t\t\tcanvasH = Number(getStyle(this.config.element, \"height\").slice(0, -2)) * 1;\n\t\t}\n\n\t\t// widget dimensions\n\t\tif (this.config.donut === true) {\n\t\t\tif (canvasW > canvasH) {\n\t\t\t\t// landscape\n\t\t\t\twidgetH = canvasH;\n\t\t\t\twidgetW = widgetH;\n\t\t\t\t// width less than height\n\t\t\t} else if (canvasW < canvasH) {\n\t\t\t\t// portrait\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW;\n\t\t\t} else {\n\t\t\t\t// square\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW;\n\t\t\t}\n\n\t\t\t// delta\n\t\t\tdx = (canvasW - widgetW) / 2;\n\t\t\tdy = (canvasH - widgetH) / 2;\n\n\t\t\t// value\n\t\t\tvalueFontSize = widgetH / 6.4 > 16 ? widgetH / 5.4 : 18;\n\t\t\tvalueX = dx + widgetW / 2;\n\t\t\tif (this.config.label !== \"\") {\n\t\t\t\tvalueY = dy + widgetH / 1.85;\n\t\t\t} else {\n\t\t\t\tvalueY = dy + widgetH / 1.7;\n\t\t\t}\n\n\t\t\t// label\n\t\t\tlabelFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tlabelX = dx + widgetW / 2;\n\t\t\tlabelY = valueY + labelFontSize;\n\n\t\t\t// min\n\t\t\tminFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tminX = dx + widgetW / 10 + ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tminY = labelY;\n\n\t\t\t// max\n\t\t\tmaxFontSize = widgetH / 16 > 10 ? widgetH / 16 : 10;\n\t\t\tmaxX = dx + widgetW - widgetW / 10 - ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tmaxY = labelY;\n\t\t} else {\n\t\t\tif (canvasW > canvasH) {\n\t\t\t\t// landscape\n\t\t\t\twidgetH = canvasH;\n\t\t\t\twidgetW = widgetH * 2;\n\t\t\t\tif (widgetW > canvasW) {\n\t\t\t\t\t// if width doesn't fit, rescale both\n\t\t\t\t\taspect = widgetW / canvasW;\n\t\t\t\t\twidgetW = widgetW / aspect;\n\t\t\t\t\twidgetH = widgetH / aspect;\n\t\t\t\t}\n\t\t\t} else if (canvasW < canvasH) {\n\t\t\t\t// portrait\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW / 2;\n\t\t\t} else {\n\t\t\t\t// square\n\t\t\t\twidgetW = canvasW;\n\t\t\t\twidgetH = widgetW * 0.5;\n\t\t\t}\n\n\t\t\t// delta\n\t\t\tdx = (canvasW - widgetW) / 2;\n\t\t\tdy = (canvasH - widgetH) / 2;\n\n\t\t\t// value\n\t\t\tvalueFontSize = widgetH / 6.5 > this.config.valueMinFontSize ? widgetH / 6.5 : this.config.valueMinFontSize;\n\t\t\tvalueX = dx + widgetW / 2;\n\t\t\tvalueY = dy + widgetH / 1.275;\n\n\t\t\t// label\n\t\t\tlabelFontSize = widgetH / 16 > this.config.labelMinFontSize ? widgetH / 16 : this.config.labelMinFontSize;\n\t\t\tlabelX = dx + widgetW / 2;\n\t\t\tlabelY = valueY + valueFontSize / 2 + 5;\n\n\t\t\t// min\n\t\t\tminFontSize = widgetH / 16 > this.config.minLabelMinFontSize ? widgetH / 16 : this.config.minLabelMinFontSize;\n\t\t\tminX = dx + widgetW / 10 + ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tminY = labelY;\n\n\t\t\t// max\n\t\t\tmaxFontSize = widgetH / 16 > this.config.maxLabelMinFontSize ? widgetH / 16 : this.config.maxLabelMinFontSize;\n\t\t\tmaxX = dx + widgetW - widgetW / 10 - ((widgetW / 6.666666666666667) * this.config.gaugeWidthScale) / 2;\n\t\t\tmaxY = labelY;\n\t\t}\n\n\t\t// parameters\n\t\tthis.params = {\n\t\t\tcanvasW: canvasW,\n\t\t\tcanvasH: canvasH,\n\t\t\twidgetW: widgetW,\n\t\t\twidgetH: widgetH,\n\t\t\tdx: dx,\n\t\t\tdy: dy,\n\t\t\tvalueFontSize: valueFontSize,\n\t\t\tvalueX: valueX,\n\t\t\tvalueY: valueY,\n\t\t\tlabelFontSize: labelFontSize,\n\t\t\tlabelX: labelX,\n\t\t\tlabelY: labelY,\n\t\t\tminFontSize: minFontSize,\n\t\t\tminX: minX,\n\t\t\tminY: minY,\n\t\t\tmaxFontSize: maxFontSize,\n\t\t\tmaxX: maxX,\n\t\t\tmaxY: maxY,\n\t\t};\n\n\t\t// var clear\n\t\t// canvasW, canvasH, widgetW, widgetH, aspect, dx, dy, valueFontSize, valueX, valueY, labelFontSize, labelX, labelY, minFontSize, minX, minY, maxFontSize, maxX, maxY = null\n\n\t\t/**\n\t\t * pki - custom attribute for generating gauge paths\n\t\t *\n\t\t * @param {Number} value display value\n\t\t * @returns SVG path string for gauge level\n\t\t */\n\t\tthis.canvas.customAttributes.pki = (value) => {\n\t\t\tlet min = this.config.min;\n\t\t\tlet max = this.config.max;\n\t\t\tconst w = this.params.widgetW;\n\t\t\tconst h = this.params.widgetH;\n\t\t\tconst dx = this.params.dx;\n\t\t\tconst dy = this.params.dy;\n\t\t\tconst gws = this.config.gaugeWidthScale;\n\t\t\tconst donut = this.config.donut;\n\n\t\t\tlet alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path;\n\n\t\t\tif (min < 0) {\n\t\t\t\tmax -= min;\n\t\t\t\tvalue -= min;\n\t\t\t\tmin = 0;\n\t\t\t}\n\n\t\t\tif (donut) {\n\t\t\t\talpha = (1 - (2 * (value - min)) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 30;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\tCx = w / 2 + dx;\n\t\t\t\tCy = h / 2 + dy;\n\n\t\t\t\tXo = Cx + Ro * Math.cos(alpha);\n\t\t\t\tYo = Cy - Ro * Math.sin(alpha);\n\t\t\t\tXi = Cx + Ri * Math.cos(alpha);\n\t\t\t\tYi = Cy - Ri * Math.sin(alpha);\n\n\t\t\t\tpath = \"M\" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"L\" + (Cx - Ro) + \",\" + Cy + \" \";\n\t\t\t\tif (value - min > (max - min) / 2) {\n\t\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + (Cx + Ro) + \",\" + Cy + \" \";\n\t\t\t\t}\n\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + Xo + \",\" + Yo + \" \";\n\t\t\t\tpath += \"L\" + Xi + \",\" + Yi + \" \";\n\t\t\t\tif (value - min > (max - min) / 2) {\n\t\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx + Ri) + \",\" + Cy + \" \";\n\t\t\t\t}\n\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\talpha = (1 - (value - min) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 10;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\tCx = w / 2 + dx;\n\t\t\t\tCy = h / 1.25 + dy;\n\n\t\t\t\t// Xo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\t// Yo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\t// Xi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\t// Yi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXo = Cx + Ro * Math.cos(alpha);\n\t\t\t\tYo = Cy - Ro * Math.sin(alpha);\n\t\t\t\tXi = Cx + Ri * Math.cos(alpha);\n\t\t\t\tYi = Cy - Ri * Math.sin(alpha);\n\n\t\t\t\tpath = \"M\" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"L\" + (Cx - Ro) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"A\" + Ro + \",\" + Ro + \" 0 0 1 \" + Xo + \",\" + Yo + \" \";\n\t\t\t\tpath += \"L\" + Xi + \",\" + Yi + \" \";\n\t\t\t\tpath += \"A\" + Ri + \",\" + Ri + \" 0 0 0 \" + (Cx - Ri) + \",\" + Cy + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * ndl - custom attribute for generating pointer path\n\t\t *\n\t\t * @param {Number} value display value\n\t\t * @returns SVG path string for gauge pointer\n\t\t */\n\t\tthis.canvas.customAttributes.ndl = function (value) {\n\t\t\tconst min = this.config.min;\n\t\t\tconst max = this.config.max;\n\t\t\tconst w = this.params.widgetW;\n\t\t\tconst h = this.params.widgetH;\n\t\t\tconst dx = this.params.dx;\n\t\t\tconst dy = this.params.dy;\n\t\t\tconst gws = this.config.gaugeWidthScale;\n\t\t\tconst donut = this.config.donut;\n\n\t\t\tlet dlt = (w * 3.5) / 100;\n\t\t\tlet dlb = w / 15;\n\t\t\tlet dw = w / 100;\n\n\t\t\tif (this.config.pointerOptions.toplength != null && this.config.pointerOptions.toplength !== undefined) dlt = this.config.pointerOptions.toplength;\n\t\t\tif (this.config.pointerOptions.bottomlength != null && this.config.pointerOptions.bottomlength !== undefined)\n\t\t\t\tdlb = this.config.pointerOptions.bottomlength;\n\t\t\tif (this.config.pointerOptions.bottomwidth != null && this.config.pointerOptions.bottomwidth !== undefined)\n\t\t\t\tdw = this.config.pointerOptions.bottomwidth;\n\n\t\t\tlet alpha, Ro, Ri, Cy, Xo, Yo, Xi, Yi, Xc, Yc, Xz, Yz, Xa, Ya, Xb, Yb, path;\n\n\t\t\tif (donut) {\n\t\t\t\talpha = (1 - (2 * (value - min)) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 30;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\t// Cx = w / 2 + dx\n\t\t\t\tCy = h / 2 + dy;\n\n\t\t\t\tXo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\tYo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\tXi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\tYi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXc = Xo + dlt * Math.cos(alpha);\n\t\t\t\tYc = Yo - dlt * Math.sin(alpha);\n\t\t\t\tXz = Xi - dlb * Math.cos(alpha);\n\t\t\t\tYz = Yi + dlb * Math.sin(alpha);\n\n\t\t\t\tXa = Xz + dw * Math.sin(alpha);\n\t\t\t\tYa = Yz + dw * Math.cos(alpha);\n\t\t\t\tXb = Xz - dw * Math.sin(alpha);\n\t\t\t\tYb = Yz - dw * Math.cos(alpha);\n\n\t\t\t\tpath = \"M\" + Xa + \",\" + Ya + \" \";\n\t\t\t\tpath += \"L\" + Xb + \",\" + Yb + \" \";\n\t\t\t\tpath += \"L\" + Xc + \",\" + Yc + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\talpha = (1 - (value - min) / (max - min)) * Math.PI;\n\t\t\t\tRo = w / 2 - w / 10;\n\t\t\t\tRi = Ro - (w / 6.666666666666667) * gws;\n\n\t\t\t\t// Cx = w / 2 + dx\n\t\t\t\tCy = h / 1.25 + dy;\n\n\t\t\t\tXo = w / 2 + dx + Ro * Math.cos(alpha);\n\t\t\t\tYo = h - (h - Cy) - Ro * Math.sin(alpha);\n\t\t\t\tXi = w / 2 + dx + Ri * Math.cos(alpha);\n\t\t\t\tYi = h - (h - Cy) - Ri * Math.sin(alpha);\n\n\t\t\t\tXc = Xo + dlt * Math.cos(alpha);\n\t\t\t\tYc = Yo - dlt * Math.sin(alpha);\n\t\t\t\tXz = Xi - dlb * Math.cos(alpha);\n\t\t\t\tYz = Yi + dlb * Math.sin(alpha);\n\n\t\t\t\tXa = Xz + dw * Math.sin(alpha);\n\t\t\t\tYa = Yz + dw * Math.cos(alpha);\n\t\t\t\tXb = Xz - dw * Math.sin(alpha);\n\t\t\t\tYb = Yz - dw * Math.cos(alpha);\n\n\t\t\t\tpath = \"M\" + Xa + \",\" + Ya + \" \";\n\t\t\t\tpath += \"L\" + Xb + \",\" + Yb + \" \";\n\t\t\t\tpath += \"L\" + Xc + \",\" + Yc + \" \";\n\t\t\t\tpath += \"Z \";\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: path,\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t// gauge\n\t\tthis.gauge = this.canvas.path().attr({\n\t\t\tstroke: \"none\",\n\t\t\tfill: this.config.gaugeColor,\n\t\t\tpki: [this.config.max],\n\t\t});\n\n\t\t// level\n\t\tthis.level = this.canvas.path().attr({\n\t\t\tstroke: \"none\",\n\t\t\tfill: getColor(\n\t\t\t\tthis.config.value,\n\t\t\t\t(this.config.value - this.config.min) / (this.config.max - this.config.min),\n\t\t\t\tthis.config.levelColors,\n\t\t\t\tthis.config.noGradient,\n\t\t\t\tthis.config.customSectors,\n\t\t\t),\n\t\t\tpki: [this.config.min],\n\t\t});\n\t\tif (this.config.donut) {\n\t\t\tthis.level.transform(\n\t\t\t\t\"r\" + this.config.donutStartAngle + \", \" + (this.params.widgetW / 2 + this.params.dx) + \", \" + (this.params.widgetH / 2 + this.params.dy),\n\t\t\t);\n\t\t}\n\n\t\tif (this.config.pointer) {\n\t\t\t// needle\n\t\t\tthis.needle = this.canvas.path().attr({\n\t\t\t\tstroke: !isUndefined(this.config.pointerOptions.stroke) ? this.config.pointerOptions.stroke : \"none\",\n\t\t\t\t\"stroke-width\": !isUndefined(this.config.pointerOptions.stroke_width) ? this.config.pointerOptions.stroke_width : 0,\n\t\t\t\t\"stroke-linecap\": !isUndefined(this.config.pointerOptions.stroke_linecap) ? this.config.pointerOptions.stroke_linecap : \"square\",\n\t\t\t\tfill: !isUndefined(this.config.pointerOptions.color) ? this.config.pointerOptions.color : \"#000000\",\n\t\t\t\tndl: [this.config.min],\n\t\t\t});\n\n\t\t\tif (this.config.donut) {\n\t\t\t\tthis.needle.transform(\n\t\t\t\t\t\"r\" + this.config.donutStartAngle + \", \" + (this.params.widgetW / 2 + this.params.dx) + \", \" + (this.params.widgetH / 2 + this.params.dy),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// value\n\t\tthis.txtValue = this.canvas.text(this.params.valueX, this.params.valueY, 0);\n\t\tthis.txtValue.attr({\n\t\t\t\"font-size\": this.params.valueFontSize,\n\t\t\t\"font-weight\": \"bold\",\n\t\t\t\"font-family\": this.config.valueFontFamily,\n\t\t\tfill: this.config.valueFontColor,\n\t\t\t\"fill-opacity\": \"0\",\n\t\t});\n\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\n\t\t// label\n\t\tthis.txtLabel = this.canvas.text(this.params.labelX, this.params.labelY, this.config.label);\n\t\tthis.txtLabel.attr({\n\t\t\t\"font-size\": this.params.labelFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": \"0\",\n\t\t});\n\t\tsetDy(this.txtLabel, this.params.labelFontSize, this.params.labelY);\n\n\t\t// min\n\t\tlet min = this.config.min;\n\t\tif (this.config.reverse) {\n\t\t\tmin = this.config.max;\n\t\t}\n\n\t\tthis.txtMinimum = min;\n\t\tif (this.config.minTxt) {\n\t\t\tthis.txtMinimum = this.config.minTxt;\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.txtMinimum = humanFriendlyNumber(min, this.config.humanFriendlyDecimal);\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.txtMinimum = formatNumber(min);\n\t\t}\n\t\tthis.txtMin = this.canvas.text(this.params.minX, this.params.minY, this.txtMinimum);\n\t\tthis.txtMin.attr({\n\t\t\t\"font-size\": this.params.minFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": this.config.hideMinMax || this.config.donut ? \"0\" : \"1\",\n\t\t});\n\t\tsetDy(this.txtMin, this.params.minFontSize, this.params.minY);\n\n\t\t// max\n\t\tlet max = this.config.max;\n\t\tif (this.config.reverse) {\n\t\t\tmax = this.config.min;\n\t\t}\n\t\tthis.txtMaximum = max;\n\t\tif (this.config.maxTxt) {\n\t\t\tthis.txtMaximum = this.config.maxTxt;\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.txtMaximum = humanFriendlyNumber(max, this.config.humanFriendlyDecimal);\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.txtMaximum = formatNumber(max);\n\t\t}\n\t\tthis.txtMax = this.canvas.text(this.params.maxX, this.params.maxY, this.txtMaximum);\n\t\tthis.txtMax.attr({\n\t\t\t\"font-size\": this.params.maxFontSize,\n\t\t\t\"font-weight\": \"normal\",\n\t\t\t\"font-family\": this.config.labelFontFamily,\n\t\t\tfill: this.config.labelFontColor,\n\t\t\t\"fill-opacity\": this.config.hideMinMax || this.config.donut ? \"0\" : \"1\",\n\t\t});\n\t\tsetDy(this.txtMax, this.params.maxFontSize, this.params.maxY);\n\n\t\tconst defs = this.canvas.canvas.childNodes[1];\n\t\tconst svg = \"http://www.w3.org/2000/svg\";\n\n\t\tif (ie !== undefined && ie < 9) {\n\t\t\t// VML mode - no SVG & SVG filter support\n\t\t} else if (ie !== undefined) {\n\t\t\tonCreateElementNsReady(() => {\n\t\t\t\tthis.generateShadow(svg, defs);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.generateShadow(svg, defs);\n\t\t}\n\n\t\t// set value to display\n\t\tif (this.config.textRenderer && this.config.textRenderer(this.originalValue) !== false) {\n\t\t\tthis.originalValue = this.config.textRenderer(this.originalValue);\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tthis.originalValue = humanFriendlyNumber(this.originalValue, this.config.humanFriendlyDecimal) + this.config.symbol;\n\t\t} else if (this.config.formatNumber) {\n\t\t\tthis.originalValue = formatNumber(this.originalValue) + this.config.symbol;\n\t\t} else if (this.config.displayRemaining) {\n\t\t\tthis.originalValue = ((this.config.max - this.originalValue) * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t} else {\n\t\t\tthis.originalValue = (this.originalValue * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t}\n\n\t\tif (this.config.counter === true) {\n\t\t\t// on each animation frame\n\t\t\tconst onFrame = () => {\n\t\t\t\tlet currentValue = this.level.attr(\"pki\")[0];\n\t\t\t\tif (this.config.reverse) {\n\t\t\t\t\tcurrentValue = this.config.max * 1 + this.config.min * 1 - this.level.attr(\"pki\")[0] * 1;\n\t\t\t\t}\n\t\t\t\tif (this.config.textRenderer && this.config.textRenderer(Math.floor(currentValue)) !== false) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", this.config.textRenderer(Math.floor(currentValue)));\n\t\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", humanFriendlyNumber(Math.floor(currentValue), this.config.humanFriendlyDecimal) + this.config.symbol);\n\t\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", formatNumber(Math.floor(currentValue)) + this.config.symbol);\n\t\t\t\t} else if (this.config.displayRemaining) {\n\t\t\t\t\tthis.txtValue.attr(\"text\", ((this.config.max - currentValue) * 1).toFixed(this.config.decimals) + this.config.symbol);\n\t\t\t\t} else {\n\t\t\t\t\tthis.txtValue.attr(\"text\", (currentValue * 1).toFixed(this.config.decimals) + this.config.symbol);\n\t\t\t\t}\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t\tcurrentValue = null;\n\t\t\t};\n\n\t\t\t// on animation end\n\t\t\tconst onFinish = () => {\n\t\t\t\tthis.txtValue.attr({\n\t\t\t\t\ttext: this.originalValue,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t};\n\n\t\t\tthis.bindEvent(\"raphael.anim.finish\", onFinish);\n\t\t\tthis.bindEvent(\"raphael.anim.frame\", onFrame);\n\t\t} else {\n\t\t\t// on animation start\n\t\t\tconst onStart = () => {\n\t\t\t\tthis.txtValue.attr({\n\t\t\t\t\ttext: this.originalValue,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t\t};\n\n\t\t\tthis.bindEvent(\"raphael.anim.start\", onStart);\n\t\t}\n\n\t\t// animate gauge level, value & label\n\t\tlet rvl = this.config.value;\n\t\tif (this.config.reverse) {\n\t\t\trvl = this.config.max * 1 + this.config.min * 1 - this.config.value * 1;\n\t\t}\n\t\tthis.level.animate(\n\t\t\t{\n\t\t\t\tpki: [rvl],\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t\tthis.config.onAnimationEnd,\n\t\t);\n\n\t\tif (this.config.pointer) {\n\t\t\tthis.needle.animate(\n\t\t\t\t{\n\t\t\t\t\tndl: [rvl],\n\t\t\t\t},\n\t\t\t\tthis.config.startAnimationTime,\n\t\t\t\tthis.config.startAnimationType,\n\t\t\t);\n\t\t}\n\n\t\tthis.txtValue.animate(\n\t\t\t{\n\t\t\t\t\"fill-opacity\": this.config.hideValue ? \"0\" : \"1\",\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t);\n\t\tthis.txtLabel.animate(\n\t\t\t{\n\t\t\t\t\"fill-opacity\": \"1\",\n\t\t\t},\n\t\t\tthis.config.startAnimationTime,\n\t\t\tthis.config.startAnimationType,\n\t\t);\n\t}\n\n\t/**\n\t * Bind a function to a Raphael eve event\n\t *\n\t * @param {String} eventName Raphael event name\n\t * @param {Function} func The function to call on that event\n\t */\n\tbindEvent(eventName, func) {\n\t\t// add the level id to the event\n\t\teventName += \".\" + this.level.id;\n\n\t\t// check for existing bind events\n\t\tif (this.events[eventName]) {\n\t\t\tRaphael.eve.off(eventName, this.events[eventName]);\n\t\t}\n\n\t\tRaphael.eve.on(eventName, func);\n\n\t\tthis.events[eventName] = func;\n\t}\n\t/**\n\t * Update Gauge values\n\t *\n\t * @param {Number} val The value\n\t * @param {Number|String} max Max value\n\t * @param {Number|String} min Min value\n\t * @param {String} label The Label\n\t */\n\trefresh(val, max, min, label) {\n\t\tlet displayVal;\n\n\t\tmax = isNumber(max) ? max : null;\n\t\tmin = isNumber(min) ? min : null;\n\t\tlabel = label || null;\n\n\t\t// set label min\n\t\tif (label !== null) {\n\t\t\tthis.config.label = label;\n\n\t\t\tthis.txtLabel.attr({\n\t\t\t\ttext: this.config.label,\n\t\t\t});\n\t\t\tsetDy(this.txtLabel, this.params.labelFontSize, this.params.labelY);\n\t\t}\n\n\t\t// set new min\n\t\tif (min !== null) {\n\t\t\tthis.config.min = min;\n\t\t\t// TODO: update customSectors\n\n\t\t\tthis.txtMinimum = this.config.min;\n\t\t\tif (this.config.minTxt) {\n\t\t\t\tthis.txtMinimum = this.config.minTxt;\n\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\tthis.txtMinimum = humanFriendlyNumber(this.config.min, this.config.humanFriendlyDecimal);\n\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\tthis.txtMinimum = formatNumber(this.config.min);\n\t\t\t}\n\t\t\tif (!this.config.reverse) {\n\t\t\t\tthis.txtMin.attr({\n\t\t\t\t\ttext: this.txtMinimum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMin, this.params.minFontSize, this.params.minY);\n\t\t\t} else {\n\t\t\t\tthis.txtMax.attr({\n\t\t\t\t\ttext: this.txtMinimum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMax, this.params.minFontSize, this.params.minY);\n\t\t\t}\n\t\t}\n\n\t\t// set new max\n\t\tif (max !== null) {\n\t\t\tthis.config.max = max;\n\n\t\t\tthis.txtMaximum = this.config.max;\n\t\t\tif (this.config.maxTxt) {\n\t\t\t\tthis.txtMaximum = this.config.maxTxt;\n\t\t\t} else if (this.config.humanFriendly) {\n\t\t\t\tthis.txtMaximum = humanFriendlyNumber(this.config.max, this.config.humanFriendlyDecimal);\n\t\t\t} else if (this.config.formatNumber) {\n\t\t\t\tthis.txtMaximum = formatNumber(this.config.max);\n\t\t\t}\n\t\t\tif (!this.config.reverse) {\n\t\t\t\tthis.txtMax.attr({\n\t\t\t\t\ttext: this.txtMaximum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMax, this.params.maxFontSize, this.params.maxY);\n\t\t\t} else {\n\t\t\t\tthis.txtMin.attr({\n\t\t\t\t\ttext: this.txtMaximum,\n\t\t\t\t});\n\t\t\t\tsetDy(this.txtMin, this.params.maxFontSize, this.params.maxY);\n\t\t\t}\n\t\t}\n\n\t\t// overflow values\n\t\tdisplayVal = val;\n\t\tif (val * 1 > this.config.max * 1) {\n\t\t\tval = this.config.max * 1;\n\t\t}\n\t\tif (val * 1 < this.config.min * 1) {\n\t\t\tval = this.config.min * 1;\n\t\t}\n\n\t\tconst color = getColor(\n\t\t\tval,\n\t\t\t(val - this.config.min) / (this.config.max - this.config.min),\n\t\t\tthis.config.levelColors,\n\t\t\tthis.config.noGradient,\n\t\t\tthis.config.customSectors,\n\t\t);\n\n\t\tif (this.config.textRenderer && this.config.textRenderer(displayVal) !== false) {\n\t\t\tdisplayVal = this.config.textRenderer(displayVal);\n\t\t} else if (this.config.humanFriendly) {\n\t\t\tdisplayVal = humanFriendlyNumber(displayVal, this.config.humanFriendlyDecimal) + this.config.symbol;\n\t\t} else if (this.config.formatNumber) {\n\t\t\tdisplayVal = formatNumber((displayVal * 1).toFixed(this.config.decimals)) + this.config.symbol;\n\t\t} else if (this.config.displayRemaining) {\n\t\t\tdisplayVal = ((this.config.max - displayVal) * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t} else {\n\t\t\tdisplayVal = (displayVal * 1).toFixed(this.config.decimals) + this.config.symbol;\n\t\t}\n\t\tthis.originalValue = displayVal;\n\t\tthis.config.value = val * 1;\n\n\t\tif (!this.config.counter) {\n\t\t\tthis.txtValue.attr({\n\t\t\t\ttext: displayVal,\n\t\t\t});\n\t\t\tsetDy(this.txtValue, this.params.valueFontSize, this.params.valueY);\n\t\t}\n\n\t\tlet rvl = this.config.value;\n\t\tif (this.config.reverse) {\n\t\t\trvl = this.config.max * 1 + this.config.min * 1 - this.config.value * 1;\n\t\t}\n\n\t\tthis.level.animate(\n\t\t\t{\n\t\t\t\tpki: [rvl],\n\t\t\t\tfill: color,\n\t\t\t},\n\t\t\tthis.config.refreshAnimationTime,\n\t\t\tthis.config.refreshAnimationType,\n\t\t\tthis.config.onAnimationEnd,\n\t\t);\n\n\t\tif (this.config.pointer) {\n\t\t\tthis.needle.animate(\n\t\t\t\t{\n\t\t\t\t\tndl: [rvl],\n\t\t\t\t},\n\t\t\t\tthis.config.refreshAnimationTime,\n\t\t\t\tthis.config.refreshAnimationType,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Update Gauge options\n\t *\n\t * @param options {String} option The target option name\n\t * @param val {Number|String} val The value to be assigned to the option\n\t *\n\t * Alternative signature\n\t * @param options {String|Object} options name and value\n\t */\n\tupdate(options, val) {\n\t\tconst obj = this;\n\n\t\t// options as an object of option/val values\n\t\tif (options instanceof Object) {\n\t\t\tfor (const option in options) {\n\t\t\t\tval = options[option];\n\t\t\t\tupdateProp(obj, option, val);\n\t\t\t}\n\n\t\t\t// options as single option/val\n\t\t} else {\n\t\t\tupdateProp(obj, options, val);\n\t\t}\n\t}\n\t/**\n\t * Destroy the Gauge Object and unbind events\n\t *\n\t */\n\tdestroy() {\n\t\tif (this.node && this.node.parentNode) this.node.innerHTML = \"\";\n\n\t\tfor (const event in this.events) {\n\t\t\tRaphael.eve.off(event, this.events[event]);\n\t\t}\n\n\t\tthis.events = {};\n\t}\n\n\t/**\n\t * Generate Shadow\n\t *\n\t * @param {Object} svg The Svg element Object\n\t * @param {Object} defs The defs element Object\n\t */\n\tgenerateShadow(svg, defs) {\n\t\tconst sid = \"inner-shadow-\" + (this.config.element.id || this.config.classId);\n\n\t\t// FILTER\n\t\tconst gaussFilter = document.createElementNS(svg, \"filter\");\n\t\tgaussFilter.setAttribute(\"id\", sid);\n\t\tdefs.appendChild(gaussFilter);\n\n\t\t// offset\n\t\tconst feOffset = document.createElementNS(svg, \"feOffset\");\n\t\tfeOffset.setAttribute(\"dx\", \"0\");\n\t\tfeOffset.setAttribute(\"dy\", this.config.shadowVerticalOffset);\n\t\tgaussFilter.appendChild(feOffset);\n\n\t\t// blur\n\t\tconst feGaussianBlur = document.createElementNS(svg, \"feGaussianBlur\");\n\t\tfeGaussianBlur.setAttribute(\"result\", \"offset-blur\");\n\t\tfeGaussianBlur.setAttribute(\"stdDeviation\", this.config.shadowSize);\n\t\tgaussFilter.appendChild(feGaussianBlur);\n\n\t\t// composite 1\n\t\tconst feComposite1 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite1.setAttribute(\"operator\", \"out\");\n\t\tfeComposite1.setAttribute(\"in\", \"SourceGraphic\");\n\t\tfeComposite1.setAttribute(\"in2\", \"offset-blur\");\n\t\tfeComposite1.setAttribute(\"result\", \"inverse\");\n\t\tgaussFilter.appendChild(feComposite1);\n\n\t\t// flood\n\t\tconst feFlood = document.createElementNS(svg, \"feFlood\");\n\t\tfeFlood.setAttribute(\"flood-color\", \"black\");\n\t\tfeFlood.setAttribute(\"flood-opacity\", this.config.shadowOpacity);\n\t\tfeFlood.setAttribute(\"result\", \"color\");\n\t\tgaussFilter.appendChild(feFlood);\n\n\t\t// composite 2\n\t\tconst feComposite2 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite2.setAttribute(\"operator\", \"in\");\n\t\tfeComposite2.setAttribute(\"in\", \"color\");\n\t\tfeComposite2.setAttribute(\"in2\", \"inverse\");\n\t\tfeComposite2.setAttribute(\"result\", \"shadow\");\n\t\tgaussFilter.appendChild(feComposite2);\n\n\t\t// composite 3\n\t\tconst feComposite3 = document.createElementNS(svg, \"feComposite\");\n\t\tfeComposite3.setAttribute(\"operator\", \"over\");\n\t\tfeComposite3.setAttribute(\"in\", \"shadow\");\n\t\tfeComposite3.setAttribute(\"in2\", \"SourceGraphic\");\n\t\tgaussFilter.appendChild(feComposite3);\n\n\t\t// set shadow\n\t\tif (this.config.showInnerShadow) {\n\t\t\tthis.canvas.canvas.childNodes[2].setAttribute(\"filter\", \"url(#\" + sid + \")\");\n\t\t\tthis.canvas.canvas.childNodes[3].setAttribute(\"filter\", \"url(#\" + sid + \")\");\n\t\t}\n\t}\n}\n\n/**\n * Utility function to update properties to a JustGage object\n *\n * @param obj {JustGage Object} JustGage object to apply the property update to\n * @param option {String} option name\n * @param val {String} option value\n */\nfunction updateProp(obj, option, val) {\n\tswitch (option) {\n\t\tcase \"valueFontColor\":\n\t\t\tif (!isHexColor(val)) {\n\t\t\t\tconsole.log(\"* justgage: the updated valueFontColor value is not a valid hex color\");\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tobj.txtValue.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tbreak;\n\n\t\tcase \"labelFontColor\":\n\t\t\tif (!isHexColor(val)) {\n\t\t\t\tconsole.log(\"* justgage: the updated labelFontColor value is not a valid hex color\");\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tobj.txtMin.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tobj.txtMax.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\t\t\tobj.txtLabel.attr({\n\t\t\t\tfill: val,\n\t\t\t});\n\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tconsole.log(`* justgage: \"${option}\" is not a supported update setting`);\n\t}\n}\n\n//\n// tiny helper function to lookup value of a key from two hash tables\n// if none found, return defaultvalue\n//\n// key: string\n// tablea: object\n// tableb: DOMStringMap|object\n// defval: string|integer|float|null\n// datatype: return datatype\n// delimiter: delimiter to be used in conjunction with datatype formatting\n//\nfunction kvLookup(key, tablea, tableb, defval, datatype, delimiter) {\n\tlet val = defval;\n\tlet canConvert = false;\n\tif (!isUndefined(key)) {\n\t\tif (!isUndefined(tableb) && typeof tableb === \"object\" && key in tableb) {\n\t\t\tval = tableb[key];\n\t\t\tcanConvert = true;\n\t\t} else if (!isUndefined(tablea) && typeof tablea === \"object\" && key in tablea) {\n\t\t\tval = tablea[key];\n\t\t\tcanConvert = true;\n\t\t} else {\n\t\t\tval = defval;\n\t\t}\n\t\tif (canConvert === true) {\n\t\t\tif (!isUndefined(datatype)) {\n\t\t\t\tswitch (datatype) {\n\t\t\t\t\tcase \"int\":\n\t\t\t\t\t\tval = parseInt(val, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"float\":\n\t\t\t\t\t\tval = parseFloat(val);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn val;\n}\n\nfunction isUndefined(v) {\n\treturn v === null || v === undefined;\n}\n\n/** Get color for value */\nfunction getColor(val, pct, col, noGradient, custSec) {\n\tlet percentage, rval, gval, bval, lower, upper, range, rangePct, pctLower, pctUpper, color;\n\tconst cust = custSec && custSec.ranges && custSec.ranges.length > 0;\n\tnoGradient = noGradient || cust;\n\n\tif (cust) {\n\t\tif (custSec.percents === true) val = pct * 100;\n\t\tfor (let i = 0; i < custSec.ranges.length; i++) {\n\t\t\tif (val >= custSec.ranges[i].lo && val <= custSec.ranges[i].hi) {\n\t\t\t\treturn custSec.ranges[i].color;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst no = col.length;\n\tif (no === 1) return col[0];\n\tconst inc = noGradient ? 1 / no : 1 / (no - 1);\n\tconst colors = [];\n\tfor (let i = 0; i < col.length; i++) {\n\t\tpercentage = noGradient ? inc * (i + 1) : inc * i;\n\t\trval = parseInt(cutHex(col[i]).substring(0, 2), 16);\n\t\tgval = parseInt(cutHex(col[i]).substring(2, 4), 16);\n\t\tbval = parseInt(cutHex(col[i]).substring(4, 6), 16);\n\t\tcolors[i] = {\n\t\t\tpct: percentage,\n\t\t\tcolor: {\n\t\t\t\tr: rval,\n\t\t\t\tg: gval,\n\t\t\t\tb: bval,\n\t\t\t},\n\t\t};\n\t}\n\n\tif (pct === 0) {\n\t\treturn \"rgb(\" + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(\",\") + \")\";\n\t}\n\n\tfor (let j = 0; j < colors.length; j++) {\n\t\tif (pct <= colors[j].pct) {\n\t\t\tif (noGradient) {\n\t\t\t\treturn \"rgb(\" + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(\",\") + \")\";\n\t\t\t} else {\n\t\t\t\tlower = colors[j - 1];\n\t\t\t\tupper = colors[j];\n\t\t\t\trange = upper.pct - lower.pct;\n\t\t\t\trangePct = (pct - lower.pct) / range;\n\t\t\t\tpctLower = 1 - rangePct;\n\t\t\t\tpctUpper = rangePct;\n\t\t\t\tcolor = {\n\t\t\t\t\tr: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper),\n\t\t\t\t\tg: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper),\n\t\t\t\t\tb: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper),\n\t\t\t\t};\n\t\t\t\treturn \"rgb(\" + [color.r, color.g, color.b].join(\",\") + \")\";\n\t\t\t}\n\t\t}\n\t}\n}\n\n/** Fix Raphael display:none tspan dy attribute bug */\nfunction setDy(elem, fontSize, txtYpos) {\n\tif ((!ie || ie > 9) && elem.node.firstChild.attributes.dy) {\n\t\telem.node.firstChild.attributes.dy.value = 0;\n\t}\n}\n\n/** Cut hex */\nfunction cutHex(str) {\n\treturn str.charAt(0) === \"#\" ? str.substring(1, 7) : str;\n}\n\n/**\n * Validate if html hex color presentation\n *\n * @param val\n * @returns {*|boolean}\n */\nfunction isHexColor(val) {\n\tconst regExp = /^#([0-9A-Fa-f]{3}){1,2}$/;\n\treturn typeof val === \"string\" && regExp.test(val);\n}\n\n/** Human friendly number suffix - @robertsLando */\nfunction humanFriendlyNumber(n, d) {\n\tconst d2 = Math.pow(10, d);\n\tconst s = \" KMGTPE\";\n\tlet i = 0;\n\tconst c = 1000;\n\n\twhile ((n >= c || n <= -c) && ++i < s.length) n = n / c;\n\n\ti = i >= s.length ? s.length - 1 : i;\n\n\treturn Math.round(n * d2) / d2 + s[i];\n}\n\n/** Format numbers with commas - From: http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript */\nfunction formatNumber(x) {\n\tconst parts = x.toString().split(\".\");\n\tparts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\treturn parts.join(\".\");\n}\n\n/** Get style */\nfunction getStyle(oElm, strCssRule) {\n\tlet strValue = \"\";\n\tif (document.defaultView && document.defaultView.getComputedStyle) {\n\t\tstrValue = document.defaultView.getComputedStyle(oElm, \"\").getPropertyValue(strCssRule);\n\t} else if (oElm.currentStyle) {\n\t\tstrCssRule = strCssRule.replace(/-(\\w)/g, function (strMatch, p1) {\n\t\t\treturn p1.toUpperCase();\n\t\t});\n\t\tstrValue = oElm.currentStyle[strCssRule];\n\t}\n\treturn strValue;\n}\n\n/** Create Element NS Ready */\nfunction onCreateElementNsReady(func) {\n\tif (document.createElementNS !== undefined) {\n\t\tfunc();\n\t} else {\n\t\tsetTimeout(function () {\n\t\t\tonCreateElementNsReady(func);\n\t\t}, 100);\n\t}\n}\n\n/** Get IE version */\n// ----------------------------------------------------------\n// A short snippet for detecting versions of IE in JavaScript\n// without resorting to user-agent sniffing\n// ----------------------------------------------------------\n// If you're not in IE (or IE version is less than 5) then:\n// ie === undefined\n// If you're in IE (>=5) then you can determine which version:\n// ie === 7; // IE7\n// Thus, to detect IE:\n// if (ie) {}\n// And to detect the version:\n// ie === 6 // IE6\n// ie > 7 // IE8, IE9 ...\n// ie < 9 // Anything less than IE9\n// ----------------------------------------------------------\n// UPDATE: Now using Live NodeList idea from @jdalton\nconst ie = (function () {\n\tlet v = 3;\n\tconst div = document.createElement(\"div\");\n\tconst all = div.getElementsByTagName(\"i\");\n\n\twhile (all[0]) {\n\t\tdiv.innerHTML = \"<!--[if gt IE \" + ++v + \"]><i></i><![endif]-->\";\n\t}\n\treturn v > 4 ? v : undefined;\n})();\n\n// extend target object with second object\nfunction extend(out) {\n\tout = out || {};\n\n\tfor (let i = 1; i < arguments.length; i++) {\n\t\tif (!arguments[i]) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfor (const key in arguments[i]) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n\t\t\t\tout[key] = arguments[i][key];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n\nfunction isNumber(n) {\n\treturn n !== null && n !== undefined && !isNaN(n);\n}\n\n/**\n * Generate UUID\n * @returns UUID\n */\nfunction uuid() {\n\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n\t\tconst r = (Math.random() * 16) | 0;\n\t\tconst v = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n}\n","<svelte:options tag=\"hb-gauge\" />\n\n<script lang=\"ts\">\n\timport { get_current_component, onDestroy, onMount } from \"svelte/internal\";\n\timport debounce from \"debounce\";\n\n\timport { createEventDispatcher } from \"svelte\";\n\timport JustGage from \"@app/functions/justgage\";\n\timport pkg from \"../../package.json\";\n\tconst component = get_current_component();\n\t// const svelteDispatch = createEventDispatcher();\n\t// function dispatch(name:string, detail:any) {\n\t// \tsvelteDispatch(name, detail);\n\t// \tcomponent.dispatchEvent && component.dispatchEvent(new CustomEvent(name, { detail }));\n\t// }\n\tlet gaugeEl: HTMLElement;\n\tlet gauge: JustGage;\n\texport let id: string;\n\texport let options: any;\n\n\t$: {\n\t\tif (!id) id = \"\";\n\t\tif (options && typeof options === \"string\") {\n\t\t\toptions = JSON.parse(options);\n\t\t}\n\t\tif (gaugeEl && gauge) {\n\t\t\trecreateGauge();\n\t\t}\n\t}\n\t// function updateGauge(val: number) {\n\t// \tif (gauge) gauge.refresh(val, null, null, null);\n\t// }\n\tfunction recreateGauge() {\n\t\tif (gauge) gauge.destroy();\n\t\tgauge = null;\n\n\t\tcreateGauge();\n\t}\n\tfunction createGauge() {\n\t\tif (!options || !gaugeEl) return console.error(\"cannot create gauge\");\n\t\tif (!gauge) {\n\t\t\tconst opts = Object.assign({ element: gaugeEl }, options);\n\t\t\tgauge = new JustGage(opts);\n\t\t} else {\n\t\t\tconsole.error(\"cannot create html gauge\");\n\t\t}\n\t}\n\tonMount(() => {\n\t\tgaugeEl = component.shadowRoot.getElementById(\"gauge\");\n\t\tcreateGauge();\n\t});\n\tonDestroy(() => {\n\t\tif (gauge) gauge.destroy();\n\t\tgauge = null;\n\t});\n</script>\n\n<div part=\"gauge\" style=\"width:100%\" id=\"gauge\" />\n<svelte:window on:resize={debounce(recreateGauge, 200)} />\n\n<style lang=\"scss\">\n\t// @import \"../styles/webcomponent.scss\";\n</style>\n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","insert","target","node","anchor","insertBefore","detach","parentNode","removeChild","attr","attribute","value","removeAttribute","getAttribute","setAttribute","attribute_to_object","attributes","result","name","current_component","set_current_component","component","get_current_component","Error","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","push","seen_callbacks","Set","flushidx","flush","saved_component","length","update","$$","pop","i","callback","has","add","clear","fragment","before_update","dirty","p","ctx","after_update","outroing","make_dirty","then","fill","init","options","instance","create_fragment","not_equal","props","append_styles","parent_component","bound","on_mount","on_destroy","on_disconnect","context","Map","callbacks","skip_bound","root","ready","ret","rest","hydrate","nodes","element","Array","from","childNodes","children","l","c","intro","block","delete","local","customElement","m","new_on_destroy","map","filter","mount_component","SvelteElement","debounce","func","wait","immediate","timeout","args","timestamp","later","last","Date","now","setTimeout","apply","debounced","this","arguments","callNow","clearTimeout","HTMLElement","constructor","super","attachShadow","mode","connectedCallback","key","slotted","appendChild","attributeChangedCallback","_oldValue","newValue","disconnectedCallback","$destroy","detaching","d","destroy_component","$on","type","index","indexOf","splice","$set","$$props","obj","$$set","keys","debounce_1","window","module","t","e","r","exports","n","call","o","defineProperty","enumerable","get","Symbol","toStringTag","__esModule","bind","default","prototype","hasOwnProperty","s","is","on","A","_engine","T","slice","version","eve","et","rt","circle","rect","path","ellipse","text","image","doc","document","win","h","was","Raphael","u","ca","customAttributes","f","TouchEvent","DocumentTouch","g","x","String","v","y","mousedown","mousemove","mouseup","toLowerCase","_","Math","w","max","k","min","B","abs","C","pow","S","PI","M","toString","E","_ISURL","N","NaN","Infinity","L","P","round","z","parseFloat","F","parseInt","R","toUpperCase","j","_availableAttrs","blur","cursor","cx","cy","font","gradient","height","href","opacity","rx","ry","src","stroke","title","transform","width","class","I","_availableAnimAttrs","D","q","hs","rg","O","V","W","Y","G","_radial_gradient","H","X","U","_rectPath","$","Z","_getPath","attrs","_getBBox","set","Q","mapPath","Tt","_g","SVGAngle","implementation","hasFeature","J","K","createElement","innerHTML","firstChild","style","behavior","adj","tt","svg","vml","_Paper","_id","isArray","angle","atan2","rad","deg","snapTo","createUUID","random","replace","setWindow","initWin","it","ActiveXObject","write","close","body","createPopup","createTextRange","ht","color","queryCommandValue","display","defaultView","getComputedStyle","getPropertyValue","nt","at","st","hex","ot","getRGB","lt","rgb","join","cache","count","shift","ut","ct","hsb2rgb","hsl2rgb","rgb2hsl","rgb2hsb","_path2string","_preload","cssText","onload","onerror","error","substring","charAt","match","hsb","hsl","getColor","start","reset","parsePathString","ft","arr","mt","parseTransformString","ps","sleep","pt","dt","sqrt","gt","toFixed","xt","bezierBBox","isBBoxIntersect","findDotsAtSegment","concat","t1","t2","vt","_path2curve","segment1","segment2","bez1","bez2","end","alpha","St","x2","y2","isPointInsideBBox","pathIntersection","pathIntersectionNumber","isPointInsidePath","pathBBox","_removedFactory","yt","bbox","bt","_pathToRelative","rel","_t","_pathToAbsolute","wt","kt","Bt","cos","sin","asin","tan","Ct","curve","bx","by","qx","qy","At","_parseDots","offset","_tear","top","prev","bottom","next","Mt","_tofront","_toback","_insertafter","_insertbefore","toMatrix","getBBox","Et","matrix","transformPath","_extractTransform","Pt","invert","translate","rotate","scale","dirtyT","sx","sy","dx","dy","Nt","Lt","_equaliseTransform","to","_getContainer","getElementById","tagName","container","pixelWidth","offsetWidth","pixelHeight","offsetHeight","pathToRelative","path2curve","clone","fromCharCode","toFilter","split","scalex","shear","scaley","acos","isSimple","isSuperSimple","noRotation","toTransformString","zt","returnValue","Ft","originalEvent","preventDefault","Rt","cancelBubble","jt","stopPropagation","It","documentElement","scrollTop","scrollLeft","clientX","clientY","Dt","addEventListener","targetTouches","removeEventListener","attachEvent","event","detachEvent","qt","Ot","touches","identifier","el","_drag","id","nextSibling","opera","paper","getElementByPoint","move_scope","Vt","unmousemove","unmouseup","end_scope","start_scope","Wt","Yt","events","unbind","shape","data","removeData","getData","hover","mouseover","mouseout","unhover","unmouseover","unmouseout","Gt","Ht","drag","onDragOver","undrag","unmousedown","__set__","format","ce","setStart","setFinish","getSize","canvas","setSize","setViewBox","raphael","elementFromPoint","getBoundingClientRect","ownerDocument","clientTop","clientLeft","pageYOffset","left","pageXOffset","createSVGRect","getIntersectionList","getById","raphaelid","getElementsByBBox","getElementsByPoint","isPointInside","realPath","removed","bboxwt","glow","offsetx","offsety","Xt","Ut","$t","Zt","Qt","getTotalLength","getPointAtLength","getSubpath","getPath","Jt","easing_formulas","linear","backIn","backOut","elastic","bounce","easeIn","easeOut","easeInOut","Kt","te","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","ee","paused","ms","easing","diff","initstatus","anim","percent","status","stop","re","real","repeat","totalOrigin","ae","percents","ie","ne","times","sort","del","origin","se","animateWith","animation","onAnimation","delay","floor","animate","setTime","pause","resume","oe","le","he","ue","items","fe","pe","exclude","insertAfter","registerFont","face","fonts","glyphs","getFont","normal","bold","lighter","bolder","RegExp","test","print","descent","fullfill","ninja","readyState","listeners","firstDefined","lastDefined","zIndex","_events","separator","nts","off","once","classic","diamond","open","oval","setAttributeNS","createElementNS","webkitTapHighlightColor","isNaN","defs","fx","fy","x1","y1","gradientTransform","isFinite","fillOpacity","documentMode","location","protocol","host","pathname","search","pattern","patternTransform","arrows","endPath","endMarker","startPath","startMarker","getElementsByTagName","markerHeight","markerWidth","orient","refX","refY","startdx","enddx","square","butt","visibility","nodeValue","createTextNode","clip","startString","endString","patternUnits","hide","show","remove","parentElement","clientWidth","clientHeight","def","toFront","toBack","stdDeviation","_blur","preserveAspectRatio","_viewBox","xmlns","_left","_top","renderfix","_vbSize","viewBox","getScreenCTM","createSVGMatrix","desc","fillpos","coordsize","rotation","flip","coordorigin","fillsize","position","size","clipRect","textpath","fontFamily","fontSize","fontWeight","fontStyle","weight","joinstyle","miterlimit","endcap","dashstyle","span","string","right","bbx","method","color2","colors","focus","focussize","focusposition","_oid","_viewBoxShift","skew","auxGetBBox","runtimeStyle","margin","Path","textpathok","styleSheets","createStyleSheet","addRule","namespaces","rvml","JustGage","config","isUndefined","dataset","canvasW","canvasH","widgetW","widgetH","aspect","valueFontSize","valueX","valueY","labelFontSize","labelX","labelY","minFontSize","minX","minY","maxFontSize","maxX","maxY","defaults","out","extend","classId","kvLookup","valueFontColor","valueFontFamily","symbol","minTxt","maxTxt","reverse","humanFriendlyDecimal","textRenderer","onAnimationEnd","gaugeWidthScale","gaugeColor","label","labelFontColor","labelFontFamily","shadowOpacity","shadowSize","shadowVerticalOffset","levelColors","startAnimationTime","startAnimationType","refreshAnimationTime","refreshAnimationType","donutStartAngle","valueMinFontSize","labelMinFontSize","minLabelMinFontSize","maxLabelMinFontSize","hideValue","hideMinMax","showInnerShadow","humanFriendly","noGradient","donut","relativeGaugeSize","counter","decimals","customSectors","formatNumber","pointer","pointerOptions","displayRemaining","originalValue","Number","getStyle","params","pki","gws","Ro","Ri","Cx","Cy","Xo","Yo","Xi","Yi","ndl","Xc","Yc","Xz","Yz","Xa","Ya","Xb","Yb","dlt","dlb","dw","toplength","undefined","bottomlength","bottomwidth","gauge","level","needle","stroke_width","stroke_linecap","txtValue","setDy","txtLabel","txtMinimum","humanFriendlyNumber","txtMin","txtMaximum","txtMax","onCreateElementNsReady","generateShadow","onFrame","currentValue","onFinish","bindEvent","onStart","rvl","eventName","refresh","val","displayVal","isNumber","option","updateProp","destroy","sid","gaussFilter","feOffset","feGaussianBlur","feComposite1","feFlood","feComposite2","feComposite3","isHexColor","console","log","tablea","tableb","defval","datatype","delimiter","canConvert","pct","col","custSec","percentage","rval","gval","bval","lower","upper","range","rangePct","pctLower","pctUpper","cust","ranges","lo","hi","no","inc","cutHex","elem","txtYpos","str","d2","parts","oElm","strCssRule","strValue","currentStyle","strMatch","p1","div","all","important","removeProperty","setProperty","handler","gaugeEl","recreateGauge","$$invalidate","createGauge","opts","assign","onMount","shadowRoot","onDestroy","JSON","parse"],"mappings":"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"}