functionae(a){Object.keys(a).forEach(function(b){ba[b]=a[b]})}functionpb(a){varb;a&&(b=Pa[a.id],a.name=b?b:a.id);returna}functionGc(a){varb=a[0],c={},d=[],f,e;for(f=1;f<a.length;f++){c={};for(e=0;e<a[f].length;e++)c[b[e]]=a[f][e];d.push(c)}returnd}functionHc(a){varb=[],c,d,f;for(c=0;c<a.length;c++)for(f=a[c][0],d=1;d<a[c].length;d++)x(b[d-1])&&(b[d-1]={}),b[d-1][f]=a[c][d];returnb}functionQa(a){varb=e.keys(a[0]).filter($d),c=e.keys(a[0]).filter(Fc);if(E&&0===c.length)returnK.alert('data.x or data.xs must be specified when axis.x.type == "timeseries"'),
return"spline"===B[a]||"area-spline"===B[a]}functionqb(a){return"bar"===B["string"===typeofa?a:a.id]}functionQc(a){return"scatter"===B["string"===typeofa?a:a.id]}functionbd(a){return"pie"===B["string"===typeofa?a:a.id]}functionQb(a){return"donut"===B["string"===typeofa?a:a.id]}functioncd(a){returnqb(a)?a.values:[]}functionne(a){returnWb(a)||Qc(a)?a.values:[]}functionta(a){varb;if(!a)throwError(a+" can not be parsed as d3.time with format "+Xb+". Maybe 'x' of this data is not defined. See data.x or data.xs option.");
b=e.time.format(Xb).parse(a);if(!b)throwError("Failed to parse '"+a+"' with format "+Xb);returnb}functiondd(a,b){varc=e.mouse(a),d=e.select(a),f=1*d.attr("cx"),d=1*d.attr("cy");returnMath.sqrt(Math.pow(f-c[0],2)+Math.pow(d-c[1],2))<b}functioned(a){varb=e.mouse(a),c=e.select(a);a=1*c.attr("x");vard=1*c.attr("y"),c=1*c.attr("width");returna-10<b[0]&&b[0]<a+c+10&&d-10<b[1]}functionoe(a,b){varc;for(c=0;c<b.length;c++)if(b[c].start<a&&a<=b[c].end)return!0;return!1}functionZd(a,b){varc=!1;
" "+c(l(f))+" "+b(k(f+e))+" "+c(l(f+e))};for(f=0;f<a.length;f++)if(x(va)||!oe(a[f].x,va))g+=" "+jd(a[f])+" "+n(a[f]);else{k=P(a[f-1].x,a[f].x);l=T(a[f-1].value,a[f].value);e=b(a[f].x)-b(a[f-1].x);m=c(a[f].value)-c(a[f-1].value);e=Math.sqrt(Math.pow(e,2)+Math.pow(m,2));m=2/e;varp=2*m;for(e=m;1>=e;e+=p)g+=d(a[f-1],a[f],e,m)}returng}functioncc(a){varb;rb=e.select(za);if(rb.empty())K.alert('No bind element found. Check the selector specified by "bindto" and existance of that element. Default "bindto" is "#chart".');
a&&Kc(a.data.id)}vark={data:{}},ob={},da="_expanded_",oa="_selected_",kc="_included_",za=g(["bindto"],"#chart"),Ia=g(["size","width"],null),Gb=g(["size","height"],null),bb=g(["padding","left"],null),db=g(["padding","right"],null),ea=g(["zoom","enabled"],!1),ud=g(["zoom","extent"],null),ze=g(["zoom","privileged"],!1),te=g(["onenter"],function(){}),ue=g(["onleave"],function(){}),Fe=g(["transition","duration"],350);if(!("data"inR))throwError("data is required in config");varua=g(["data","x"],null),
a.done)});elseif("rows"ina)Za(Qa(Gc(a.rows)),a.done);elseif("columns"ina)Za(Qa(Hc(a.columns)),a.done);elsethrowError("url or rows or columns is required.");};k.unload=function(a){k.data.targets=k.data.targets.filter(function(b){returnb.id!==a});n.selectAll(la(a)).transition().style("opacity",0).remove();Ga&&(n.selectAll(".legend-item"+wb(a)).remove(),ub(k.data.targets));0<k.data.targets.length&&w({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})};k.selected=function(a){a=wb(a);returne.merge(l.selectAll(".-shapes"+
returny(a)?a.values.map(function(a){returna.value}):void0};k.data.getAsTarget=function(a){varb=mb(function(b){returnb.id===a});return0<b.length?b[0]:void0};k.resize=function(a){Ia=a?a.width:null;Gb=a?a.height:null;od()};k.destroy=function(){k.data.targets=void0;k.data.x={};rb.html("");K.onresize=null};if("url"inR.data)e.csv(R.data.url,function(a,b){cc(b)});elseif("rows"inR.data)cc(Gc(R.data.rows));elseif("columns"inR.data)cc(Hc(R.data.columns));elsethrowError("url or rows or columns is required.");
c=e.keys(a[0]).filter(Fc);if(E&&0===c.length)returnK.alert('data.x or data.xs must be specified when axis.x.type == "timeseries"'),[];Tb&&b.forEach(function(b){varf=ua?ua:ca?ca[b]:null;0<=c.indexOf(f)?k.data.x[b]=a.map(function(a){returna[f]}):k.data.x[b]=k.data.x[Object.keys(k.data.x)[0]]});b=b.map(function(b){varc=be(b);return{id:c,id_org:b,values:a.map(function(a,e){varg;g=ua?ua:ca?ca[b]:null;g=E?ta(a[g]):Tb?a[g]?+a[g]:bink.data.x&&k.data.x[b]&&k.data.x[b][e]?k.data.x[b][e]:e:e;a.x=g;return{x:g,
a.values:[]}functionta(a){varb;if(!a)throwError(a+" can not be parsed as d3.time with format "+Xb+". Maybe 'x' of this data is not defined. See data.x or data.xs option.");b=e.time.format(Xb).parse(a);if(!b)throwError("Failed to parse '"+a+"' with format "+Xb);returnb}functiondd(a,b){varc=e.mouse(a),d=e.select(a),f=1*d.attr("cx"),d=1*d.attr("cy");returnMath.sqrt(Math.pow(f-c[0],2)+Math.pow(d-c[1],2))<b}functioned(a){varb=e.mouse(a),c=e.select(a);a=1*c.attr("x");vard=1*c.attr("y"),c=1*c.attr("width");
rb=e.select(za);if(rb.empty())K.alert('No bind element found. Check the selector specified by "bindto" and existance of that element. Default "bindto" is "#chart".');else{rb.html("");k.data.x={};k.data.targets=Qa(a);xa();sc();m.domain(e.extent(nb(k.data.targets)));A.domain(lb("y"));ba.domain(lb("y2"));W.domain(m.domain());hb.domain(A.domain());ib.domain(ba.domain());aa=m.domain();I.scale(W);fa&&C.scale(m);n=e.select(za).append("svg").attr("width",r+D+Z).attr("height",t+q+M).on("mouseenter",te).on("mouseleave",
null),Gb=g(["size","height"],null),bb=g(["padding","left"],null),db=g(["padding","right"],null),fa=g(["zoom","enabled"],!1),ud=g(["zoom","extent"],null),ze=g(["zoom","privileged"],!1),te=g(["onenter"],function(){}),ue=g(["onleave"],function(){}),Fe=g(["transition","duration"],350);if(!("data"inR))throwError("data is required in config");varua=g(["data","x"],null),ca=g(["data","xs"],null),Xb=g(["data","x_format"],"%Y-%m-%d"),be=g(["data","id_converter"],function(a){returna}),Pa=g(["data","names"],
0)};k.unzoom=function(){I.clear().update();w({withUpdateXDomain:!0})};k.load=function(a){"function"!==typeofa.done&&(a.done=function(){});a.xs&&ae(a.xs);"categories"ina&&sa&&(Ma=a.categories,N.categories(Ma));if("cacheIds"ina&&Xd(a.cacheIds))Za(Yd(a.cacheIds),a.done);elseif("data"ina)Za(Qa(a.data),a.done);elseif("url"ina)e.csv(a.url,function(b,c){Za(Qa(c),a.done)});elseif("rows"ina)Za(Qa(Gc(a.rows)),a.done);elseif("columns"ina)Za(Qa(Hc(a.columns)),a.done);elsethrowError("url or rows or columns is required.");
a});return0<b.length?b[0]:void0};k.resize=function(a){Ja=a?a.width:null;Gb=a?a.height:null;od()};k.destroy=function(){k.data.targets=void0;k.data.x={};rb.html("");K.onresize=null};if("url"inR.data)e.csv(R.data.url,function(a,b){cc(b)});elseif("rows"inR.data)cc(Gc(R.data.rows));elseif("columns"inR.data)cc(Hc(R.data.columns));elsethrowError("url or rows or columns is required.");returnk}})(window);