From 81493afa53a1a1d5ff4b417d05febf9f9e2a172b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Thu, 23 Jul 2020 00:28:47 +0200 Subject: Restructure --- static/css/style.css | 338 ----------------------------- static/images/add.png | Bin 800 -> 0 bytes static/images/arrow_left.png | Bin 9190 -> 0 bytes static/images/arrow_right.png | Bin 7846 -> 0 bytes static/images/closed.png | Bin 301 -> 0 bytes static/images/closed.svg | 73 ------- static/images/currency.png | Bin 3225 -> 0 bytes static/images/img01.gif | Bin 3840 -> 0 bytes static/images/img02.gif | Bin 4787 -> 0 bytes static/images/img03.gif | Bin 227 -> 0 bytes static/images/img04.gif | Bin 92 -> 0 bytes static/images/lupe.png | Bin 475 -> 0 bytes static/images/minus.png | Bin 3406 -> 0 bytes static/images/open.png | Bin 301 -> 0 bytes static/images/open.svg | 73 ------- static/images/undo.png | Bin 649 -> 0 bytes static/js/kosten.js | 280 ------------------------ static/js/lib/highstock-4.2.2.js | 431 ------------------------------------- static/js/lib/jquery-1.11.2.min.js | 4 - 19 files changed, 1199 deletions(-) delete mode 100644 static/css/style.css delete mode 100644 static/images/add.png delete mode 100644 static/images/arrow_left.png delete mode 100644 static/images/arrow_right.png delete mode 100644 static/images/closed.png delete mode 100644 static/images/closed.svg delete mode 100644 static/images/currency.png delete mode 100644 static/images/img01.gif delete mode 100644 static/images/img02.gif delete mode 100644 static/images/img03.gif delete mode 100644 static/images/img04.gif delete mode 100644 static/images/lupe.png delete mode 100644 static/images/minus.png delete mode 100644 static/images/open.png delete mode 100644 static/images/open.svg delete mode 100644 static/images/undo.png delete mode 100644 static/js/kosten.js delete mode 100644 static/js/lib/highstock-4.2.2.js delete mode 100644 static/js/lib/jquery-1.11.2.min.js (limited to 'static') diff --git a/static/css/style.css b/static/css/style.css deleted file mode 100644 index f2844f1..0000000 --- a/static/css/style.css +++ /dev/null @@ -1,338 +0,0 @@ -/* -Design by Free CSS Templates -http://www.freecsstemplates.org -Released for free under a Creative Commons Attribution 2.5 License -*/ - -body { - margin: 0; - padding: 0; - background: #000000; - font-size: 13px; - font-family: "Trebuchet MS", Georgia, "Times New Roman", Times, serif; - text-align: justify; - color: #FFFFFF; -} - - -h1, h2, h3 { - margin: 0; - text-transform: lowercase; - font-weight: normal; - color: #FFFFFF; -} - -h1 { - letter-spacing: -1px; - font-size: 32px; -} - -h2 { - font-size: 23px; -} - -h3 { - font-size: 18px; -} - -p, ul, ol { - text-align: justify; - line-height: 20px; -} - -p + h2, p + h3 { - margin-top: 1.5em; -} - -a:link { - color: #8BD80E; -} - -a:hover, a:active { - text-decoration: none; - color: #8BD80E; -} - -a:visited { - color: #8BD80E; -} - -img { - border: none; -} - -#left { - float: left; - margin-right: 15px; - text-decoration: none; -} - -#right { - float: right; - margin-left: 15px; - text-decoration: none; -} - -img.arrow { - width: 20px; - height: 20px; - vertical-align: middle; -} - -.navdate { - vertical-align: middle; - padding-right: 5px; - padding-left: 5px; -} - -.heading { - font-weight: bold; -} - -.detail .heading { - cursor: pointer; -} - -.detail > .mark { - cursor: pointer; -} - -ul.arrow { - list-style-image: url(../images/closed.png); -} - -.error { - color: #E15418; -} - -.pie { - display: inline-block; - width: 410px; - height: 150px; -} - -.month_exp { - display: inline-block; - width: 280px; - vertical-align: top; - margin-bottom: 30px; - margin-right: 10px; -} - -/* Header */ - -#header { - width: 760px; - margin: 0 auto; - height: 42px; -} - -#head-wrapper { - margin: 0; - padding: 0; - background: #FFFFFF url(../images/img01.gif) repeat-x left top; -} - -/* Menu */ - -#menu { - float: left; - width: 760px; - height: 50px; - background: url(../images/img02.gif) no-repeat left top; -} - -#menu > ul { - margin: 0; - padding: 0px 0 0 10px; - list-style: none; - line-height: normal; -} - -.menu-item { - display: block; - float: left; -} - -.menu-item > a { - display: block; - float: left; - background: url(../images/img04.gif) no-repeat right 55%; - margin-top: 5px; - margin-right: 3px; - padding: 8px 17px; - text-decoration: none; - font-size: 13px; - color: #000000; -} - -.menu-item > a:hover { - color: #000000; -} - -li.search { - display: block; - float: left; - cursor: pointer; - position: relative; -} - -img.search { - padding: 9px 10px; -} - -form.search { - position: relative; -} - -input.search { - position: absolute; - top: -10px; - left: -30px; - width: 80px; - overflow: hidden; -} - -input.search-submit { - position: absolute; - top: -20px; - z-index: -1; - color: transparent; - border: none; - outline: none; - opacity: 0; -} - -/** LOGO */ - -#logo { - width: 760px; - height: 80px; - margin: 0 auto; -} - -#logo > h1, #logo > h2, #logo > img { - float: left; - margin: 0; - padding: 30px 0 0 0px; - line-height: normal; -} - -#logo > img { - float: left; - margin-right: 15px; - padding: 30px 0 0 0px; -} - -#logo > h1 { - font-family: Georgia, "Times New Roman", Times, serif; - font-size:40px; -} - -#logo > h1 > a { - text-decoration: none; - color: #4C4C4C; -} - -#logo > h1 > a:hover { text-decoration: underline; } - -#logo > h2 { - float: left; - padding: 45px 0 0 18px; - font: 18px Georgia, "Times New Roman", Times, serif; - color: #8BD80E; -} - -/* Page */ - -#page { - width: 710px; - margin: 0 auto; - background: #4C4C4C url(../images/img03.gif) no-repeat left bottom; - padding: 0 25px; -} - -/* Post */ - -#messages { - list-style-type: none; - padding: 0; - margin: 0; -} - -#messages > li { - background: #9e9e9e; - color: #000; - padding: 5px; - margin: 5px 5px 15px 5px; - text-align: center; - box-shadow: 0 0 6px #888; -} - -#messages > li.msg-error { - background: #DA6F6F; -} - -#messages a { - color: #fff; -} - -#content { - float: left; - width: 710px; - padding: 15px 0px; - margin-bottom: 20px; -} - -#page_heading { - margin-bottom: 20px; - padding-bottom: 5px; -} - -#content h2, #content h3 { - margin-bottom: 0.5em; -} - -/* Forms */ - -form input[value], form select { - width: 170px; - padding: 1px; - margin-left: 4px; - box-sizing: border-box; - font-size: 100%; - font-family: inherit; - height: 25px; -} - -form input[type=checkbox] { - width: initial; -} - -form input[type=submit] { - margin-top: 10px; -} - -/* Footer */ -#footer { - margin: 0 auto; - padding: 20px 0 10px 0; - background: #000000; - height: auto; -} - -#footer > p { - font-size: 11px; -} - -#legal { - clear: both; - padding-top: 17px; - text-align: center; - color: #FFFFFF; -} - -#legal > a { - font-weight: normal; - color: #FFFFFF; -} diff --git a/static/images/add.png b/static/images/add.png deleted file mode 100644 index b748150..0000000 Binary files a/static/images/add.png and /dev/null differ diff --git a/static/images/arrow_left.png b/static/images/arrow_left.png deleted file mode 100644 index de740e7..0000000 Binary files a/static/images/arrow_left.png and /dev/null differ diff --git a/static/images/arrow_right.png b/static/images/arrow_right.png deleted file mode 100644 index 14922a9..0000000 Binary files a/static/images/arrow_right.png and /dev/null differ diff --git a/static/images/closed.png b/static/images/closed.png deleted file mode 100644 index 6bba92a..0000000 Binary files a/static/images/closed.png and /dev/null differ diff --git a/static/images/closed.svg b/static/images/closed.svg deleted file mode 100644 index 52ba819..0000000 --- a/static/images/closed.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/static/images/currency.png b/static/images/currency.png deleted file mode 100644 index f0bee75..0000000 Binary files a/static/images/currency.png and /dev/null differ diff --git a/static/images/img01.gif b/static/images/img01.gif deleted file mode 100644 index 5f082bd..0000000 Binary files a/static/images/img01.gif and /dev/null differ diff --git a/static/images/img02.gif b/static/images/img02.gif deleted file mode 100644 index 6f7624f..0000000 Binary files a/static/images/img02.gif and /dev/null differ diff --git a/static/images/img03.gif b/static/images/img03.gif deleted file mode 100644 index 137ec06..0000000 Binary files a/static/images/img03.gif and /dev/null differ diff --git a/static/images/img04.gif b/static/images/img04.gif deleted file mode 100644 index 950c4af..0000000 Binary files a/static/images/img04.gif and /dev/null differ diff --git a/static/images/lupe.png b/static/images/lupe.png deleted file mode 100644 index 55a6e2f..0000000 Binary files a/static/images/lupe.png and /dev/null differ diff --git a/static/images/minus.png b/static/images/minus.png deleted file mode 100644 index 99b21ce..0000000 Binary files a/static/images/minus.png and /dev/null differ diff --git a/static/images/open.png b/static/images/open.png deleted file mode 100644 index c4d5094..0000000 Binary files a/static/images/open.png and /dev/null differ diff --git a/static/images/open.svg b/static/images/open.svg deleted file mode 100644 index 3a914e9..0000000 --- a/static/images/open.svg +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/static/images/undo.png b/static/images/undo.png deleted file mode 100644 index b39d182..0000000 Binary files a/static/images/undo.png and /dev/null differ diff --git a/static/js/kosten.js b/static/js/kosten.js deleted file mode 100644 index 3821283..0000000 --- a/static/js/kosten.js +++ /dev/null @@ -1,280 +0,0 @@ -"use strict"; - -{ - -jQuery.fn.extend({ - copy: function(){ - return this.clone().removeAttr('id class'); - } - }); - -String.prototype.splitAt = function(pos){ - return [this.slice(0, pos), this.slice(pos)]; -}; - -Date.prototype.format = function(){ - return $.datepicker.formatDate('dd.mm.yy', this); -}; - -let jq = (f) => () => $(f); - -// Call this to localize HighCharts -let setLang = function(){ - Highcharts.setOptions({ - colors: ['#2f7ed8', '#0d233a', '#8bbc21', '#910000', '#1aadce', '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a'], - lang: { - months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - shortMonths: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - weekdays: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], - rangeSelectorFrom: 'von', - rangeSelectorTo: 'bis', - rangeSelectorZoom: null, - numericSymbols: null - } - }); -}; - -let extendDate = function(input) { - const re = /^([12][0-9]|3[01]|0?[1-9])(?:(0?[1-9]|1[0-2])((?:20)?[0-9][0-9])?)?$/; - let match, day, month, year; - - if (match = re.exec(input.val())) { - const now = new Date(); - [ , day, month, year] = match; - - if (year == null) year = now.getFullYear(); - if (month == null) month = now.getMonth() + 1; - - if (year <= 99) year = "20" + year; - - const date = new Date(year, month - 1, day).format(); - - input.val(date); - } -}; - -let searchController = function() { - $('form.search').hide(); - $('li.search').click(() => { - const search = $('form.search'); - search.toggle(); - if (search.is(':visible')) $('input.search').focus(); - }); - - $('input.search').focusout(() => $('form.search').hide()); -}; - -$(searchController); - -var showJS = jq(() => { - setLang(); - - $(".detail .heading").click(function() { - $(this).closest('.detail').children('.mark:first').click(); - }); - - $(".detail > .mark").click(function() { - if (this.src.indexOf('closed') !== -1) { - this.src = this.src.replace('closed', 'open'); - } else { - this.src = this.src.replace('open', 'closed'); - } - $(this).nextAll('.details:first').toggle(); - }); - - $('.details').hide(); - - // draw the pies - $('.pie').each(function() { - const pie = $(this); - const piedata = Object.entries(pie.data('pie')).map(([key, value]) => ( - { - name: value > 0 ? key : '', - y: value, - visible: value > 0 - })); - - pie.highcharts({ - title: { - text: null - }, - tooltip: { - hideDelay: 200, - formatter: function() { - return `${this.key}: ${this.y.toFixed(2)}€ / ${this.percentage.toFixed(2)}%`; - } - }, - chart: { - backgroundColor: null, - plotBorderWidth: null, - plotShadow: false, - spacingTop: 0 - }, - credits: { - enabled: false - }, - series: [{ - type: 'pie', - size: '70%', - states: { - hover: { - halo: null - } - }, - allowPointSelect: true, - dataLabels: { - color: pie.css('color'), - distance: 20 - }, - data: piedata - }] - }); - }); -}); - -var statJS = jq(() => { - setLang(); - - const df = Highcharts.dateFormat; - const month = 30 * 24 * 60 * 60 * 1000; - - const constDialog = function() { - const time = this.x; - - $.get(df('/stats/_const/%Y/%m', time), - data => $(data).dialog({ title: df('%B %Y', time) }) - ); - }; - - $('.stats').each(function (){ - const stats = $(this); - stats.highcharts('StockChart', { - credits: { - enabled: false - }, - rangeSelector: { - buttons: [], - inputDateFormat: "%b %Y", - inputEditDateFormat: "%m.%Y", - inputDateParser: value => { - value = value.split(/\./); - return Date.UTC( - value[1], // year - value[0] - 1, // month ... 0-based -.- - 1, // day - 0, 0, 0, 0 // time - ); - } - }, - plotOptions: { - series: { - stacking: 'normal', - marker: { - enabled: false, - radius: 2 - } - } - }, - chart: { - events: { - click: function() { - for (let point of this.series[0].data) { - if (point.state) { - // constDialog is used as a normal callback later on, so has to use 'this' - constDialog.apply(point); - break; - } - } - } - } - }, - xAxis: { - minTickInterval: month, - minRange: month - }, - yAxis: { - reversedStacks: false, - labels: { - x: 5, - align: 'left' - } - }, - series: [ - { - data: stats.data('consts'), - step: 'left', - name: 'Konstant', - point: { - events: { - click: constDialog - } - } - }, { - data: stats.data('expenses'), - name: 'Variabel', - step: 'left' - } - ], - tooltip: { - formatter: function(){ - const header = `${df('%B %Y', this.x)}
`; - const body = this.points.map(p => `${p.series.name}: ${p.point.y} €
`).join(''); - const footer = `Summe: ${this.points[0].total}`; - return header + body + footer; - } - } - }); - }); -}); - -var catsJS = jq(() => { - let counter = 0; - const addImg = $('img#add'); - const newInput = $('input#new'); - const newImage = newName => { - const copy = addImg.copy(); - copy.attr('src', function() { - return this.src.replace('add', newName); - }); - return copy; - }; - - $("li > span").click(function() { - const span = $(this); - const input = span.next(); - const img = newImage('undo'); - - img.click(function() { - $(this).remove(); - input.val(span.text()); - input.fadeOut('slow', () => span.toggle() ); - }); - - span.toggle(); - input.fadeIn('slow', () => img.insertAfter(input)); - }); - - addImg.click(() => { - const img = newImage('minus'); - img.click(function() { - $(this).parent().fadeOut('slow', function() { - $(this).remove(); - }); - }); - - const input = newInput.copy(); - console.log(input.focus); - input - .attr('name', function(){ return this.name + counter; }) - .removeAttr('style') - .wrap("
  • ") - .parent() - .append(img) - .hide() - .insertBefore(addImg.parent()) - .fadeIn('slow', () => input.focus() ); - - counter++; - }); -}); -} diff --git a/static/js/lib/highstock-4.2.2.js b/static/js/lib/highstock-4.2.2.js deleted file mode 100644 index ede6605..0000000 --- a/static/js/lib/highstock-4.2.2.js +++ /dev/null @@ -1,431 +0,0 @@ -/* - Highstock JS v4.2.2 (2016-02-04) - - (c) 2009-2016 Torstein Honsi - - License: www.highcharts.com/license -*/ -(function(J,ea){typeof module==="object"&&module.exports?module.exports=J.document?ea(J):ea:J.Highcharts=ea(J)})(typeof window!=="undefined"?window:this,function(J){function ea(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw Error(c);J.console&&console.log(c)}function yb(a,b,c){this.options=b;this.elem=a;this.prop=c}function C(){var a,b=arguments,c,d={},e=function(a,b){var c,d;typeof a!=="object"&&(a={});for(d in b)b.hasOwnProperty(d)&&(c=b[d],a[d]=c&&typeof c==="object"&& -Object.prototype.toString.call(c)!=="[object Array]"&&d!=="renderTo"&&typeof c.nodeType!=="number"?e(a[d]||{},c):b[d]);return a};b[0]===!0&&(d=b[1],b=Array.prototype.slice.call(b,2));c=b.length;for(a=0;a-1?h.thousandsSep:""))):e=la(f,e)}j.push(e);a=a.slice(c+1);c=(d=!d)?"}":"{"}j.push(a);return j.join("")}function Ab(a){return X.pow(10,U(X.log(a)/X.LN10))}function Bb(a,b,c,d,e){var f,g=a,c=p(c,1);f=a/c;b||(b=[1,2,2.5,5,10],d===!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d=a||!e&&f<=(b[d]+(b[d+ -1]||b[d]))/2)break;g*=c;return g}function pb(a,b){var c=a.length,d,e;for(e=0;ec&&(c=a[b]);return c}function Qa(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Xa(a){qb||(qb=ca(Ya));a&&qb.appendChild(a);qb.innerHTML=""}function ma(a, -b){return parseFloat(a.toPrecision(b||14))}function cb(a,b){b.renderer.globalAnimation=p(a,b.animation)}function Pb(){var a=O.global,b=a.useUTC,c=b?"getUTC":"get",d=b?"setUTC":"set";da=a.Date||J.Date;zb=b&&a.timezoneOffset;hb=b&&a.getTimezoneOffset;rb=function(a,c,d,h,i,j){var k;b?(k=da.UTC.apply(0,arguments),k+=gb(k)):k=(new da(a,c,p(d,1),p(h,0),p(i,0),p(j,0))).getTime();return k};Cb=c+"Minutes";Db=c+"Hours";Eb=c+"Day";ib=c+"Date";jb=c+"Month";kb=c+"FullYear";Qb=d+"Milliseconds";Rb=d+"Seconds";Sb= -d+"Minutes";Tb=d+"Hours";Fb=d+"Date";Gb=d+"Month";Hb=d+"FullYear"}function va(a){if(!(this instanceof va))return new va(a);this.init(a)}function Y(){}function db(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;!c&&!d&&this.addLabel()}function Ub(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.total=null;this.points={};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign|| -(f?"middle":c?"bottom":"top"),y:p(b.y,f?4:c?14:-6),x:p(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}function Ib(a){var b=a.options,c=b.navigator,d=c.enabled,b=b.scrollbar,e=b.enabled,f=d?c.height:0,g=e?b.height:0;this.handles=[];this.scrollbarButtons=[];this.elementsToDestroy=[];this.chart=a;this.setBaseSeries();this.height=f;this.scrollbarHeight=g;this.scrollbarEnabled=e;this.navigatorEnabled=d;this.navigatorOptions=c;this.scrollbarOptions=b;this.outlineHeight=f+g;this.init()} -function Jb(a){this.init(a)}var u,B=J.document,X=Math,y=X.round,U=X.floor,Fa=X.ceil,s=X.max,E=X.min,Q=X.abs,aa=X.cos,ia=X.sin,Ba=X.PI,na=Ba*2/360,La=J.navigator&&J.navigator.userAgent||"",Vb=J.opera,Ja=/(msie|trident|edge)/i.test(La)&&!Vb,sb=B&&B.documentMode===8,tb=!Ja&&/AppleWebKit/.test(La),Za=/Firefox/.test(La),lb=/(Mobile|Android|Windows Phone)/.test(La),Ra="http://www.w3.org/2000/svg",ha=B&&B.createElementNS&&!!B.createElementNS(Ra,"svg").createSVGRect,$b=Za&&parseInt(La.split("Firefox/")[1], -10)<4,oa=B&&!ha&&!Ja&&!!B.createElement("canvas").getContext,$a,eb,Wb={},Kb=0,qb,O,la,H,pa=function(){},$=[],mb=0,Ya="div",ac=/^[0-9]+$/,ub=["plotTop","marginRight","marginBottom","plotLeft"],da,rb,zb,hb,Cb,Db,Eb,ib,jb,kb,Qb,Rb,Sb,Tb,Fb,Gb,Hb,K={},z;z=J.Highcharts?ea(16,!0):{win:J};z.seriesTypes=K;var Sa=[],wa,qa,n,Ma,Lb,ra,D,R,M,fb,Ta;yb.prototype={dSetter:function(){var a=this.paths[0],b=this.paths[1],c=[],d=this.now,e=a.length,f;if(d===1)c=this.toD;else if(e===b.length&&d<1)for(;e--;)f=parseFloat(a[e]), -c[e]=isNaN(f)?a[e]:d*parseFloat(b[e]-f)+f;else c=b;this.elem.attr("d",c)},update:function(){var a=this.elem,b=this.prop,c=this.now,d=this.options.step;if(this[b+"Setter"])this[b+"Setter"]();else a.attr?a.element&&a.attr(b,c):a.style[b]=c+this.unit;d&&d.call(a,c,this)},run:function(a,b,c){var d=this,e=function(a){return e.stopped?!1:d.step(a)},f;this.startTime=+new da;this.start=a;this.end=b;this.unit=c;this.now=this.start;this.pos=0;e.elem=this.elem;if(e()&&Sa.push(e)===1)e.timerId=setInterval(function(){for(f= -0;f=f+this.startTime){this.now=this.end;this.pos=1;this.update();a=g[this.prop]=!0;for(h in g)g[h]!==!0&&(a=!1);a&&e&&e.call(c);c=!1}else this.pos=d.easing((b-this.startTime)/f),this.now=this.start+(this.end-this.start)*this.pos,this.update(),c=!0;return c},initPath:function(a, -b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h=a.isArea,i=h?2:1,j=function(a){for(g=a.length;g--;)(a[g]==="M"||a[g]==="L")&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(b),j(c));if(d<=c.length/f&&b.length===c.length)for(;d--;)c=c.slice(0,f).concat(c),h&&(c=c.concat(c.slice(c.length-f)));a.shift=0;if(b.length)for(a=c.length;b.length3?g.length%3:0;c=p(c,e.decimalPoint);d=p(d,e.thousandsSep);a=a<0?"-":"";a+=h?g.substr(0,h)+d:"";a+=g.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+d);+b&&(d=Math.abs(i-g+Math.pow(10,-Math.max(b,f)-1)),a+=c+d.toFixed(b).slice(2));return a};Math.easeInOutSine=function(a){return-0.5*(Math.cos(Math.PI*a)-1)};wa=function(a, -b){var c;if(b==="width")return Math.min(a.offsetWidth,a.scrollWidth)-wa(a,"padding-left")-wa(a,"padding-right");else if(b==="height")return Math.min(a.offsetHeight,a.scrollHeight)-wa(a,"padding-top")-wa(a,"padding-bottom");return(c=J.getComputedStyle(a,void 0))&&G(c.getPropertyValue(b))};qa=function(a,b){return b.indexOf?b.indexOf(a):[].indexOf.call(b,a)};Ma=function(a,b){return[].filter.call(a,b)};ra=function(a,b){for(var c=[],d=0,e=a.length;d-1&&(f.splice(h,1),g[b]=f),d(b,c)):(e(),g[b]=[])):(e(),a.hcEvents={})};M=function(a,b,c,d){var e; -e=a.hcEvents;var f,g,h,i,c=c||{};if(B.createEvent&&(a.dispatchEvent||a.fireEvent))e=B.createEvent("Events"),e.initEvent(b,!0,!0),e.target=a,w(e,c),a.dispatchEvent?a.dispatchEvent(e):a.fireEvent(b,e);else if(e){e=e[b]||[];f=e.length;h=function(){c.defaultPrevented=!0};for(g=0;g{point.key}
    ',pointFormat:'\u25cf {series.name}: {point.y}
    ',shadow:!0,snap:lb?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com", -href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var V=O.plotOptions,ba=V.line;Pb();va.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[G(a[1]),G(a[2]),G(a[3]),parseFloat(a[4],10)]}},{regex:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[G(a[1],16),G(a[2],16),G(a[3],16),1]}}, -{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[G(a[1]),G(a[2]),G(a[3]),1]}}],init:function(a){var b,c,d,e;if((this.input=a)&&a.stops)this.stops=ra(a.stops,function(a){return new va(a[1])});else for(d=this.parsers.length;d--&&!c;)e=this.parsers[d],(b=e.regex.exec(a))&&(c=e.parse(b));this.rgba=c||[]},get:function(a){var b=this.input,c=this.rgba,d;this.stops?(d=C(b),d.stops=[].concat(d.stops),n(this.stops,function(b,c){d.stops[c]=[d.stops[c][0],b.get(a)]})): -d=c&&!isNaN(c[0])?a==="rgb"||!a&&c[3]===1?"rgb("+c[0]+","+c[1]+","+c[2]+")":a==="a"?c[3]:"rgba("+c.join(",")+")":b;return d},brighten:function(a){var b,c=this.rgba;if(this.stops)n(this.stops,function(b){b.brighten(a)});else if(ta(a)&&a!==0)for(b=0;b<3;b++)c[b]+=G(a*255),c[b]<0&&(c[b]=0),c[b]>255&&(c[b]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this}};Y.prototype={opacity:1,textProps:"direction,fontSize,fontWeight,fontFamily,fontStyle,color,lineHeight,width,textDecoration,textOverflow,textShadow".split(","), -init:function(a,b){this.element=b==="span"?ca(b):B.createElementNS(Ra,b);this.renderer=a},animate:function(a,b,c){b=p(b,this.renderer.globalAnimation,!0);Ta(this);if(b){b=C(b,{});if(c)b.complete=c;fb(this,a,b)}else this.attr(a,null,c);return this},colorGradient:function(a,b,c){var d=this.renderer,e,f,g,h,i,j,k,l,m,o,q,r=[],A;a.linearGradient?f="linearGradient":a.radialGradient&&(f="radialGradient");if(f){g=a[f];i=d.gradients;k=a.stops;o=c.radialReference;Na(g)&&(a[f]=g={x1:g[0],y1:g[1],x2:g[2],y2:g[3], -gradientUnits:"userSpaceOnUse"});f==="radialGradient"&&o&&!t(g.gradientUnits)&&(h=g,g=C(g,d.getRadialAttr(o,h),{gradientUnits:"userSpaceOnUse"}));for(q in g)q!=="id"&&r.push(q,g[q]);for(q in k)r.push(k[q]);r=r.join(",");i[r]?o=i[r].attr("id"):(g.id=o="highcharts-"+Kb++,i[r]=j=d.createElement(f).attr(g).add(d.defs),j.radAttr=h,j.stops=[],n(k,function(a){a[1].indexOf("rgba")===0?(e=va(a[1]),l=e.get("rgb"),m=e.get("a")):(l=a[1],m=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":l,"stop-opacity":m}).add(j); -j.stops.push(a)}));A="url("+d.url+"#"+o+")";c.setAttribute(b,A);c.gradient=r;a.toString=function(){return A}}},applyTextShadow:function(a){var b=this.element,c,d=a.indexOf("contrast")!==-1,e={},f=this.renderer.forExport,g=f||b.style.textShadow!==u&&!Ja;if(d)e.textShadow=a=a.replace(/contrast/g,this.renderer.getContrast(b.style.fill));if(tb||f)e.textRendering="geometricPrecision";g?this.css(e):(this.fakeTS=!0,this.ySetter=this.xSetter,c=[].slice.call(b.getElementsByTagName("tspan")),n(a.split(/\s?,\s?/g), -function(a){var d=b.firstChild,e,f,a=a.split(" ");e=a[a.length-1];(f=a[a.length-2])&&n(c,function(a,c){var g;c===0&&(a.setAttribute("x",b.getAttribute("x")),c=b.getAttribute("y"),a.setAttribute("y",c||0),c===null&&b.setAttribute("y",0));g=a.cloneNode(1);W(g,{"class":"highcharts-text-shadow",fill:e,stroke:e,"stroke-opacity":1/s(G(f),3),"stroke-width":f,"stroke-linejoin":"round"});b.insertBefore(g,d)})}))},attr:function(a,b,c){var d,e=this.element,f,g=this,h;typeof a==="string"&&b!==u&&(d=a,a={},a[d]= -b);if(typeof a==="string")g=(this[a+"Getter"]||this._defaultGetter).call(this,a,e);else{for(d in a){b=a[d];h=!1;this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(d)&&(f||(this.symbolAttr(a),f=!0),h=!0);if(this.rotation&&(d==="x"||d==="y"))this.doTransform=!0;h||(h=this[d+"Setter"]||this._defaultSetter,h.call(this,b,d,e),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(d)&&this.updateShadows(d,b,h))}if(this.doTransform)this.updateTransform(),this.doTransform= -!1}c&&c();return g},updateShadows:function(a,b,c){for(var d=this.shadows,e=d.length;e--;)c.call(null,a==="height"?Math.max(b-(d[e].cutHeight||0),0):a==="d"?this.d:b,a,d[e])},addClass:function(a){var b=this.element,c=W(b,"class")||"";c.indexOf(a)===-1&&W(b,"class",c+" "+a);return this},symbolAttr:function(a){var b=this;n("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=p(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path", -a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a){var b,c={},d,e=a.strokeWidth||this.strokeWidth||0;d=y(e)%2/2;a.x=U(a.x||this.x||0)+d;a.y=U(a.y||this.y||0)+d;a.width=U((a.width||this.width||0)-2*d);a.height=U((a.height||this.height||0)-2*d);a.strokeWidth=e;for(b in a)this[b]!==a[b]&&(this[b]=c[b]=a[b]);return c},css:function(a){var b=this.styles,c={},d=this.element,e,f,g="";e=!b;if(a&&a.color)a.fill=a.color;if(b)for(f in a)a[f]!==b[f]&&(c[f]=a[f],e=!0);if(e){e=this.textWidth=a&& -a.width&&d.nodeName.toLowerCase()==="text"&&G(a.width)||this.textWidth;b&&(a=w(b,c));this.styles=a;e&&(oa||!ha&&this.renderer.forExport)&&delete a.width;if(Ja&&!ha)I(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};for(f in a)g+=f.replace(/([A-Z])/g,b)+":"+a[f]+";";W(d,"style",g)}e&&this.added&&this.renderer.buildText(this)}return this},on:function(a,b){var c=this,d=c.element;eb&&a==="click"?(d.ontouchstart=function(a){c.touchEventFired=da.now();a.preventDefault();b.call(d,a)},d.onclick= -function(a){(La.indexOf("Android")===-1||da.now()-(c.touchEventFired||0)>1100)&&b.call(d,a)}):d["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},updateTransform:function(){var a=this.translateX|| -0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted,f=this.rotation,g=this.element;e&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+","+b+")"];e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(t(c)||t(d))&&a.push("scale("+p(c,1)+" "+p(d,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){var d, -e,f,g,h={};e=this.renderer;f=e.alignedObjects;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!c||Da(c))this.alignTo=d=c||"renderer",Aa(f,this),f.push(this),c=null}else a=this.alignOptions,b=this.alignByTranslate,d=this.alignTo;c=p(c,e[d],e);d=a.align;e=a.verticalAlign;f=(c.x||0)+(a.x||0);g=(c.y||0)+(a.y||0);if(d==="right"||d==="center")f+=(c.width-(a.width||0))/{right:1,center:2}[d];h[b?"translateX":"x"]=y(f);if(e==="bottom"||e==="middle")g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]|| -1);h[b?"translateY":"y"]=y(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(a,b){var c,d=this.renderer,e,f,g,h=this.element,i=this.styles;e=this.textStr;var j,k=h.style,l,m=d.cache,o=d.cacheKeys,q;f=p(b,this.rotation);g=f*na;e!==u&&(q=["",f||0,i&&i.fontSize,h.style.width].join(","),q=e===""||ac.test(e)?"num:"+e.toString().length+q:e+q);q&&!a&&(c=m[q]);if(!c){if(h.namespaceURI===Ra||d.forExport){try{l=this.fakeTS&&function(a){n(h.querySelectorAll(".highcharts-text-shadow"), -function(b){b.style.display=a})},Za&&k.textShadow?(j=k.textShadow,k.textShadow=""):l&&l("none"),c=h.getBBox?w({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},j?k.textShadow=j:l&&l("")}catch(r){}if(!c||c.width<0)c={width:0,height:0}}else c=this.htmlGetBBox();if(d.isSVG){d=c.width;e=c.height;if(Ja&&i&&i.fontSize==="11px"&&e.toPrecision(3)==="16.9")c.height=e=14;if(f)c.width=Q(e*ia(g))+Q(d*aa(g)),c.height=Q(e*aa(g))+Q(d*ia(g))}if(q){for(;o.length>250;)delete m[o.shift()];m[q]||o.push(q); -m[q]=c}}return c},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,c=this.element,d;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)d=this.zIndexSetter();d||(a?a.element:b.box).appendChild(c); -if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.renderer.isSVG&&b.nodeName==="SPAN"&&a.parentGroup,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;Ta(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f]*>/g,"")))},textSetter:function(a){if(a!==this.textStr)delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this)},fillSetter:function(a,b,c){typeof a==="string"?c.setAttribute(b, -a):a&&this.colorGradient(a,b,c)},visibilitySetter:function(a,b,c){a==="inherit"?c.removeAttribute(b):c.setAttribute(b,a)},zIndexSetter:function(a,b){var c=this.renderer,d=this.parentGroup,c=(d||c).element||c.box,e,f,g=this.element,h;e=this.added;var i;t(a)&&(g.setAttribute(b,a),a=+a,this[b]===a&&(e=!1),this[b]=a);if(e){if((a=this.zIndex)&&d)d.handleZ=!0;d=c.childNodes;for(i=0;ia||!t(a)&&t(f)))c.insertBefore(g,e),h=!0;h||c.appendChild(g)}return h}, -_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};Y.prototype.yGetter=Y.prototype.xGetter;Y.prototype.translateXSetter=Y.prototype.translateYSetter=Y.prototype.rotationSetter=Y.prototype.verticalAlignSetter=Y.prototype.scaleXSetter=Y.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};Y.prototype["stroke-widthSetter"]=Y.prototype.strokeSetter=function(a,b,c){this[b]=a;if(this.stroke&&this["stroke-width"])this.strokeWidth=this["stroke-width"],Y.prototype.fillSetter.call(this,this.stroke, -"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0;else if(b==="stroke-width"&&a===0&&this.hasStroke)c.removeAttribute("stroke"),this.hasStroke=!1};var xa=function(){this.init.apply(this,arguments)};xa.prototype={Element:Y,init:function(a,b,c,d,e,f){var g,d=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(d));g=d.element;a.appendChild(g);a.innerHTML.indexOf("xmlns")===-1&&W(g,"xmlns",Ra);this.isSVG=!0;this.box=g;this.boxWrapper=d;this.alignedObjects= -[];this.url=(Za||tb)&&B.getElementsByTagName("base").length?J.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(B.createTextNode("Created with Highstock 4.2.2"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);var h;if(Za&&a.getBoundingClientRect)this.subPixelFix=b=function(){I(a,{left:0,top:0}); -h=a.getBoundingClientRect();I(a,{left:Fa(h.left)-h.left+"px",top:Fa(h.top)-h.top+"px"})},b(),D(J,"resize",b)},getStyle:function(a){return this.style=w({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();Qa(this.gradients||{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&R(J,"resize", -this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=p(a.textStr,"").toString(),f=e.indexOf("<")!==-1,g=b.childNodes,h,i,j=W(b,"x"),k=a.styles,l=a.textWidth,m=k&&k.lineHeight,o=k&&k.textShadow,q=k&&k.textOverflow==="ellipsis",r=g.length,A=l&&!a.added&& -this.box,T=function(a){return m?G(m):c.fontMetrics(/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:k&&k.fontSize||c.style.fontSize||12,a).h},v=function(a){return a.replace(/</g,"<").replace(/>/g,">")};r--;)b.removeChild(g[r]);!f&&!o&&!q&&e.indexOf(" ")===-1?b.appendChild(B.createTextNode(v(e))):(h=/<.*style="([^"]+)".*>/,i=/<.*href="(http[^"]+)".*>/,A&&A.appendChild(b),e=f?e.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,'').replace(//g,"").split(//g):[e],e[e.length-1]===""&&e.pop(),n(e,function(e,f){var g,m=0,e=e.replace(//g,"|||");g=e.split("|||");n(g,function(e){if(e!==""||g.length===1){var o={},r=B.createElementNS(Ra,"tspan"),A;h.test(e)&&(A=e.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),W(r,"style",A));i.test(e)&&!d&&(W(r,"onclick",'location.href="'+e.match(i)[1]+'"'),I(r,{cursor:"pointer"}));e=v(e.replace(/<(.|\n)*?>/g, -"")||" ");if(e!==" "){r.appendChild(B.createTextNode(e));if(m)o.dx=0;else if(f&&j!==null)o.x=j;W(r,o);b.appendChild(r);!m&&f&&(!ha&&d&&I(r,{display:"block"}),W(r,"dy",T(r)));if(l){for(var o=e.replace(/([^\^])-/g,"$1- ").split(" "),p=g.length>1||f||o.length>1&&k.whiteSpace!=="nowrap",x,n,t,u=[],s=T(r),y=1,w=a.rotation,C=e,z=C.length;(p||q)&&(o.length||u.length);)a.rotation=0,x=a.getBBox(!0),t=x.width,!ha&&c.forExport&&(t=c.measureSpanWidth(r.firstChild.data,a.styles)),x=t>l,n===void 0&&(n=x),q&&n? -(z/=2,C===""||!x&&z<0.5?o=[]:(x&&(n=!0),C=e.substring(0,C.length+(x?-1:1)*Fa(z)),o=[C+(l>3?"\u2026":"")],r.removeChild(r.firstChild))):!x||o.length===1?(o=u,u=[],o.length&&(y++,r=B.createElementNS(Ra,"tspan"),W(r,{dy:s,x:j}),A&&W(r,"style",A),b.appendChild(r)),t>l&&(l=t)):(r.removeChild(r.firstChild),u.unshift(o.pop())),o.length&&r.appendChild(B.createTextNode(o.join(" ").replace(/- /g,"-")));n&&a.attr("title",a.textStr);a.rotation=w}m++}}})}),A&&A.removeChild(b),o&&a.applyTextShadow&&a.applyTextShadow(o))}, -getContrast:function(a){a=va(a).rgba;return a[0]+a[1]+a[2]>384?"#000000":"#FFFFFF"},button:function(a,b,c,d,e,f,g,h,i){var j=this.label(a,b,c,i,null,null,null,null,"button"),k=0,l,m,o,q,r,A,a={x1:0,y1:0,x2:0,y2:1},e=C({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:a,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},e);o=e.style;delete e.style;f=C(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#FFF"],[1,"#ACF"]]}},f);q=f.style;delete f.style;g=C(e,{stroke:"#68A", -fill:{linearGradient:a,stops:[[0,"#9BD"],[1,"#CDF"]]}},g);r=g.style;delete g.style;h=C(e,{style:{color:"#CCC"}},h);A=h.style;delete h.style;D(j.element,Ja?"mouseover":"mouseenter",function(){k!==3&&j.attr(f).css(q)});D(j.element,Ja?"mouseout":"mouseleave",function(){k!==3&&(l=[e,f,g][k],m=[o,q,r][k],j.attr(l).css(m))});j.setState=function(a){(j.state=k=a)?a===2?j.attr(g).css(r):a===3&&j.attr(h).css(A):j.attr(e).css(o)};return j.on("click",function(a){k!==3&&d.call(j,a)}).attr(e).css(w({cursor:"default"}, -o))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=y(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=y(a[2])+b%2/2);return a},path:function(a){var b={fill:"none"};Na(a)?b.d=a:fa(a)&&w(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=fa(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,c){c.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,c,d,e,f){if(fa(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,b||0,c||0,c||0, -{innerR:d||0,start:e||0,end:f||0});a.r=c;return a},rect:function(a,b,c,d,e,f){var e=fa(a)?a.r:e,g=this.createElement("rect"),a=fa(a)?a:a===u?{}:{x:a,y:b,width:s(c,0),height:s(d,0)};if(f!==u)a.strokeWidth=f,a=g.crisp(a);if(e)a.r=e;g.rSetter=function(a){W(this.element,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[p(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g"); -return t(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:"none"};arguments.length>1&&w(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g=this,h,i=this.symbols[a],i=i&&i(y(b),y(c),d,e,f),j=/^url\((.*?)\)$/,k,l;if(i)h=this.path(i),w(h,{symbolName:a,x:b,y:c,width:d, -height:e}),f&&w(h,f);else if(j.test(a))l=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(y((d-b[0])/2),y((e-b[1])/2)))},k=a.match(j)[1],a=Wb[k]||f&&f.width&&f.height&&[f.width,f.height],h=this.image(k).attr({x:b,y:c}),h.isImg=!0,a?l(h,a):(h.attr({width:0,height:0}),ca("img",{onload:function(){this.width===0&&(I(this,{position:"absolute",top:"-999em"}),B.body.appendChild(this));l(h,Wb[k]=[this.width,this.height]);this.parentNode&&this.parentNode.removeChild(this); -g.imgCount--;if(!g.imgCount)$[g.chartIndex].onload()},src:k})),this.imgCount++;return h},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+ -d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-0.001,d=e.innerR,h=e.open,i=aa(f),j=ia(f),k=aa(g),g=ia(g),e=e.end-fc&&e>b+g&&eb+g&&ed&&h>a+g&&ha+g&&hk&&/[ \-]/.test(b.textContent||b.innerText))I(b,{width:k+"px",display:"block",whiteSpace:l||"normal"}),this.hasTextWidth=!0; -else if(this.hasTextWidth)I(b,{width:"",display:"",whiteSpace:l||"nowrap"}),this.hasTextWidth=!1;this.getSpanCorrection(this.hasTextWidth?k:b.offsetWidth,j,h,i,g)}I(b,{left:e+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});if(tb)j=b.offsetHeight;this.cTT=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=Ja?"-ms-transform":tb?"-webkit-transform":Za?"MozTransform":Vb?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)";d[e+(Za?"Origin":"-origin")]=d.transformOrigin=b*100+"% "+ -c+"px";I(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});w(xa.prototype,{html:function(a,b,c){var d=this.createElement("span"),e=d.element,