UNPKG

220 kBJavaScriptView Raw
1/*!
2 * Copyright (c) 2017 ~ present NAVER Corp.
3 * billboard.js project is licensed under the MIT license
4 *
5 * billboard.js, JavaScript chart library
6 * https://naver.github.io/billboard.js/
7 *
8 * @version 3.0.2
9 */
10!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("d3-axis"),require("d3-brush"),require("d3-color"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom"));else if("function"==typeof define&&define.amd)define(["d3-axis","d3-brush","d3-color","d3-drag","d3-dsv","d3-ease","d3-interpolate","d3-scale","d3-selection","d3-shape","d3-time-format","d3-transition","d3-zoom"],e);else{var i="object"==typeof exports?e(require("d3-axis"),require("d3-brush"),require("d3-color"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom")):e(t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3);for(var n in i)("object"==typeof exports?exports:t)[n]=i[n]}}(this,(function(t,e,i,n,a,r,s,o,c,l,u,d,h){return function(){"use strict";var g=[,,function(t){t.exports=c},function(t){t.exports=e},function(t){t.exports=u},function(t){t.exports=a},function(t){t.exports=o},function(t){t.exports=n},function(t){t.exports=d},function(t){t.exports=l},function(e){e.exports=t},function(t){t.exports=r},function(t){t.exports=s},function(t){t.exports=i},function(t){t.exports=h}],f={};function p(t){var e=f[t];if(void 0!==e)return e.exports;var i=f[t]={exports:{}};return g[t](i,i.exports,p),i.exports}p.d=function(t,e){for(var i in e)p.o(e,i)&&!p.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},p.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},p.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var x={};return function(){p.r(x),p.d(x,{bb:function(){return Qi},default:function(){return Qi}});var t={};p.r(t),p.d(t,{area:function(){return mi},areaLineRange:function(){return yi},areaSpline:function(){return bi},areaSplineRange:function(){return Ti},areaStep:function(){return wi},bar:function(){return Ri},bubble:function(){return Di},candlestick:function(){return Ii},donut:function(){return Ci},gauge:function(){return Li},line:function(){return Ai},pie:function(){return Ei},radar:function(){return Oi},scatter:function(){return Pi},spline:function(){return ki},step:function(){return Si}});var e={};p.r(e),p.d(e,{selection:function(){return Zi},subchart:function(){return qi},zoom:function(){return Ki}});var i=p(4),n=p(2),a={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcs:"bb-arcs",area:"bb-area",areas:"bb-areas",axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",bar:"bb-bar",bars:"bb-bars",brush:"bb-brush",button:"bb-button",buttonZoomReset:"bb-zoom-reset",candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chart:"bb-chart",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsTitle:"bb-chart-arcs-title",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",chartCircles:"bb-chart-circles",chartLine:"bb-chart-line",chartLines:"bb-chart-lines",chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars",chartText:"bb-chart-text",chartTexts:"bb-chart-texts",circle:"bb-circle",circles:"bb-circles",colorPattern:"bb-color-pattern",colorScale:"bb-colorscale",defocused:"bb-defocused",dragarea:"bb-dragarea",empty:"bb-empty",eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single",focused:"bb-focused",gaugeValue:"bb-gauge-value",grid:"bb-grid",gridLines:"bb-grid-lines",legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemFocused:"bb-legend-item-focused",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile",level:"bb-level",levels:"bb-levels",line:"bb-line",lines:"bb-lines",main:"bb-main",region:"bb-region",regions:"bb-regions",selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",shape:"bb-shape",shapes:"bb-shapes",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions",subchart:"bb-subchart",target:"bb-target",text:"bb-text",texts:"bb-texts",title:"bb-title",tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name",valueDown:"bb-value-down",valueUp:"bb-value-up",xgrid:"bb-xgrid",xgridFocus:"bb-xgrid-focus",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridFocus:"bb-ygrid-focus",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids",zoomBrush:"bb-zoom-brush",EXPANDED:"_expanded_",SELECTED:"_selected_",INCLUDED:"_included_",TextOverlapping:"text-overlapping"},r={element:function(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null}},state:function(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasRadar:!1,current:{width:0,height:0,dataMax:0,maxTickWidths:{x:{size:0,ticks:[],clipPath:0,domain:""},y:{size:0,domain:""},y2:{size:0,domain:""}},types:[]},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}},s=function(){function t(){var t=this;Object.keys(r).forEach((function(e){t[e]=new r[e]}))}return t.prototype.getStore=function(t){return this[t]},t}();function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var c={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:350,plugins:[],render:{},regions:[]},l={data_x:void 0,data_idConverter:function(t){return t},data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_color:void 0,data_colors:{},data_labels:{},data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:function(){},data_onover:function(){},data_onout:function(){},data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},u={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},d={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{}},h={legend_show:!0,legend_hide:!1,legend_contents_bindto:void 0,legend_contents_template:void 0,legend_position:"bottom",legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_equally:!1,legend_padding:0,legend_item_tile_width:10,legend_item_tile_height:10,legend_usePoint:!1},g={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},f={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:{top:"0px",left:"50px"},tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:function(){},tooltip_onhide:function(){},tooltip_onshown:function(){},tooltip_onhidden:function(){},tooltip_order:null},v=p(3),_="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis||"object"==typeof global&&null!==global&&global.Object===Object&&global||"object"==typeof self&&null!==self&&self.Object===Object&&self||Function("return this")(),m=_&&_.document;function y(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function b(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?y(Object(e),!0).forEach((function(i){o(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):y(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var T=function(t){return t||0===t},w=function(t){return"function"==typeof t},A=function(t){return"string"==typeof t},k=function(t){return"number"==typeof t},S=function(t){return void 0===t},C=function(t){return void 0!==t},L=function(t){return"boolean"==typeof t},E=function(t){return 10*Math.ceil(t/10)},O=function(t){return Math.ceil(t)+.5},R=function(t){return t[1]-t[0]},D=function(t){return"object"==typeof t},I=function(t){return S(t)||null===t||A(t)&&0===t.length||D(t)&&!(t instanceof Date)&&0===Object.keys(t).length||k(t)&&isNaN(t)},P=function(t){return!I(t)},z=function(t){return Array.isArray(t)},X=function(t){return t&&!t.nodeType&&D(t)&&!z(t)};function M(t,e,i){return C(t[e])?t[e]:i}function F(t){for(var e=w(t),i=arguments.length,n=Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return e&&t.call.apply(t,n),e}function B(t,e){var i=0;t.each((function(){return++i})).on("end",(function(){for(var t=arguments.length,n=Array(t),a=0;a<t;a++)n[a]=arguments[a];--i||e.apply.apply(e,[this].concat(n))}))}function $(t){return A(t)?t.replace(/</g,"&lt;").replace(/>/g,"&gt;"):t}function N(t,e,i,n){if(void 0===i&&(i=[-1,1]),void 0===n&&(n=!1),t&&A(e))if(-1===e.indexOf("\n"))t.text(e);else{var a=[t.text(),e].map((function(t){return t.replace(/[\s\n]/g,"")}));if(a[0]!==a[1]){var r=e.split("\n"),s=n?r.length-1:1;t.html(""),r.forEach((function(e,n){t.append("tspan").attr("x",0).attr("dy",(0===n?i[0]*s:i[1])+"em").text(e)}))}}}function Y(t){var e=t.getBBox(),i=e.x,n=e.y,a=e.width,r=e.height;return[{x:i,y:n+r},{x:i,y:n},{x:i+a,y:n},{x:i+a,y:n+r}]}function G(t,e){var i=t&&(t.touches||t.sourceEvent&&t.sourceEvent.touches);return t?(0,n.pointer)(i?i[0]:t,e):[0,0]}function j(t){var e,i=t.event,n=t.$el,r=n.subchart.main||n.main;return i&&"brush"===i.type?e=i.selection:r&&(e=r.select("."+a.brush).node())&&(e=(0,v.brushSelection)(e)),e}function V(t){return!("rect"in t)||"rect"in t&&t.hasAttribute("width")&&t.rect.width!==+t.getAttribute("width")?t.rect=t.getBoundingClientRect():t.rect}function H(t){void 0===t&&(t=!0);var e=Math.random();return t?e+"":e}function W(t,e,i,n,a){if(i>n)return-1;var r=Math.floor((i+n)/2),s=t[r],o=s.x,c=s.w,l=void 0===c?0:c;return a&&(o=t[r].y,l=t[r].h),e>=o&&e<=o+l?r:e<o?W(t,e,i,r-1,a):W(t,e,r+1,n,a)}function U(t){var e=j(t);return!e||e[0]===e[1]}function Z(t,e){for(var i in void 0===t&&(t={}),z(e)&&e.forEach((function(e){return Z(t,e)})),e)/^\d+$/.test(i)||i in t||(t[i]=e[i]);return t}var q=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},K=function(t){return[].slice.call(t)};var J=function(t){var e=t?t.transform:null,i=e&&e.baseVal;return i&&i.numberOfItems?i.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}};function Q(t){var e=t[0]instanceof Date,i=(e?t.map(Number):t).filter((function(t,e,i){return i.indexOf(t)===e}));return e?i.map((function(t){return new Date(t)})):i}function tt(t){return t&&t.length?t.reduce((function(t,e){return t.concat(e)})):[]}function et(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];if(!i.length||1===i.length&&!i[0])return t;var a=i.shift();return X(t)&&X(a)&&Object.keys(a).forEach((function(e){var i=a[e];X(i)?(!t[e]&&(t[e]={}),t[e]=et(t[e],i)):t[e]=z(i)?i.concat():i})),et.apply(void 0,[t].concat(i))}function it(t,e){var i;return void 0===e&&(e=!0),t[0]instanceof Date?i=e?function(t,e){return t-e}:function(t,e){return e-t}:e&&!t.every(isNaN)?i=function(t,e){return t-e}:!e&&(i=function(t,e){return(t>e?-1:t<e&&1)||t===e&&0}),t.concat().sort(i)}function nt(t,e){var i=e.filter((function(t){return P(t)}));return i.length?k(i[0])?i=Math[t].apply(Math,i):i[0]instanceof Date&&(i=it(i,"min"===t)[0]):i=void 0,i}var at=function(t,e,i){void 0===i&&(i=1);for(var n=[],a=0|Math.max(0,Math.ceil((e-t)/i)),r=t;r<a;r++)n.push(t+r*i);return n},rt={mouse:function(){try{return new MouseEvent("t"),function(t,e,i){void 0===i&&(i={bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0}),t.dispatchEvent(new MouseEvent(e,i))}}catch(t){return function(t,e,i){void 0===i&&(i={bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});var n=m.createEvent("MouseEvent");n.initMouseEvent(e,i.bubbles,i.cancelable,_,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),t.dispatchEvent(n)}}}(),touch:function(t,e,i){var n=new Touch(et({identifier:Date.now(),target:t,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},i));t.dispatchEvent(new TouchEvent(e,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[n],targetTouches:[],changedTouches:[n]}))}};function st(t,e){var i=t;for(var n in e)i=i.replace(new RegExp("{="+n+"}","g"),e[n]);return i}function ot(t){var e;if(t instanceof Date)e=t;else if(A(t)){var i=this.config;e=this.format.dataTime(i.data_xFormat)(t)}else k(t)&&!isNaN(t)&&(e=new Date(+t));return(!e||isNaN(+e))&&console&&console.error&&console.error("Failed to parse x '"+t+"' to Date object"),e}function ct(){return!m.hidden}function lt(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function ut(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?lt(Object(e),!0).forEach((function(i){o(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):lt(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var dt=function(){function t(){return function(){for(var t=function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(e){if(X(e)&&e.constructor){var i=new e.constructor;for(var n in e)i[n]=t(e[n]);return i}return e})),e=arguments.length,i=Array(e),n=0;n<e;n++)i[n]=arguments[n];return i.map((function(e){return t(e)})).reduce((function(t,e){return b(b({},t),e)}))}(c,l,u,d,h,g,f,t.data)}return t.setOptions=function(t){this.data=t.reduce((function(t,e){return ut(ut({},t),e)}),this.data)},t}();dt.data={};var ht="$baseLength",gt="__colorPattern__",ft="$dataMinMax",pt="$dataTotalSum",xt="$totalPerIndex",vt="legendItemTextBox",_t="$radarPoints",mt="setOverOut",yt="callOverOutForTouch",bt="textRect",Tt=function(){function t(){this.cache={}}var e=t.prototype;return e.add=function(t,e,i){return void 0===i&&(i=!1),this.cache[t]=i?this.cloneTarget(e):e,this.cache[t]},e.remove=function(t){var e=this;K(t).forEach((function(t){return delete e.cache[t]}))},e.get=function(t,e){if(void 0===e&&(e=!1),e){for(var i,n=[],a=0;i=t[a];a++)i in this.cache&&n.push(this.cloneTarget(this.cache[i]));return n}var r=this.cache[t];return T(r)?r:null},e.reset=function(t){for(var e in this.cache)(t||/^\$/.test(e))&&(this.cache[e]=null)},e.cloneTarget=function(t){return{id:t.id,id_org:t.id_org,values:t.values.map((function(t){return{x:t.x,value:t.value,id:t.id}}))}},t}(),wt=_.setTimeout,At=_.clearTimeout;function kt(){var t=[],e=function(e,i){var n;!function e(){for(var a,r=0,s=0;a=t[s];s++)if(!0===a||a.empty&&a.empty())r++;else try{a.transition()}catch(t){r++}n&&At(n),r===t.length?i&&i():n=wt(e,50)}()};return e.add=function(e){z(e)?t=t.concat(e):t.push(e)},e}var St=p(5),Ct={convertData:function(t,e){var i;if(t.bindto?(i={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach((function(e){var n="data_"+e;n in t&&(i[e]=t[n])}))):i=t,i.url&&e)this.convertUrlToData(i.url,i.mimeType,i.headers,i.keys,e);else if(i.json)i=this.convertJsonToData(i.json,i.keys);else if(i.rows)i=this.convertRowsToData(i.rows);else if(i.columns)i=this.convertColumnsToData(i.columns);else if(t.bindto)throw Error("url or json or rows or columns is required.");return z(i)&&i},convertUrlToData:function(t,e,i,n,a){var r=this;void 0===e&&(e="csv");var s=new XMLHttpRequest;s.open("GET",t),i&&Object.keys(i).forEach((function(t){s.setRequestHeader(t,i[t])})),s.onreadystatechange=function(){if(4===s.readyState){if(200!==s.status)throw new Error(t+": Something went wrong loading!");var i=s.responseText;i&&a.call(r,r["convert"+q(e)+"ToData"]("json"===e?JSON.parse(i):i,n))}},s.send()},convertCsvTsvToData:function(t,e){var i,n=t.rows(e);return 1===n.length?(i=[{}],n[0].forEach((function(t){i[0][t]=null}))):i=t.parse(e),i},convertCsvToData:function(t){return this.convertCsvTsvToData({rows:St.csvParseRows,parse:St.csvParse},t)},convertTsvToData:function(t){return this.convertCsvTsvToData({rows:St.tsvParseRows,parse:St.tsvParse},t)},convertJsonToData:function(t,e){var i,n,a=this,r=this.config,s=[];if(z(t)){var o=e||r.data_keys;o.x?(i=o.value.concat(o.x),r.data_x=o.x):i=o.value,s.push(i),t.forEach((function(t){var e=i.map((function(e){var i=a.findValueInJson(t,e);return S(i)&&(i=null),i}));s.push(e)})),n=this.convertRowsToData(s)}else Object.keys(t).forEach((function(e){var i=t[e].concat();i.unshift(e),s.push(i)})),n=this.convertColumnsToData(s);return n},findValueInJson:function(t,e){if(void 0!==t[e])return t[e];var i=e.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split("."),n=t;return i.some((function(t){return!(n=n&&t in n?n[t]:void 0)})),n},convertRowsToData:function(t){var e=t[0],i=[];return t.forEach((function(t,n){if(n>0){var a={};t.forEach((function(t,i){if(S(t))throw new Error("Source data is missing a component at ("+n+", "+i+")!");a[e[i]]=t})),i.push(a)}})),i},convertColumnsToData:function(t){var e=[];return t.forEach((function(t,i){var n=t[0];t.forEach((function(t,a){if(a>0){if(S(e[a-1])&&(e[a-1]={}),S(t))throw new Error("Source data is missing a component at ("+i+", "+a+")!");e[a-1][n]=t}}))})),e},convertDataToTargets:function(t,e){var i=this,n=this,a=n.axis,r=n.config,s=n.state,o=!1,c=!1,l=!1;a&&(o=a.isCategorized(),c=a.isTimeSeries(),l=a.isCustomX());var u,d=Object.keys(t[0]||{}),h=d.length?d.filter(n.isNotX,n):[],g=d.length?d.filter(n.isX,n):[];h.forEach((function(a){var s=i.getXKey(a);l||c?g.indexOf(s)>=0?u=(e&&n.data.xs[a]||[]).concat(t.map((function(t){return t[s]})).filter(T).map((function(t,e){return n.generateTargetX(t,a,e)}))):r.data_x?u=i.getOtherTargetXs():P(r.data_xs)&&(u=n.getXValuesOfXKey(s,n.data.targets)):u=t.map((function(t,e){return e})),u&&(i.data.xs[a]=u)})),h.forEach((function(t){if(!i.data.xs[t])throw new Error('x is not defined for id = "'+t+'".')}));var f=h.map((function(e,i){var a=r.data_idConverter.bind(n.api)(e),c=n.getXKey(e),u=l&&o,d=u&&t.map((function(t){return t.x})).every((function(t){return r.axis_x_categories.indexOf(t)>-1}));return{id:a,id_org:e,values:t.map((function(t,o){var l,h=t[c],g=t[e];return g=null===g||isNaN(g)||X(g)?z(g)||X(g)?g:null:+g,!u&&!s.hasRadar||0!==i||S(h)?l=n.generateTargetX(h,e,o):(!d&&0===i&&0===o&&(r.axis_x_categories=[]),-1===(l=r.axis_x_categories.indexOf(h))&&(l=r.axis_x_categories.length,r.axis_x_categories.push(h))),(S(g)||n.data.xs[e].length<=o)&&(l=void 0),{x:l,value:g,id:a}})).filter((function(t){return C(t.x)}))}}));return f.forEach((function(t){r.data_xSort&&(t.values=t.values.sort((function(t,e){return(t.x||0===t.x?t.x:1/0)-(e.x||0===e.x?e.x:1/0)}))),t.values.forEach((function(t,e){return t.index=e})),n.data.xs[t.id].sort((function(t,e){return t-e}))})),s.hasNegativeValue=n.hasNegativeValueInTargets(f),s.hasPositiveValue=n.hasPositiveValueInTargets(f),r.data_type&&n.setTargetType(n.mapToIds(f).filter((function(t){return!(t in r.data_types)})),r.data_type),f.forEach((function(t){return n.cache.add(t.id_org,t,!0)})),f}},Lt={isX:function(t){var e,i,n,a=this.config,r=a.data_x&&t===a.data_x,s=P(a.data_xs)&&(e=a.data_xs,i=t,n=!1,Object.keys(e).forEach((function(t){return e[t]===i&&(n=!0)})),n);return r||s},isNotX:function(t){return!this.isX(t)},isStackNormalized:function(){var t=this.config;return!(!t.data_stack_normalize||!t.data_groups.length)},isGrouped:function(t){var e=this.config.data_groups;return t?e.some((function(e){return e.indexOf(t)>=0&&e.length>1})):e.length>0},getXKey:function(t){var e=this.config;return e.data_x?e.data_x:P(e.data_xs)?e.data_xs[t]:null},getXValuesOfXKey:function(t,e){var i,n=this;return(e&&P(e)?n.mapToIds(e):[]).forEach((function(e){n.getXKey(e)===t&&(i=n.data.xs[e])})),i},getIndexByX:function(t,e){return e?e.indexOf(A(t)?t:+t):(this.filterByX(this.data.targets,t)[0]||{index:null}).index},getXValue:function(t,e){var i=this;return t in i.data.xs&&i.data.xs[t]&&T(i.data.xs[t][e])?i.data.xs[t][e]:e},getOtherTargetXs:function(){var t=Object.keys(this.data.xs);return t.length?this.data.xs[t[0]]:null},getOtherTargetX:function(t){var e=this.getOtherTargetXs();return e&&t<e.length?e[t]:null},addXs:function(t){var e=this.config;Object.keys(t).forEach((function(i){e.data_xs[i]=t[i]}))},isMultipleX:function(){return P(this.config.data_xs)||!this.config.data_xSort||this.hasType("bubble")||this.hasType("scatter")},addName:function(t){var e,i=this.config;return t&&(e=i.data_names[t.id],t.name=void 0===e?t.id:e),t},getAllValuesOnIndex:function(t,e){void 0===e&&(e=!1);var i=this,n=i.filterTargetsToShow(i.data.targets).map((function(e){return i.addName(i.getValueOnIndex(e.values,t))}));return e&&(n=n.filter((function(t){return T(t.value)}))),n},getValueOnIndex:function(t,e){var i=t.filter((function(t){return t.index===e}));return i.length?i[0]:null},updateTargetX:function(t,e){var i=this;t.forEach((function(t){t.values.forEach((function(n,a){n.x=i.generateTargetX(e[a],t.id,a)})),i.data.xs[t.id]=e}))},updateTargetXs:function(t,e){var i=this;t.forEach((function(t){e[t.id]&&i.updateTargetX([t],e[t.id])}))},generateTargetX:function(t,e,i){var n=this,a=n.axis,r=a&&a.isCategorized()?i:t||i;if(a&&a.isTimeSeries()){var s=ot.bind(n);r=s(t||n.getXValue(e,i))}else a&&a.isCustomX()&&!a.isCategorized()&&(r=T(t)?+t:n.getXValue(e,i));return r},updateXs:function(t){t.length&&(this.axis.xs=t.map((function(t){return t.x})))},getPrevX:function(t){var e=this.axis.xs[t-1];return C(e)?e:null},getNextX:function(t){var e=this.axis.xs[t+1];return C(e)?e:null},getBaseValue:function(t){var e=this,i=e.state.hasAxis,n=t.value;return n&&i&&(e.isAreaRangeType(t)?n=e.getRangedData(t,"mid"):e.isBubbleZType(t)&&(n=e.getBubbleZData(n,"y"))),n},getMinMaxValue:function(t){var e,i,n=this.getBaseValue.bind(this);return(t||this.data.targets.map((function(t){return t.values}))).forEach((function(t,a){var r=t.map(n).filter(k);e=Math.min.apply(Math,[a?e:1/0].concat(r)),i=Math.max.apply(Math,[a?i:-1/0].concat(r))})),{min:e,max:i}},getMinMaxData:function(){var t=this,e=ft,i=t.cache.get(e);if(!i){var n=t.data.targets.map((function(t){return t.values})),a=t.getMinMaxValue(n),r=[],s=[];n.forEach((function(e){var i=t.getFilteredDataByValue(e,a.min),n=t.getFilteredDataByValue(e,a.max);i.length&&(r=r.concat(i)),n.length&&(s=s.concat(n))})),t.cache.add(e,i={min:r,max:s})}return i},getTotalPerIndex:function(){var t=this,e=xt,i=t.cache.get(e);return t.isStackNormalized()&&!i&&(i=[],t.data.targets.forEach((function(t){t.values.forEach((function(t,e){i[e]||(i[e]=0),i[e]+=k(t.value)?t.value:0}))}))),i},getTotalDataSum:function(t){var e=this,i=pt,n=e.cache.get(i);if(!k(n)){var a=tt(e.data.targets.map((function(t){return t.values}))).map((function(t){return t.value})).reduce((function(t,e){return t+e}));e.cache.add(i,n=a)}return t&&(n-=e.getHiddenTotalDataSum()),n},getHiddenTotalDataSum:function(){var t=this.api,e=this.state.hiddenTargetIds,i=0;return e.length&&(i=t.data.values.bind(t)(e).reduce((function(t,e){return t+e}))),i},getFilteredDataByValue:function(t,e){var i=this;return t.filter((function(t){return i.getBaseValue(t)===e}))},getMaxDataCount:function(){return Math.max.apply(Math,this.data.targets.map((function(t){return t.values.length})))},getMaxDataCountTarget:function(){var t=this.filterTargetsToShow()||[],e=t.length;return e>1?t=it(Q(t=t.map((function(t){return t.values})).reduce((function(t,e){return t.concat(e)})).map((function(t){return t.x})))).map((function(t,e){return{x:t,index:e}})):e&&(t=t[0].values),t},mapToIds:function(t){return t.map((function(t){return t.id}))},mapToTargetIds:function(t){return t?z(t)?t.concat():[t]:this.mapToIds(this.data.targets)},hasTarget:function(t,e){for(var i,n=this.mapToIds(t),a=0;i=n[a];a++)if(i===e)return!0;return!1},isTargetToShow:function(t){return this.state.hiddenTargetIds.indexOf(t)<0},isLegendToShow:function(t){return this.state.hiddenLegendIds.indexOf(t)<0},filterTargetsToShow:function(t){var e=this;return(t||e.data.targets).filter((function(t){return e.isTargetToShow(t.id)}))},mapTargetsToUniqueXs:function(t){var e=this.axis,i=[];return t&&t.length&&(i=Q(tt(t.map((function(t){return t.values.map((function(t){return+t.x}))})))),i=e&&e.isTimeSeries()?i.map((function(t){return new Date(+t)})):i.map((function(t){return+t}))),it(i)},addHiddenTargetIds:function(t){this.state.hiddenTargetIds=this.state.hiddenTargetIds.concat(t)},removeHiddenTargetIds:function(t){this.state.hiddenTargetIds=this.state.hiddenTargetIds.filter((function(e){return t.indexOf(e)<0}))},addHiddenLegendIds:function(t){this.state.hiddenLegendIds=this.state.hiddenLegendIds.concat(t)},removeHiddenLegendIds:function(t){this.state.hiddenLegendIds=this.state.hiddenLegendIds.filter((function(e){return t.indexOf(e)<0}))},getValuesAsIdKeyed:function(t){var e=this,i=e.state.hasAxis,n={},a=e.isMultipleX(),r=a?e.mapTargetsToUniqueXs(t).map((function(t){return A(t)?t:+t})):null;return t.forEach((function(t){var s=[];t.values.filter((function(t){return T(t.value)})).forEach((function(t){var n=t.value;e.isCandlestickType(t)&&(n=z(n)?n.slice(0,4):[n.open,n.high,n.low,n.close]),z(n)?s.push.apply(s,n):X(n)&&"high"in n?s.push.apply(s,Object.values(n)):e.isBubbleZType(t)?s.push(i&&e.getBubbleZData(n,"y")):a?s[e.getIndexByX(t.x,r)]=n:s.push(n)})),n[t.id]=s})),n},checkValueInTargets:function(t,e){for(var i,n=Object.keys(t),a=0;a<n.length;a++){i=t[n[a]].values;for(var r=0;r<i.length;r++)if(e(i[r].value))return!0}return!1},hasMultiTargets:function(){return this.filterTargetsToShow().length>1},hasNegativeValueInTargets:function(t){return this.checkValueInTargets(t,(function(t){return t<0}))},hasPositiveValueInTargets:function(t){return this.checkValueInTargets(t,(function(t){return t>0}))},_checkOrder:function(t){var e=this.config.data_order;return A(e)&&e.toLowerCase()===t},isOrderDesc:function(){return this._checkOrder("desc")},isOrderAsc:function(){return this._checkOrder("asc")},orderTargets:function(t){var e=[].concat(t),i=this.getSortCompareFn();return i&&e.sort(i),e},getSortCompareFn:function(t){void 0===t&&(t=!1);var e,i=this,n=i.config,a=i.isOrderAsc(),r=i.isOrderDesc();return a||r?e=function(e,i){var n=function(t,e){return t+Math.abs(e.value)},r=e.values.reduce(n,0),s=i.values.reduce(n,0);return t?a?r-s:s-r:a?s-r:r-s}:w(n.data_order)&&(e=n.data_order.bind(i.api)),e||null},filterByX:function(t,e){return tt(t.map((function(t){return t.values}))).filter((function(t){return t.x-e==0}))},filterRemoveNull:function(t){var e=this;return t.filter((function(t){return T(e.getBaseValue(t))}))},filterByXDomain:function(t,e){return t.map((function(t){return{id:t.id,id_org:t.id_org,values:t.values.filter((function(t){return e[0]<=t.x&&t.x<=e[1]}))}}))},hasDataLabel:function(){var t=this.config.data_labels;return L(t)&&t||D(t)&&P(t)},getDataIndexFromEvent:function(t){var e=this.config,i=this.state,n=i.inputType,a=i.eventReceiver,r=a.coords,s=a.rect,o=e.axis_rotated,c="touch"===n&&t.changedTouches?t.changedTouches[0]:t;return W(r,o?c.clientY-s.top:c.clientX-s.left,0,r.length-1,o)},getDataLabelLength:function(t,e,i){var n=this,a=[0,0];return n.$el.chart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text((function(t){return n.dataLabelFormat(t.id)(t)})).each((function(t,e){a[e]=1.3*this.getBoundingClientRect()[i]})).remove(),a},isNoneArc:function(t){return this.hasTarget(this.data.targets,t.id)},isArc:function(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},findSameXOfValues:function(t,e){var i,n=t[e].x,a=[];for(i=e-1;i>=0&&n===t[i].x;i--)a.push(t[i]);for(i=e;i<t.length&&n===t[i].x;i++)a.push(t[i]);return a},findClosestFromTargets:function(t,e){var i=this,n=t.map((function(t){return i.findClosest(t.values,e)}));return i.findClosest(n,e)},findClosest:function(t,e){var i,n=this,r=n.config,s=n.$el.main,o=t.filter((function(t){return t&&T(t.value)})),c=r.point_sensitivity;return o.filter((function(t){return n.isBarType(t.id)})).forEach((function(t){var e=s.select("."+a.bars+n.getTargetSelectorSuffix(t.id)+" ."+a.bar+"-"+t.index).node();!i&&n.isWithinBar(e)&&(i=t)})),o.filter((function(t){return!n.isBarType(t.id)})).forEach((function(t){var a=n.dist(t,e);a<c&&(c=a,i=t)})),i},dist:function(t,e){var i=this,n=i.config.axis_rotated,a=i.scale,r=n?1:0,s=n?0:1,o=i.circleY(t,t.index),c=(a.zoom||a.x)(t.x);return Math.sqrt(Math.pow(c-e[r],2)+Math.pow(o-e[s],2))},convertValuesToStep:function(t){var e=this.axis,i=this.config.line_step_type,n=!!e&&e.isCategorized(),a=z(t)?t.concat():[t];if(!n&&!/step\-(after|before)/.test(i))return t;var r=a[0],s=a[a.length-1],o=r.id,c=r.x;return a.unshift({x:--c,value:r.value,id:o}),n&&"step-after"===i&&a.unshift({x:--c,value:r.value,id:o}),c=s.x,a.push({x:++c,value:s.value,id:o}),n&&"step-before"===i&&a.push({x:++c,value:s.value,id:o}),a},convertValuesToRange:function(t){var e=z(t)?t.concat():[t],i=[];return e.forEach((function(t){var e=t.x,n=t.id;i.push({x:e,id:n,value:t.value[0]}),i.push({x:e,id:n,value:t.value[2]})})),i},updateDataAttributes:function(t,e){var i=this.config["data_"+t];return S(e)||(Object.keys(e).forEach((function(t){i[t]=e[t]})),this.redraw({withLegend:!0})),i},getRangedData:function(t,e,i){void 0===e&&(e=""),void 0===i&&(i="areaRange");var n=null==t?void 0:t.value;if(z(n)){var a={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[i].indexOf(e);return a>=0&&n?n[a]:void 0}return n?n[e]:n},getRatio:function(t,e,i){var n=this,a=n.config,r=n.state,s=n.api,o=0;if(e&&s.data.shown().length)if(o=e.ratio||e.value,"arc"===t)if(n.pie.padAngle()())o=e.value/n.getTotalDataSum(!0);else{var c=a.gauge_fullCircle?n.getArcLength():-2*n.getStartAngle(),l=n.hasType("gauge")?c:2*Math.PI;o=(e.endAngle-e.startAngle)/l}else if("index"===t){var u=s.data.values.bind(s),d=this.getTotalPerIndex();if(r.hiddenTargetIds.length){var h=u(r.hiddenTargetIds,!1);h.length&&(h=h.reduce((function(t,e){return t.map((function(t,i){return(k(t)?t:0)+e[i]}))})),d=d.map((function(t,e){return t-h[e]})))}e.ratio=k(e.value)&&d&&d[e.index]>0?e.value/d[e.index]:0,o=e.ratio}else if("radar"===t)o=parseFloat(Math.max(e.value,0)+"")/r.current.dataMax*a.radar_size_ratio;else if("bar"===t){var g=n.getYScaleById.bind(n)(e.id).domain().reduce((function(t,e){return e-t}));o=Math.abs(e.value)/g}return i&&o?100*o:o},updateDataIndexByX:function(t){var e=t.reduce((function(t,e,i){return t[+e.x]=i,t}),{});this.data.targets.forEach((function(t){t.values.forEach((function(t,i){var n=e[+t.x];void 0===n&&(n=i),t.index=n}))}))},isBubbleZType:function(t){return this.isBubbleType(t)&&(X(t.value)&&("z"in t.value||"y"in t.value)||z(t.value)&&2===t.value.length)},getDataById:function(t){var e=this.cache.get(t)||this.api.data(t);return z(e)?e[0]:e}},Et={load:function(t,e){var i=this,n=t;n&&(e.filter&&(n=n.filter(e.filter)),(e.type||e.types)&&n.forEach((function(t){var n=e.types&&e.types[t.id]||e.type;i.setTargetType(t.id,n)})),i.data.targets.forEach((function(t){for(var e=0;e<n.length;e++)if(t.id===n[e].id){t.values=n[e].values,n.splice(e,1);break}})),i.data.targets=i.data.targets.concat(n)),i.updateTargets(i.data.targets),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),i.updateTypesElements(),e.done&&e.done.call(i.api)},loadFromArgs:function(t){var e=this;if(e.config){e.cache.reset();var i=t.data||e.convertData(t,(function(i){return e.load(e.convertDataToTargets(i),t)}));i&&e.load(e.convertDataToTargets(i),t)}},unload:function(t,e){var i=this,n=i.state,r=i.$el,s=e,o=t;return i.cache.reset(),s||(s=function(){}),(o=o.filter((function(t){return i.hasTarget(i.data.targets,t)})))&&0!==o.length?(r.svg.selectAll(o.map((function(t){return i.selectorTarget(t)}))).transition().style("opacity","0").remove().call(B,s),o.forEach((function(t){n.withoutFadeIn[t]=!1,r.legend&&r.legend.selectAll("."+a.legendItem+i.getTargetSelectorSuffix(t)).remove(),i.data.targets=i.data.targets.filter((function(e){return e.id!==t}))})),void i.updateTypesElements()):void s()}},Ot=p(7),Rt={selectRectForSingle:function(t,e,i){var r=this,s=r.config,o=r.$el.main,c=s.data_selection_enabled,l=s.data_selection_grouped,u=s.data_selection_isselectable,d=s.tooltip_grouped,h=r.getAllValuesOnIndex(i);d&&(r.showTooltip(h,t),r.showGridFocus&&r.showGridFocus(h),!c||l)||o.selectAll("."+a.shape+"-"+i).each((function(){(0,n.select)(this).classed(a.EXPANDED,!0),c&&e.style("cursor",l?"pointer":null),d||(r.hideGridFocus&&r.hideGridFocus(),r.hideTooltip(),!l&&r.expandCirclesBars(i))})).filter((function(t){return r.isWithinShape(this,t)})).call((function(n){var a=n.data();c&&(l||u&&u.bind(r.api)(a))&&e.style("cursor","pointer"),d||(r.showTooltip(a,t),r.showGridFocus&&r.showGridFocus(a),r.unexpandCircles&&r.unexpandCircles(),n.each((function(t){return r.expandCirclesBars(i,t.id)})))}))},expandCirclesBars:function(t,e,i){var n=this,a=n.config,r=n.$el,s=r.bar;r.circle&&a.point_focus_expand_enabled&&n.expandCircles(t,e,i),s&&n.expandBars(t,e,i)},setOverOut:function(t,e){var i=this,r=i.config,s=i.state.hasRadar,o=i.$el.main,c=X(e);if(c||-1!==e){var l=r[t?"data_onover":"data_onout"].bind(i.api);if(r.color_onover&&i.setOverColor(t,e,c),c)l(e,o.select("."+a.arc+i.getTargetSelectorSuffix(e.id)).node());else if(r.tooltip_grouped)t&&(r.point_focus_only&&s?i.showCircleFocus(i.getAllValuesOnIndex(e,!0)):i.expandCirclesBars(e,null,!0)),i.isMultipleX()||o.selectAll("."+a.shape+"-"+e).each((function(t){l(t,this)}));else{var u=i.cache.get(mt)||[],d=o.selectAll("."+a.shape+"-"+e).filter((function(t){return i.isWithinShape(this,t)}));d.each((function(t){var e=this;(0===u.length||u.every((function(t){return t!==e})))&&(l(t,this),u.push(this))})),u.length>0&&d.empty()&&(l=r.data_onout.bind(i.api),u.forEach((function(t){return l((0,n.select)(t).datum(),t)})),u=[]),i.cache.add(mt,u)}}},callOverOutForTouch:function(t){var e=this,i=e.cache.get(yt);(X(t)&&i?t.id!==i.id:t!==i)&&((i||k(i))&&e.setOverOut(!1,i),(t||k(t))&&e.setOverOut(!0,t),e.cache.add(yt,t))},getDraggableSelection:function(){var t=this,e=t.config,i=t.state;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?(0,Ot.drag)().on("drag",(function(e){i.event=e,t.drag(G(e,this))})).on("start",(function(e){i.event=e,t.dragstart(G(e,this))})).on("end",(function(e){i.event=e,t.dragend()})):function(){}},dispatchEvent:function(t,e,i){var n=this,r=n.config,s=n.state,o=s.eventReceiver,c=s.hasAxis,l=s.hasRadar,u=n.$el,d=u.eventRect,h=u.arcs,g=u.radar,f=n.isMultipleX(),p=(l?g.axes.select("."+a.axis+"-"+e+" text"):d||h.selectAll("."+a.target+" path").filter((function(t,i){return i===e}))).node(),x=p.getBoundingClientRect(),v=x.width,_=x.left,m=x.top;if(c&&!l&&!f){var y=o.coords[e];v=y.w,_+=y.x,m+=y.y}var b=_+(i?i[0]:0)+(f||r.axis_rotated?0:v/2),T=m+(i?i[1]:0);rt[/^(mouse|click)/.test(t)?"mouse":"touch"](p,t,{screenX:b,screenY:T,clientX:b,clientY:T})},setDragStatus:function(t){this.state.dragging=t}},Dt={generateClass:function(t,e){return" "+t+" "+(t+this.getTargetSelectorSuffix(e))},getClass:function(t,e){var i=this,n=/s$/.test(t),r=/^(area|arc|line)s?$/.test(t),s=n?"id":"index";return function(o){var c=o.data||o;return((e?i.generateClass(a[n?"shapes":"shape"],c[s]):"")+i.generateClass(a[t],c[r?"id":s])).trim()}},getChartClass:function(t){var e=this;return function(i){return a["chart"+t]+e.classTarget((i.data?i.data:i).id)}},generateExtraLineClass:function(){var t=this.config.line_classes||[],e=[];return function(i){var n=i.id||i.data&&i.data.id||i;return e.indexOf(n)<0&&e.push(n),t[e.indexOf(n)%t.length]}},classRegion:function(t,e){return this.generateClass(a.region,e)+" "+("class"in t?t.class:"")},classTarget:function(t){var e=this.config.data_classes[t],i="";return e&&(i=" "+a.target+"-"+e),this.generateClass(a.target,t)+i},classFocus:function(t){return this.classFocused(t)+this.classDefocused(t)},classFocused:function(t){return" "+(this.state.focusedTargetIds.indexOf(t.id)>=0?a.focused:"")},classDefocused:function(t){return" "+(this.state.defocusedTargetIds.indexOf(t.id)>=0?a.defocused:"")},getTargetSelectorSuffix:function(t){return t||0===t?("-"+t).replace(/[\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-"):""},selectorTarget:function(t,e){var i=e||"",n=this.getTargetSelectorSuffix(t);return i+"."+(a.target+n)+", "+i+"."+(a.circles+n)},selectorTargets:function(t,e){var i=this,n=t||[];return n.length?n.map((function(t){return i.selectorTarget(t,e)})):null},selectorLegend:function(t){return"."+(a.legendItem+this.getTargetSelectorSuffix(t))},selectorLegends:function(t){var e=this;return t&&t.length?t.map((function(t){return e.selectorLegend(t)})):null}},It=p(6),Pt=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],zt={getColorFromCss:function(){var t=gt,e=m.body,i=e[t];if(!i){var n=m.createElement("span");n.className=a.colorPattern,n.style.display="none",e.appendChild(n);var r=_.getComputedStyle(n).backgroundImage;n.parentNode.removeChild(n),r.indexOf(";")>-1&&(i=r.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(";").map((function(t){return t.trim().replace(/[\"'\s]/g,"")})).filter(Boolean),e[t]=i)}return i},generateColor:function(){var t=this,e=t.config,i=e.data_colors,a=e.data_color,r=[],s=P(e.color_pattern)?e.color_pattern:(0,It.scaleOrdinal)(t.getColorFromCss()||Pt).range(),o=s;if(w(e.color_tiles)){var c=e.color_tiles.bind(t.api)(),l=s.map((function(e,i){var a=e.replace(/[#\(\)\s,]/g,""),r=t.state.datetimeId+"-pattern-"+a+"-"+i;return function(t,e,i){var a=(0,n.select)(t.cloneNode(!0));return a.attr("id",i).insert("rect",":first-child").attr("width",a.attr("width")).attr("height",a.attr("height")).style("fill",e),{id:i,node:a.node()}}(c[i%c.length],e,r)}));s=l.map((function(t){return"url(#"+t.id+")"})),t.patterns=l}return function(n){var c,l=n.id||n.data&&n.data.id||n,u=t.isTypeOf(l,["line","spline","step"])||!e.data_types[l];return w(i[l])?c=i[l].bind(t.api)(n):i[l]?c=i[l]:(r.indexOf(l)<0&&r.push(l),c=u?o[r.indexOf(l)%o.length]:s[r.indexOf(l)%s.length],i[l]=c),w(a)?a.bind(t.api)(c,n):c}},generateLevelColor:function(){var t=this.config,e=t.color_pattern,i=t.color_threshold,n="value"===i.unit,a=i.max||100,r=i.values&&i.values.length?i.values:[];return P(i)?function(t){for(var i=n?t:100*t/a,s=e[e.length-1],o=0,c=r.length;o<c;o++)if(i<=r[o]){s=e[o];break}return s}:null},setOverColor:function(t,e){var i=this,n=i.config,r=i.$el.main,s=n.color_onover,o=t?s:i.color;X(o)?o=function(t){var e=t.id;return e in s?s[e]:i.color(e)}:A(o)?o=function(){return s}:w(s)&&(o=o.bind(i.api)),r.selectAll(X(e)?"."+a.arc+i.getTargetSelectorSuffix(e.id):"."+a.shape+"-"+e).style("fill",o)}},Xt={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",GAUGE:"gauge",LINE:"line",PIE:"pie",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step"},Mt={Area:[Xt.AREA,Xt.AREA_SPLINE,Xt.AREA_SPLINE_RANGE,Xt.AREA_LINE_RANGE,Xt.AREA_STEP],AreaRange:[Xt.AREA_SPLINE_RANGE,Xt.AREA_LINE_RANGE],Arc:[Xt.PIE,Xt.DONUT,Xt.GAUGE,Xt.RADAR],Line:[Xt.LINE,Xt.SPLINE,Xt.AREA,Xt.AREA_SPLINE,Xt.AREA_SPLINE_RANGE,Xt.AREA_LINE_RANGE,Xt.STEP,Xt.AREA_STEP],Step:[Xt.STEP,Xt.AREA_STEP],Spline:[Xt.SPLINE,Xt.AREA_SPLINE,Xt.AREA_SPLINE_RANGE]},Ft={getYDomainMinMax:function(t,e){var i=this,n=i.axis,a=i.config,r="min"===e,s=a.data_groups,o=i.mapToIds(t),c=i.getValuesAsIdKeyed(t);return s.length>0&&function(){for(var e,a=i["has"+(r?"Negative":"Positive")+"ValueInTargets"](t),l=function(t,i){if(0===(i=i.filter((function(t){return o.indexOf(t)>=0}))).length)return e=i,"continue";var s=i[0],l=n.getId(s);a&&c[s]&&(c[s]=c[s].map((function(t){return(r?t<0:t>0)?t:0})));for(var u,d=function(t,e){if(!c[e])return"continue";var i=n.getId(e);c[e].forEach((function(t,e){var n=+t;i!==l||a&&(r?n>0:n<0)||(c[s][e]+=n)}))},h=1;u=i[h];h++)d(0,u);e=i},u=0;e=s[u];u++)l(0,e)}(),nt(e,Object.keys(c).map((function(t){return nt(e,c[t])})))},getYDomainMin:function(t){return this.getYDomainMinMax(t,"min")},getYDomainMax:function(t){return this.getYDomainMinMax(t,"max")},isHiddenTargetWithYDomain:function(t){var e=this;return e.state.hiddenTargetIds.some((function(i){return e.axis.getId(i)===t}))},getYDomain:function(t,e,i){var n=this,a=n.axis,r=n.config,s=n.scale,o="axis_"+e;if(n.isStackNormalized())return[0,100];var c=s&&s[e]&&"log"===s[e].type,l=t.filter((function(t){return a.getId(t.id)===e})),u=i?n.filterByXDomain(l,i):l;if(0===u.length)return n.isHiddenTargetWithYDomain(e)?s[e].domain():"y2"===e?s.y.domain():n.getYDomain(t,"y2",i);var d=r[o+"_min"],h=r[o+"_max"],g=n.getYDomainMin(u),f=n.getYDomainMax(u),p=r[o+"_center"],x=[Xt.BAR,Xt.BUBBLE,Xt.SCATTER].concat(Mt.Line).some((function(t){var e=t.indexOf("area")>-1?"area":t;return n.hasType(t,u)&&r[e+"_zerobased"]})),v=r[o+"_inverted"],_=n.hasDataLabel()&&r.axis_rotated,m=n.hasDataLabel()&&!r.axis_rotated;g=T(d)?d:T(h)?g<h?g:h-10:g,f=T(h)?h:T(d)?d<f?f:d+10:f,isNaN(g)&&(g=0),isNaN(f)&&(f=g),g===f&&(g<0?f=0:g=0);var y=g>=0&&f>=0,b=g<=0&&f<=0;(T(d)&&y||T(h)&&b)&&(x=!1),x&&(y&&(g=0),b&&(f=0));var w=Math.abs(f-g),A={top:.1*w,bottom:.1*w};if(C(p)){var k=Math.max(Math.abs(g),Math.abs(f));f=p+k,g=p-k}if(_){var S=R(s.y.range()),L=n.getDataLabelLength(g,f,"width").map((function(t){return t/S}));["bottom","top"].forEach((function(t,e){A[t]+=w*(L[e]/(1-L[0]-L[1]))}))}else if(m){var E=n.getDataLabelLength(g,f,"height");["bottom","top"].forEach((function(t,e){A[t]+=a.convertPixelsToAxisPadding(E[e],w)}))}var O=r[o+"_padding"];P(O)&&["bottom","top"].forEach((function(t){A[t]=a.getPadding(O,t,A[t],w)})),x&&(y&&(A.bottom=g),b&&(A.top=-f));var D=c?[g,f].map((function(t){return t<0?0:t})):[g-A.bottom,f+A.top];return v?D.reverse():D},getXDomainMinMax:function(t,e){var i=this.config["axis_x_"+e],n=nt(e,t.map((function(t){return nt(e,t.values.map((function(t){return t.x})))}))),a=X(i)?i.value:i;return a=C(a)&&this.axis.isTimeSeries()?ot.bind(this)(a):a,X(i)&&i.fit&&("min"===e&&a<n||"max"===e&&a>n)&&(a=void 0),C(a)?a:n},getXDomainMin:function(t){return this.getXDomainMinMax(t,"min")},getXDomainMax:function(t){return this.getXDomainMinMax(t,"max")},getXDomainPadding:function(t){var e,i,n=this,a=n.axis,r=n.config,s=t[1]-t[0],o=r.axis_x_padding;a.isCategorized()?i=0:n.hasType("bar")?i=(e=n.getMaxDataCount())>1?s/(e-1)/2:.5:i=.01*s;var c=i,l=i;return X(o)&&P(o)?(c=T(o.left)?o.left:i,l=T(o.right)?o.right:i):k(r.axis_x_padding)&&(c=o,l=o),{left:c,right:l}},getXDomain:function(t){var e=this,i="log"===e.scale.x.type,n=[e.getXDomainMin(t),e.getXDomainMax(t)],a=0,r=0;if(i)a=n[0],r=n[1];else{var s=e.axis.isCategorized(),o=e.axis.isTimeSeries(),c=e.getXDomainPadding(n),l=n[0],u=n[1];l-u!=0||s||(o?(l=new Date(.5*l.getTime()),u=new Date(1.5*u.getTime())):(l=0===l?1:.5*l,u=0===u?-1:1.5*u)),(l||0===l)&&(a=o?new Date(l.getTime()-c.left):l-c.left),(u||0===u)&&(r=o?new Date(u.getTime()+c.right):u+c.right)}return[a,r]},updateXDomain:function(t,e,i,n,a){var r=this,s=r.config,o=r.org,c=r.scale,l=c.x,u=c.subX,d=s.zoom_enabled;if(i&&(l.domain(a||it(r.getXDomain(t))),o.xDomain=l.domain(),d&&r.zoom.updateScaleExtent(),u.domain(l.domain()),r.brush&&r.brush.scale(u)),e){var h=a||!r.brush||U(r)?o.xDomain:j(r).map(u.invert);l.domain(h),d&&r.zoom.updateScaleExtent()}return n&&l.domain(r.trimXDomain(l.orgDomain())),l.domain()},trimXDomain:function(t){var e=this.getZoomDomain(),i=e[0],n=e[1];return t[0]<=i&&(t[1]=+t[1]+(i-t[0]),t[0]=i),n<=t[1]&&(t[0]=+t[0]-(t[1]-n),t[1]=n),t},getZoomDomain:function(){var t=this.config,e=this.org.xDomain,i=e[0],n=e[1];return C(t.zoom_x_min)&&(i=nt("min",[i,t.zoom_x_min])),C(t.zoom_x_max)&&(n=nt("max",[n,t.zoom_x_max])),[i,n]}};function Bt(t,e,i){var n=t.config,a="axis_"+e+"_tick_format";return(n[a]?n[a]:t.defaultValueFormat)(i)}var $t={getYFormat:function(t){var e=this,i=e.yFormat,n=e.y2Format;return t&&!e.hasType("gauge")&&(i=e.defaultArcValueFormat,n=e.defaultArcValueFormat),function(t,a,r){return(e.axis&&"y2"===e.axis.getId(r)?n:i).call(e,t,a)}},yFormat:function(t){return Bt(this,"y",t)},y2Format:function(t){return Bt(this,"y2",t)},defaultValueFormat:function(t){return T(t)?+t:""},defaultArcValueFormat:function(t,e){return(100*e).toFixed(1)+"%"},dataLabelFormat:function(t){var e=this.config.data_labels,i=function(t){return T(t)?+t:""},n=i;return w(e.format)?n=e.format:D(e.format)&&(n=e.format[t]?!0===e.format[t]?i:e.format[t]:function(){return""}),n.bind(this.api)}},Nt={initLegend:function(){var t=this,e=t.config,i=t.$el;t.legendItemTextBox={},t.state.legendHasRendered=!1,e.legend_show?(!e.legend_contents_bindto&&(i.legend=t.$el.svg.append("g").classed(a.legend,!0).attr("transform",t.getTranslate("legend"))),t.updateLegend()):t.state.hiddenLegendIds=t.mapToIds(t.data.targets)},updateLegend:function(t,e,i){var n=this,r=n.config,s=n.state,o=n.scale,c=n.$el,l=e||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};l.withTransition=M(l,"withTransition",!0),l.withTransitionForTransform=M(l,"withTransitionForTransform",!0),r.legend_contents_bindto&&r.legend_contents_template?n.updateLegendTemplate():n.updateLegendElement(t||n.mapToIds(n.data.targets),l,i),c.legend.selectAll("."+a.legendItem).classed(a.legendItemHidden,(function(t){var e=!n.isTargetToShow(t);return e&&(this.style.opacity=null),e})),n.updateScales(!1,!o.zoom),n.updateSvgSize(),n.transformAll(l.withTransitionForTransform,i),s.legendHasRendered=!0},updateLegendTemplate:function(){var t=this,e=t.config,i=t.$el,a=(0,n.select)(e.legend_contents_bindto),r=e.legend_contents_template;if(!a.empty()){var s=t.mapToIds(t.data.targets),o=[],c="";s.forEach((function(e){var i=w(r)?r.bind(t.api)(e,t.color(e),t.api.data(e)[0].values):st(r,{COLOR:t.color(e),TITLE:e});i&&(o.push(e),c+=i)}));var l=a.html(c).selectAll((function(){return this.childNodes})).data(o);t.setLegendItem(l),i.legend=a}},updateSizeForLegend:function(t){var e=this,i=e.config,n=e.state,a=n.isLegendTop,r=n.isLegendLeft,s=n.isLegendRight,o=n.isLegendInset,c=n.current,l=t.width,u=t.height,d={top:a?e.getCurrentPaddingTop()+i.legend_inset_y+5.5:c.height-u-e.getCurrentPaddingBottom()-i.legend_inset_y,left:r?e.getCurrentPaddingLeft()+i.legend_inset_x+.5:c.width-l-e.getCurrentPaddingRight()-i.legend_inset_x+.5};e.state.margin3={top:s?0:o?d.top:c.height-u,right:NaN,bottom:0,left:s?c.width-l:o?d.left:0}},transformLegend:function(t){var e=this.$el.legend;(t?e.transition():e).attr("transform",this.getTranslate("legend"))},updateLegendStep:function(t){this.state.legendStep=t},updateLegendItemWidth:function(t){this.state.legendItemWidth=t},updateLegendItemHeight:function(t){this.state.legendItemHeight=t},updateLegendItemColor:function(t,e){var i=this.$el.legend;i&&i.select("."+a.legendItem+"-"+t+" line").style("stroke",e)},getLegendWidth:function(){var t=this.state,e=t.current.width,i=t.isLegendRight,n=t.isLegendInset,a=t.legendItemWidth,r=t.legendStep;return this.config.legend_show?i||n?a*(r+1):e:0},getLegendHeight:function(){var t=this.state,e=t.current,i=t.isLegendRight,n=t.legendItemHeight,a=t.legendStep;return this.config.legend_show?i?e.height:Math.max(20,n)*(a+1):0},opacityForLegend:function(t){return t.classed(a.legendItemHidden)?null:"1"},opacityForUnfocusedLegend:function(t){return t.classed(a.legendItemHidden)?null:"0.3"},toggleFocusLegend:function(t,e){var i=this,r=i.$el.legend,s=i.mapToTargetIds(t);r&&r.selectAll("."+a.legendItem).filter((function(t){return s.indexOf(t)>=0})).classed(a.legendItemFocused,e).transition().duration(100).style("opacity",(function(){return(e?i.opacityForLegend:i.opacityForUnfocusedLegend).call(i,(0,n.select)(this))}))},revertLegend:function(){var t=this,e=t.$el.legend;e&&e.selectAll("."+a.legendItem).classed(a.legendItemFocused,!1).transition().duration(100).style("opacity",(function(){return t.opacityForLegend((0,n.select)(this))}))},showLegend:function(t){var e=this,i=e.config,a=e.$el;i.legend_show||(i.legend_show=!0,a.legend?a.legend.style("visibility","visible"):e.initLegend(),!e.state.legendHasRendered&&e.updateLegend()),e.removeHiddenLegendIds(t),a.legend.selectAll(e.selectorLegends(t)).style("visibility","visible").transition().style("opacity",(function(){return e.opacityForLegend((0,n.select)(this))}))},hideLegend:function(t){var e=this,i=e.config,n=e.$el.legend;i.legend_show&&I(t)&&(i.legend_show=!1,n.style("visibility","hidden")),e.addHiddenLegendIds(t),n.selectAll(e.selectorLegends(t)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox:function(t,e){var i,n=this,r=n.cache,s=n.state,o=vt;return t&&(!(i=!s.redrawing&&r.get(o)||{})[t]&&(i[t]=n.getTextRect(e,a.legendItem),r.add(o,i)),i=i[t]),i},setLegendItem:function(t){var e=this,i=e.api,r=e.config,s=e.state,o="touch"===s.inputType,c=e.hasType("gauge");t.attr("class",(function(t){var i=(0,n.select)(this);return(!i.empty()&&i.attr("class")||"")+e.generateClass(a.legendItem,t)})).style("visibility",(function(t){return e.isLegendToShow(t)?"visible":"hidden"})),r.interaction_enabled&&(t.style("cursor","pointer").on("click",(function(t,s){F(r.legend_item_onclick,i,s)||(t.altKey?(i.hide(),i.show(s)):(i.toggle(s),(0,n.select)(this).classed(a.legendItemFocused,!1).style("opacity",null))),o&&e.hideTooltip()})),!o&&t.on("mouseout",(function(t,s){F(r.legend_item_onout,i,s)||((0,n.select)(this).classed(a.legendItemFocused,!1),c&&e.undoMarkOverlapped(e,"."+a.gaugeValue),e.api.revert())})).on("mouseover",(function(t,o){F(r.legend_item_onover,i,o)||((0,n.select)(this).classed(a.legendItemFocused,!0),c&&e.markOverlapped(o,e,"."+a.gaugeValue),!s.transiting&&e.isTargetToShow(o)&&i.focus(o))})))},updateLegendElement:function(t,e){var i,r,s,o=this,c=o.config,l=o.state,u=o.$el.legend,d=c.legend_item_tile_width+5,h=0,g=0,f=0,p={},x={},v={},_=[0],y={},b=0,T=l.isLegendRight||l.isLegendInset,w=t.filter((function(t){return!C(c.data_names[t])||null!==c.data_names[t]})),A=e.withTransition,k=function(t,e,i){var n,a=i===w.length-1,r=o.getLegendItemTextBox(e,t),s=r.width+d+(a&&!T?0:10)+c.legend_padding,u=r.height+4,m=T?u:s,A=T?o.getLegendHeight():o.getLegendWidth(),k=function(t,e){e||(n=(A-f-m)/2)<10&&(n=(A-m)/2,f=0,b++),y[t]=b,_[b]=l.isLegendInset?10:n,p[t]=f,f+=m};if(0===i&&(f=0,b=0,h=0,g=0),c.legend_show&&!o.isLegendToShow(e))return x[e]=0,v[e]=0,y[e]=0,void(p[e]=0);x[e]=s,v[e]=u,(!h||s>=h)&&(h=s),(!g||u>=g)&&(g=u);var S=T?g:h;c.legend_equally?(Object.keys(x).forEach((function(t){return x[t]=h})),Object.keys(v).forEach((function(t){return v[t]=g})),(n=(A-S*w.length)/2)<10?(f=0,b=0,w.forEach((function(t){return k(t)}))):k(e,!0)):k(e)};l.isLegendInset&&(b=c.legend_inset_step?c.legend_inset_step:w.length,o.updateLegendStep(b)),l.isLegendRight?(i=function(t){return h*y[t]},r=function(t){return _[y[t]]+p[t]}):l.isLegendInset?(i=function(t){return h*y[t]+10},r=function(t){return _[y[t]]+p[t]}):(i=function(t){return _[y[t]]+p[t]},r=function(t){return g*y[t]});var S=function(t,e){return i(t,e)+4+c.legend_item_tile_width},L=function(t,e){return i(t,e)},E=function(t,e){return i(t,e)-2},O=function(t,e){return i(t,e)-2+c.legend_item_tile_width},R=function(t,e){return r(t,e)+9},D=function(t,e){return r(t,e)-5},I=function(t,e){return r(t,e)+4},z=-200,X=u.selectAll("."+a.legendItem).data(w).enter().append("g");o.setLegendItem(X),X.append("text").text((function(t){return C(c.data_names[t])?c.data_names[t]:t})).each((function(t,e){k(this,t,e)})).style("pointer-events","none").attr("x",T?S:z).attr("y",T?z:R),X.append("rect").attr("class",a.legendItemEvent).style("fill-opacity","0").attr("x",T?L:z).attr("y",T?z:D);var M=function(t){var e=o.getDataById(t);return o.levelColor?o.levelColor(e.values[0].value):o.color(e)},F=c.legend_usePoint;if(F){var B=[];X.append((function(t){var e=P(c.point_pattern)?c.point_pattern:[c.point_type];-1===B.indexOf(t)&&B.push(t);var i=e[B.indexOf(t)%e.length];return"rectangle"===i&&(i="rect"),m.createElementNS(n.namespaces.svg,"hasValidPointType"in o&&o.hasValidPointType(i)?i:"use")})).attr("class",a.legendItemPoint).style("fill",M).style("pointer-events","none").attr("href",(function(t,e,i){return"use"===i[e].nodeName.toLowerCase()?"#"+l.datetimeId+"-point-"+t:void 0}))}else X.append("line").attr("class",a.legendItemTile).style("stroke",M).style("pointer-events","none").attr("x1",T?E:z).attr("y1",T?z:I).attr("x2",T?O:z).attr("y2",T?z:I).attr("stroke-width",c.legend_item_tile_height);s=u.select("."+a.legendBackground+" rect"),l.isLegendInset&&h>0&&0===s.size()&&(s=u.insert("g","."+a.legendItem).attr("class",a.legendBackground).append("rect"));var $=u.selectAll("text").data(w).text((function(t){return C(c.data_names[t])?c.data_names[t]:t})).each((function(t,e){k(this,t,e)}));(A?$.transition():$).attr("x",S).attr("y",R);var N=u.selectAll("rect."+a.legendItemEvent).data(w);if((A?N.transition():N).attr("width",(function(t){return x[t]})).attr("height",(function(t){return v[t]})).attr("x",L).attr("y",D),F){var Y=u.selectAll("."+a.legendItemPoint).data(w);(A?Y.transition():Y).each((function(){var t,e,i,a=this.nodeName.toLowerCase(),r=c.point_r,s="x",o="y",l=2,u=2.5;if("circle"===a){var d=.2*r;s="cx",o="cy",t=r+d,l=2*r,u=-d}else if("rect"===a){var h=2.5*r;e=h,i=h,u=3}(0,n.select)(this).attr(s,(function(t){return E(t)+l})).attr(o,(function(t){return I(t)-u})).attr("r",t).attr("width",e).attr("height",i)}))}else{var G=u.selectAll("line."+a.legendItemTile).data(w);(A?G.transition():G).style("stroke",M).attr("x1",E).attr("y1",I).attr("x2",O).attr("y2",I)}s&&(A?s.transition():s).attr("height",o.getLegendHeight()-12).attr("width",h*(b+1)+10),o.updateLegendItemWidth(h),o.updateLegendItemHeight(g),o.updateLegendStep(b)}},Yt=p(8),Gt={redraw:function(t){void 0===t&&(t={});var e=this,i=e.config,n=e.state,r=e.$el,s=r.main;n.redrawing=!0;var o=e.filterTargetsToShow(e.data.targets),c=t.initializing,l=t.flow,u=e.getWithOption(t),d=u.Transition?i.transition_duration:0,h=u.TransitionForExit?d:0,g=u.TransitionForAxis?d:0,f=e.axis&&e.axis.generateTransitions(g);e.updateSizes(c),u.Legend&&i.legend_show?(t.withTransition=!!d,e.updateLegend(e.mapToIds(e.data.targets),t,f)):u.Dimension&&e.updateDimension(!0),(!e.hasArcType()||n.hasRadar)&&e.updateCircleY&&(e.circleY=e.updateCircleY()),n.hasAxis?(e.axis.redrawAxis(o,u,f,l,c),i.data_empty_label_text&&s.select("text."+a.text+"."+a.empty).attr("x",n.width/2).attr("y",n.height/2).text(i.data_empty_label_text).style("display",o.length?"none":null),e.hasGrid()&&e.updateGrid(d),i.regions.length&&e.updateRegion(d),["bar","candlestick","line","area"].forEach((function(t){var i=q(t);(/^(line|area)$/.test(t)&&e.hasTypeOf(i)||e.hasType(t))&&e["update"+i](h)})),r.text&&s.selectAll("."+a.selectedCircles).filter(e.isBarType.bind(e)).selectAll("circle").remove(),i.interaction_enabled&&!l&&u.EventRect&&(e.redrawEventRect(),e.bindZoomEvent&&e.bindZoomEvent())):(r.arcs&&e.redrawArc(d,h,u.Transform),r.radar&&e.redrawRadar(h)),!n.resizing&&(e.hasPointType()||n.hasRadar)&&e.updateCircle(),e.hasDataLabel()&&!e.hasArcType(null,["radar"])&&e.updateText(h),e.redrawTitle&&e.redrawTitle(),c&&e.updateTypesElements(),e.generateRedrawList(o,l,d,u.Subchart),e.callPluginHook("$redraw",t,d)},generateRedrawList:function(t,e,i,n){var a=this,r=a.config,s=a.state,o=a.getDrawShape();s.hasAxis&&r.subchart_show&&a.redrawSubchart(n,i,o);var c=e&&a.generateFlow({targets:t,flow:e,duration:e.duration,shape:o,xv:a.xv.bind(a)}),l=(i||c)&&ct(),u=a.getRedrawList(o,e,c,l),d=e||r.onrendered?function(){c&&c(),s.redrawing=!1,F(r.onrendered,a.api)}:null;if(d)if(l&&u.length){var h=kt();(0,Yt.transition)().duration(i).each((function(){u.reduce((function(t,e){return t.concat(e)}),[]).forEach((function(t){return h.add(t)}))})).call(h,d)}else s.transiting||d();a.mapToIds(a.data.targets).forEach((function(t){s.withoutFadeIn[t]=!0}))},getRedrawList:function(t,e,i,n){var a=this,r=a.config,s=a.state,o=s.hasAxis,c=s.hasRadar,l=a.$el.grid,u=t.pos,d=u.cx,h=u.cy,g=u.xForText,f=u.yForText,p=[];return o&&((r.grid_x_lines.length||r.grid_y_lines.length)&&p.push(a.redrawGrid(n)),r.regions.length&&p.push(a.redrawRegion(n)),Object.keys(t.type).forEach((function(e){var i=q(e),r=t.type[e];(/^(area|line)$/.test(e)&&a.hasTypeOf(i)||a.hasType(e))&&p.push(a["redraw"+i](r,n))})),!e&&l.main&&p.push(a.updateGridFocus())),(!a.hasArcType()||c)&&P(r.data_labels)&&!1!==r.data_labels&&p.push(a.redrawText(g,f,e,n)),(a.hasPointType()||c)&&!r.point_focus_only&&a.redrawCircle&&p.push(a.redrawCircle(d,h,n,i)),p},updateAndRedraw:function(t){void 0===t&&(t={});var e,i=this,n=i.config,a=i.state;t.withTransition=M(t,"withTransition",!0),t.withTransform=M(t,"withTransform",!1),t.withLegend=M(t,"withLegend",!1),t.withUpdateXDomain=!0,t.withUpdateOrgXDomain=!0,t.withTransitionForExit=!1,t.withTransitionForTransform=M(t,"withTransitionForTransform",t.withTransition),t.withLegend&&n.legend_show||(a.hasAxis&&(e=i.axis.generateTransitions(t.withTransitionForAxis?n.transition_duration:0)),i.updateScales(),i.updateSvgSize(),i.transformAll(t.withTransitionForTransform,e)),i.redraw(t,e)},redrawWithoutRescale:function(){this.redraw({withY:!1,withSubchart:!1,withEventRect:!1,withTransitionForAxis:!1})}};function jt(t,e,i){void 0===t&&(t="linear"),void 0===e&&(e=0),void 0===i&&(i=1);var n={linear:It.scaleLinear,log:It.scaleSymlog,_log:It.scaleLog,time:It.scaleTime}[t]();return n.type=t,/_?log/.test(t)&&n.clamp(!0),n.range([e,i])}var Vt={getXScale:function(t,e,i,n){var a=this,r=a.scale.zoom||jt(a.axis.getAxisType("x"),t,e);return a.getCustomizedScale(i?r.domain(i):r,n)},getYScale:function(t,e,i,n){var a=jt(this.axis.getAxisType(t),e,i);return n&&a.domain(n),a},getYScaleById:function(t,e){void 0===e&&(e=!1);var i="y2"===this.axis.getId(t),n=e?i?"subY2":"subY":i?"y2":"y";return this.scale[n]},getCustomizedScale:function(t,e){var i=this,n=e||function(){return i.axis.x.tickOffset()},a=function(e,i){var a=t(e)+n();return i?a:Math.ceil(a)};for(var r in t)a[r]=t[r];return a.orgDomain=function(){return t.domain()},a.orgScale=function(){return t},i.axis.isCategorized()&&(a.domain=function(e){var i=e;return arguments.length?(t.domain(i),a):[(i=this.orgDomain())[0],i[1]+1]}),a},updateScales:function(t,e){void 0===e&&(e=!0);var i=this,n=i.axis,a=i.config,r=i.format,s=i.org,o=i.scale,c=i.state,l=c.width,u=c.height,d=c.width2,h=c.height2;if(c.hasAxis){var g=a.axis_rotated,f={x:g?1:0,y:g?0:u,subX:g?1:0,subY:g?0:h},p={x:g?u:l,y:g?l:1,subX:g?u:l,subY:g?d:1},x=e&&o.x&&o.x.orgDomain(),v=e&&s.xDomain;o.x=i.getXScale(f.x,p.x,x,(function(){return n.x.tickOffset()})),o.subX=i.getXScale(f.x,p.x,v,(function(t){return t%1?0:n.subX.tickOffset()})),r.xAxisTick=n.getXAxisTickFormat(),n.setAxis("x",o.x,a.axis_x_tick_outer,t),a.subchart_show&&n.setAxis("subX",o.subX,a.axis_x_tick_outer,t),o.y=i.getYScale("y",f.y,p.y,o.y?o.y.domain():a.axis_y_default),o.subY=i.getYScale("y",f.subY,p.subY,o.subY?o.subY.domain():a.axis_y_default),n.setAxis("y",o.y,a.axis_y_tick_outer,t),a.axis_y2_show&&(o.y2=i.getYScale("y2",f.y,p.y,o.y2?o.y2.domain():a.axis_y2_default),o.subY2=i.getYScale("y2",f.subY,p.subY,o.subY2?o.subY2.domain():a.axis_y2_default),n.setAxis("y2",o.y2,a.axis_y2_tick_outer,t))}else i.updateArc&&i.updateArc()},xx:function(t){var e=this.config,i=this.scale,n=i.x,a=i.zoom,r=e.zoom_enabled&&a?a:n;return t?r(T(t.x)?t.x:t):null},xv:function(t){var e=this,i=e.axis,n=e.config,a=e.scale.x,r=e.getBaseValue(t);return i.isTimeSeries()?r=ot.call(e,r):i.isCategorized()&&A(r)&&(r=n.axis_x_categories.indexOf(r)),Math.ceil(a(r))},yv:function(t){var e=this.scale,i=e.y,n=e.y2,a=t.axis&&"y2"===t.axis?n:i;return Math.ceil(a(this.getBaseValue(t)))},subxx:function(t){return t?this.scale.subX(t.x):null}},Ht=p(9),Wt={getDrawShape:function(){var t=this,e=t.config.axis_rotated,i=t.state.hasRadar,n={type:{},indices:{},pos:{}};if(["bar","candlestick","line","area"].forEach((function(e){var i=q(/^(bubble|scatter)$/.test(e)?"line":e);if(t.hasType(e)||t.hasTypeOf(i)||"line"===e&&(t.hasType("bubble")||t.hasType("scatter"))){var a=t.getShapeIndices(t["is"+i+"Type"]),r=t["generateDraw"+i];n.indices[e]=a,n.type[e]=r?r.bind(t)(a,!1):void 0}})),!t.hasArcType()||i){var a=i?t.radarCircleX:e?t.circleY:t.circleX,r=i?t.radarCircleY:e?t.circleX:t.circleY;n.pos={xForText:t.generateXYForText(n.indices,!0),yForText:t.generateXYForText(n.indices,!1),cx:(a||function(){}).bind(t),cy:(r||function(){}).bind(t)}}return n},getShapeIndices:function(t){var e=this,i=e.config,n=i.data_xs,a=P(n),r={},s=a?{}:0;return a&&Q(Object.keys(n).map((function(t){return n[t]}))).forEach((function(t){s[t]=0,r[t]={}})),e.filterTargetsToShow(e.data.targets.filter(t,e)).forEach((function(t){for(var e,a=(t.id in n?n[t.id]:""),o=a?r[a]:r,c=0;e=i.data_groups[c];c++)if(!(e.indexOf(t.id)<0))for(var l,u=0;l=e[u];u++)if(l in o){o[t.id]=o[l];break}S(o[t.id])&&(o[t.id]=a?s[a]++:s++,o.__max__=(a?s[a]:s)-1)})),r},getIndices:function(t,e){var i=this.config.data_xs;return P(i)?t[i[e]]:t},getIndicesMax:function(t){return P(this.config.data_xs)?Object.keys(t).map((function(e){return t[e].__max__||0})).reduce((function(t,e){return t+e})):t.__max__},getShapeX:function(t,e,i){var n=this,a=n.config,r=n.scale,s=i?r.subX:r.zoom||r.x,o=a.bar_padding,c=function(t,e){return t+e},l=D(t)&&(t._$total.length?t._$total.reduce(c)/2:0);return function(i){var a=n.getIndices(e,i.id),r=i.id in a?a[i.id]:0,u=(a.__max__||0)+1,d=0;if(P(i.x)){var h=s(i.x,!0);d=l?h-(t[i.id]||t._$width)+t._$total.slice(0,r+1).reduce(c)-l:h-(k(t)?t:t._$width)*(u/2-r)}return t&&d&&u>1&&o&&(r&&(d+=o*r),u>2?d-=(u-1)*o/2:2===u&&(d-=o/2)),d}},getShapeY:function(t){var e=this,i=e.isStackNormalized();return function(n){var a=n.value;return k(n)?a=n:i?a=e.getRatio("index",n,!0):e.isBubbleZType(n)&&(a=e.getBubbleZData(n.value,"y")),e.getYScaleById(n.id,t)(a)}},getShapeYMin:function(t){var e=this,i=e.scale[e.axis.getId(t)].domain()[0];return!e.isGrouped(t)&&i>0?i:0},getShapeOffsetData:function(t){var e=this,i=e.orderTargets(e.filterTargetsToShow(e.data.targets.filter(t,e))),n=e.isStackNormalized(),a=i.map((function(t){var i=t.values,a={};e.isStepType(t)&&(i=e.convertValuesToStep(i));var r=i.reduce((function(t,i){var r=+i.x;return t[r]=i,a[r]=n?e.getRatio("index",i,!0):i.value,t}),{});return{id:t.id,rowValues:i,rowValueMapByXValue:r,values:a}}));return{indexMapByTargetId:i.reduce((function(t,e,i){return t[e.id]=i,t}),{}),shapeOffsetTargets:a}},getShapeOffset:function(t,e,i){var n=this,a=n.getShapeOffsetData(t),r=a.shapeOffsetTargets,s=a.indexMapByTargetId;return function(t,a){var o=n.getIndices(e,t.id),c=n.getYScaleById(t.id,i),l=c(n.getShapeYMin(t.id)),u=+t.x,d=l;return r.filter((function(e){return e.id!==t.id})).forEach((function(e){if(o[e.id]===o[t.id]&&s[e.id]<s[t.id]){var i=e.rowValues[a];i&&+i.x===u||(i=e.rowValueMapByXValue[u]),i&&i.value*t.value>=0&&(d+=c(e.values[u])-l)}})),d}},getBarW:function(t,e,i){var n=this,a=n.config,r=n.org,s=n.scale,o=n.getMaxDataCount(),c="bar"===t&&a.data_groups.length,l=t+"_width",u=s.zoom&&!n.axis.isCategorized()?r.xDomain.map((function(t){return s.zoom(t)})).reduce((function(t,e){return Math.abs(t)+e}))/o:e.tickInterval(o),d=function(t){var e=t?a[l][t]:a[l],n=t?e.ratio:a[l+"_ratio"],r=t?e.max:a[l+"_max"],s=k(e)?e:i?u*n/i:0;return r&&s>r?r:s},h=d();return!c&&D(a[l])&&(h={_$width:h,_$total:[]},n.filterTargetsToShow(n.data.targets).forEach((function(t){a[l][t.id]&&(h[t.id]=d(t.id),h._$total.push(h[t.id]||h._$width))}))),h},isWithinShape:function(t,e){var i,r=this,s=(0,n.select)(t);return r.isTargetToShow(e.id)?"hasValidPointType"in r&&r.hasValidPointType(t.nodeName)?i=r.isStepType(e)?r.isWithinStep(t,r.getYScaleById(e.id)(e.value)):r.isWithinCircle(t,r.isBubbleType(e)?1.5*r.pointSelectR(e):0):"path"===t.nodeName&&(i=!s.classed(a.bar)||r.isWithinBar(t)):i=!1,i},getInterpolate:function(t){var e=this.getInterpolateType(t);return{basis:Ht.curveBasis,"basis-closed":Ht.curveBasisClosed,"basis-open":Ht.curveBasisOpen,bundle:Ht.curveBundle,cardinal:Ht.curveCardinal,"cardinal-closed":Ht.curveCardinalClosed,"cardinal-open":Ht.curveCardinalOpen,"catmull-rom":Ht.curveCatmullRom,"catmull-rom-closed":Ht.curveCatmullRomClosed,"catmull-rom-open":Ht.curveCatmullRomOpen,"monotone-x":Ht.curveMonotoneX,"monotone-y":Ht.curveMonotoneY,natural:Ht.curveNatural,"linear-closed":Ht.curveLinearClosed,linear:Ht.curveLinear,step:Ht.curveStep,"step-after":Ht.curveStepAfter,"step-before":Ht.curveStepBefore}[e]},getInterpolateType:function(t){var e=this,i=e.config,n=i.spline_interpolation_type,a=e.isInterpolationType(n)?n:"cardinal";return e.isSplineType(t)?a:e.isStepType(t)?i.line_step_type:"linear"}},Ut={setContainerSize:function(){var t=this,e=t.state;e.current.width=t.getCurrentWidth(),e.current.height=t.getCurrentHeight()},getCurrentWidth:function(){return this.config.size_width||this.getParentWidth()},getCurrentHeight:function(){var t=this,e=t.config,i=e.size_height||t.getParentHeight();return i>0?i:320/(t.hasType("gauge")&&!e.gauge_fullCircle?2:1)},getCurrentPaddingTop:function(){var t=this,e=t.config,i=t.state.hasAxis,n=t.$el,a=i?e.axis_y2_axes.length:0,r=T(e.padding_top)?e.padding_top:0;return n.title&&n.title.node()&&(r+=t.getTitlePadding()),a&&e.axis_rotated&&(r+=t.getHorizontalAxisHeight("y2")*a),r},getCurrentPaddingBottom:function(){var t=this,e=t.config,i=t.state.hasAxis,n=e.axis_rotated?"y":"x",a=i?e["axis_"+n+"_axes"].length:0;return(T(e.padding_bottom)?e.padding_bottom:0)+(a?t.getHorizontalAxisHeight(n)*a:0)},getCurrentPaddingLeft:function(t){var e=this,i=e.config,n=e.state.hasAxis,a=i.axis_rotated,r=a?"x":"y",s=n?i["axis_"+r+"_axes"].length:0,o=n?e.getAxisWidthByAxisId(r,t):0;return(T(i.padding_left)?i.padding_left:n&&a?i.axis_x_show?Math.max(E(o),40):1:!n||i.axis_y_show&&!i.axis_y_inner?E(o):e.axis.getAxisLabelPosition("y").isOuter?30:1)+o*s},getCurrentPaddingRight:function(t){void 0===t&&(t=!1);var e=this,i=e.config,n=e.state.hasAxis,a=e.state.isLegendRight?e.getLegendWidth()+20:0,r=n?i.axis_y2_axes.length:0,s=n?e.getAxisWidthByAxisId("y2"):0,o=t?e.axis.getXAxisTickTextY2Overflow(10):0;return(T(i.padding_right)?i.padding_right+1:e.axis&&i.axis_rotated?10+a:!e.axis||i.axis_y2_show&&!i.axis_y2_inner?Math.max(E(s)+a,o):Math.max(2+a+(e.axis.getAxisLabelPosition("y2").isOuter?20:0),o))+s*r},getParentRectValue:function(t){for(var e,i="offset"+q(t),n=this.$el.chart.node();!e&&n&&"BODY"!==n.tagName;){try{e=n.getBoundingClientRect()[t]}catch(t){i in n&&(e=n[i])}n=n.parentNode}if("width"===t){var a=m.body.offsetWidth;e>a&&(e=a)}return e},getParentWidth:function(){return this.getParentRectValue("width")},getParentHeight:function(){var t=this.$el.chart.style("height");return t.indexOf("px")>0?parseInt(t,10):0},getSvgLeft:function(t){var e=this,i=e.config,n=e.$el,r=i.axis_rotated||!i.axis_rotated&&!i.axis_y_inner,s=i.axis_rotated?a.axisX:a.axisY,o=n.main.select("."+s).node(),c=o&&r?o.getBoundingClientRect():{right:0},l=n.chart.node().getBoundingClientRect(),u=e.hasArcType(),d=c.right-l.left-(u?0:e.getCurrentPaddingLeft(t));return d>0?d:0},updateDimension:function(t){var e=this,i=e.config,n=e.state.hasAxis,a=e.$el;n&&!t&&e.axis.x&&i.axis_rotated&&e.axis.subX&&e.axis.subX.create(a.axis.subX),e.updateScales(t),e.updateSvgSize(),e.transformAll(!1)},updateSvgSize:function(){var t=this,e=t.state,i=e.clip,n=e.current,r=e.hasAxis,s=e.width,o=e.height,c=t.$el.svg;if(c.attr("width",n.width).attr("height",n.height),r){var l=c.select("."+a.brush+" .overlay"),u={width:0,height:0};l.size()&&(u.width=+l.attr("width"),u.height=+l.attr("height")),c.selectAll(["#"+i.id,"#"+i.idGrid]).select("rect").attr("width",s).attr("height",o),c.select("#"+i.idXAxis).select("rect").call(t.setXAxisClipPath.bind(t)),c.select("#"+i.idYAxis).select("rect").call(t.setYAxisClipPath.bind(t)),i.idSubchart&&c.select("#"+i.idSubchart).select("rect").attr("width",s).attr("height",u.height)}},updateSizes:function(t){var e=this,i=e.config,n=e.state,a=e.$el.legend,r=i.axis_rotated,s=e.hasArcType();t||e.setContainerSize();var o={width:a?e.getLegendWidth():0,height:a?e.getLegendHeight():0};!s&&i.axis_x_show&&i.axis_x_tick_autorotate&&e.updateXAxisTickClip();var c=n.isLegendRight||n.isLegendInset?0:o.height,l=r||s?0:e.getHorizontalAxisHeight("x"),u=i.subchart_axis_x_show&&i.subchart_axis_x_tick_text_show?l:30,d=i.subchart_show&&!s?i.subchart_size_height+u:0;n.margin=!s&&r?{top:e.getHorizontalAxisHeight("y2")+e.getCurrentPaddingTop(),right:s?0:e.getCurrentPaddingRight(!0),bottom:e.getHorizontalAxisHeight("y")+c+e.getCurrentPaddingBottom(),left:d+(s?0:e.getCurrentPaddingLeft())}:{top:4+e.getCurrentPaddingTop(),right:s?0:e.getCurrentPaddingRight(!0),bottom:l+d+c+e.getCurrentPaddingBottom(),left:s?0:e.getCurrentPaddingLeft()},n.margin2=r?{top:n.margin.top,right:NaN,bottom:20+c,left:e.state.rotatedPadding.left}:{top:n.current.height-d-c,right:NaN,bottom:u+c,left:n.margin.left},n.margin3={top:0,right:NaN,bottom:0,left:0},e.updateSizeForLegend&&e.updateSizeForLegend(o),n.width=n.current.width-n.margin.left-n.margin.right,n.height=n.current.height-n.margin.top-n.margin.bottom,n.width<0&&(n.width=0),n.height<0&&(n.height=0),n.width2=r?n.margin.left-n.rotatedPadding.left-n.rotatedPadding.right:n.width,n.height2=r?n.height:n.current.height-n.margin2.top-n.margin2.bottom,n.width2<0&&(n.width2=0),n.height2<0&&(n.height2=0);var h=e.hasType("gauge"),g=i.legend_show&&n.isLegendRight;n.arcWidth=n.width-(g?o.width+10:0),n.arcHeight=n.height-(g&&!h?0:10),h&&!i.gauge_fullCircle&&(n.arcHeight+=n.height-e.getPaddingBottomForGauge()),e.updateRadius&&e.updateRadius(),n.isLegendRight&&s&&(n.margin3.left=n.arcWidth/2+1.1*n.radiusExpanded)}},Zt={opacityForText:function(t){var e=this;return e.isBarType(t)&&!e.meetsLabelThreshold(Math.abs(e.getRatio("bar",t)),"bar")?"0":e.hasDataLabel?"1":"0"},initText:function(){this.$el.main.select("."+a.chart).append("g").attr("class",a.chartTexts)},updateTargetsForText:function(t){var e=this,i=e.getChartClass("Text"),n=e.getClass("texts","id"),r=e.classFocus.bind(e);e.$el.main.select("."+a.chartTexts).selectAll("."+a.chartText).data(t).attr("class",(function(t){return i(t)+r(t)})).enter().append("g").style("opacity","0").attr("class",i).style("pointer-events","none").append("g").attr("class",n)},updateText:function(t){var e=this,i=e.config,r=e.$el,s=e.getClass("text","index"),o=r.main.selectAll("."+a.texts).selectAll("."+a.text).data(e.labelishData.bind(e));o.exit().transition().duration(t).style("fill-opacity","0").remove(),r.text=o.enter().append("text").merge(o).attr("class",s).attr("text-anchor",(function(t){var n=t.value<0;if(e.isCandlestickType(t)){var a=e.getCandlestickData(t);n=a&&!a._isUp}return i.axis_rotated?n?"end":"start":"middle"})).style("fill",e.updateTextColor.bind(e)).style("fill-opacity","0").each((function(t,i,a){var r=(0,n.select)(this),s=t.value;if(e.isBubbleZType(t))s=e.getBubbleZData(s,"z");else if(e.isCandlestickType(t)){var o=e.getCandlestickData(t);o&&(s=o.close)}s=e.dataLabelFormat(t.id)(s,t.id,i,a),k(s)?this.textContent=s:N(r,s)}))},updateTextColor:function(t){var e,i=this,n=i.config,a=n.data_labels_colors,r=i.isArcType(t)&&!i.isRadarType(t)?null:i.color(t);if(A(a))e=a;else if(X(a)){e=a[(t.data||t).id]}else w(a)&&(e=a.bind(i.api)(r,t));if(i.isCandlestickType(t)&&!w(a)){var s=i.getCandlestickData(t);if(s&&!s._isUp){var o=n.candlestick_color_down;e=X(o)?o[t.id]:o}}return e||r},redrawText:function(t,e,i,a){var r=this,s=H(!0);return r.$el.text.style("fill",r.updateTextColor.bind(r)).style("fill-opacity",i?0:r.opacityForText.bind(r)).each((function(i,r){var o=a&&this.getAttribute("x")?(0,n.select)(this).transition(s):(0,n.select)(this),c=t.bind(this)(i,r),l=e.bind(this)(i,r);this.childElementCount?o.attr("transform","translate("+c+" "+l+")"):o.attr("x",c).attr("y",l)})),!0},getTextRect:function(t,e){var i=this,a=t.node?t.node():t;/text/i.test(a.tagName)||(a=a.querySelector("text"));var r=a.textContent,s=bt+"-"+r.replace(/\W/g,"_"),o=i.cache.get(s);return o||(i.$el.svg.append("text").style("visibility","hidden").style("font",(0,n.select)(a).style("font")).classed(e,!0).text(r).call((function(t){o=V(t.node())})).remove(),i.cache.add(s,o)),o},generateXYForText:function(t,e){var i=this,n=Object.keys(t),a={},r=e?i.getXForText:i.getYForText;return i.hasType("radar")&&n.push("radar"),n.forEach((function(e){a[e]=i["generateGet"+q(e)+"Points"](t[e],!1)})),function(t,e){var n=(i.isAreaType(t)?"area":i.isBarType(t)&&"bar")||i.isCandlestickType(t)&&"candlestick"||i.isRadarType(t)&&"radar"||"line";return r.call(i,a[n](t,e),t,this)}},getCenteredTextPos:function(t,e,i){var n=this.config,a=n.axis_rotated;if(n.data_labels.centered&&this.isBarType(t)){var r=V(i),s=t.value>=0;if(a){var o=(s?e[1][1]-e[0][1]:e[0][1]-e[1][1])/2+r.width/2;return s?-o-3:o+2}var c=(s?e[0][1]-e[1][1]:e[1][1]-e[0][1])/2+r.height/2;return s?c:-c-2}return 0},getTextPos:function(t,e){var i=this.config.data_labels_position;return(t in i?i[t]:i)[e]||0},getXForText:function(t,e,i){var n=this,a=n.config,r=n.state,s=a.axis_rotated,o=t[0][0];if(n.hasType("candlestick"))s?o=n.getCandlestickData(e)._isUp?t[2][2]+4:t[2][1]-4:o+=(t[1][0]-o)/2;else if(s){var c=n.isBarType(e)?4:6;o=t[2][1]+c*(e.value<0?-1:1)}else o=n.hasType("bar")?(t[2][0]+t[0][0])/2:o;if(null===e.value)if(o>r.width){var l=V(i).width;o=r.width-l}else o<0&&(o=4);return s&&(o+=n.getCenteredTextPos(e,t,i)),o+n.getTextPos(e.id,"x")},getYForText:function(t,e,i){var n,a=this,r=a.config,s=a.state,o=r.axis_rotated,c=r.point_r,l=V(i),u=e.value,d=3;if(a.isCandlestickType(e))u=a.getCandlestickData(e),o?(n=t[0][0],n+=(t[1][0]-n)/2+d):n=u&&u._isUp?t[2][2]-d:t[2][1]+4*d;else if(o)n=(t[0][0]+t[2][0]+.6*l.height)/2;else if(n=t[2][1],k(c)&&c>5&&(a.isLineType(e)||a.isScatterType(e))&&(d+=r.point_r/2.3),u<0||0===u&&!s.hasPositiveValue&&s.hasNegativeValue)n+=l.height+(a.isBarType(e)?-d:d);else{var h=2*-d;a.isBarType(e)?h=-d:a.isBubbleType(e)&&(h=d),n+=h}if(null===e.value&&!o){var g=l.height;n<g?n=g:n>s.height&&(n=s.height-4)}return o||(n+=a.getCenteredTextPos(e,t,i)),n+a.getTextPos(e.id,"y")},markOverlapped:function(t,e,i){var r=e.$el.arcs.selectAll(i),s=r.filter((function(e){return e.data.id!==t})),o=r.filter((function(e){return e.data.id===t})),c=J(o.node()),l=function(t,e){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2))};o.node()&&s.each((function(){var t=J(this),e=(0,n.select)(this),i=l(c.e,c.f)>l(t.e,t.f)?o:e,r=Math.ceil(Math.abs(c.e-t.e))<Math.ceil(i.node().getComputedTextLength()),s=Math.ceil(Math.abs(c.f-t.f))<parseInt(o.style("font-size"),10);e.classed(a.TextOverlapping,r&&s)}))},undoMarkOverlapped:function(t,e){t.$el.arcs.selectAll(e).each((function(){(0,n.selectAll)([this,this.previousSibling]).classed(a.TextOverlapping,!1)}))},meetsLabelThreshold:function(t,e){void 0===t&&(t=0);return t>=(this.config[e+"_label_threshold"]||0)}};function qt(t,e){void 0===t&&(t="left");var i=k(e);return t.indexOf("center")>-1?i?e/2:"middle":t.indexOf("right")>-1?i?e:"end":i?0:"start"}var Kt={initTitle:function(){var t=this.config,e=this.$el;t.title_text&&(e.title=e.svg.append("g"),N(e.title.append("text").style("text-anchor",qt(t.title_position)).attr("class",a.title),t.title_text,[.3,1.5]))},redrawTitle:function(){var t=this,e=t.config,i=t.state.current,n=t.$el.title;if(n){var a=t.yForTitle.call(t);/g/i.test(n.node().tagName)?n.attr("transform","translate("+qt(e.title_position,i.width)+", "+a+")"):n.attr("x",t.xForTitle.call(t)).attr("y",a)}},xForTitle:function(){var t,e=this,i=e.config,n=e.state.current,r=i.title_position||"left",s=e.getTextRect(e.$el.title,a.title).width;return/(right|center)/.test(r)?(t=n.width-s,r.indexOf("right")>=0?t=n.width-s-i.title_padding.right:r.indexOf("center")>=0&&(t=(n.width-s)/2)):t=i.title_padding.left||0,t},yForTitle:function(){var t=this;return(t.config.title_padding.top||0)+t.getTextRect(t.$el.title,a.title).height},getTitlePadding:function(){return this.yForTitle()+(this.config.title_padding.bottom||0)}},Jt={initTooltip:function(){var t=this,e=t.config,i=t.$el;i.tooltip=(0,n.select)(e.tooltip_contents.bindto),i.tooltip.empty()&&(i.tooltip=i.chart.style("position","relative").append("div").attr("class",a.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),t.bindTooltipResizePos()},initShowTooltip:function(){var t=this,e=t.config,i=t.$el,n=t.state,a=n.hasAxis,r=n.hasRadar;if(e.tooltip_init_show){var s=!(a&&r);if(t.axis&&t.axis.isTimeSeries()&&A(e.tooltip_init_x)){var o,c,l=t.data.targets[0];for(e.tooltip_init_x=ot.call(t,e.tooltip_init_x),o=0;(c=l.values[o])&&c.x-e.tooltip_init_x!=0;o++);e.tooltip_init_x=o}var u=t.data.targets.map((function(i){var n=s?0:e.tooltip_init_x;return t.addName(i.values[n])}));s&&(u=[u[e.tooltip_init_x]]),i.tooltip.html(t.getTooltipHTML(u,t.axis&&t.axis.getXAxisTickFormat(),t.getYFormat(t.hasArcType(null,["radar"])),t.color)),e.tooltip_contents.bindto||i.tooltip.style("top",e.tooltip_init_position.top).style("left",e.tooltip_init_position.left).style("display","block")}},getTooltipHTML:function(){var t=this,e=t.api,i=t.config;return w(i.tooltip_contents)?i.tooltip_contents.bind(e).apply(void 0,arguments):t.getTooltipContent.apply(t,arguments)},getTooltipContent:function(t,e,i,n){var r=this,s=r.api,o=r.config,c=r.state,l=["title","name","value"].map((function(t){var e=o["tooltip_format_"+t];return w(e)?e.bind(s):e})),u=l[0],d=l[1],h=l[2];u=u||e,d=d||function(t){return t},h=h||(r.isStackNormalized()?function(t,e){return(100*e).toFixed(2)+"%"}:i);var g=o.tooltip_order,f=function(t){return r.axis&&r.isBubbleZType(t)?r.getBubbleZData(t.value,"z"):r.getBaseValue(t)},p=r.levelColor?function(t){return r.levelColor(t.value)}:function(t){return n(t)},x=o.tooltip_contents,v=x.template,_=r.mapToTargetIds();if(null===g&&o.data_groups.length){var m=r.orderTargets(r.data.targets).map((function(t){return t.id})).reverse();t.sort((function(t,e){var i=t?t.value:null,n=e?e.value:null;return i>0&&n>0&&(i=t.id?m.indexOf(t.id):null,n=e.id?m.indexOf(e.id):null),i-n}))}else/^(asc|desc)$/.test(g)?t.sort((function(t,e){var i=t?f(t):null,n=e?f(e):null;return"asc"===g?i-n:n-i})):w(g)&&t.sort(g.bind(s));var y,b,A,k,C,L=r.getTooltipContentTemplate(v),E=t.length;for(C=0;C<E;C++)if((b=t[C])&&(f(b)||0===f(b))){if(S(y)){var O=(c.hasAxis||c.hasRadar)&&$(u?u(b.x):b.x);y=st(L[0],{CLASS_TOOLTIP:a.tooltip,TITLE:T(O)?v?O:'<tr><th colspan="2">'+O+"</th></tr>":""})}if(!b.ratio&&r.$el.arcs&&(b.ratio=r.getRatio("arc",r.$el.arcs.select("path."+a.arc+"-"+b.id).data()[0])),A=[b.ratio,b.id,b.index,t],k=$(h.apply(void 0,[f(b)].concat(A))),r.isAreaRangeType(b)){var R=["high","low"].map((function(t){return $(h.apply(void 0,[r.getRangedData(b,t)].concat(A)))})),D=R[0],I=R[1];k="<b>Mid:</b> "+k+" <b>High:</b> "+D+" <b>Low:</b> "+I}else if(r.isCandlestickType(b)){var P=["open","high","low","close","volume"].map((function(t){return $(h.apply(void 0,[r.getRangedData(b,t,"candlestick")].concat(A)))})),z=P[0],M=P[1],F=P[2],B=P[3],N=P[4];k="<b>Open:</b> "+z+" <b>High:</b> "+M+" <b>Low:</b> "+F+" <b>Close:</b> "+B+(N?" <b>Volume:</b> "+N:"")}if(void 0!==k)if("continue"===function(){if(null===b.name)return"continue";var t=$(d.apply(void 0,[b.name].concat(A))),e=p(b),i={CLASS_TOOLTIP_NAME:a.tooltipName+r.getTargetSelectorSuffix(b.id),COLOR:v||!r.patterns?e:'<svg><rect style="fill:'+e+'" width="10" height="10"></rect></svg>',NAME:t,VALUE:k};if(v&&X(x.text)){var n=_.indexOf(b.id);Object.keys(x.text).forEach((function(t){i[t]=x.text[t][n]}))}y+=st(L[1],i)}())continue}return y+"</table>"},getTooltipContentTemplate:function(t){return(t||'<table class="{=CLASS_TOOLTIP}"><tbody>\n\t\t\t\t{=TITLE}\n\t\t\t\t{{<tr class="{=CLASS_TOOLTIP_NAME}">\n\t\t\t\t\t<td class="name">'+(this.patterns?"{=COLOR}":'<span style="background-color:{=COLOR}"></span>')+'{=NAME}</td>\n\t\t\t\t\t<td class="value">{=VALUE}</td>\n\t\t\t\t</tr>}}\n\t\t\t</tbody></table>').replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},tooltipPosition:function(t,e,i,n){var a=this,r=a.config,s=a.scale,o=a.state,c=o.width,l=o.height,u=o.current,d=o.isLegendRight,h=o.inputType,g=o.event,f=a.hasType("gauge")&&!r.gauge_fullCircle,p=a.getSvgLeft(!0),x=p+u.width-a.getCurrentPaddingRight(),v=a.getCurrentPaddingLeft(!0),_=G(g,n),m=_[0],y=_[1];if(a.hasArcType()){"touch"===h||a.hasType("radar")||(y+=f?l:l/2,m+=(c-(d?a.getLegendWidth():0))/2)}else{var b=s.x(t[0].x);r.axis_rotated?(y=b+20,m+=p+100,x-=p):(y-=5,m=p+v+20+(a.zoomScale?m:b))}m+e+15>x&&(m-=e+v),y+i>u.height&&(y-=f?3*i:i+30);var T={top:y,left:m};return Object.keys(T).forEach((function(t){T[t]<0&&(T[t]=0)})),T},showTooltip:function(t,e){var i=this,n=i.config,a=i.state,r=i.$el.tooltip,s=n.tooltip_contents.bindto,o=i.hasArcType(null,["radar"]),c=t.filter((function(t){return t&&T(i.getBaseValue(t))}));if(r&&0!==c.length&&n.tooltip_show){var l=r.datum(),u=l||{},d=u.width,h=void 0===d?0:d,g=u.height,f=void 0===g?0:g,p=JSON.stringify(t);if(!l||l.current!==p){var x=t.concat().sort()[0].index;F(n.tooltip_onshow,i.api,t),r.html(i.getTooltipHTML(t,i.axis?i.axis.getXAxisTickFormat():i.categoryName.bind(i),i.getYFormat(o),i.color)).style("display",null).style("visibility",null).datum(l={index:x,current:p,width:h=r.property("offsetWidth"),height:f=r.property("offsetHeight")}),F(n.tooltip_onshown,i.api,t),i._handleLinkedCharts(!0,x)}if(!s){var v=(n.tooltip_position||i.tooltipPosition).call(this,c,h,f,e);["top","left"].forEach((function(t){var e=v[t];r.style(t,e+"px"),"left"!==t||l.xPosInPercent||(l.xPosInPercent=e/a.current.width*100)}))}}},bindTooltipResizePos:function(){var t=this,e=t.resizeFunction,i=t.state,n=t.$el.tooltip;e.add((function(){if("block"===n.style("display")){var t=i.current,e=n.datum(),a=e.width,r=e.xPosInPercent,s=t.width/100*r,o=t.width-(s+a);o<0&&(s+=o),n.style("left",s+"px")}}))},hideTooltip:function(t){var e=this,i=e.api,n=e.config,a=e.$el.tooltip;if(a&&"none"!==a.style("display")&&(!n.tooltip_doNotHide||t)){var r=JSON.parse(a.datum().current);F(n.tooltip_onhide,i,r),a.style("display","none").style("visibility","hidden").datum(null),F(n.tooltip_onhidden,i,r)}},_handleLinkedCharts:function(t,e){var i=this,n=i.charts,a=i.config,r=i.state.event;if(r&&r.isTrusted&&a.tooltip_linked&&n.length>1){var s=a.tooltip_linked_name;n.filter((function(t){return t!==i.api})).forEach((function(i){var n=i.internal,a=n.config,r=n.$el,o=a.tooltip_linked,c=a.tooltip_linked_name,l=m.body.contains(r.chart.node());if(o&&s===c&&l){var u=r.tooltip.data()[0],d=e!==(u&&u.index);try{i.tooltip[t&&d?"show":"hide"]({index:e})}catch(t){}}}))}}},Qt={getTranslate:function(t,e){void 0===e&&(e=0);var i,n,a=this,r=a.config,s=a.state,o=r.axis_rotated,c=0;if(e&&/^(x|y2?)$/.test(t)&&(c=a.getAxisSize(t)*e),"main"===t)i=O(s.margin.left),n=O(s.margin.top);else if("context"===t)i=O(s.margin2.left),n=O(s.margin2.top);else if("legend"===t)i=s.margin3.left,n=s.margin3.top;else if("x"===t)i=o?-c:0,n=o?0:s.height+c;else if("y"===t)i=o?0:-c,n=o?s.height+c:0;else if("y2"===t)i=o?0:s.width+c,n=o?1-c:0;else if("subX"===t)i=0,n=o?0:s.height2;else if("arc"===t)i=s.arcWidth/2,n=s.arcHeight/2;else if("radar"===t){var l=a.getRadarSize()[0];i=s.width/2-l,n=O(s.margin.top)}return"translate("+i+", "+n+")"},transformMain:function(t,e){var i,n,r,s=this,o=s.$el.main;e&&e.axisX?i=e.axisX:(i=o.select("."+a.axisX),t&&(i=i.transition())),e&&e.axisY?n=e.axisY:(n=o.select("."+a.axisY),t&&(n=n.transition())),e&&e.axisY2?r=e.axisY2:(r=o.select("."+a.axisY2),t&&(r=r.transition())),(t?o.transition():o).attr("transform",s.getTranslate("main")),i.attr("transform",s.getTranslate("x")),n.attr("transform",s.getTranslate("y")),r.attr("transform",s.getTranslate("y2")),o.select("."+a.chartArcs).attr("transform",s.getTranslate("arc"))},transformAll:function(t,e){var i=this,n=i.config,a=i.state.hasAxis,r=i.$el;i.transformMain(t,e),a&&n.subchart_show&&i.transformContext(t,e),r.legend&&i.transformLegend(t)}},te={setTargetType:function(t,e){var i=this,n=i.config,a=i.state.withoutFadeIn;i.mapToTargetIds(t).forEach((function(t){a[t]=e===n.data_types[t],n.data_types[t]=e})),t||(n.data_type=e)},updateTypesElements:function(){var t=this,e=t.state.current;Object.keys(Xt).forEach((function(i){var n=Xt[i],a=t.hasType(n,null,!0),r=e.types.indexOf(n);-1===r&&a?e.types.push(n):r>-1&&!a&&e.types.splice(r,1)})),t.setChartElements()},hasType:function(t,e,i){void 0===i&&(i=!1);var n=this,a=n.config,r=n.state.current,s=a.data_types,o=e||n.data.targets,c=!1;return!i&&r.types.length&&r.types.indexOf(t)>-1?c=!0:o&&o.length?o.forEach((function(e){var i=s[e.id];i!==t&&(i||"line"!==t)||(c=!0)})):Object.keys(s).length?Object.keys(s).forEach((function(e){s[e]===t&&(c=!0)})):c=a.data_type===t,c},hasTypeOf:function(t,e,i){var n=this;return void 0===i&&(i=[]),!!(t in Mt)&&!Mt[t].filter((function(t){return-1===i.indexOf(t)})).every((function(t){return!n.hasType(t,e)}))},isTypeOf:function(t,e){var i=A(t)?t:t.id,n=this.config.data_types[i]||this.config.data_type;return z(e)?e.indexOf(n)>=0:n===e},hasPointType:function(){var t=this;return t.hasTypeOf("Line")||t.hasType("bubble")||t.hasType("scatter")},hasArcType:function(t,e){return this.hasTypeOf("Arc",t,e)},hasMultiArcGauge:function(){return this.hasType("gauge")&&"multi"===this.config.gauge_type},isLineType:function(t){var e=A(t)?t:t.id;return!this.config.data_types[e]||this.isTypeOf(e,Mt.Line)},isStepType:function(t){return this.isTypeOf(t,Mt.Step)},isSplineType:function(t){return this.isTypeOf(t,Mt.Spline)},isAreaType:function(t){return this.isTypeOf(t,Mt.Area)},isAreaRangeType:function(t){return this.isTypeOf(t,Mt.AreaRange)},isBarType:function(t){return this.isTypeOf(t,"bar")},isBubbleType:function(t){return this.isTypeOf(t,"bubble")},isCandlestickType:function(t){return this.isTypeOf(t,"candlestick")},isScatterType:function(t){return this.isTypeOf(t,"scatter")},isPieType:function(t){return this.isTypeOf(t,"pie")},isGaugeType:function(t){return this.isTypeOf(t,"gauge")},isDonutType:function(t){return this.isTypeOf(t,"donut")},isRadarType:function(t){return this.isTypeOf(t,"radar")},isArcType:function(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)||this.isRadarType(t)},isCirclePoint:function(t){var e=this.config,i=e.point_pattern;return!(!t||"circle"!==t.tagName)||"circle"===e.point_type&&(!i||z(i)&&0===i.length)},lineData:function(t){return this.isLineType(t)?[t]:[]},arcData:function(t){return this.isArcType(t.data)?[t]:[]},labelishData:function(t){return this.isBarType(t)||this.isLineType(t)||this.isScatterType(t)||this.isBubbleType(t)||this.isCandlestickType(t)||this.isRadarType(t)?t.values.filter((function(t){return k(t.value)||!!t.value})):[]},barLineBubbleData:function(t){return this.isBarType(t)||this.isLineType(t)||this.isBubbleType(t)?t.values:[]},isInterpolationType:function(t){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(t)>=0}},ee=function(){function t(t){this.api=void 0,this.config=void 0,this.cache=void 0,this.$el=void 0,this.state=void 0,this.charts=void 0,this.data={xs:{},targets:[]},this.axis=void 0,this.scale={x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null},this.org={xScale:null,xDomain:null},this.color=void 0,this.patterns=void 0,this.levelColor=void 0,this.point=void 0,this.brush=void 0,this.format={extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null};var e=this;e.api=t,e.config=new dt,e.cache=new Tt;var i=new s;e.$el=i.getStore("element"),e.state=i.getStore("state")}var e=t.prototype;return e.beforeInit=function(){var t=this;t.callPluginHook("$beforeInit"),F(t.config.onbeforeinit,t.api)},e.afterInit=function(){var t=this;t.callPluginHook("$afterInit"),F(t.config.onafterinit,t.api)},e.init=function(){var t=this,e=t.config,i=t.state,a=t.$el;i.hasAxis=!t.hasArcType(),i.hasRadar=!i.hasAxis&&t.hasType("radar"),t.initParams();var r={element:e.bindto,classname:"bb"};X(e.bindto)&&(r.element=e.bindto.element||"#chart",r.classname=e.bindto.classname||r.classname),a.chart=w(r.element.node)?e.bindto.element:(0,n.select)(r.element||[]),a.chart.empty()&&(a.chart=(0,n.select)(m.body.appendChild(m.createElement("div")))),a.chart.html("").classed(r.classname,!0),t.initToRender()},e.initToRender=function(t){var e=this,i=e.config,n=e.state,a=e.$el.chart,r=function(){return"none"===a.style("display")||"hidden"===a.style("visibility")},s=i.render.lazy||r(),o=_.MutationObserver;if(s&&o&&!1!==i.render.observe&&!t&&new o((function(t,i){r()||(i.disconnect(),!n.rendered&&e.initToRender(!0))})).observe(a.node(),{attributes:!0,attributeFilter:["class","style"]}),!s||t){var c=e.convertData(i,e.initWithData);c&&e.initWithData(c),e.afterInit()}},e.initParams=function(){var t=this,e=t,n=e.config,a=e.format,r=e.state,s=n.axis_rotated;if(r.datetimeId="bb-"+ +new Date,t.color=t.generateColor(),t.levelColor=t.generateLevelColor(),t.hasPointType()&&(t.point=t.generatePoint()),r.hasAxis){t.initClip(),a.extraLineClasses=t.generateExtraLineClass(),a.dataTime=n.data_xLocaltime?i.timeParse:i.utcParse,a.axisTime=n.axis_x_localtime?i.timeFormat:i.utcFormat;var o=t.config.zoom_enabled&&"drag"===t.config.zoom_type;a.defaultAxisTime=function(e){var i=t.scale,n=i.x,r=i.zoom,s=o?r:r&&n.orgDomain().toString()!==r.domain().toString(),c=(e.getMilliseconds()?".%L":e.getSeconds()&&".:%S")||e.getMinutes()&&"%I:%M"||e.getHours()&&"%I %p"||1!==e.getDate()&&"%b %d"||s&&1===e.getDate()&&"%b'%y"||e.getMonth()&&"%-m/%-d"||"%Y";return a.axisTime(c)(e)}}r.isLegendRight="right"===n.legend_position,r.isLegendInset="inset"===n.legend_position,r.isLegendTop="top-left"===n.legend_inset_anchor||"top-right"===n.legend_inset_anchor,r.isLegendLeft="top-left"===n.legend_inset_anchor||"bottom-left"===n.legend_inset_anchor,r.rotatedPaddingRight=s&&!n.axis_x_show?0:30,r.inputType=function(t,e){var i=!1;if(/Mobi/.test(_.navigator.userAgent)&&e){var n=_.navigator&&"maxTouchPoints"in _.navigator&&_.navigator.maxTouchPoints>0,a="ontouchmove"in _||_.DocumentTouch&&m instanceof _.DocumentTouch;i=n||a}return(t&&!i&&"onmouseover"in _?"mouse":i&&"touch")||null}(n.interaction_inputType_mouse,n.interaction_inputType_touch)},e.initWithData=function(t){var e=this,i=e.config,n=e.scale,r=e.state,s=e.$el,o=e.org,c=r.hasAxis,l=i.interaction_enabled;c&&(e.axis=e.getAxisInstance(),i.zoom_enabled&&e.initZoom()),e.data.xs={},e.data.targets=e.convertDataToTargets(t),i.data_filter&&(e.data.targets=e.data.targets.filter(i.data_filter.bind(e.api))),i.data_hide&&e.addHiddenTargetIds(!0===i.data_hide?e.mapToIds(e.data.targets):i.data_hide),i.legend_hide&&e.addHiddenLegendIds(!0===i.legend_hide?e.mapToIds(e.data.targets):i.legend_hide),e.updateSizes(),e.updateScales(!0);var u=n.x,d=n.y,h=n.y2,g=n.subX,f=n.subY,p=n.subY2;if(u&&(u.domain(it(e.getXDomain(e.data.targets))),g.domain(u.domain()),o.xDomain=u.domain()),d&&(d.domain(e.getYDomain(e.data.targets,"y")),f.domain(d.domain())),h&&(h.domain(e.getYDomain(e.data.targets,"y2")),p&&p.domain(h.domain())),s.svg=s.chart.append("svg").style("overflow","hidden").style("display","block"),l&&r.inputType){var x="touch"===r.inputType;s.svg.on(x?"touchstart":"mouseenter",(function(){return F(i.onover,e.api)})).on(x?"touchend":"mouseleave",(function(){return F(i.onout,e.api)}))}i.svg_classname&&s.svg.attr("class",i.svg_classname);var v=w(i.color_tiles)&&e.patterns;(c||v)&&(s.defs=s.svg.append("defs"),c&&["id","idXAxis","idYAxis","idGrid"].forEach((function(t){e.appendClip(s.defs,r.clip[t])})),v&&e.patterns.forEach((function(t){return s.defs.append((function(){return t.node}))}))),e.updateSvgSize(),e.bindResize();var _=s.svg.append("g").classed(a.main,!0).attr("transform",e.getTranslate("main"));if(s.main=_,i.subchart_show&&e.initSubchart(),i.tooltip_show&&e.initTooltip(),i.title_text&&e.initTitle(),i.legend_show&&e.initLegend(),i.data_empty_label_text&&_.append("text").attr("class",a.text+" "+a.empty).attr("text-anchor","middle").attr("dominant-baseline","middle"),c&&(i.regions.length&&e.initRegion(),!i.clipPath&&e.axis.init()),_.append("g").attr("class",a.chart).attr("clip-path",r.clip.path),e.callPluginHook("$init"),c&&(l&&e.initEventRect&&e.initEventRect(),e.initGrid(),i.clipPath&&e.axis&&e.axis.init()),e.initChartElements(),e.updateTargets(e.data.targets),e.updateDimension(),F(i.oninit,e.api),e.setBackground(),e.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),i.data_onmin||i.data_onmax){var m=e.getMinMaxData();F(i.data_onmin,e.api,m.min),F(i.data_onmax,e.api,m.max)}i.tooltip_show&&e.initShowTooltip(),r.rendered=!0},e.initChartElements=function(){var t=this,e=t.state,i=e.hasAxis,n=e.hasRadar,a=[];i?["bar","bubble","candlestick","line"].forEach((function(e){var i=q(e);("line"===e&&t.hasTypeOf(i)||t.hasType(e))&&a.push(i)})):(!n&&a.push("Arc","Pie"),t.hasType("gauge")?a.push("Gauge"):n&&a.push("Radar")),a.forEach((function(e){t["init"+e]()})),P(t.config.data_labels)&&!t.hasArcType(null,["radar"])&&t.initText()},e.setChartElements=function(){var t=this.$el,e=t.chart,i=t.svg,n=t.defs,a=t.main,r=t.tooltip,s=t.legend,o=t.title,c=t.grid,l=t.arcs,u=t.circle,d=t.bar,h=t.candlestick,g=t.line,f=t.area,p=t.text;this.api.$={chart:e,svg:i,defs:n,main:a,tooltip:r,legend:s,title:o,grid:c,arc:l,circles:u,bar:{bars:d},candlestick:h,line:{lines:g,areas:f},text:{texts:p}}},e.setBackground=function(){var t=this,e=t.config.background,i=t.state,n=t.$el.svg;if(P(e)){var a=n.select("g").insert(e.imgUrl?"image":"rect",":first-child");e.imgUrl?a.attr("href",e.imgUrl):e.color&&a.style("fill",e.color).attr("clip-path",i.clip.path),a.attr("class",e.class||null).attr("width","100%").attr("height","100%")}},e.updateTargets=function(t){var e=this,i=e.state,n=i.hasAxis,a=i.hasRadar;e.updateTargetsForText(t),n?(["bar","candlestick","line"].forEach((function(i){var n=q(i);("line"===i&&e.hasTypeOf(n)||e.hasType(i))&&e["updateTargetsFor"+n](t.filter(e["is"+n+"Type"].bind(e)))})),e.updateTargetsForSubchart&&e.updateTargetsForSubchart(t)):e.hasArcType(t)&&(a?e.updateTargetsForRadar(t.filter(e.isRadarType.bind(e))):e.updateTargetsForArc(t.filter(e.isArcType.bind(e)))),(e.hasType("bubble")||e.hasType("scatter"))&&e.updateTargetForCircle&&e.updateTargetForCircle(),e.showTargets()},e.showTargets=function(){var t=this,e=t.config;t.$el.svg.selectAll("."+a.target).filter((function(e){return t.isTargetToShow(e.id)})).transition().duration(e.transition_duration).style("opacity","1")},e.getWithOption=function(t){var e={Y:!0,Subchart:!0,Transition:!0,EventRect:!0,Dimension:!0,TrimXDomain:!0,Transform:!1,UpdateXDomain:!1,UpdateOrgXDomain:!1,Legend:!1,UpdateXAxis:"UpdateXDomain",TransitionForExit:"Transition",TransitionForAxis:"Transition"};return Object.keys(e).forEach((function(i){var n=e[i];A(n)&&(n=e[n]),e[i]=M(t,"with"+i,n)})),e},e.initialOpacity=function(t){var e=this.state.withoutFadeIn;return null!==this.getBaseValue(t)&&e[t.id]?"1":"0"},e.bindResize=function(){var t,e,i,n=this,a=n.config,r=n.state,s=(e=[],(i=function(){i.clear(),t=wt((function(){e.forEach((function(t){return t()}))}),200)}).clear=function(){t&&(At(t),t=null)},i.add=function(t){return e.push(t)},i.remove=function(t){return e.splice(e.indexOf(t),1)},i),o=[];o.push((function(){return F(a.onresize,n,n.api)})),a.resize_auto&&o.push((function(){r.resizing=!0,n.api.flush(!1)})),o.push((function(){F(a.onresized,n,n.api),r.resizing=!1})),o.forEach((function(t){return s.add(t)})),n.resizeFunction=s,_.addEventListener("resize",n.resizeFunction=s)},e.callPluginHook=function(t){for(var e=this,i=arguments.length,n=Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];this.config.plugins.forEach((function(i){"$beforeInit"===t&&(i.$$=e,e.api.plugins.push(i)),i[t].apply(i,n)}))},t}();function ie(t){var e,i,n,a=this.config,r=function(){var t=i.shift();return t&&e&&D(e)&&t in e?(e=e[t],r()):t?void 0:e};Object.keys(a).forEach((function(s){e=t,i=s.split("_"),n=r(),C(n)&&(a[s]=n)}))}Z(ee.prototype,[Ct,Lt,Et,{categoryName:function(t){var e=this.config.axis_x_categories;return e&&t<e.length?e[t]:t}},Dt,zt,Ft,Rt,$t,Nt,Gt,Vt,Wt,Ut,Zt,Kt,Jt,Qt,te]);var ne={resize:function(t){var e=this.internal,i=e.config,n=e.state;n.rendered&&(i.size_width=t?t.width:null,i.size_height=t?t.height:null,n.resizing=!0,this.flush(!1,!0),e.resizeFunction())},flush:function(t){var e=this.internal,i=e.state;i.rendered?(i.resizing?e.brush&&e.brush.updateResize():e.axis&&e.axis.setOrient(),e.scale.zoom=null,t?e.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):e.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!i.resizing&&e.brush&&(e.brush.getSelection().call(e.brush.move),e.unselectRect())):e.initToRender(!0)},destroy:function(){var t=this,e=this.internal,i=e.$el,n=i.chart,a=i.svg;if(P(e))for(var r in e.callPluginHook("$willDestroy"),e.charts.splice(e.charts.indexOf(this),1),a.select("*").interrupt(),e.resizeFunction.clear(),_.removeEventListener("resize",e.resizeFunction),n.classed("bb",!1).html(""),Object.keys(this).forEach((function(i){"internal"===i&&Object.keys(e).forEach((function(t){e[t]=null})),t[i]=null,delete t[i]})),this)this[r]=function(){};return null},config:function(t,e,i){var n,a=this.internal.config,r=t&&t.replace(/\./g,"_");return r in a&&(C(e)?(a[r]=e,n=e,i&&this.flush()):n=a[r]),n}};function ae(t){var e=this.internal.data.targets;if(!S(t)){var i=z(t)?t:[t];return e.filter((function(t){return i.some((function(e){return e===t.id}))}))}return e}Z(ae,{shown:function(t){return this.internal.filterTargetsToShow(this.data(t))},values:function(t,e){void 0===e&&(e=!0);var i=null;if(t){var n=this.data(t);n&&z(n)&&(i=[],n.forEach((function(t){var n=t.values.map((function(t){return t.value}));e?i=i.concat(n):i.push(n)})))}return i},names:function(t){return this.internal.updateDataAttributes("names",t)},colors:function(t){return this.internal.updateDataAttributes("colors",t)},axes:function(t){return this.internal.updateDataAttributes("axes",t)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});function re(t,e,i){var a,r,s=e||i,o=s.width,c=s.height,l=new XMLSerializer,u=t.cloneNode(!0),d=(a=K(m.styleSheets),r=[],a.forEach((function(t){try{t.cssRules&&t.cssRules.length&&(r=r.concat(K(t.cssRules)))}catch(e){console.error("Error while reading rules from "+t.href+": "+e.toString())}})),r).filter((function(t){return t.cssText})).map((function(t){return t.cssText}));u.setAttribute("xmlns",n.namespaces.xhtml);var h=l.serializeToString(u),g=m.createElement("style");g.appendChild(m.createTextNode(d.join("\n")));var f=l.serializeToString(g),p=('<svg xmlns="'+n.namespaces.svg+'" width="'+o+'" height="'+c+'" \n\t\tviewBox="0 0 '+i.width+" "+i.height+'" \n\t\tpreserveAspectRatio="'+(e&&!1===e.preserveAspectRatio?"none":"xMinYMid meet")+'">\n\t\t\t<foreignObject width="100%" height="100%">\n\t\t\t\t'+f+"\n\t\t\t\t"+h.replace(/(url\()[^#]+/g,"$1")+"\n\t\t\t</foreignObject></svg>").replace("/\n/g","%0A");return"data:image/svg+xml;base64,"+btoa(encodeURIComponent(p).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(+("0x"+e))})))}var se={export:function(t,e){var i=this,n=this.internal,a=n.state,r=n.$el.chart,s=a.current,o=s.width,c=s.height,l=et({width:o,height:c,preserveAspectRatio:!0,mimeType:"image/png"},t),u=re(r.node(),l,{width:o,height:c});if(e&&w(e)){var d=new Image;d.crossOrigin="Anonymous",d.onload=function(){var t=m.createElement("canvas"),n=t.getContext("2d");t.width=l.width||o,t.height=l.height||c,n.drawImage(d,0,0),e.bind(i)(t.toDataURL(l.mimeType))},d.src=u}return u}};function oe(t,e,i){var n=this.internal,a=n.mapToTargetIds(e);n.state.toggling=!0,n[(t?"remove":"add")+"HiddenTargetIds"](a);var r=n.$el.svg.selectAll(n.selectorTargets(a)),s=t?"1":"0";t&&r.style("display",null),r.transition().style("opacity",s,"important").call(B,(function(){t||r.style("display","none"),r.style("opacity",s)})),i.withLegend&&n[(t?"show":"hide")+"Legend"](a),n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),n.state.toggling=!1}var ce=function t(e){this.plugins=[],this.internal=void 0;var i=new ee(this);this.internal=i,function t(e,i,n){Object.keys(e).forEach((function(a){var r=w(e[a]),s=i!==n,o=Object.keys(e[a]).length>0;r&&(!s&&o||s)?i[a]=e[a].bind(n):!r&&(i[a]={}),o&&t(e[a],i[a],n)}))}(t.prototype,this,this),ie.call(i,e),i.beforeInit(),i.init()};function le(t,e,i){var n=t.config,a="axis_y_"+e,r="axis_y2_"+e;C(i)&&(D(i)?(T(i.x)&&(n["axis_x_"+e]=i.x),T(i.y)&&(n[a]=i.y),T(i.y2)&&(n[r]=i.y2)):(n[a]=i,n[r]=i),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function ue(t,e){var i=t.config;return{x:i["axis_x_"+e],y:i["axis_y_"+e],y2:i["axis_y2_"+e]}}Z(ce.prototype,[ne,{color:function(t){return this.internal.color(t)}},{data:ae},se,{focus:function(t){var e=this.internal,i=e.state,n=e.mapToTargetIds(t),r=e.$el.svg.selectAll(e.selectorTargets(n.filter(e.isTargetToShow,e)));this.revert(),this.defocus(),r.classed(a.focused,!0).classed(a.defocused,!1),e.hasArcType()&&!i.hasRadar&&(e.expandArc(n),e.hasType("gauge")&&e.markOverlapped(t,e,"."+a.gaugeValue)),e.toggleFocusLegend(n,!0),i.focusedTargetIds=n,i.defocusedTargetIds=i.defocusedTargetIds.filter((function(t){return n.indexOf(t)<0}))},defocus:function(t){var e=this.internal,i=e.state,n=e.mapToTargetIds(t);e.$el.svg.selectAll(e.selectorTargets(n.filter(e.isTargetToShow,e))).classed(a.focused,!1).classed(a.defocused,!0),e.hasArcType()&&(e.unexpandArc(n),e.hasType("gauge")&&e.undoMarkOverlapped(e,"."+a.gaugeValue)),e.toggleFocusLegend(n,!1),i.focusedTargetIds=i.focusedTargetIds.filter((function(t){return n.indexOf(t)<0})),i.defocusedTargetIds=n},revert:function(t){var e=this.internal,i=e.config,r=e.state,s=e.$el,o=e.mapToTargetIds(t);s.svg.selectAll(e.selectorTargets(o)).classed(a.focused,!1).classed(a.defocused,!1),e.hasArcType()&&e.unexpandArc(o),i.legend_show&&(e.showLegend(o.filter(e.isLegendToShow.bind(e))),s.legend.selectAll(e.selectorLegends(o)).filter((function(){return(0,n.select)(this).classed(a.legendItemFocused)})).classed(a.legendItemFocused,!1)),r.focusedTargetIds=[],r.defocusedTargetIds=[]}},{legend:{show:function(t){var e=this.internal;e.showLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})},hide:function(t){var e=this.internal;e.hideLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})}}},{load:function(t){var e=this.internal,i=e.config;t.xs&&e.addXs(t.xs),"names"in t&&this.data.names(t.names),"classes"in t&&Object.keys(t.classes).forEach((function(e){i.data_classes[e]=t.classes[e]})),"categories"in t&&e.axis.isCategorized()&&(i.axis_x_categories=t.categories),"axes"in t&&Object.keys(t.axes).forEach((function(e){i.data_axes[e]=t.axes[e]})),"colors"in t&&Object.keys(t.colors).forEach((function(e){i.data_colors[e]=t.colors[e]})),"unload"in t&&!1!==t.unload?e.unload(e.mapToTargetIds(!0===t.unload?null:t.unload),(function(){return e.loadFromArgs(t)})):e.loadFromArgs(t)},unload:function(t){var e=this,i=this.internal,n=t||{};z(n)?n={ids:n}:A(n)&&(n={ids:[n]});var a=i.mapToTargetIds(n.ids);i.unload(a,(function(){i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),i.cache.remove(a),n.done&&n.done.call(e)}))}},{show:function(t,e){void 0===e&&(e={}),oe.call(this,!0,t,e)},hide:function(t,e){void 0===e&&(e={}),oe.call(this,!1,t,e)},toggle:function(t,e){var i=this;void 0===e&&(e={});var n=this.internal,a={show:[],hide:[]};n.mapToTargetIds(t).forEach((function(t){return a[n.isTargetToShow(t)?"hide":"show"].push(t)})),a.show.length&&this.show(a.show,e),a.hide.length&&setTimeout((function(){return i.hide(a.hide,e)}),0)}},{tooltip:{show:function(t){var e,i,n=this.internal,a=n.config,r=n.state.inputType;if(t.mouse&&(i=t.mouse),t.data){var s=t.data,o=n.getYScaleById(s.id)(s.value);n.isMultipleX()?i=[n.scale.x(s.x),o]:(!a.tooltip_grouped&&(i=[0,o]),e=T(s.index)?s.index:n.getIndexByX(s.x))}else C(t.x)?e=n.getIndexByX(t.x):C(t.index)&&(e=t.index);("mouse"===r?["mouseover","mousemove"]:["touchstart"]).forEach((function(t){n.dispatchEvent(t,e,i)}))},hide:function(){var t=this.internal,e=t.state.inputType,i=t.$el.tooltip,n=i&&i.datum();if(n){var a=JSON.parse(n.current)[0].index;("mouse"===e?["mouseout"]:["touchend"]).forEach((function(e){t.dispatchEvent(e,a)}))}"touch"===e&&t.callOverOutForTouch(),t.hideTooltip(!0),t.hideGridFocus(),t.unexpandCircles&&t.unexpandCircles(),t.unexpandBars&&t.unexpandBars()}}}]);var de={axis:{labels:function(t){var e,i=this.internal;return t&&(Object.keys(t).forEach((function(e){i.axis.setLabelText(e,t[e])})),i.axis.updateLabels()),["x","y","y2"].forEach((function(t){var n=i.axis.getLabelText(t);n&&(!e&&(e={}),e[t]=n)})),e},min:function(t){var e=this.internal;return T(t)?le(e,"min",t):ue(e,"min")},max:function(t){var e=this.internal;return arguments.length?le(e,"max",t):ue(e,"max")},range:function(t){var e=this.axis;if(!arguments.length)return{max:e.max(),min:e.min()};C(t.max)&&e.max(t.max),C(t.min)&&e.min(t.min)}}};function he(t){var e=this.internal,i=e.config;return t?(i.grid_x_lines=t,e.redrawWithoutRescale(),i.grid_x_lines):i.grid_x_lines}Z(he,{add:function(t){return this.xgrids(this.internal.config.grid_x_lines.concat(t||[]))},remove:function(t){this.internal.removeGridLines(t,!0)}});var ge={xgrids:he};function fe(t){var e=this.internal,i=e.config;return t?(i.grid_y_lines=t,e.redrawWithoutRescale(),i.grid_y_lines):i.grid_y_lines}Z(fe,{add:function(t){return this.ygrids(this.internal.config.grid_y_lines.concat(t||[]))},remove:function(t){this.internal.removeGridLines(t,!1)}});var pe={ygrids:fe},xe={groups:function(t){var e=this.internal,i=e.config;return S(t)||(i.data_groups=t,e.redraw()),i.data_groups}};function ve(t){var e=this.internal,i=e.config;return t?(i.regions=t,e.redrawWithoutRescale(),t):i.regions}Z(ve,{add:function(t){var e=this.internal,i=e.config;return t?(i.regions=i.regions.concat(t),e.redrawWithoutRescale(),i.regions):i.regions},remove:function(t){var e=this.internal,i=e.config,n=t||{},r=M(n,"duration",i.transition_duration),s=M(n,"classes",[a.region]),o=e.$el.main.select("."+a.regions).selectAll(s.map((function(t){return"."+t})));return(r?o.transition().duration(r):o).style("opacity","0").remove(),o=i.regions,Object.keys(n).length?(o=o.filter((function(t){var e=!1;return!t.class||(t.class.split(" ").forEach((function(t){s.indexOf(t)>=0&&(e=!0)})),!e)})),i.regions=o):i.regions=[],o}});var _e={regions:ve},me={x:function(t){var e=this.internal,i=e.axis,n=e.data,a=i.isCustomX()&&i.isCategorized();return z(t)&&(a?this.categories(t):(e.updateTargetX(n.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),a?this.categories():n.xs},xs:function(t){var e=this.internal;return X(t)&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs}},ye={flow:function(t){var e,i,n,a,r=this.internal,s=0,o=0;if((t.json||t.rows||t.columns)&&(e=r.convertData(t)),e&&ct()){var c=[],l=r.getMaxDataCount(),u=r.convertDataToTargets(e,!0),d=r.axis.isTimeSeries();r.data.targets.forEach((function(t){for(var e=!1,i=0;i<u.length;i++)if(t.id===u[i].id){e=!0,t.values[t.values.length-1]&&(o=t.values[t.values.length-1].index+1),s=u[i].values.length;for(var n=0;n<s;n++)u[i].values[n].index=o+n,d||(u[i].values[n].x=o+n);t.values=t.values.concat(u[i].values),u.splice(i,1);break}e||c.push(t.id)})),r.data.targets.forEach((function(t){for(var e=0;e<c.length;e++)if(t.id===c[e]){o=t.values[t.values.length-1].index+1;for(var i=0;i<s;i++)t.values.push({id:t.id,index:o+i,x:d?r.getOtherTargetX(o+i):o+i,value:null})}})),r.data.targets.length&&u.forEach((function(t){for(var e=[],i=r.data.targets[0].values[0].index;i<o;i++)e.push({id:t.id,index:i,x:d?r.getOtherTargetX(i):i,value:null});t.values.forEach((function(t){t.index+=o,d||(t.x+=o)})),t.values=e.concat(t.values)})),r.data.targets=r.data.targets.concat(u);var h=r.data.targets[0],g=h.values[0];C(t.to)?(s=0,a=d?ot.call(r,t.to):t.to,h.values.forEach((function(t){t.x<a&&s++}))):C(t.length)&&(s=t.length),l?1===l&&d&&(n=(h.values[h.values.length-1].x-g.x)/2,i=[new Date(+g.x-n),new Date(+g.x+n)]):(n=d?h.values.length>1?h.values[h.values.length-1].x-g.x:g.x-r.getXDomain(r.data.targets)[0]:1,i=[g.x-n,g.x]),i&&r.updateXDomain(null,!0,!0,!1,i),r.updateTargets(r.data.targets),r.redraw({flow:{index:g.index,length:s,duration:T(t.duration)?t.duration:r.config.transition_duration,done:t.done,orgDataCount:l},withLegend:!0,withTransition:l>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}},be=p(10),Te=function(){function t(t){this.owner=void 0,this.config=void 0,this.scale=void 0;var e=jt(),i=t.config,n=t.params;this.owner=t,this.config=i,this.scale=e,(i.noTransition||!n.config.transition_duration)&&(i.withoutTransition=!0),i.range=this.scaleExtent((n.orgXScale||e).range())}t.getSizeFor1Char=function(t){var e={w:5.5,h:11.5};return t.empty()||t.select("text").text("0").call((function(t){try{var i=t.node().getBBox(),n=i.width,a=i.height;n&&a&&(e.w=n,e.h=a)}catch(t){}finally{t.text("")}})),this.getSizeFor1Char=function(){return e},e};var e=t.prototype;return e.getTickTransformSetter=function(t){var e=this.config,i="x"===t?function(t){return"translate("+(t+e.tickOffset)+",0)"}:function(t){return"translate(0,"+t+")"};return function(t,e){t.attr("transform",(function(t){return i(Math.ceil(e(t)))}))}},e.scaleExtent=function(t){var e=t[0],i=t[t.length-1];return e<i?[e,i]:[i,e]},e.generateTicks=function(t,e){var i=this.owner.params.tickStepSize,n=t.domain(),a=n[0],r=n[1],s=[];if(e&&i)for(var o=a;o<=r;)s.push(o),o+=i;else if(t.ticks){var c=this.config.tickArguments;if("log"!==t.type||c)s=t.ticks.apply(t,this.config.tickArguments||[]);else{var l=jt("_log").domain([a>0?a:1,r]).range(t.range());s=l.ticks();for(var u=r.toFixed().length;s.length>15;u--)s=l.ticks(u);s.splice(0,1,a),s.splice(s.length-1,1,r)}s=s.map((function(t){return A(t)&&k(t)&&!isNaN(t)&&Math.round(10*t)/10||t}))}else{for(var d=Math.ceil(a);d<r;d++)s.push(d);s.length>0&&s[0]>0&&s.unshift(s[0]-(s[1]-s[0]))}return s},e.copyScale=function(){var t=this.scale.copy();return t.domain().length||t.domain(this.scale.domain()),t.type=this.scale.type,t},e.textFormatted=function(t){var e=this.config.tickFormat,i=/\d+\.\d+0{5,}\d$/.test(t)?+(t+"").replace(/0+\d$/,""):t,n=e?e(i):i;return C(n)?n:""},e.transitionise=function(t){var e=this.config;return e.withoutTransition?t.interrupt():t.transition(e.transition)},t}(),we=function(){function t(t){void 0===t&&(t={}),this.helper=void 0,this.config=void 0,this.params=void 0,this.g=void 0;var e={innerTickSize:6,outerTickSize:t.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:t.noTransition};e.tickLength=Math.max(e.innerTickSize,0)+e.tickPadding,this.config=e,this.params=t,this.helper=new Te(this)}var e=t.prototype;return e.create=function(t){var e=this,i=this.config,a=this.helper,r=this.params,s=a.scale,o=i.orient,c=this.splitTickText.bind(this),l=/^(left|right)$/.test(o),u=/^(top|bottom)$/.test(o),d=a.getTickTransformSetter(u?"x":"y"),h=d===a.axisX?"y":"x",g=/^(top|left)$/.test(o)?-1:1,f=r.tickTextRotate;this.config.range=s.rangeExtent?s.rangeExtent():a.scaleExtent((r.orgXScale||s).range());var p,x=i,v=x.innerTickSize,_=x.tickLength,m=x.range,y=r.id,b=y&&/^(x|y|y2)$/.test(y)?r.config["axis_"+y+"_tick_text_position"]:{x:0,y:0},T="subX"===y?"subchart_axis_x":"axis_"+y,w=r.config[T+"_show"],A=!!w&&r.config[T+"_tick_show"],S=!!w&&r.config[T+"_tick_text_show"];t.each((function(){var t=(0,n.select)(this),x=this.__chart__||s,y=a.copyScale();p=t,this.__chart__=y,i.tickOffset=r.isCategory?Math.ceil((y(1)-y(0))/2):0;var T=t.selectAll(".domain").data([0]);if(T.enter().append("path").attr("class","domain").merge(a.transitionise(T).selection()).attr("d",(function(){var t=i.outerTickSize*g;return u?"M"+m[0]+","+t+"V0H"+m[1]+"V"+t:"M"+t+","+m[0]+"H0V"+m[1]+"H"+t})),A||S){var w=i.tickValues||a.generateTicks(y,l),C=t.selectAll(".tick").data(w,y),L=C.enter().insert("g",".domain").attr("class","tick").style("opacity","1"),E=C.exit().remove();C=L.merge(C),A&&L.append("line"),S&&L.append("text");var O=Te.getSizeFor1Char(C),R=[],D=C.select("text").selectAll("tspan").data((function(t,e){var i=r.tickMultiline?c(t,y,w,l,O.w):z(a.textFormatted(t))?a.textFormatted(t).concat():[a.textFormatted(t)];return R[e]=i.length,i.map((function(t){return{index:e,splitted:t}}))}));D.exit().remove(),(D=D.enter().append("tspan").merge(D).text((function(t){return t.splitted}))).attr("x",u?0:_*g).attr("dx",function(){var t=0;return/(top|bottom)/.test(o)&&f&&(t=8*Math.sin(Math.PI*(f/180))*("top"===o?-1:1)),t+(b.x||0)}()).attr("dy",(function(t,e){var i=0;return"top"!==o&&(i=O.h,0===e&&(i=l?-((R[t.index]-1)*(O.h/2)-3):0===b.y?".71em":0)),k(i)&&b.y?i+b.y:i||".71em"}));var I=C.select("line"),P=C.select("text");if(L.select("line").attr(h+"2",v*g),L.select("text").attr(h,_*g),e.setTickLineTextPosition(I,P),r.tickTitle){var X=P.select("title");(X.empty()?P.append("title"):X).text((function(t){return r.tickTitle[t]}))}if(y.bandwidth){var M=y,F=M.bandwidth()/2;y=x=function(t){return M(t)+F}}else x.bandwidth?x=y:d(E,y);d(L,x),d(a.transitionise(C).style("opacity","1"),y)}})),this.g=p},e.getTickXY=function(){var t=this.config,e={x:0,y:0};return this.params.isCategory&&(e.x=t.tickCentered?0:t.tickOffset,e.y=t.tickCentered?t.tickOffset:0),e},e.getTickSize=function(t){var e=this.helper.scale,i=this.config,n=i,a=n.innerTickSize,r=n.range,s=e(t)+(i.tickCentered?0:i.tickOffset);return r[0]<s&&s<r[1]?a:0},e.setTickLineTextPosition=function(t,e){var i=this.getTickXY(),n=this.config,a=n.innerTickSize,r=n.orient,s=n.tickLength,o=n.tickOffset,c=this.params.tickTextRotate,l=function(t){var e=["start","end"];return"top"===r&&e.reverse(),t?t>0?e[0]:e[1]:"middle"},u=function(t){return t?"rotate("+t+")":null},d=function(t){return t?11.5-2.5*(t/("bottom"===r?15:23))*(t>0?1:-1):s};"bottom"===r?(t.attr("x1",i.x).attr("x2",i.x).attr("y2",this.getTickSize.bind(this)),e.attr("x",0).attr("y",d(c)).style("text-anchor",l(c)).attr("transform",u(c))):"top"===r?(t.attr("x2",0).attr("y2",-a),e.attr("x",0).attr("y",2*-d(c)).style("text-anchor",l(c)).attr("transform",u(c))):"left"===r?(t.attr("x2",-a).attr("y1",i.y).attr("y2",i.y),e.attr("x",-s).attr("y",o).style("text-anchor","end")):"right"===r&&(t.attr("x2",a).attr("y2",0),e.attr("x",s).attr("y",0).style("text-anchor","start"))},e.splitTickText=function(t,e,i,n,a){var r=this.params,s=this.helper.textFormatted(t),o=A(s)&&s.indexOf("\n")>-1?s.split("\n"):[];if(o.length)return o;if(z(s))return s;var c=r.tickWidth;return(!c||c<=0)&&(c=n?95:r.isCategory?Math.ceil(e(i[1])-e(i[0]))-12:110),function t(e,i){for(var n,r,s,o=1;o<i.length;o++)if(" "===i.charAt(o)&&(r=o),n=i.substr(0,o+1),s=a*n.length,c<s)return t(e.concat(i.substr(0,r||o)),i.slice(r?r+1:o));return e.concat(i)}(o,s+"")},e.scale=function(t){return arguments.length?(this.helper.scale=t,this):this.helper.scale},e.orient=function(t){return arguments.length?(this.config.orient=t in{top:1,right:1,bottom:1,left:1}?t+"":"bottom",this):this.config.orient},e.tickFormat=function(t){var e=this.config;return arguments.length?(e.tickFormat=t,this):e.tickFormat},e.tickCentered=function(t){var e=this.config;return arguments.length?(e.tickCentered=t,this):e.tickCentered},e.tickOffset=function(){return this.config.tickOffset},e.tickInterval=function(t){var e,i=this;if(this.params.isCategory)e=2*this.config.tickOffset;else{e=(this.g.select("path.domain").node().getTotalLength()-2*this.config.outerTickSize)/(t||this.g.selectAll("line").size());var n=this.config.tickValues.map((function(t,e,n){var a=e+1;return a<n.length?i.helper.scale(n[a])-i.helper.scale(t):null})).filter(Boolean);e=Math.min.apply(Math,n.concat([e]))}return e===1/0?0:e},e.ticks=function(){for(var t=this.config,e=arguments.length,i=Array(e),n=0;n<e;n++)i[n]=arguments[n];return i.length?(t.tickArguments=K(i),this):t.tickArguments},e.tickCulling=function(t){var e=this.config;return arguments.length?(e.tickCulling=t,this):e.tickCulling},e.tickValues=function(t){var e=this,i=this.config;if(w(t))i.tickValues=function(){return t(e.helper.scale.domain())};else{if(!arguments.length)return i.tickValues;i.tickValues=t}return this},e.setTransition=function(t){return this.config.transition=t,this},t}(),Ae={getAxisInstance:function(){return this.axis||new ke(this)}},ke=function(){function t(t){this.owner=void 0,this.x=void 0,this.subX=void 0,this.y=void 0,this.y2=void 0,this.axesList={},this.tick={x:null,y:null,y2:null},this.xs=[],this.orient={x:"bottom",y:"left",y2:"right",subX:"bottom"},this.owner=t,this.setOrient()}var e=t.prototype;return e.getAxisClassName=function(t){return a.axis+" "+a["axis"+q(t)]},e.isHorizontal=function(t,e){var i=t.config.axis_rotated;return e?i:!i},e.isCategorized=function(){var t=this.owner,e=t.config,i=t.state;return e.axis_x_type.indexOf("category")>=0||i.hasRadar},e.isCustomX=function(){var t=this.owner.config;return!this.isTimeSeries()&&(t.data_x||P(t.data_xs))},e.isTimeSeries=function(t){return void 0===t&&(t="x"),"timeseries"===this.owner.config["axis_"+t+"_type"]},e.isLog=function(t){return void 0===t&&(t="x"),"log"===this.owner.config["axis_"+t+"_type"]},e.isTimeSeriesY=function(){return this.isTimeSeries("y")},e.getAxisType=function(t){void 0===t&&(t="x");var e="linear";return this.isTimeSeries(t)?e="time":this.isLog(t)&&(e="log"),e},e.init=function(){var t=this,e=this.owner,i=e.config,n=e.$el,r=n.main,s=n.axis,o=e.state.clip,c=i.axis_rotated,l=["x","y"];i.axis_y2_show&&l.push("y2"),l.forEach((function(n){var l=t.getAxisClassName(n),u=a["axis"+n.toUpperCase()+"Label"];s[n]=r.append("g").attr("class",l).attr("clip-path",(function(){var t=null;return"x"===n?t=o.pathXAxis:"y"===n&&(t=o.pathYAxis),t})).attr("transform",e.getTranslate(n)).style("visibility",i["axis_"+n+"_show"]?"visible":"hidden"),s[n].append("text").attr("class",u).attr("transform",["rotate(-90)",null]["x"===n?+!c:+c]).style("text-anchor",(function(){return t.textAnchorForAxisLabel(n)})),t.generateAxes(n)}))},e.setOrient=function(){var t=this.owner.config,e=t.axis_rotated,i=t.axis_y_inner,n=t.axis_y2_inner;this.orient={x:e?"left":"bottom",y:e?i?"top":"bottom":i?"right":"left",y2:e?n?"bottom":"top":n?"left":"right",subX:e?"left":"bottom"}},e.generateAxes=function(t){var e,i=this.owner,n=i.config,a=[],r=n["axis_"+t+"_axes"],s=n.axis_rotated;"x"===t?e=s?be.axisLeft:be.axisBottom:"y"===t?e=s?be.axisBottom:be.axisLeft:"y2"===t&&(e=s?be.axisTop:be.axisRight),r.length&&r.forEach((function(n){var r=n.tick||{},s=i.scale[t].copy();n.domain&&s.domain(n.domain),a.push(e(s).ticks(r.count).tickFormat(w(r.format)?r.format.bind(i.api):function(t){return t}).tickValues(r.values).tickSizeOuter(!1===r.outer?0:6))})),this.axesList[t]=a},e.updateAxes=function(){var t=this,e=this.owner,i=e.config,n=e.$el.main;Object.keys(this.axesList).forEach((function(a){var r=i["axis_"+a+"_axes"],s=e.scale[a].copy(),o=s.range();t.axesList[a].forEach((function(c,l){var u=c.scale().range();o.every((function(t,e){return t===u[e]}))||c.scale().range(o);var d=t.getAxisClassName(a)+"-"+(l+1),h=n.select("."+d.replace(/\s/,"."));h.empty()?h=n.append("g").attr("class",d).style("visibility",i["axis_"+a+"_show"]?"visible":"hidden").call(c):(r[l].domain&&s.domain(r[l].domain),t.x.helper.transitionise(h).call(c.scale(s))),h.attr("transform",e.getTranslate(a,l+1))}))}))},e.setAxis=function(t,e,i,n){var a=this.owner;"subX"!==t&&(this.tick[t]=this.getTickValues(t)),this[t]=this.getAxis(t,e,i,!("x"!==t||!(a.scale.zoom||a.config.subchart_show||a.state.resizing))||n)},e.getAxis=function(t,e,i,n,a){var r,s=this.owner,o=s.config,c=/^(x|subX)$/.test(t),l=c?"x":t,u=c&&this.isCategorized(),d=this.orient[t],h=a?0:s.getAxisTickRotate(l);if(c)r=s.format.xAxisTick;else{var g=o["axis_"+t+"_tick_format"];w(g)&&(r=g.bind(s.api))}var f=this.tick[l],p=et({outerTick:i,noTransition:n,config:o,id:t,tickTextRotate:h},c&&{isCategory:u,tickMultiline:o.axis_x_tick_multiline,tickWidth:o.axis_x_tick_width,tickTitle:u&&o.axis_x_tick_tooltip&&s.api.categories(),orgXScale:s.scale.x});c||(p.tickStepSize=o["axis_"+l+"_tick_stepSize"]);var x=new we(p).scale(c&&s.scale.zoom||e).orient(d);if(c&&this.isTimeSeries()&&f&&!w(f)){var v=ot.bind(s);f=f.map((function(t){return v(t)}))}else!c&&this.isTimeSeriesY()&&(x.ticks(o.axis_y_tick_time_value),f=null);f&&x.tickValues(f),x.tickFormat(r||!c&&s.isStackNormalized()&&function(t){return t+"%"}),u&&(x.tickCentered(o.axis_x_tick_centered),I(o.axis_x_tick_culling)&&(o.axis_x_tick_culling=!1));var _=o["axis_"+l+"_tick_count"];return _&&x.ticks(_),x},e.updateXAxisTickValues=function(t,e){var i,n=this.owner,a=n.config,r=a.axis_x_tick_fit,s=a.axis_x_tick_count;return(r||s&&r)&&(i=n.mapTargetsToUniqueXs(t),this.isCategorized()&&s>i.length&&(s=i.length),i=this.generateTickValues(i,s,this.isTimeSeries())),e?e.tickValues(i):this.x&&(this.x.tickValues(i),this.subX&&this.subX.tickValues(i)),i},e.getId=function(t){var e=this.owner,i=e.config,n=e.scale,a=i.data_axes[t];return a&&n[a]||(a="y"),a},e.getXAxisTickFormat=function(){var t,e=this.owner,i=e.config,n=e.format,a=i.axis_x_tick_format,r=this.isTimeSeries(),s=this.isCategorized();return a?w(a)?t=a.bind(e.api):r&&(t=function(t){return t?n.axisTime(a)(t):""}):t=r?n.defaultAxisTime:s?e.categoryName:function(t){return t<0?t.toFixed(0):t},w(t)?function(i){return t.apply(e,s?[i,e.categoryName(i)]:[i])}:t},e.getTickValues=function(t){var e=this.owner,i=e.config["axis_"+t+"_tick_values"],n=e[t+"Axis"];return(w(i)?i.call(e.api):i)||(n?n.tickValues():void 0)},e.getLabelOptionByAxisId=function(t){return this.owner.config["axis_"+t+"_label"]},e.getLabelText=function(t){var e=this.getLabelOptionByAxisId(t);return A(e)?e:e?e.text:null},e.setLabelText=function(t,e){var i=this.owner.config,n=this.getLabelOptionByAxisId(t);A(n)?i["axis_"+t+"_label"]=e:n&&(n.text=e)},e.getLabelPosition=function(t,e){var i=this.owner.config.axis_rotated,n=this.getLabelOptionByAxisId(t),a=D(n)&&n.position?n.position:e[+!i],r=function(t){return!!~a.indexOf(t)};return{isInner:r("inner"),isOuter:r("outer"),isLeft:r("left"),isCenter:r("center"),isRight:r("right"),isTop:r("top"),isMiddle:r("middle"),isBottom:r("bottom")}},e.getAxisLabelPosition=function(t){return this.getLabelPosition(t,"x"===t?["inner-top","inner-right"]:["inner-right","inner-top"])},e.getLabelPositionById=function(t){return this.getAxisLabelPosition(t)},e.xForAxisLabel=function(t){var e=this.owner,i=e.state,n=i.width,a=i.height,r=this.getAxisLabelPosition(t),s=r.isMiddle?-a/2:0;return this.isHorizontal(e,"x"!==t)?s=r.isLeft?0:r.isCenter?n/2:n:r.isBottom&&(s=-a),s},e.dxForAxisLabel=function(t){var e=this.owner,i=this.getAxisLabelPosition(t),n=i.isBottom?"0.5em":"0";return this.isHorizontal(e,"x"!==t)?n=i.isLeft?"0.5em":i.isRight?"-0.5em":"0":i.isTop&&(n="-0.5em"),n},e.textAnchorForAxisLabel=function(t){var e=this.owner,i=this.getAxisLabelPosition(t),n=i.isMiddle?"middle":"end";return this.isHorizontal(e,"x"!==t)?n=i.isLeft?"start":i.isCenter?"middle":"end":i.isBottom&&(n="start"),n},e.dyForAxisLabel=function(t){var e,i=this.owner,n=i.config,a=n.axis_rotated,r=this.getAxisLabelPosition(t).isInner,s=n["axis_"+t+"_tick_rotate"]?i.getHorizontalAxisHeight(t):0,o=this.getMaxTickWidth(t);if("x"===t){var c=n.axis_x_height;e=a?r?"1.2em":-25-o:r?"-0.5em":c?c-10:s?s-10:"3em"}else e={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[t],e=a?r?e[0]:s?s*("y2"===t?-1:1)-e[1]:e[2]:r?e[3]:(e[4]+(n["axis_"+t+"_inner"]?0:o+e[4]))*("y"===t?-1:1);return e},e.getMaxTickWidth=function(t,e){var i=this.owner,n=i.config,a=i.state.current,r=i.$el,s=r.svg,o=r.chart,c=a.maxTickWidths[t],l=0;if(e||!n["axis_"+t+"_show"]||0===i.filterTargetsToShow().length)return c.size;if(s){var u=/^y2?$/.test(t),d=i.filterTargetsToShow(i.data.targets),h=i.scale[t].copy().domain(i["get"+(u?"Y":"X")+"Domain"](d,t)),g=h.domain(),f=g[0]===g[1]&&g.every((function(t){return t>0})),p=z(c.domain)&&c.domain[0]===c.domain[1]&&c.domain.every((function(t){return t>0}));if(f||p)return c.size;c.domain=g,u||c.ticks.splice(0);var x=this.getAxis(t,h,!1,!1,!0),v=n["axis_"+t+"_tick_count"];!n["axis_"+t+"_tick_values"]&&v&&x.tickValues(this.generateTickValues(g,v,u?this.isTimeSeriesY():this.isTimeSeries())),u||this.updateXAxisTickValues(d,x);var _=o.append("svg").style("visibility","hidden").style("position","fixed").style("top","0px").style("left","0px");x.create(_),_.selectAll("text").each((function(t,e){var i=this.getBoundingClientRect().width;l=Math.max(l,i),u||(c.ticks[e]=i)})),_.remove()}return l>0&&(c.size=l),c.size},e.getXAxisTickTextY2Overflow=function(t){var e=this.owner,i=e.axis,n=e.config,a=e.state,r=e.getAxisTickRotate("x");if((i.isCategorized()||i.isTimeSeries())&&n.axis_x_tick_fit&&!n.axis_x_tick_culling&&!n.axis_x_tick_multiline&&r>0&&r<90){var s=a.current.width-e.getCurrentPaddingLeft(),o=this.getXAxisTickMaxOverflow(r,s-t),c=Math.max(0,o)+t;return Math.min(c,s/2)}return 0},e.getXAxisTickMaxOverflow=function(t,e){for(var i=this.owner,n=i.axis,a=i.config,r=i.state,s=n.isTimeSeries(),o=r.current.maxTickWidths.x.ticks,c=o.length,l=r.axis.x.padding,u=l.left,d=l.right,h=0,g=c-(s&&a.axis_x_tick_fit?.5:0),f=0;f<c;f++){var p=f+1,x=Math.cos(Math.PI*t/180)*o[f],v=p-(s?1:.5)+u;if(!(v<=0)){var _=(e-x)/v;h=Math.max(h,x-_/2-((g-p)*_+d*_))}}var m=i.filterTargetsToShow(i.data.targets),y=0;if(!s&&a.axis_x_tick_count<=m.length&&m[0].values.length){var b=jt(i.axis.getAxisType("x"),0,e-h).domain([-1*u,i.getXDomainMax(i.data.targets)+1+d]);y=Math.ceil((b(1)-b(0))/2)}return h+y},e.getXAxisPadding=function(t){var e=this.owner,i=e.config.axis_x_padding;if(I(i)?i={left:0,right:0}:(i.left=i.left||0,i.right=i.right||0),e.axis.isTimeSeries()){var n=+e.getXDomainMin(e.data.targets),a=+e.getXDomainMax(e.data.targets)-n,r=a+i.left+i.right,s=0,o=0;if(t&&r){var c=a/t/r;s=i.left/r/c,o=i.right/r/c}i={left:s,right:o}}return i},e.updateLabels=function(t){var e=this,i=this.owner.$el.main,n={x:i.select("."+a.axisX+" ."+a.axisXLabel),y:i.select("."+a.axisY+" ."+a.axisYLabel),y2:i.select("."+a.axisY2+" ."+a.axisY2Label)};Object.keys(n).filter((function(t){return!n[t].empty()})).forEach((function(i){var a=n[i];(t?a.transition():a).attr("x",(function(){return e.xForAxisLabel(i)})).attr("dx",(function(){return e.dxForAxisLabel(i)})).attr("dy",(function(){return e.dyForAxisLabel(i)})).text((function(){return e.getLabelText(i)}))}))},e.getPadding=function(t,e,i,n){var a=k(t)?t:t[e];return T(a)?this.convertPixelsToAxisPadding(a,n):i},e.convertPixelsToAxisPadding=function(t,e){var i=this.owner,n=i.config,a=i.state,r=a.width,s=a.height;return e*(t/(n.axis_rotated?r:s))},e.generateTickValues=function(t,e,i){var n=t;if(e){var a=w(e)?e():e;if(1===a)n=[t[0]];else if(2===a)n=[t[0],t[t.length-1]];else if(a>2){var r,s=this.isCategorized(),o=a-2,c=t[0],l=t[t.length-1];n=[c];for(var u=0;u<o;u++)r=+c+(l-c)/(o+1)*(u+1),n.push(i?new Date(r):s?Math.round(r):r);n.push(l)}}return i||(n=n.sort((function(t,e){return t-e}))),n},e.generateTransitions=function(t){var e=this.owner.$el.axis,i=["x","y","y2","subX"].map((function(i){var n=e[i];return n&&t&&(n=n.transition().duration(t)),n}));return{axisX:i[0],axisY:i[1],axisY2:i[2],axisSubX:i[3]}},e.redraw=function(t,e,i){var n=this,a=this.owner,r=a.config,s=a.$el,o=e?"0":"1";["x","y","y2","subX"].forEach((function(e){var a=n[e],c=s.axis[e];a&&c&&(!i&&!r.transition_duration&&(a.config.withoutTransition=!0),c.style("opacity",o),a.create(t["axis"+q(e)]))})),this.updateAxes()},e.redrawAxis=function(t,e,i,n,a){var r,s=this,o=this.owner,c=o.config,l=o.scale,u=o.$el,d=!!l.zoom;!d&&this.isCategorized()&&0===t.length&&l.x.domain([0,u.axis.x.selectAll(".tick").size()]),l.x&&t.length?(!d&&o.updateXDomain(t,e.UpdateXDomain,e.UpdateOrgXDomain,e.TrimXDomain),!c.axis_x_tick_values&&this.updateXAxisTickValues(t)):this.x&&(this.x.tickValues([]),this.subX&&this.subX.tickValues([])),c.zoom_rescale&&!n&&(r=l.x.orgDomain()),["y","y2"].forEach((function(e){var i=l[e];if(i){var n=c["axis_"+e+"_tick_values"],a=c["axis_"+e+"_tick_count"];if(i.domain(o.getYDomain(t,e,r)),!n&&a){var u=o.axis[e],d=i.domain();u.tickValues(s.generateTickValues(d,d.every((function(t){return 0===t}))?1:a,s.isTimeSeriesY()))}}})),this.redraw(i,o.hasArcType(),a),this.updateLabels(e.Transition),(e.UpdateXDomain||e.UpdateXAxis||e.Y)&&t.length&&this.setCulling(),e.Y&&(l.subY&&l.subY.domain(o.getYDomain(t,"y")),l.subY2&&l.subY2.domain(o.getYDomain(t,"y2")))},e.setCulling=function(){var t=this.owner,e=t.config,i=t.state,n=i.clip,r=i.current,s=t.$el;["subX","x","y","y2"].forEach((function(t){var i=s.axis[t],o="subX"===t?"x":t,c=e["axis_"+o+"_tick_culling"];if(i&&c){var l,u=i.selectAll(".tick text"),d=it(u.data()),h=d.length,g=e["axis_"+o+"_tick_culling_max"];if(h){for(var f=1;f<h;f++)if(h/f<g){l=f;break}u.each((function(t){this.style.display=d.indexOf(t)%l?"none":"block"}))}else u.style("display","block");if("x"===t){var p=r.maxTickWidths.x.clipPath?n.pathXAxisTickTexts:null;s.svg.selectAll("."+a.axisX+" .tick text").attr("clip-path",p)}}}))},t}(),Se={initEventRect:function(){this.$el.main.select("."+a.chart).append("g").attr("class",a.eventRects).style("fill-opacity","0")},redrawEventRect:function(){var t=this,e=t.config,i=t.state,n=t.$el,r=t.isMultipleX();if(n.eventRect)t.updateEventRect(n.eventRect,!0);else{var s=t.$el.main.select("."+a.eventRects).style("cursor",e.zoom_enabled&&"drag"!==e.zoom_type?e.axis_rotated?"ns-resize":"ew-resize":null).classed(a.eventRectsMultiple,r).classed(a.eventRectsSingle,!r).selectAll("."+a.eventRect).data([0]).enter().append("rect");t.updateEventRect(s),r?t.generateEventRectsForMultipleXs(s):t.generateEventRectsForSingleX(s),s.call(t.getDraggableSelection()),n.eventRect=s,"touch"!==t.state.inputType||n.svg.on("touchstart.eventRect")||t.hasArcType()||t.bindTouchOnEventRect(r)}if(!r){var o=t.getMaxDataCountTarget();t.updateDataIndexByX(o),t.updateXs(o),t.updatePointClass&&t.updatePointClass(!0),i.eventReceiver.data=o}t.updateEventRectData()},bindTouchOnEventRect:function(t){var e,i=this,n=i.config,r=i.state,s=i.$el,o=s.eventRect,c=s.svg,l=function(){i.unselectRect(),i.callOverOutForTouch()},u=n.interaction_inputType_touch.preventDefault,d=L(u)&&u||!1,h=!isNaN(u)&&u||null;o.on("touchstart",(function(t){r.event=t,i.updateEventRect()})).on("touchstart.eventRect touchmove.eventRect",(function(s){if(r.event=s,!o.empty()&&o.classed(a.eventRect)){if(r.dragging||r.flowing||i.hasArcType()||s.touches.length>1)return;(function(t){var i=t.type,a=t.changedTouches[0]["client"+(n.axis_rotated?"Y":"X")];"touchstart"===i?d?t.preventDefault():null!==h&&(e=a):"touchmove"===i&&(d||!0===e||null!==h&&Math.abs(e-a)>=h)&&(e=!0,t.preventDefault())})(s),function(e){if(t)i.selectRectForMultipleXs(e);else{var n=i.getDataIndexFromEvent(r.event);i.callOverOutForTouch(n),-1===n?i.unselectRect():i.selectRectForSingle(e,o,n)}}(o.node())}else l()}),!0).on("touchend.eventRect",(function(t){r.event=t,!o.empty()&&o.classed(a.eventRect)&&(i.hasArcType()||!i.toggleShape||r.cancelClick)&&r.cancelClick&&(r.cancelClick=!1)}),!0),c.on("touchstart",(function(t){r.event=t;var e=t.target;e&&e!==o.node()&&l()}))},updateEventRect:function(t,e){void 0===e&&(e=!1);var i=this.state,n=this.$el,r=i,s=r.eventReceiver,o=r.width,c=r.height,l=r.rendered,u=r.resizing,d=t||n.eventRect;(!l||u||e)&&(d.attr("x",0).attr("y",0).attr("width",o).attr("height",c),!l&&d.attr("class",a.eventRect)),s&&(s.rect=d.node().getBoundingClientRect())},updateEventRectData:function(){var t,e,i,n,a=this,r=a.config,s=a.scale,o=a.state,c=s.zoom||s.x,l=r.axis_rotated;if(a.isMultipleX())t=0,e=0,i=o.width,n=o.height;else{var u,d;if(a.axis.isCategorized())u=a.getEventRectWidth(),d=function(t){return c(t.x)-u/2};else{var h=function(t){var e=t.index;return{prev:a.getPrevX(e),next:a.getNextX(e)}};u=function(t){var e=h(t);return null===e.prev&&null===e.next?l?o.height:o.width:(null===e.prev&&(e.prev=c.domain()[0]),null===e.next&&(e.next=c.domain()[1]),Math.max(0,(c(e.next)-c(e.prev))/2))},d=function(t){var e=h(t),i=t.x;return null===e.prev&&null===e.next?0:(null===e.prev&&(e.prev=c.domain()[0]),(c(i)+c(e.prev))/2)}}t=l?0:d,e=l?d:0,i=l?o.width:u,n=l?u:o.height}var g=o.eventReceiver,f=function(t,e){return w(t)?t(e):t};g.coords.splice(g.data.length),g.data.forEach((function(a,r){g.coords[r]={x:f(t,a),y:f(e,a),w:f(i,a),h:f(n,a)}}))},selectRectForMultipleXs:function(t){var e=this,i=e.config,n=e.state,r=e.filterTargetsToShow(e.data.targets);if(!n.dragging&&!e.hasArcType(r)){var s=G(n.event,t),o=e.findClosestFromTargets(r,s);if(n.mouseover&&(!o||o.id!==n.mouseover.id)&&(i.data_onout.call(e.api,n.mouseover),n.mouseover=void 0),!o)return void e.unselectRect();var c=(e.isBubbleType(o)||e.isScatterType(o)||!i.tooltip_grouped?[o]:e.filterByX(r,o.x)).map((function(t){return e.addName(t)}));e.showTooltip(c,t),e.expandCirclesBars(o.index,o.id,!0),e.showGridFocus(c),(e.isBarType(o.id)||e.dist(o,s)<i.point_sensitivity)&&(e.$el.svg.select("."+a.eventRect).style("cursor","pointer"),!n.mouseover&&(i.data_onover.call(e.api,o),n.mouseover=o))}},unselectRect:function(){var t=this,e=t.config,i=t.$el,n=i.bar,r=i.circle,s=i.tooltip;t.$el.svg.select("."+a.eventRect).style("cursor",null),t.hideGridFocus(),s&&(t.hideTooltip(),t._handleLinkedCharts(!1)),r&&!e.point_focus_only&&t.unexpandCircles(),n&&t.unexpandBars()},generateEventRectsForSingleX:function(t){var e=this,i=e.config,n=e.state,a=n.eventReceiver,r=t.style("cursor",i.data_selection_enabled&&i.data_selection_grouped?"pointer":null).on("click",(function(t){n.event=t;var i=a,r=i.currentIdx,s=i.data[-1===r?e.getDataIndexFromEvent(t):r];e.clickHandlerForSingleX.bind(this)(s,e)}));if("mouse"===n.inputType){r.on("mouseover",(function(t){n.event=t,e.updateEventRect()})).on("mousemove",(function(t){var s=function(t){var i=t?e.getDataIndexFromEvent(t):a.currentIdx;return i>-1?a.data[i]:null}(t);if(n.event=t,!(n.dragging||n.flowing||e.hasArcType()||!s||i.tooltip_grouped&&s&&s.index===a.currentIdx)){var o=s.index;e.isStepType(s)&&"step-after"===i.line_step_type&&G(t,this)[0]<e.scale.x(e.getXValue(s.id,o))&&(o-=1),o!==a.currentIdx&&(e.setOverOut(!1,a.currentIdx),a.currentIdx=o),-1===o?e.unselectRect():e.selectRectForSingle(this,r,o),e.setOverOut(-1!==o,o)}})).on("mouseout",(function(t){n.event=t,!i||e.hasArcType()||-1===a.currentIdx||(e.unselectRect(),e.setOverOut(!1,a.currentIdx),a.currentIdx=-1)}))}return r},clickHandlerForSingleX:function(t,e){var i=e,n=i.config,r=i.state,s=i.$el.main;if(!t||i.hasArcType()||r.cancelClick)r.cancelClick&&(r.cancelClick=!1);else{var o=t.index;s.selectAll("."+a.shape+"-"+o).each((function(t){(n.data_selection_grouped||i.isWithinShape(this,t))&&(i.toggleShape&&i.toggleShape(this,t,o),n.data_onclick.bind(i.api)(t,this))}))}},generateEventRectsForMultipleXs:function(t){var e=this,i=e.state;t.on("click",(function(t){i.event=t,e.clickHandlerForMultipleXS.bind(this)(e)})),"mouse"===i.inputType&&t.on("mouseover mousemove",(function(t){i.event=t,e.selectRectForMultipleXs(this)})).on("mouseout",(function(t){i.event=t,!e.config||e.hasArcType()||e.unselectRect()}))},clickHandlerForMultipleXS:function(t){var e=t,i=e.config,n=e.state,r=e.filterTargetsToShow(e.data.targets);if(!e.hasArcType(r)){var s=G(n.event,this),o=e.findClosestFromTargets(r,s);!o||(e.isBarType(o.id)||e.dist(o,s)<i.point_sensitivity)&&e.$el.main.selectAll("."+a.shapes+e.getTargetSelectorSuffix(o.id)).selectAll("."+a.shape+"-"+o.index).each((function(){(i.data_selection_grouped||e.isWithinShape(this,o))&&(e.toggleShape&&e.toggleShape(this,o,o.index),i.data_onclick.bind(e.api)(o,this))}))}}},Ce=p(11),Le={generateFlow:function(t){var e=this,i=e.data,n=e.state,a=e.$el;return function(){var r=t.flow.length;n.flowing=!0,i.targets.forEach((function(t){t.values.splice(0,r)})),e.updateXGrid&&e.updateXGrid(!0);var s={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach((function(t){var e=t.split("."),i=a[e[0]];i&&e.length>1&&(i=i[e[1]]),i&&i.size()&&(s[t]=i)})),e.hideGridFocus(),e.setFlowList(s,t)}},setFlowList:function(t,e){var i,n=this,a=e.flow,r=e.targets,s=a,o=s.duration,c=void 0===o?e.duration:o,l=s.index,u=s.length,d=s.orgDataCount,h=n.getFlowTransform(r,d,l,u),g=kt();g.add(Object.keys(t).map((function(e){return i=t[e].transition().ease(Ce.easeLinear).duration(c),i="axis.x"===e?i.call((function(t){n.axis.x.setTransition(t).create(t)})):"region.list"===e?i.filter(n.isRegionOnX).attr("transform",h):i.attr("transform",h)}))),i.call(g,(function(){n.cleanUpFlow(t,e)}))},cleanUpFlow:function(t,e){var i=this,n=i.config,r=i.state,s=i.$el.svg,o=n.axis_rotated,c=e.flow,l=e.shape,u=e.xv,d=l.pos,h=d.cx,g=d.cy,f=d.xForText,p=d.yForText,x=c,v=x.done,_=void 0===v?function(){}:v,m=x.length;m&&(["circle","text","shape","eventRect"].forEach((function(t){for(var e=[],i=0;i<m;i++)e.push("."+a[t]+"-"+i);s.selectAll("."+a[t+"s"]).selectAll(e).remove()})),s.select("."+a.xgrid).remove()),Object.keys(t).forEach((function(e){var a=t[e];if("axis.x"!==e&&a.attr("transform",null),"grid.x"===e)a.attr(r.xgridAttr);else if("gridLines.x"===e)a.attr("x1",o?0:u).attr("x2",o?r.width:u);else if("gridLines.x"===e)a.select("line").attr("x1",o?0:u).attr("x2",o?r.width:u),a.select("text").attr("x",o?r.width:0).attr("y",u);else if(/^(area|bar|line)$/.test(e))a.attr("d",l.type[e]);else if("text"===e)a.attr("x",f).attr("y",p).style("fill-opacity",i.opacityForText.bind(i));else if("circle"!==e)"region.list"===e&&a.select("rect").filter(i.isRegionOnX).attr("x",i.regionX.bind(i)).attr("width",i.regionWidth.bind(i));else if(i.isCirclePoint())a.attr("cx",h).attr("cy",g);else{a.attr("x",(function(t){return h(t)-n.point_r})).attr("y",(function(t){return g(t)-n.point_r})).attr("cx",h).attr("cy",g)}})),n.interaction_enabled&&i.redrawEventRect(),_.call(i.api),r.flowing=!1},getFlowTransform:function(t,e,i,n){var a,r=this,s=r.data,o=r.scale.x,c=s.targets[0].values,l=r.getValueOnIndex(c,i),u=r.getValueOnIndex(c,i+n),d=o.domain(),h=r.updateXDomain(t,!0,!0);return e?a=1===e||(l&&l.x)===(u&&u.x)||r.axis.isTimeSeries()?o(d[0])-o(h[0]):o(l.x)-o(u.x):1===c.length?r.axis.isTimeSeries()?(l=r.getValueOnIndex(c,0),u=r.getValueOnIndex(c,c.length-1),a=o(l.x)-o(u.x)):a=R(h)/2:a=o(d[0])-o(h[0]),"translate("+a+",0) scale("+R(d)/R(h)+",1)"}},Ee={initClip:function(){var t=this,e=t.state.clip;e.id=t.state.datetimeId+"-clip",e.idXAxis=e.id+"-xaxis",e.idYAxis=e.id+"-yaxis",e.idGrid=e.id+"-grid",e.path=t.getClipPath(e.id),e.pathXAxis=t.getClipPath(e.idXAxis),e.pathYAxis=t.getClipPath(e.idYAxis),e.pathGrid=t.getClipPath(e.idGrid)},getClipPath:function(t){var e=this.config;return!e.clipPath&&/-clip$/.test(t)||!e.axis_x_clipPath&&/-clip-xaxis$/.test(t)||!e.axis_y_clipPath&&/-clip-yaxis$/.test(t)?null:"url("+(!!_.navigator&&_.navigator.appVersion.toLowerCase().indexOf("msie 9.")>=0?"":m.URL.split("#")[0])+"#"+t+")"},appendClip:function(t,e){e&&t.append("clipPath").attr("id",e).append("rect")},setXAxisClipPath:function(t){var e=this.config,i=this.state,n=i.margin,a=i.width,r=i.height,s=e.axis_rotated,o=Math.max(30,n.left)-(s?0:20),c=s?-(1+o):-(o-1),l=-Math.max(15,n.top),u=s?n.left+20:a+10+o,d=(s?n.top+r+10:n.bottom)+20;t.attr("x",c).attr("y",l).attr("width",u).attr("height",d)},setYAxisClipPath:function(t){var e=this.config,i=this.state,n=i.margin,a=i.width,r=i.height,s=e.axis_rotated,o=Math.max(30,n.left)-(s?20:0),c=e.axis_y_inner,l=c?-1:s?-(1+o):-(o-1),u=-(s?20:n.top),d=(s?a+15+o:n.left+20)+(c?20:0),h=(s?n.bottom:n.top+r)+10;t.attr("x",l).attr("y",u).attr("width",d).attr("height",h)},updateXAxisTickClip:function(){var t=this,e=t.config,i=t.state,n=i.clip,a=i.xAxisHeight,r=t.$el.defs,s=t.getHorizontalAxisHeight("x");if(r&&!n.idXAxisTickTexts){var o=n.id+"-xaxisticktexts";t.appendClip(r,o),n.pathXAxisTickTexts=t.getClipPath(n.idXAxisTickTexts),n.idXAxisTickTexts=o}!e.axis_x_tick_multiline&&t.getAxisTickRotate("x")&&s!==a&&(t.setXAxisTickClipWidth(),t.setXAxisTickTextClipPathWidth()),t.state.xAxisHeight=s},setXAxisTickClipWidth:function(){var t=this,e=t.config,i=t.state.current.maxTickWidths,n=t.getAxisTickRotate("x");if(!e.axis_x_tick_multiline&&n){var a=Math.sin(Math.PI/180*Math.abs(n));i.x.clipPath=(t.getHorizontalAxisHeight("x")-20)/a}else i.x.clipPath=null},setXAxisTickTextClipPathWidth:function(){var t=this.state,e=t.clip,i=t.current,n=this.$el.svg;n&&n.select("#"+e.idXAxisTickTexts+" rect").attr("width",i.maxTickWidths.x.clipPath).attr("height",30)}},Oe=function(t){return T(t.position)||"end"},Re=function(t){return"start"===t.position?4:"middle"===t.position?0:-4};function De(t,e,i){return function(n){var a=t?0:e;return"start"===n.position?a=t?-i:0:"middle"===n.position&&(a=(t?-i:e)/2),a}}function Ie(t,e){"grid"===e&&t.each((function(){var t=(0,n.select)(this);["x1","x2","y1","y2"].forEach((function(e){return t.attr(e,Math.ceil(+t.attr(e)))}))}))}var Pe={hasGrid:function(){var t=this.config;return["x","y"].some((function(e){return t["grid_"+e+"_show"]||t["grid_"+e+"_lines"].length}))},initGrid:function(){var t=this;t.hasGrid()&&t.initGridLines(),t.initFocusGrid()},initGridLines:function(){var t=this,e=t.config,i=t.state.clip,r=t.$el;(e.grid_x_lines.length||e.grid_y_lines.length)&&(r.gridLines.main=r.main.insert("g","."+a.chart+(e.grid_lines_front?" + *":"")).attr("clip-path",i.pathGrid).attr("class",a.grid+" "+a.gridLines),r.gridLines.main.append("g").attr("class",a.xgridLines),r.gridLines.main.append("g").attr("class",a.ygridLines),r.gridLines.x=(0,n.selectAll)([]))},updateXGrid:function(t){var e=this,i=e.config,r=e.scale,s=e.state,o=e.$el,c=o.main,l=o.grid,u=i.axis_rotated,d=e.generateGridData(i.grid_x_type,r.x),h=e.axis.isCategorized()?e.axis.x.tickOffset():0,g=function(t){return(r.zoom||r.x)(t)+h*(u?-1:1)};s.xgridAttr=u?{x1:0,x2:s.width,y1:g,y2:g}:{x1:g,x2:g,y1:0,y2:s.height},l.x=c.select("."+a.xgrids).selectAll("."+a.xgrid).data(d),l.x.exit().remove(),l.x=l.x.enter().append("line").attr("class",a.xgrid).merge(l.x),t||l.x.each((function(){var t=(0,n.select)(this);Object.keys(s.xgridAttr).forEach((function(e){t.attr(e,s.xgridAttr[e]).style("opacity",(function(){return t.attr(u?"y1":"x1")===(u?s.height:0)?"0":"1"}))}))}))},updateYGrid:function(){var t=this,e=t.config,i=t.state,n=t.$el,r=n.grid,s=n.main,o=e.axis_rotated,c=t.axis.y.tickValues()||t.scale.y.ticks(e.grid_y_ticks),l=function(e){return Math.ceil(t.scale.y(e))};r.y=s.select("."+a.ygrids).selectAll("."+a.ygrid).data(c),r.y.exit().remove(),r.y=r.y.enter().append("line").attr("class",a.ygrid).merge(r.y),r.y.attr("x1",o?l:0).attr("x2",o?l:i.width).attr("y1",o?0:l).attr("y2",o?i.height:l),Ie(r.y,"grid")},updateGrid:function(t){var e=this,i=e.$el,n=i.grid;i.gridLines.main||e.initGridLines(),n.main.style("visibility",e.hasArcType()?"hidden":"visible"),e.hideGridFocus(),e.updateXGridLines(t),e.updateYGridLines(t)},updateXGridLines:function(t){var e=this,i=e.config,n=e.$el,r=n.gridLines,s=n.main,o=i.axis_rotated;i.grid_x_show&&e.updateXGrid();var c=s.select("."+a.xgridLines).selectAll("."+a.xgridLine).data(i.grid_x_lines);c.exit().transition().duration(t).style("opacity","0").remove();var l=c.enter().append("g");l.append("line").style("opacity","0"),l.append("text").attr("transform",o?"":"rotate(-90)").attr("dy",-5).style("opacity","0"),(c=l.merge(c)).attr("class",(function(t){return(a.xgridLine+" "+(t.class||"")).trim()})).select("text").attr("text-anchor",Oe).attr("dx",Re).transition().duration(t).text((function(t){return t.text})).transition().style("opacity","1"),r.x=c},updateYGridLines:function(t){var e=this,i=e.config,n=e.state,r=n.width,s=n.height,o=e.$el,c=i.axis_rotated;i.grid_y_show&&e.updateYGrid();var l=o.main.select("."+a.ygridLines).selectAll("."+a.ygridLine).data(i.grid_y_lines);l.exit().transition().duration(t).style("opacity","0").remove();var u=l.enter().append("g");u.append("line").style("opacity","0"),u.append("text").attr("transform",c?"rotate(-90)":"").style("opacity","0"),l=u.merge(l);var d=e.yv.bind(e);l.attr("class",(function(t){return(a.ygridLine+" "+(t.class||"")).trim()})).select("line").transition().duration(t).attr("x1",c?d:0).attr("x2",c?d:r).attr("y1",c?0:d).attr("y2",c?s:d).transition().style("opacity","1"),l.select("text").attr("text-anchor",Oe).attr("dx",Re).transition().duration(t).attr("dy",-5).attr("x",De(c,r,s)).attr("y",d).text((function(t){return t.text})).transition().style("opacity","1"),o.gridLines.y=l},redrawGrid:function(t){var e=this,i=e.config.axis_rotated,n=e.state,a=n.width,r=n.height,s=e.$el.gridLines,o=e.xv.bind(e),c=s.x.select("line"),l=s.x.select("text");return c=(t?c.transition():c).attr("x1",i?0:o).attr("x2",i?a:o).attr("y1",i?o:0).attr("y2",i?o:r),l=(t?l.transition():l).attr("x",De(!i,a,r)).attr("y",o).text((function(t){return t.text})),[c.style("opacity","1"),l.style("opacity","1")]},initFocusGrid:function(){var t=this,e=t.config,i=t.state.clip,n=t.$el,r=e.grid_front,s="."+a[r&&n.gridLines.main?"gridLines":"chart"]+(r?" + *":""),o=n.main.insert("g",s).attr("clip-path",i.pathGrid).attr("class",a.grid);n.grid.main=o,e.grid_x_show&&o.append("g").attr("class",a.xgrids),e.grid_y_show&&o.append("g").attr("class",a.ygrids),e.interaction_enabled&&e.grid_focus_show&&(o.append("g").attr("class",a.xgridFocus).append("line").attr("class",a.xgridFocus),e.grid_focus_y&&!e.tooltip_grouped&&o.append("g").attr("class",a.ygridFocus).append("line").attr("class",a.ygridFocus))},showGridFocus:function(t){var e=this,i=e.config,r=e.state,s=r.width,o=r.height,c=i.axis_rotated,l=e.$el.main.selectAll("line."+a.xgridFocus+", line."+a.ygridFocus),u=(t||[l.datum()]).filter((function(t){return t&&T(e.getBaseValue(t))}));if(i.tooltip_show&&0!==u.length&&!e.hasType("bubble")&&!e.hasArcType()){var d=i.grid_focus_edge&&!i.tooltip_grouped,h=e.xx.bind(e);l.style("visibility","visible").data(u.concat(u)).each((function(t){var i,r=(0,n.select)(this),l={x:h(t),y:e.getYScaleById(t.id)(t.value)};if(r.classed(a.xgridFocus))i=c?[null,l.x,d?l.y:s,l.x]:[l.x,d?l.y:null,l.x,o];else{var u="y2"===e.axis.getId(t.id);i=c?[l.y,d&&!u?l.x:null,l.y,d&&u?l.x:o]:[d&&u?l.x:null,l.y,d&&!u?l.x:s,l.y]}["x1","y1","x2","y2"].forEach((function(t,e){return r.attr(t,i[e])}))})),Ie(l,"grid"),e.showCircleFocus&&e.showCircleFocus(t)}},hideGridFocus:function(){var t=this,e=t.state,i=e.inputType,n=e.resizing,r=t.$el.main;"mouse"!==i&&n||(r.selectAll("line."+a.xgridFocus+", line."+a.ygridFocus).style("visibility","hidden"),t.hideCircleFocus&&t.hideCircleFocus())},updateGridFocus:function(){var t=this,e=t.state,i=e.inputType,n=e.width,r=e.height,s=e.resizing,o=t.$el.grid.main.select("line."+a.xgridFocus);if("touch"===i)o.empty()?s&&t.showCircleFocus():t.showGridFocus();else{var c=t.config.axis_rotated;o.attr("x1",c?0:-10).attr("x2",c?n:-10).attr("y1",c?-10:0).attr("y2",c?-10:r)}return!0},generateGridData:function(t,e){var i=this.$el.main.select("."+a.axisX).selectAll(".tick").size(),n=[];if("year"===t)for(var r=this.getXDomain(),s=r[0].getFullYear(),o=r[1].getFullYear(),c=s;c<=o;c++)n.push(new Date(c+"-01-01 00:00:00"));else(n=e.ticks(10)).length>i&&(n=n.filter((function(t){return(t+"").indexOf(".")<0})));return n},getGridFilterToRemove:function(t){return t?function(e){var i=!1;return(z(t)?t.concat():[t]).forEach((function(t){("value"in t&&e.value===t.value||"class"in t&&e.class===t.class)&&(i=!0)})),i}:function(){return!0}},removeGridLines:function(t,e){var i=this,n=i.config,r=i.getGridFilterToRemove(t),s=e?a.xgridLines:a.ygridLines,o=e?a.xgridLine:a.ygridLine;i.$el.main.select("."+s).selectAll("."+o).filter(r).transition().duration(n.transition_duration).style("opacity","0").remove();var c="grid_"+(e?"x":"y")+"_lines";n[c]=n[c].filter((function(t){return!r(t)}))}},ze={initRegion:function(){var t=this.$el;t.region.main=t.main.append("g").attr("clip-path",this.state.clip.path).attr("class",a.regions)},updateRegion:function(t){var e=this,i=e.config,n=e.$el;n.region.main||e.initRegion(),n.region.main.style("visibility",e.hasArcType()?"hidden":"visible");var r=n.main.select("."+a.regions).selectAll("."+a.region).data(i.regions);r.exit().transition().duration(t).style("opacity","0").remove(),(r=r.enter().append("g").merge(r).attr("class",e.classRegion.bind(e))).append("rect").style("fill-opacity","0"),n.region.list=r},redrawRegion:function(t){var e=this,i=e.$el.region.list.select("rect");return i=(t?i.transition():i).attr("x",e.regionX.bind(e)).attr("y",e.regionY.bind(e)).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)),[(t?i.transition():i).style("fill-opacity",(function(t){return T(t.opacity)?t.opacity:"0.1"})).on("end",(function(){(0,n.select)(this.parentNode).selectAll("rect:not([x])").remove()}))]},getRegionXY:function(t,e){var i=this,n=i.config,a=i.scale,r=n.axis_rotated,s="x"===t,o="start",c=0;return"y"===e.axis||"y2"===e.axis?(!s&&(o="end"),(s?r:!r)&&o in e&&(c=(0,a[e.axis])(e[o]))):(s?!r:r)&&o in e&&(c=(a.zoom||a.x)(i.axis.isTimeSeries()?ot.call(i,e[o]):e[o])),c},regionX:function(t){return this.getRegionXY("x",t)},regionY:function(t){return this.getRegionXY("y",t)},getRegionSize:function(t,e){var i=this,n=i.config,a=i.scale,r=i.state,s=n.axis_rotated,o="width"===t,c=i[o?"regionX":"regionY"](e),l="end",u=r[t];return"y"===e.axis||"y2"===e.axis?(!o&&(l="start"),(o?s:!s)&&l in e&&(u=(0,a[e.axis])(e[l]))):(o?!s:s)&&l in e&&(u=(a.zoom||a.x)(i.axis.isTimeSeries()?ot.call(i,e[l]):e[l])),u<c?0:u-c},regionWidth:function(t){return this.getRegionSize("width",t)},regionHeight:function(t){return this.getRegionSize("height",t)},isRegionOnX:function(t){return!t.axis||"x"===t.axis}},Xe={getAxisSize:function(t){var e=this,i=e.config.axis_rotated;return i&&"x"===t||!i&&/y2?/.test(t)?e.getAxisWidthByAxisId(t,!0):e.getHorizontalAxisHeight(t)},getAxisWidthByAxisId:function(t,e){var i=this;if(i.axis){var n=i.axis&&i.axis.getLabelPositionById(t);return i.axis.getMaxTickWidth(t,e)+(n.isInner?20:40)}return 40},getHorizontalAxisHeight:function(t){var e=this,i=e.config,n=e.state,a=n.current,r=n.rotatedPadding,s=n.isLegendRight,o=n.isLegendInset,c=i.axis_rotated,l=30;if("x"===t&&!i.axis_x_show)return 8;if("x"===t&&i.axis_x_height)return i.axis_x_height;if("y"===t&&!i.axis_y_show)return!i.legend_show||s||o?1:10;if("y2"===t&&!i.axis_y2_show)return r.top;var u=e.getAxisTickRotate(t);return("x"===t&&!c||/y2?/.test(t)&&c)&&u&&(l=30+e.axis.getMaxTickWidth(t)*Math.cos(Math.PI*(90-Math.abs(u))/180),!i.axis_x_tick_multiline&&a.height&&l>a.height/2&&(l=a.height/2)),l+(e.axis.getLabelPositionById(t).isInner?0:10)+("y2"!==t||c?0:-10)},getEventRectWidth:function(){return Math.max(0,this.axis.x.tickInterval())},getAxisTickRotate:function(t){var e=this,i=e.axis,n=e.config,a=e.state,r=e.$el,s=n["axis_"+t+"_tick_rotate"];if("x"===t){var o=i.isCategorized()||i.isTimeSeries();if(n.axis_x_tick_fit&&o){var c=n.axis_x_tick_count,l=a.current.maxTickWidths.x.ticks.length,u=0;c?u=c>l?l:c:l&&(u=l),u!==a.axis.x.tickCount&&(a.axis.x.padding=e.axis.getXAxisPadding(u)),a.axis.x.tickCount=u}r.svg&&n.axis_x_tick_fit&&!n.axis_x_tick_multiline&&!n.axis_x_tick_culling&&n.axis_x_tick_autorotate&&o&&(s=e.needToRotateXAxisTickTexts()?n.axis_x_tick_rotate:0)}return s},needToRotateXAxisTickTexts:function(){var t=this,e=t.state,i=e.axis,n=e.current.width-t.getCurrentPaddingLeft(!1)-t.getCurrentPaddingRight(),a=i.x.tickCount+i.x.padding.left+i.x.padding.right;return t.axis.getMaxTickWidth("x")>(a?n/a:0)}},Me={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},Fe={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]};function Be(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function $e(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?Be(Object(e),!0).forEach((function(i){o(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Be(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var Ne=$e($e($e({axis_rotated:!1},{axis_x_clipPath:!0,axis_x_show:!0,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]}),Me),Fe),Ye=[de,{category:function(t,e){var i=this.internal,n=i.config;return arguments.length>1&&(n.axis_x_categories[t]=e,i.redraw()),n.axis_x_categories[t]},categories:function(t){var e=this.internal,i=e.config;return arguments.length?(i.axis_x_categories=t,e.redraw(),i.axis_x_categories):i.axis_x_categories}},ge,pe,ye,xe,_e,me],Ge=[Ae,Ee,Se,Le,Pe,ze,Xe],je=[{data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1},Ne,{grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:10,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0}],Ve=p(12),He={initPie:function(){var t=this,e=t.config,i=e.data_type,n=e.pie_padding,a=e[i+"_startingAngle"]||0,r=(t.hasType("pie")&&n?.01*n:e[i+"_padAngle"])||0;t.pie=(0,Ht.pie)().startAngle(a).endAngle(a+2*Math.PI).padAngle(r).value((function(t){return t.values.reduce((function(t,e){return t+e.value}),0)})).sort(t.getSortCompareFn.bind(t)(!0))},updateRadius:function(){var t=this,e=t.config,i=t.state,n=e.pie_padding,a=e.gauge_width||e.donut_width,r=t.filterTargetsToShow(t.data.targets).length*e.gauge_arcs_minWidth;i.radiusExpanded=Math.min(i.arcWidth,i.arcHeight)/2*(t.hasMultiArcGauge()?.85:1),i.radius=.95*i.radiusExpanded,i.innerRadiusRatio=a?(i.radius-a)/i.radius:.6,i.gaugeArcWidth=a||(r<=i.radius-i.innerRadius?i.radius-i.innerRadius:r<=i.radius?r:i.radius);var s=e.pie_innerRadius||(n?n*(i.innerRadiusRatio+.1):0);i.outerRadius=e.pie_outerRadius,i.innerRadius=t.hasType("donut")||t.hasType("gauge")?i.radius*i.innerRadiusRatio:s},getRadius:function(t){var e=t&&t.data,i=this.state,n=i.innerRadius,a=i.outerRadius;return!k(n)&&e&&(n=n[e.id]||0),X(a)&&e&&e.id in a?a=a[e.id]:!k(a)&&(a=this.state.radius),{innerRadius:n,outerRadius:a}},updateArc:function(){var t=this;t.updateRadius(),t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded()},getArcLength:function(){var t=3.6*this.config.gauge_arcLength,e=t/360*2;return t<-360?e=-2:t>360&&(e=2),e*Math.PI},getStartAngle:function(){var t=this.config,e=t.gauge_fullCircle,i=-1*Math.PI/2,n=Math.PI/2,a=t.gauge_startingAngle;return!e&&a<=i?a=i:!e&&a>=n?a=n:(a>Math.PI||a<-1*Math.PI)&&(a=Math.PI),a},updateAngle:function(t){var e=this,i=e.config,n=e.state,a=e.pie,r=t,s=!1;if(!i)return null;var o=e.getStartAngle(),c=i.gauge_fullCircle?e.getArcLength():-2*o;if(r.data&&e.isGaugeType(r.data)&&!e.hasMultiArcGauge()){var l=c*(e.getTotalDataSum(n.rendered)/(i.gauge_max-i.gauge_min));a=a.startAngle(o).endAngle(l+o)}if(a(e.filterTargetsToShow()).forEach((function(t,e){s||t.data.id!==r.data.id||(s=!0,(r=t).index=e)})),isNaN(r.startAngle)&&(r.startAngle=0),isNaN(r.endAngle)&&(r.endAngle=r.startAngle),r.data&&e.hasMultiArcGauge()){var u=i.gauge_min,d=i.gauge_max,h=r.value<u?0:r.value<d?r.value-u:d-u;r.startAngle=o,r.endAngle=o+c/(d-u)*h}return s?r:null},getSvgArc:function(){var t=this,e=t.state,i=e.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length,n=t.hasMultiArcGauge(),a=(0,Ht.arc)().innerRadius((function(a){var r=t.getRadius(a).innerRadius;return n?e.radius-i*(a.index+1):k(r)?r:0})).outerRadius((function(a){var r=t.getRadius(a).outerRadius;return n?e.radius-i*a.index:r})),r=function(e,i){var n="M 0 0";if(e.value||e.data){var r=!i&&t.updateAngle(e);i?n=a(e):r&&(n=a(r))}return n};return r.centroid=a.centroid,r},getSvgArcExpanded:function(t){var e=this,i=e.state,n=t||1,a=i.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length,r=e.hasMultiArcGauge(),s=Math.min(i.radiusExpanded*n-i.radius,.8*a-100*(1-n)),o=(0,Ht.arc)().innerRadius((function(t){return r?i.radius-a*(t.index+1):e.getRadius(t).innerRadius})).outerRadius((function(t){var o;if(r)o=i.radius-a*t.index+s;else{var c=e.getRadius(t).outerRadius,l=i.radiusExpanded;i.radius!==c&&(l-=Math.abs(i.radius-c)),o=l*n}return o}));return function(t){var i=e.updateAngle(t);return i?o(i):"M 0 0"}},getArc:function(t,e,i){return i||this.isArcType(t.data)?this.svgArc(t,e):"M 0 0"},transformForArcLabel:function(t){var e=this,i=e.config,n=e.state.radiusExpanded,a=e.updateAngle(t),r="";if(a)if(e.hasMultiArcGauge()){var s=Math.sin(a.endAngle-Math.PI/2);r="translate("+(l=Math.cos(a.endAngle-Math.PI/2)*(n+25))+","+(u=s*(n+15-Math.abs(10*s))+3)+")"}else if(!e.hasType("gauge")||e.data.targets.length>1){var o=e.getRadius(t).outerRadius,c=this.svgArc.centroid(a),l=isNaN(c[0])?0:c[0],u=isNaN(c[1])?0:c[1],d=Math.sqrt(l*l+u*u),h=e.hasType("donut")&&i.donut_label_ratio||e.hasType("pie")&&i.pie_label_ratio;r="translate("+l*(h=h?w(h)?h.bind(e.api)(t,o,d):h:o&&(d?(36/o>.375?1.175-36/o:.8)*o/d:0))+","+u*h+")"}return r},convertToArcData:function(t){return this.addName({id:t.data?t.data.id:t.id,value:t.value,ratio:this.getRatio("arc",t),index:t.index})},textForArcLabel:function(t){var e=this,i=e.hasType("gauge");e.shouldShowArcLabel()&&t.style("fill",e.updateTextColor.bind(e)).each((function(t){var a=(0,n.select)(this),r=e.updateAngle(t),s=e.getRatio("arc",r);if(e.meetsLabelThreshold(s,(e.hasType("donut")?"donut":e.hasType("gauge")&&"gauge")||e.hasType("pie")&&"pie")){var o=(r||t).value;N(a,(e.getArcLabelFormat()||e.defaultArcValueFormat)(o,s,t.data.id).toString(),[-1,1],i)}else a.text("")}))},expandArc:function(t){var e=this,i=e.state.transiting,r=e.$el;if(i)var s=setInterval((function(){i||(clearInterval(s),r.legend.selectAll("."+a.legendItemFocused).size()>0&&e.expandArc(t))}),10);else{var o=e.mapToTargetIds(t);r.svg.selectAll(e.selectorTargets(o,"."+a.chartArc)).each((function(t){if(e.shouldExpand(t.data.id)){var i=e.getExpandConfig(t.data.id,"duration"),a=e.getSvgArcExpanded(e.getExpandConfig(t.data.id,"rate"));(0,n.select)(this).selectAll("path").transition().duration(i).attr("d",e.svgArcExpanded).transition().duration(2*i).attr("d",a)}}))}},unexpandArc:function(t){var e=this,i=e.state.transiting,n=e.$el.svg;if(!i){var r=e.mapToTargetIds(t);n.selectAll(e.selectorTargets(r,"."+a.chartArc)).selectAll("path").transition().duration((function(t){return e.getExpandConfig(t.data.id,"duration")})).attr("d",e.svgArc),n.selectAll(""+a.arc).style("opacity","1")}},getExpandConfig:function(t,e){var i,n=this,a=n.config;return n.isDonutType(t)?i="donut":n.isGaugeType(t)?i="gauge":n.isPieType(t)&&(i="pie"),i?a[i+"_expand_"+e]:{duration:50,rate:.98}[e]},shouldExpand:function(t){var e=this,i=e.config;return e.isDonutType(t)&&i.donut_expand||e.isGaugeType(t)&&i.gauge_expand||e.isPieType(t)&&i.pie_expand},shouldShowArcLabel:function(){var t=this,e=t.config;return["pie","donut","gauge"].some((function(i){return t.hasType(i)&&e[i+"_label_show"]}))},getArcLabelFormat:function(){var t=this,e=t.config,i=e.pie_label_format;return t.hasType("gauge")?i=e.gauge_label_format:t.hasType("donut")&&(i=e.donut_label_format),w(i)?i.bind(t.api):i},getArcTitle:function(){var t=this,e=t.hasType("donut")?"donut":t.hasType("gauge")&&"gauge";return e?t.config[e+"_title"]:""},updateTargetsForArc:function(t){var e=this,i=e.$el,n=e.hasType("gauge"),r=e.getChartClass("Arc"),s=e.getClass("arcs",!0),o=e.classFocus.bind(e),c=i.main.select("."+a.chartArcs),l=c.selectAll("."+a.chartArc).data(e.pie(t)).attr("class",(function(t){return r(t)+o(t.data)})),u=l.enter().append("g").attr("class",r);u.append("g").attr("class",s).merge(l),u.append("text").attr("dy",n&&!e.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor","middle").style("pointer-events","none"),i.text=c.selectAll("."+a.target+" text")},initArc:function(){var t=this,e=t.$el;e.arcs=e.main.select("."+a.chart).append("g").attr("class",a.chartArcs).attr("transform",t.getTranslate("arc")),t.setArcTitle()},setArcTitle:function(){var t=this,e=t.getArcTitle(),i=t.hasType("gauge");if(e){var n=t.$el.arcs.append("text").attr("class",a[i?"chartArcsGaugeTitle":"chartArcsTitle"]).style("text-anchor","middle");i&&n.attr("dy","-0.3em").style("font-size","27px"),N(n,e,i?void 0:[-.6,1.35],!0)}},redrawArc:function(t,e,i){var r=this,s=r.config,o=r.state,c=r.$el.main,l=s.interaction_enabled,u=l&&s.data_selection_isselectable,d=c.selectAll("."+a.arcs).selectAll("."+a.arc).data(r.arcData.bind(r));d.exit().transition().duration(e).style("opacity","0").remove(),d=d.enter().append("path").attr("class",r.getClass("arc",!0)).style("fill",(function(t){return r.color(t.data)})).style("cursor",(function(t){return u&&u.bind(r.api)(t)?"pointer":null})).style("opacity","0").each((function(t){r.isGaugeType(t.data)&&(t.startAngle=s.gauge_startingAngle,t.endAngle=s.gauge_startingAngle),this._current=t})).merge(d),r.hasType("gauge")&&(r.updateGaugeMax(),r.hasMultiArcGauge()&&r.redrawMultiArcGauge()),d.attr("transform",(function(t){return!r.isGaugeType(t.data)&&i?"scale(0)":""})).style("opacity",(function(t){return t===this._current?"0":"1"})).each((function(){o.transiting=!0})).transition().duration(t).attrTween("d",(function(t){var e=r.updateAngle(t);if(!e)return function(){return"M 0 0"};isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);var i=(0,Ve.interpolate)(this._current,e);return this._current=i(0),function(e){var n=i(e);return n.data=t.data,r.getArc(n,!0)}})).attr("transform",i?"scale(1)":"").style("fill",(function(t){var e;return r.levelColor?(e=r.levelColor(t.data.values[0].value),s.data_colors[t.data.id]=e):e=r.color(t.data),e})).style("opacity","1").call(B,(function(){if(r.levelColor){var t=(0,n.select)(this),e=t.datum();r.updateLegendItemColor(e.data.id,t.style("fill"))}o.transiting=!1,F(s.onrendered,r.api)})),l&&r.bindArcEvent(d),r.hasType("gauge")&&r.redrawBackgroundArcs(),r.redrawArcText(t)},redrawBackgroundArcs:function(){var t=this,e=t.config,i=t.state,n=t.hasMultiArcGauge(),r=e.gauge_fullCircle,s=t.getStartAngle(),o=r?s+t.getArcLength():-1*s,c=t.$el.arcs.select((n?"g":"")+"."+a.chartArcsBackground);if(n){var l=0;(c=c.selectAll("path."+a.chartArcsBackground).data(t.data.targets)).enter().append("path").attr("class",(function(t,e){return a.chartArcsBackground+" "+a.chartArcsBackground+"-"+e})).merge(c).style("fill",e.gauge_background||null).attr("d",(function(n){var a=n.id;if(i.hiddenTargetIds.indexOf(a)>=0)return"M 0 0";var r={data:[{value:e.gauge_max}],startAngle:s,endAngle:o,index:l++};return t.getArc(r,!0,!0)})),c.exit().remove()}else c.attr("d",(function(){var i={data:[{value:e.gauge_max}],startAngle:s,endAngle:o};return t.getArc(i,!0,!0)}))},bindArcEvent:function(t){function e(t,e,i){a.expandArc(i),a.api.focus(i),a.toggleFocusLegend(i,!0),a.showTooltip([e],t)}function i(t){var e=t&&t.id||void 0;a.unexpandArc(e),a.api.revert(),a.revertLegend(),a.hideTooltip()}var a=this,r=a.config,s=a.state,o="touch"===s.inputType,c="mouse"===s.inputType;if(t.on("click",(function(t,e,i){var n,s=a.updateAngle(e);s&&(n=a.convertToArcData(s),a.toggleShape&&a.toggleShape(this,n,i),r.data_onclick.bind(a.api)(n,this))})),c&&t.on("mouseover",(function(t,i){if(!s.transiting){s.event=t;var n=a.updateAngle(i),r=n?a.convertToArcData(n):null;e(this,r,r&&r.id||void 0),a.setOverOut(!0,r)}})).on("mouseout",(function(t,e){if(!s.transiting){s.event=t;var n=a.updateAngle(e),r=n?a.convertToArcData(n):null;i(),a.setOverOut(!1,r)}})).on("mousemove",(function(t,e){var i=a.updateAngle(e),n=i?a.convertToArcData(i):null;s.event=t,a.showTooltip([n],this)})),o&&a.hasArcType()&&!a.radars){a.$el.svg.on("touchstart touchmove",(function(t){if(!s.transiting){var r=function(t){var e=t.changedTouches[0];return(0,n.select)(m.elementFromPoint(e.clientX,e.clientY))}(t).datum(),o=r&&r.data&&r.data.id?a.updateAngle(r):null,c=o?a.convertToArcData(o):null,l=c&&c.id||void 0;a.callOverOutForTouch(c),S(l)?i():e(this,c,l)}}))}},redrawArcText:function(t){var e,i=this,n=i.config,r=i.state,s=i.$el,o=s.main,c=s.arcs,l=i.hasType("gauge"),u=i.hasMultiArcGauge();if(l&&1===i.data.targets.length&&n.gauge_title||(e=o.selectAll("."+a.chartArc).select("text").style("opacity","0").attr("class",(function(t){return i.isGaugeType(t.data)?a.gaugeValue:null})).call(i.textForArcLabel.bind(i)).attr("transform",i.transformForArcLabel.bind(i)).style("font-size",(function(t){return i.isGaugeType(t.data)&&1===i.data.targets.length&&!u?Math.round(r.radius/5)+"px":null})).transition().duration(t).style("opacity",(function(t){return i.isTargetToShow(t.data.id)&&i.isArcType(t.data)?"1":"0"})),u&&e.attr("dy","-.1em")),o.select("."+a.chartArcsTitle).style("opacity",i.hasType("donut")||l?"1":"0"),l){var d=n.gauge_fullCircle;d&&e&&e.attr("dy",""+(u?0:Math.round(r.radius/14))),n.gauge_label_show&&(c.select("."+a.chartArcsGaugeUnit).attr("dy",(d?1.5:.75)+"em").text(n.gauge_units),c.select("."+a.chartArcsGaugeMin).attr("dx",-1*(r.innerRadius+(r.radius-r.innerRadius)/(d?1:2))+"px").attr("dy","1.2em").text(i.textForGaugeMinMax(n.gauge_min,!1)),!d&&c.select("."+a.chartArcsGaugeMax).attr("dx",r.innerRadius+(r.radius-r.innerRadius)/2+"px").attr("dy","1.2em").text(i.textForGaugeMinMax(n.gauge_max,!0)))}}},We={initArea:function(t){var e=this.config;t.insert("g","."+a[e.area_front?"circles":"lines"]).attr("class",this.getClass("areas",!0))},updateAreaGradient:function(){var t=this,e=t.config,i=t.state.datetimeId,n=t.$el.defs;t.data.targets.forEach((function(a){var r=i+"-areaGradient"+t.getTargetSelectorSuffix(a.id);if(t.isAreaType(a)&&n.select("#"+r).empty()){var s=t.color(a),o=e.area_linearGradient,c=o.x,l=void 0===c?[0,0]:c,u=o.y,d=void 0===u?[0,1]:u,h=o.stops,g=void 0===h?[[0,s,1],[1,s,0]]:h,f=n.append("linearGradient").attr("id",""+r).attr("x1",l[0]).attr("x2",l[1]).attr("y1",d[0]).attr("y2",d[1]);g.forEach((function(e){var i=w(e[1])?e[1].bind(t.api)(a.id):e[1];f.append("stop").attr("offset",e[0]).attr("stop-color",i||s).attr("stop-opacity",e[2])}))}}))},updateAreaColor:function(t){var e=this;return e.config.area_linearGradient?"url(#"+e.state.datetimeId+"-areaGradient"+e.getTargetSelectorSuffix(t.id)+")":e.color(t)},updateArea:function(t,e){void 0===e&&(e=!1);var i=this,r=i.config,s=i.state,o=i.$el,c=e?o.subchart:o;r.area_linearGradient&&i.updateAreaGradient();var l=c.main.selectAll("."+a.areas).selectAll("."+a.area).data(i.lineData.bind(i));l.exit().transition().duration(t).style("opacity","0").remove(),c.area=l.enter().append("path").attr("class",i.getClass("area",!0)).style("fill",i.updateAreaColor.bind(i)).style("opacity",(function(){return s.orgAreaOpacity=(0,n.select)(this).style("opacity"),"0"})).merge(l),l.style("opacity",s.orgAreaOpacity)},redrawArea:function(t,e,i){void 0===i&&(i=!1);var n=this,a=(i?this.$el.subchart:this.$el).area,r=n.state.orgAreaOpacity;return[(e?a.transition(H()):a).attr("d",t).style("fill",n.updateAreaColor.bind(n)).style("opacity",(function(t){return(n.isAreaRangeType(t)?r/1.75:r)+""}))]},generateDrawArea:function(t,e){var i=this,n=i.config,a=n.line_connectNull,r=n.axis_rotated,s=i.generateGetAreaPoints(t,e),o=i.getYScaleById.bind(i),c=function(t){return(e?i.subxx:i.xx).call(i,t)},l=function(t,n){return i.isGrouped(t.id)?s(t,n)[0][1]:o(t.id,e)(i.isAreaRangeType(t)?i.getRangedData(t,"high"):i.getShapeYMin(t.id))},u=function(t,n){return i.isGrouped(t.id)?s(t,n)[1][1]:o(t.id,e)(i.isAreaRangeType(t)?i.getRangedData(t,"low"):t.value)};return function(t){var e,s=a?i.filterRemoveNull(t.values):t.values,o=0,d=0;if(i.isAreaType(t)){var h=(0,Ht.area)();h=r?h.y(c).x0(l).x1(u):h.x(c).y0(n.area_above?0:l).y1(u),a||(h=h.defined((function(t){return null!==i.getBaseValue(t)}))),i.isStepType(t)&&(s=i.convertValuesToStep(s)),e=h.curve(i.getCurve(t))(s)}else s[0]&&(o=i.scale.x(s[0].x),d=i.getYScaleById(t.id)(s[0].value)),e=r?"M "+d+" "+o:"M "+o+" "+d;return e||"M 0 0"}},generateGetAreaPoints:function(t,e){var i=this,n=i.config,a=i.getShapeX(0,t,e),r=i.getShapeY(!!e),s=i.getShapeOffset(i.isAreaType,t,e),o=i.getYScaleById.bind(i);return function(t,c){var l=o.call(i,t.id,e)(i.getShapeYMin(t.id)),u=s(t,c)||l,d=a(t),h=r(t);return n.axis_rotated&&(t.value>0&&h<l||t.value<0&&l<h)&&(h=l),[[d,u],[d,h-(l-u)],[d,h-(l-u)],[d,u]]}}},Ue={initBar:function(){var t=this.$el;t.bar=t.main.select("."+a.chart).insert("g",":first-child").attr("class",a.chartBars)},updateTargetsForBar:function(t){var e=this,i=e.config,n=e.$el,r=e.getChartClass("Bar"),s=e.getClass("bars",!0),o=e.classFocus.bind(e),c=i.interaction_enabled&&i.data_selection_isselectable;n.bar||e.initBar(),e.$el.main.select("."+a.chartBars).selectAll("."+a.chartBar).data(t).attr("class",(function(t){return r(t)+o(t)})).enter().append("g").attr("class",r).style("opacity","0").style("pointer-events","none").append("g").attr("class",s).style("cursor",(function(t){return c&&c.bind(e.api)(t)?"pointer":null}))},updateBar:function(t,e){void 0===e&&(e=!1);var i=this,n=e?i.$el.subchart:i.$el,r=i.getClass("bar",!0),s=i.initialOpacity.bind(i),o=n.main.selectAll("."+a.bars).selectAll("."+a.bar).data(i.labelishData.bind(i));o.exit().transition().duration(t).style("opacity","0").remove(),n.bar=o.enter().append("path").attr("class",r).style("fill",i.color).merge(o).style("opacity",s)},redrawBar:function(t,e,i){void 0===i&&(i=!1);var n=(i?this.$el.subchart:this.$el).bar;return[(e?n.transition(H()):n).attr("d",t).style("fill",this.color).style("opacity","1")]},getBars:function(t,e){var i=this.$el.main,n=T(t)?"-"+t:"";return(e?i.selectAll("."+a.bars+this.getTargetSelectorSuffix(e)):i).selectAll("."+a.bar+n)},expandBars:function(t,e,i){i&&this.unexpandBars(),this.getBars(t,e).classed(a.EXPANDED,!0)},unexpandBars:function(t){this.getBars(t).classed(a.EXPANDED,!1)},generateDrawBar:function(t,e){var i=this.config,n=this.generateGetBarPoints(t,e),a=i.axis_rotated,r=i.data_groups.length,s=i.bar_radius,o=i.bar_radius_ratio,c=k(s)&&s>0?function(){return s}:k(o)?function(t){return t*o}:null;return function(t,e){var i=n(t,e),s=+a,o=+!s,l=t.value<0,u=["",""],d=0;if(c&&!r){var h=a?o:s,g=i[2][h]-i[0][h],f="a"+(d=c(g))+","+d+" "+(l?"1 0 0":"0 0 1")+" ";u[+!a]=""+f+d+","+d,u[+a]=""+f+[-d,d][a?"sort":"reverse"](),l&&u.reverse()}var p=a?"H"+(i[1][s]-d)+" "+u[0]+"V"+(i[2][o]-d)+" "+u[1]+"H"+i[3][s]:"V"+(i[1][o]+(l?-d:d))+" "+u[0]+"H"+(i[2][s]-d)+" "+u[1]+"V"+i[3][o];return"M"+i[0][s]+","+i[0][o]+p+"z"}},generateGetBarPoints:function(t,e){var i=this,n=i.config,a=e?i.axis.subX:i.axis.x,r=i.getIndicesMax(t)+1,s=i.getBarW("bar",a,r),o=i.getShapeX(s,t,!!e),c=i.getShapeY(!!e),l=i.getShapeOffset(i.isBarType,t,!!e),u=i.getYScaleById.bind(i);return function(t,a){var r=u.call(i,t.id,e)(i.getShapeYMin(t.id)),d=l(t,a)||r,h=k(s)?s:s[t.id]||s._$width,g=o(t),f=c(t);n.axis_rotated&&(t.value>0&&f<r||t.value<0&&r<f)&&(f=r);var p=g+h;return[[g,d],[g,f-=r-d],[p,f],[p,d]]}},isWithinBar:function(t){var e=G(this.state.event,t),i=Y(t),n=i[0],a=i[1],r=Math.min(n.x,a.x),s=Math.min(n.y,a.y),o=this.config.bar_sensitivity,c=t.getBBox(),l=c.width,u=c.height;return r-o<e[0]&&e[0]<r+l+o&&s-o<e[1]&&e[1]<s+u+o}};function Ze(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}var qe={initCandlestick:function(){var t=this.$el;t.candlestick=t.main.select("."+a.chart).append("g").attr("class",a.chartCandlesticks)},updateTargetsForCandlestick:function(t){var e=this,i=e.$el,n=e.getChartClass("Candlestick"),r=e.classFocus.bind(e);i.candlestick||e.initCandlestick(),e.$el.main.select("."+a.chartCandlesticks).selectAll("."+a.chartCandlestick).data(t).attr("class",(function(t){return n(t)+r(t)})).enter().append("g").attr("class",n).style("pointer-events","none")},updateCandlestick:function(t,e){void 0===e&&(e=!1);var i=this,n=i.$el,r=e?n.subchart:n,s=i.getClass("candlestick",!0),o=i.initialOpacity.bind(i),c=r.main.selectAll("."+a.chartCandlestick).selectAll("."+a.candlestick).data(i.labelishData.bind(i));c.exit().transition().duration(t).style("opacity","0").remove();var l=c.enter().filter((function(t){return t.value})).append("g").attr("class",s);l.append("line"),l.append("path"),r.candlestick||(r.candlestick={}),r.candlestick=c.merge(l).style("opacity",o)},generateDrawCandlestick:function(t,e){var i=this,n=i.config,r=i.generateGetCandlestickPoints(t,e),s=n.axis_rotated,o=n.candlestick_color_down;return function(t,e,n){var c,l=r(t,e),u=null==(c=i.getCandlestickData(t))?void 0:c._isUp,d=+s;n.classed&&n.classed(a[u?"valueUp":"valueDown"],!0);var h=s?"H"+l[1][1]+" V"+l[1][0]+" H"+l[0][1]:"V"+l[1][1]+" H"+l[1][0]+" V"+l[0][1];n.select("path").attr("d","M"+l[0][d]+","+l[0][+!d]+h+"z").style("fill",(function(t){return(u?i.color(t):X(o)?o[t.id]:o)||i.color(t)}));var g=n.select("line"),f=s?{x1:l[2][1],x2:l[2][2],y1:l[2][0],y2:l[2][0]}:{x1:l[2][0],x2:l[2][0],y1:l[2][1],y2:l[2][2]};for(var p in f)g.attr(p,f[p])}},generateGetCandlestickPoints:function(t,e){void 0===e&&(e=!1);var i=this,n=i.config,a=e?i.axis.subX:i.axis.x,r=i.getIndicesMax(t)+1,s=i.getBarW("candlestick",a,r),o=i.getShapeX(s,t,!!e),c=i.getShapeY(!!e),l=i.getShapeOffset(i.isBarType,t,!!e),u=i.getYScaleById.bind(i);return function(t,a){var r,d=u.call(i,t.id,e)(i.getShapeYMin(t.id)),h=l(t,a)||d,g=k(s)?s:s[t.id]||s._$width,f=i.getCandlestickData(t);if(f){var p={start:o(t),end:0};p.end=p.start+g;var x={start:c(f.open),end:c(f.close)},v={x:p.start+g/2,high:c(f.high),low:c(f.low)};n.axis_rotated&&(t.value>0&&x.start<d||t.value<0&&d<x.start)&&(x.start=d),x.start-=d-h,r=[[p.start,x.start],[p.end,x.end],[v.x,v.low,v.high]]}else r=[[0,0],[0,0],[0,0,0]];return r}},redrawCandlestick:function(t,e,i){void 0===i&&(i=!1);var a=(i?this.$el.subchart:this.$el).candlestick,r=H(!0);return[a.each((function(i,a){var s=e?(0,n.select)(this).transition(r):(0,n.select)(this);t(i,a,s)})).style("opacity","1")]},getCandlestickData:function(t){var e,i=t.value;if(z(i)){var n=i[0],a=i[1],r=i[2],s=i[3],c=i[4],l=void 0!==c&&c;e={open:n,high:a,low:r,close:s},!1!==l&&(e.volume=l)}else X(i)&&(e=function(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?Ze(Object(e),!0).forEach((function(i){o(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Ze(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}({},i));return e&&(e._isUp=e.close>=e.open),e||null}},Ke={initGauge:function(){var t=this,e=t.config,i=t.$el.arcs,n=function(t){i.append("text").attr("class",t).style("text-anchor","middle").style("pointer-events","none")};if(t.hasType("gauge")){var r=t.hasMultiArcGauge();i.append(r?"g":"path").attr("class",a.chartArcsBackground).style("fill",!r&&e.gauge_background||null),e.gauge_units&&n(a.chartArcsGaugeUnit),e.gauge_label_show&&(n(a.chartArcsGaugeMin),!e.gauge_fullCircle&&n(a.chartArcsGaugeMax))}},updateGaugeMax:function(){var t=this,e=t.config,i=t.state,n=t.hasMultiArcGauge()?t.getMinMaxData().max[0].value:t.getTotalDataSum(i.rendered);n>e.gauge_max&&(e.gauge_max=n)},redrawMultiArcGauge:function(){var t=this,e=t.config,i=t.state,r=t.$el,s=t.state.hiddenTargetIds,o=r.main.selectAll("."+a.arcs).selectAll("."+a.arcLabelLine).data(t.arcData.bind(t));o.enter().append("rect").attr("class",(function(t){return a.arcLabelLine+" "+a.target+" "+a.target+"-"+t.data.id})).merge(o).style("fill",(function(e){return t.levelColor?t.levelColor(e.data.values[0].value):t.color(e.data)})).style("display",e.gauge_label_show?"":"none").each((function(e){var a=0,r=0,o=0,c="";if(s.indexOf(e.data.id)<0){var l=t.updateAngle(e),u=i.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length*(l.index+1),d=l.endAngle-Math.PI/2,h=i.radius-u,g=d-(0===h?0:1/h);a=i.radiusExpanded-i.radius+u,r=Math.cos(g)*h,o=Math.sin(g)*h,c="rotate("+180*d/Math.PI+", "+r+", "+o+")"}(0,n.select)(this).attr("x",r).attr("y",o).attr("width",a).attr("height",2).attr("transform",c).style("stroke-dasharray","0, "+(a+2)+", 0")}))},textForGaugeMinMax:function(t,e){var i=this.config.gauge_label_extents;return w(i)?i.bind(this.api)(t,e):t},getGaugeLabelHeight:function(){var t=this.config;return this.config.gauge_label_show&&!t.gauge_fullCircle?20:0},getPaddingBottomForGauge:function(){return this.getGaugeLabelHeight()*(this.config.gauge_label_show?2:2.5)}},Je={initBubble:function(){var t=this.config;this.hasType("bubble")&&(t.point_show=!0,t.point_type="circle",t.point_sensitivity=25)},getBaseLength:function(){var t=this,e=t.state,i=e.width,n=e.height,a=ht,r=t.cache.get(a);return r||t.cache.add(a,r=nt("min",[i,n])),r},getBubbleR:function(t){var e=this,i=e.config.bubble_maxR;w(i)?i=i.bind(e.api)(t):!k(i)&&(i=e.getBaseLength()/(2*e.getMaxDataCount())+12);var n=nt("max",e.getMinMaxData().max.map((function(t){return e.isBubbleZType(t)?e.getBubbleZData(t.value,"y"):X(t.value)?t.value.mid:t.value}))),a=i*i*Math.PI,r=(e.isBubbleZType(t)?e.getBubbleZData(t.value,"z"):t.value)*(a/n);return Math.sqrt(r/Math.PI)},getBubbleZData:function(t,e){return X(t)?t[e]:t["y"===e?0:1]}},Qe={initLine:function(){var t=this.$el;t.line=t.main.select("."+a.chart).append("g").attr("class",a.chartLines)},updateTargetsForLine:function(t){var e=this,i=e.$el,n=i.area,r=i.line,s=i.main,o=e.getChartClass("Line"),c=e.getClass("lines",!0),l=e.classFocus.bind(e);r||e.initLine();var u=t.filter((function(t){return!(e.isScatterType(t)||e.isBubbleType(t))})),d=s.select("."+a.chartLines).selectAll("."+a.chartLine).data(u).attr("class",(function(t){return o(t)+l(t)})),h=d.enter().append("g").attr("class",o).style("opacity","0").style("pointer-events","none");h.append("g").attr("class",c),e.hasTypeOf("Area")&&e.initArea(!n&&h.empty()?d:h),e.updateTargetForCircle(u,h)},updateLine:function(t,e){void 0===e&&(e=!1);var i=this,n=i.format.extraLineClasses,r=i.$el,s=e?r.subchart:r,o=s.main.selectAll("."+a.lines).selectAll("."+a.line).data(i.lineData.bind(i));o.exit().transition().duration(t).style("opacity","0").remove(),s.line=o.enter().append("path").attr("class",(function(t){return i.getClass("line",!0)(t)+" "+(n(t)||"")})).style("stroke",i.color).merge(o).style("opacity",i.initialOpacity.bind(i)).style("shape-rendering",(function(t){return i.isStepType(t)?"crispEdges":""})).attr("transform",null)},redrawLine:function(t,e,i){void 0===i&&(i=!1);var n=(i?this.$el.subchart:this.$el).line;return[(e?n.transition(H()):n).attr("d",t).style("stroke",this.color).style("opacity","1")]},getCurve:function(t){var e=this;return e.config.axis_rotated&&e.isStepType(t)?function(i){var n=e.getInterpolate(t)(i);return n.orgPoint=n.point,n.pointRotated=function(t,e){1===this._point&&(this._point=2);var i=this._y*(1-this._t)+e*this._t;this._context.lineTo(this._x,i),this._context.lineTo(t,i),this._x=t,this._y=e},n.point=function(t,e){0===this._point?this.orgPoint(t,e):this.pointRotated(t,e)},n}:e.getInterpolate(t)},generateDrawLine:function(t,e){var i=this,n=i.config,a=i.scale,r=n.line_connectNull,s=n.axis_rotated,o=i.generateGetLinePoints(t,e),c=i.getYScaleById.bind(i),l=function(t){return(e?i.subxx:i.xx).call(i,t)},u=function(t,n){return i.isGrouped(t.id)?o(t,n)[0][1]:c(t.id,e)(i.getBaseValue(t))},d=(0,Ht.line)();d=s?d.x(u).y(l):d.x(l).y(u),r||(d=d.defined((function(t){return null!==i.getBaseValue(t)})));var h=e?a.subX:a.x;return function(t){var a,o=c(t.id,e),l=r?i.filterRemoveNull(t.values):t.values,u=0,g=0;if(i.isLineType(t)){var f=n.data_regions[t.id];f?a=i.lineWithRegions(l,h,o,f):(i.isStepType(t)&&(l=i.convertValuesToStep(l)),a=d.curve(i.getCurve(t))(l))}else l[0]&&(u=h(l[0].x),g=o(l[0].value)),a=s?"M "+g+" "+u:"M "+u+" "+g;return a||"M 0 0"}},lineWithRegions:function(t,e,i,n){var a,r,s,o,c=this,l=c.config.axis_rotated,u=c.axis.isTimeSeries(),d=c.axis.isCategorized()?.5:0,h=[],g=function(t,e){for(var i,n=0;i=e[n];n++)if(i.start<t&&t<=i.end)return i.style;return!1};if(C(n))for(var f,p=function(t,e){return S(t)?e:u?ot.call(c,t):t},x=0;f=n[x];x++){var v=p(f.start,t[0].x),_=p(f.end,t[t.length-1].x),m=f.style||{dasharray:"2 2"};h[x]={start:v,end:_,style:m}}for(var y,b=l?function(t){return i(t.value)}:function(t){return e(t.x)},w=l?function(t){return e(t.x)}:function(t){return i(t.value)},A=function(t){return"M"+t[0][0]+","+t[0][1]+"L"+t[1][0]+","+t[1][1]},k=u?function(t,n,a,o){var c=t.x.getTime(),u=n.x-t.x,d=new Date(c+u*a),h=new Date(c+u*(a+o)),g=l?[[i(r(a)),e(d)],[i(r(a+s)),e(h)]]:[[e(d),i(r(a))],[e(h),i(r(a+s))]];return A(g)}:function(t,n,s,o){var c=l?[[i(r(s),!0),e(a(s))],[i(r(s+o),!0),e(a(s+o))]]:[[e(a(s),!0),i(r(s))],[e(a(s+o),!0),i(r(s+o))]];return A(c)},L={x:c.axis.getAxisType("x"),y:c.axis.getAxisType("y")},E="",O=0;y=t[O];O++){var R=t[O-1],D=R&&T(R.value);m=g(y.x,h);if(T(y.value))if(!S(h)&&m&&D){if(D){try{m=m.dasharray.split(" ")}catch(t){m="2 2".split(" ")}a=jt(L.x,R.x+d,y.x+d),r=jt(L.y,R.value,y.value);var I=e(y.x)-e(R.x),P=i(y.value)-i(R.value),z=Math.sqrt(Math.pow(I,2)+Math.pow(P,2));o=(s=m[0]/z)*m[1];for(var X=s;X<=1;X+=o)E+=k(R,y,X,s),X+o>=1&&(E+=k(R,y,1,0))}}else E+=(O&&D?"L":"M")+b(y)+","+w(y)}return E},isWithinStep:function(t,e){return Math.abs(e-G(this.state.event,t)[1])<30},shouldDrawPointsForLine:function(t){var e=this.config.line_point;return!0===e||z(e)&&-1!==e.indexOf(t.id)}},ti=function(){return H()},ei={hasValidPointType:function(t){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(t||this.config.point_type)},hasValidPointDrawMethods:function(t){var e=t||this.config.point_type;return D(e)&&w(e.create)&&w(e.update)},initialOpacityForCircle:function(t){var e=this.config,i=this.state.withoutFadeIn,n=e.point_opacity;return S(n)&&(n=null!==this.getBaseValue(t)&&i[t.id]?this.opacityForCircle(t):"0"),n},opacityForCircle:function(t){var e=this.config,i=e.point_opacity;return S(i)&&(i=e.point_show&&!e.point_focus_only?"1":"0",i=T(this.getBaseValue(t))?this.isBubbleType(t)||this.isScatterType(t)?"0.5":i:"0"),i},initCircle:function(){var t=this,e=t.$el.main;t.point=t.generatePoint(),(t.hasType("bubble")||t.hasType("scatter"))&&e.select("."+a.chartCircles).empty()&&e.select("."+a.chart).append("g").attr("class",a.chartCircles)},updateTargetForCircle:function(t,e){var i=this,n=this,r=n.config,s=n.data,o=n.$el,c=r.interaction_enabled&&r.data_selection_enabled,l=c&&r.data_selection_isselectable,u=n.getClass("circles",!0);if(r.point_show){o.circle||n.initCircle();var d=t,h=e;if(!d){d=s.targets.filter((function(t){return i.isScatterType(t)||i.isBubbleType(t)}));var g=o.main.select("."+a.chartCircles).style("pointer-events","none").selectAll("."+a.circles).data(d).attr("class",u);g.exit().remove(),h=g.enter()}c&&h.append("g").attr("class",(function(t){return n.generateClass(a.selectedCircles,t.id)})),h.append("g").attr("class",u).style("cursor",(function(t){return l&&l(t)?"pointer":null})),c&&d.forEach((function(t){o.main.selectAll("."+a.selectedCircles+n.getTargetSelectorSuffix(t.id)).selectAll(""+a.selectedCircle).each((function(e){e.value=t.values[e.index].value}))}))}},updateCircle:function(t){void 0===t&&(t=!1);var e=this,i=e.config,n=e.state,r=e.$el,s=i.point_focus_only,o=t?r.subchart:r;if(i.point_show&&!n.toggling){var c=o.main.selectAll("."+a.circles).selectAll("."+a.circle).data((function(t){return e.isLineType(t)&&e.shouldDrawPointsForLine(t)||e.isBubbleType(t)||e.isRadarType(t)||e.isScatterType(t)?s?[t.values[0]]:t.values:[]}));c.exit().remove(),c.enter().filter(Boolean).append(e.point("create",this,e.pointR.bind(e),e.color)),o.circle=o.main.selectAll("."+a.circles+" ."+a.circle).style("stroke",e.color).style("opacity",e.initialOpacityForCircle.bind(e))}},redrawCircle:function(t,e,i,n,r){void 0===r&&(r=!1);var s=this,o=s.state.rendered,c=s.$el,l=r?c.subchart:c,u=l.main.selectAll("."+a.selectedCircle);if(!s.config.point_show)return[];var d=s.point("update",s,t,e,s.color,i,n,u),h=s.isCirclePoint()?"c":"",g=H(),f=s.opacityForCircle.bind(s),p=[];return l.circle.each((function(t){var e=d.bind(this)(t);e=(i||!o?e.transition(g):e).style("opacity",f),p.push(e)})),[p,(i?u.transition():u).attr(h+"x",t).attr(h+"y",e)]},showCircleFocus:function(t){var e=this,i=e.config,a=e.state,r=a.hasRadar,s=a.resizing,o=a.toggling,c=a.transiting,l=e.$el.circle;if(!1===c&&i.point_focus_only&&l){var u=(r?e.radarCircleX:e.circleX).bind(e),d=(r?e.radarCircleY:e.circleY).bind(e),h=o||S(t),g=e.point("update",e,u,d,e.color,!s&&h);t&&(l=l.filter((function(e){var i=t.filter((function(t){return t.id===e.id}));return!!i.length&&(0,n.select)(this).datum(i[0])}))),l.attr("class",this.updatePointClass.bind(this)).style("opacity","1").each((function(t){var i=t.id,n=t.index,a=t.value,r="hidden";T(a)&&(g.bind(this)(t),e.expandCircles(n,i),r=""),this.style.visibility=r}))}},hideCircleFocus:function(){var t=this,e=t.config,i=t.$el.circle;e.point_focus_only&&i&&(t.unexpandCircles(),i.style("visibility","hidden"))},circleX:function(t){return this.xx(t)},updateCircleY:function(t){void 0===t&&(t=!1);var e=this,i=e.generateGetLinePoints(e.getShapeIndices(e.isLineType),t);return function(n,a){var r=n.id;return e.isGrouped(r)?i(n,a)[0][1]:e.getYScaleById(r,t)(e.getBaseValue(n))}},getCircles:function(t,e){var i=this,n=T(t)?"-"+t:"";return(e?i.$el.main.selectAll("."+a.circles+i.getTargetSelectorSuffix(e)):i.$el.main).selectAll("."+a.circle+n)},expandCircles:function(t,e,i){var r=this,s=r.pointExpandedR.bind(r);i&&r.unexpandCircles();var o=r.getCircles(t,e).classed(a.EXPANDED,!0),c=s(o)/r.config.point_r,l=1-c;r.isCirclePoint()?o.attr("r",s):o.each((function(){var t=(0,n.select)(this);if("circle"===this.tagName)t.attr("r",s);else{var e=this.getBBox(),i=e.width,a=e.height,r=l*(+t.attr("x")+i/2),o=l*(+t.attr("y")+a/2);t.attr("transform","translate("+r+" "+o+") scale("+c+")")}}))},unexpandCircles:function(t){var e=this,i=e.pointR.bind(e),r=e.getCircles(t).filter((function(){return(0,n.select)(this).classed(a.EXPANDED)})).classed(a.EXPANDED,!1);r.attr("r",i),e.isCirclePoint()||r.attr("transform","scale("+i(r)/e.config.point_r+")")},pointR:function(t){var e=this,i=e.config.point_r,n=i;return e.isBubbleType(t)?n=e.getBubbleR(t):w(i)&&(n=i.bind(e.api)(t)),n},pointExpandedR:function(t){var e=this,i=e.config,n=e.isBubbleType(t)?1.15:1.75;return i.point_focus_expand_enabled?i.point_focus_expand_r||e.pointR(t)*n:e.pointR(t)},pointSelectR:function(t){var e=this.config.point_select_r;return w(e)?e(t):e||4*this.pointR(t)},isWithinCircle:function(t,e){var i=G(this.state.event,t),a=(0,n.select)(t),r=this.isCirclePoint(t)?"c":"",s=+a.attr(r+"x"),o=+a.attr(r+"y");if(!s&&!o&&1===t.nodeType){var c=V(t);s=c.x,o=c.y}return Math.sqrt(Math.pow(s-i[0],2)+Math.pow(o-i[1],2))<(e||this.config.point_sensitivity)},insertPointInfoDefs:function(t,e){var i=function(t,e){for(var i,n=t.attributes,a=0;i=n[a];a++)i=i.name,e.setAttribute(i,t.getAttribute(i))},a=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement,r=m.createElementNS(n.namespaces.svg,a.nodeName.toLowerCase());if(r.id=e,r.style.fill="inherit",r.style.stroke="inherit",i(a,r),a.childNodes&&a.childNodes.length){var s=(0,n.select)(r);"innerHTML"in r?s.html(a.innerHTML):K(a.childNodes).forEach((function(t){i(t,s.append(t.tagName).node())}))}this.$el.defs.node().appendChild(r)},pointFromDefs:function(t){return this.$el.defs.select("#"+t)},updatePointClass:function(t){var e=this,i=e.$el.circle,n=!1;return(X(t)||i)&&(n=!0===t?i.each((function(t){var i=e.getClass("circle",!0)(t);this.getAttribute("class").indexOf(a.EXPANDED)>-1&&(i+=" "+a.EXPANDED),this.setAttribute("class",i)})):e.getClass("circle",!0)(t)),n},generateGetLinePoints:function(t,e){var i=this,n=i.config,a=i.getShapeX(0,t,e),r=i.getShapeY(e),s=i.getShapeOffset(i.isLineType,t,e),o=i.getYScaleById.bind(i);return function(t,c){var l=o.call(i,t.id,e)(i.getShapeYMin(t.id)),u=s(t,c)||l,d=a(t),h=r(t);n.axis_rotated&&(t.value>0&&h<l||t.value<0&&l<h)&&(h=l);var g=[d,h-(l-u)];return[g,g,g,g]}},generatePoint:function(){var t=this,e=t.config,i=t.state.datetimeId,a=[],r=P(e.point_pattern)?e.point_pattern:[e.point_type];return function(e,s){for(var o=arguments.length,c=Array(o>2?o-2:0),l=2;l<o;l++)c[l-2]=arguments[l];return function(o){var l=t.getTargetSelectorSuffix(o.id||o.data&&o.data.id||o),u=(0,n.select)(this);a.indexOf(l)<0&&a.push(l);var d=r[a.indexOf(l)%r.length];if(t.hasValidPointType(d))d=t[d];else if(!t.hasValidPointDrawMethods(d)){var h=i+"-point"+l;if(t.pointFromDefs(h).size()<1&&t.insertPointInfoDefs(d,h),"create"===e)return t.custom.create.bind(s).apply(void 0,[u,h].concat(c));if("update"===e)return t.custom.update.bind(s).apply(void 0,[u].concat(c))}return d[e].bind(s).apply(void 0,[u].concat(c))}}},custom:{create:function(t,e,i,n){return t.append("use").attr("xlink:href","#"+e).attr("class",this.updatePointClass.bind(this)).style("fill",n).node()},update:function(t,e,i,n,a,r,s){var o=t.node().getBBox(),c=o.width,l=o.height,u=function(t){return e(t)-c/2},d=t;if(a){var h=ti();r&&d.attr("x",u),d=d.transition(h),s&&s.transition(ti())}return d.attr("x",u).attr("y",(function(t){return i(t)-l/2})).style("fill",n)}},circle:{create:function(t,e,i){return t.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",e).style("fill",i).node()},update:function(t,e,i,n,a,r,s){var o=this,c=t;if(o.hasType("bubble")&&c.attr("r",o.pointR.bind(o)),a){var l=ti();r&&c.attr("cx",e),c.attr("cx")&&(c=c.transition(l)),s&&s.transition(ti())}return c.attr("cx",e).attr("cy",i).style("fill",n)}},rectangle:{create:function(t,e,i){var n=function(t){return 2*e(t)};return t.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",n).attr("height",n).style("fill",i).node()},update:function(t,e,i,n,a,r,s){var o=this.config.point_r,c=function(t){return e(t)-o},l=t;if(a){var u=ti();r&&l.attr("x",c),l=l.transition(u),s&&s.transition(ti())}return l.attr("x",c).attr("y",(function(t){return i(t)-o})).style("fill",n)}}};var ii=_t,ni={initRadar:function(){var t=this,e=t.config,i=t.state.current,n=t.$el;t.hasType("radar")&&(n.radar=n.main.select("."+a.chart).append("g").attr("class",a.chartRadars),n.radar.levels=n.radar.append("g").attr("class",a.levels),n.radar.axes=n.radar.append("g").attr("class",a.axis),n.radar.shapes=n.radar.append("g").attr("class",a.shapes),i.dataMax=e.radar_axis_max||t.getMinMaxData().max[0].value)},getRadarSize:function(){var t=this.config,e=this.state,i=e.arcWidth,n=e.arcHeight,a=t.axis_x_categories.length<4?-20:10,r=(Math.min(i,n)-a)/2;return[r,r]},updateTargetsForRadar:function(t){var e=this.config;I(e.axis_x_categories)&&(e.axis_x_categories=at(0,nt("max",t.map((function(t){return t.values.length}))))),this.generateRadarPoints()},getRadarPosition:function(t,e,i,n){var a=this.config,r=this.getRadarSize(),s=r[0],o=r[1],c=a.axis_x_categories.length,l=a.radar_direction_clockwise,u=K(t).map((function(r){return function(t,e,i,n,a,r){var s=t&&n>0?i-n:n,o=2*Math.PI;return a*(1-r*("x"===e?Math.sin:Math.cos)(s*o/i))}(l,r,c,e,C(i)?i:"x"===t?s:o,k(n)?n:a.radar_size_ratio)}));return 1===u.length?u[0]:u},generateRadarPoints:function(){var t=this,e=t.data.targets,i=t.getRadarSize(),n=i[0],a=i[1],r=t.cache.get(ii)||{},s=r._size;s&&(s.width===n||s.height===a)||(e.forEach((function(e){r[e.id]=e.values.map((function(e,i){return t.getRadarPosition(["x","y"],i,void 0,t.getRatio("radar",e))}))})),r._size={width:n,height:a},t.cache.add(ii,r))},redrawRadar:function(t){var e=this,i=e.$el,n=i.radar,r=i.main,s=e.getTranslate("radar");s&&(n.attr("transform",s),r.select("."+a.chartTexts).attr("transform",s),e.generateRadarPoints(),e.updateRadarLevel(),e.updateRadarAxes(),e.updateRadarShape(t))},generateGetRadarPoints:function(){var t=this.cache.get(ii);return function(e,i){var n=t[e.id][i];return[n,n,n,n]}},updateRadarLevel:function(){var t=this,e=t.config,i=t.state,n=t.$el.radar,r=t.getRadarSize(),s=r[0],o=r[1],c=e.radar_level_depth,l=e.axis_x_categories.length,u=e.radar_level_text_show,d=n.levels,h=at(0,c),g=e.radar_size_ratio*Math.min(s,o),f=h.map((function(t){return g*((t+1)/c)})),p=(e.radar_level_text_format||function(){}).bind(t.api),x=h.map((function(e){var i=f[e];return at(0,l).map((function(e){return t.getRadarPosition(["x","y"],e,i,1).join(",")})).join(" ")})),v=d.selectAll("."+a.level).data(h);v.exit().remove();var _=v.enter().append("g").attr("class",(function(t,e){return a.level+" "+a.level+"-"+e}));_.append("polygon").style("visibility",e.radar_level_show?null:"hidden"),u&&(d.select("text").empty()&&d.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text((function(){return p(0)})),_.append("text").attr("dx","-.5em").style("text-anchor","end").text((function(t){return p(i.current.dataMax/h.length*(t+1))}))),_.merge(v).attr("transform",(function(t){return"translate("+(s-f[t])+", "+(o-f[t])+")"})).selectAll("polygon").attr("points",(function(t){return x[t]})),u&&d.selectAll("text").attr("x",(function(t){return S(t)?s:x[t].split(",")[0]})).attr("y",(function(t){return S(t)?o:0}))},updateRadarAxes:function(){var t=this,e=t.config,i=t.$el.radar,r=t.getRadarSize(),s=r[0],o=r[1],c=e.axis_x_categories,l=i.axes.selectAll("g").data(c);l.exit().remove();var u=l.enter().append("g").attr("class",(function(t,e){return a.axis+"-"+e}));if(e.radar_axis_line_show&&u.append("line"),e.radar_axis_text_show&&u.append("text"),l=u.merge(l),e.radar_axis_line_show&&l.select("line").attr("x1",s).attr("y1",o).attr("x2",(function(e,i){return t.getRadarPosition("x",i)})).attr("y2",(function(e,i){return t.getRadarPosition("y",i)})),e.radar_axis_text_show){var d=e.radar_axis_text_position,h=d.x,g=void 0===h?0:h,f=d.y,p=void 0===f?0:f;l.select("text").style("text-anchor","middle").attr("dy",".5em").call((function(t){t.each((function(t){N((0,n.select)(this),t+"",[-.6,1.2])}))})).datum((function(t,e){return{index:e}})).attr("transform",(function(e){S(this.width)&&(this.width=this.getBoundingClientRect().width/2);var i=t.getRadarPosition("x",e.index,void 0,1),n=Math.round(t.getRadarPosition("y",e.index,void 0,1));return i>s?i+=this.width+g:Math.round(i)<s&&(i-=this.width+g),n>o?(n/2===o&&"tspan"===this.firstChild.tagName&&this.firstChild.setAttribute("dy","0em"),n+=p):n<o&&(n-=p),"translate("+i+" "+n+")"}))}t.bindEvent()},bindEvent:function(){var t=this,e=t.config,i=t.state,a=t.$el,r=a.radar,s=a.svg,o=e.point_focus_only,c=i,l=c.inputType,u=c.transiting;if(e.interaction_enabled){var d="mouse"===l,h=function(t){var e=t.target;/tspan/i.test(e.tagName)&&(e=e.parentNode);var i=(0,n.select)(e).datum();return i&&1===Object.keys(i).length?i.index:void 0},g=function(e){var i=h(e),n=S(i);(d||n)&&(t.hideTooltip(),o?t.hideCircleFocus():t.unexpandCircles(),d?t.setOverOut(!1,i):n&&t.callOverOutForTouch())};r.axes.selectAll("text").on(d?"mouseover ":"touchstart",(function(e){if(!u){i.event=e;var n=h(e);t.selectRectForSingle(s.node(),null,n),d?t.setOverOut(!0,n):t.callOverOutForTouch(n)}})).on("mouseout",d?g:null),d||s.on("touchstart",g)}},updateRadarShape:function(t){var e=this,i=e.data.targets.filter((function(t){return e.isRadarType(t)})),n=e.cache.get(ii),a=e.$el.radar.shapes.selectAll("polygon").data(i),r=a.enter().append("g").attr("class",e.getChartClass("Radar"));a.exit().transition().duration(t).remove(),r.append("polygon").merge(a).style("fill",e.color).style("stroke",e.color).attr("points",(function(t){return n[t.id].join(" ")})),e.updateTargetForCircle(i,r)},radarCircleX:function(t){return this.cache.get(ii)[t.id][t.index][0]},radarCircleY:function(t){return this.cache.get(ii)[t.id][t.index][1]}},ai={point_show:!0,point_r:2.5,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},ri={area_above:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},si={bar_label_threshold:0,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},oi={bubble_maxR:35,bubble_zerobased:!1},ci={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},li={line_connectNull:!1,line_step_type:"step",line_zerobased:!1,line_classes:void 0,line_point:!0},ui={scatter_zerobased:!1},di={spline_interpolation_type:"cardinal"},hi={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},gi={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_format:void 0,gauge_label_extents:void 0,gauge_label_threshold:0,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},fi={pie_label_show:!0,pie_label_format:void 0,pie_label_threshold:.05,pie_label_ratio:void 0,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},pi={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:function(t){return t%1==0?t:t.toFixed(2)},radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1};function xi(t,e){Z(ee.prototype,Ge.concat(t)),Z(ce.prototype,Ye),dt.setOptions(je.concat(e||[]))}function vi(t,e){xi([ei,Qe].concat(t||[])),dt.setOptions([ai,li].concat(e||[]))}function _i(t,e){Z(ee.prototype,[He].concat(t||[])),dt.setOptions(e)}var mi=function(){return vi(We,[ri]),(mi=function(){return Xt.AREA})()},yi=function(){return vi(We,[ri]),(yi=function(){return Xt.AREA_LINE_RANGE})()},bi=function(){return vi(We,[ri,di]),(bi=function(){return Xt.AREA_SPLINE})()},Ti=function(){return vi(We,[ri,di]),(Ti=function(){return Xt.AREA_SPLINE_RANGE})()},wi=function(){return vi(We,[ri]),(wi=function(){return Xt.AREA_STEP})()},Ai=function(){return vi(),(Ai=function(){return Xt.LINE})()},ki=function(){return vi(void 0,[di]),(ki=function(){return Xt.SPLINE})()},Si=function(){return vi(),(Si=function(){return Xt.STEP})()},Ci=function(){return _i(void 0,[hi]),(Ci=function(){return Xt.DONUT})()},Li=function(){return _i([Ke],[gi]),(Li=function(){return Xt.GAUGE})()},Ei=function(){return _i(void 0,[fi]),(Ei=function(){return Xt.PIE})()},Oi=function(){return _i([ei,ni],[ai,pi]),(Oi=function(){return Xt.RADAR})()},Ri=function(){return xi([Ue],si),(Ri=function(){return Xt.BAR})()},Di=function(){return xi([ei,Je],[oi,ai]),(Di=function(){return Xt.BUBBLE})()},Ii=function(){return xi([qe],[ci]),(Ii=function(){return Xt.CANDLESTICK})()},Pi=function(){return xi([ei],[ai,ui]),(Pi=function(){return Xt.SCATTER})()},zi={selected:function(t){var e=this.internal,i=[];return e.$el.main.selectAll("."+(a.shapes+e.getTargetSelectorSuffix(t))).selectAll("."+a.shape).filter((function(){return(0,n.select)(this).classed(a.SELECTED)})).each((function(t){return i.push(t)})),i},select:function(t,e,i){var r=this.internal,s=r.config,o=r.$el;s.data_selection_enabled&&o.main.selectAll("."+a.shapes).selectAll("."+a.shape).each((function(o,c){var l=(0,n.select)(this),u=o.data?o.data.id:o.id,d=r.getToggle(this,o).bind(r),h=s.data_selection_grouped||!t||t.indexOf(u)>=0,g=!e||e.indexOf(c)>=0,f=l.classed(a.SELECTED);l.classed(a.line)||l.classed(a.area)||(h&&g?s.data_selection_isselectable.bind(r.api)(o)&&!f&&d(!0,l.classed(a.SELECTED,!0),o,c):C(i)&&i&&f&&d(!1,l.classed(a.SELECTED,!1),o,c))}))},unselect:function(t,e){var i=this.internal,r=i.config,s=i.$el;r.data_selection_enabled&&s.main.selectAll("."+a.shapes).selectAll("."+a.shape).each((function(s,o){var c=(0,n.select)(this),l=s.data?s.data.id:s.id,u=i.getToggle(this,s).bind(i),d=r.data_selection_grouped||!t||t.indexOf(l)>=0,h=!e||e.indexOf(o)>=0,g=c.classed(a.SELECTED);c.classed(a.line)||c.classed(a.area)||d&&h&&r.data_selection_isselectable.bind(i.api)(s)&&g&&u(!1,c.classed(a.SELECTED,!1),s,o)}))}},Xi={subchart:{show:function(){var t=this.internal,e=t.$el.subchart,i=t.config,n=i.subchart_show;if(!n){i.subchart_show=!n,e.main||t.initSubchart();var r=e.main.selectAll("."+a.target);t.data.targets.length!==r.size()&&(t.updateSizes(),t.updateTargetsForSubchart(t.data.targets),r=e.main.selectAll("."+a.target)),r.style("opacity","1"),e.main.style("display",null),this.flush()}},hide:function(){var t=this.internal,e=t.$el.subchart,i=t.config;i.subchart_show&&"none"!==e.main.style("display")&&(i.subchart_show=!1,e.main.style("display","none"),this.flush())},toggle:function(){var t=this.internal.config;this.subchart[t.subchart_show?"hide":"show"]()}}},Mi=p(14);var Fi=function(t){var e,i=this.internal,n=i.config,a=i.scale,r=t;if(n.zoom_enabled&&r){if(i.axis.isTimeSeries()&&(r=r.map((function(t){return ot.bind(i)(t)}))),function(t,e){var i=e[0],n=e[1];return t.every((function(t,e){return 0===e?t>=i:t<=n}))}(r,i.getZoomDomain())){if(i.api.tooltip.hide(),n.subchart_show){var s=a.zoom||a.x;i.brush.getSelection().call(i.brush.move,[s(r[0]),s(r[1])]),e=r}else a.x.domain(r),a.zoom=a.x,i.axis.x.scale(a.zoom),e=a.zoom.orgDomain();i.redraw({withTransition:!0,withY:n.zoom_rescale,withDimension:!1}),i.setZoomResetButton(),F(n.zoom_onzoom,i.api,e)}}else e=a.zoom?a.zoom.domain():a.x.orgDomain();return e};Z(Fi,{enable:function(t){var e=this.internal,i=e.config;/^(drag|wheel)$/.test(t)&&(i.zoom_type=t),i.zoom_enabled=!!t,e.zoom?!1===t&&e.bindZoomEvent(!1):(e.initZoom(),e.bindZoomEvent()),e.updateAndRedraw()},max:function(t){var e=this.internal,i=e.config,n=e.org.xDomain;return(0===t||t)&&(i.zoom_x_max=nt("max",[n[1],t])),i.zoom_x_max},min:function(t){var e=this.internal,i=e.config,n=e.org.xDomain;return(0===t||t)&&(i.zoom_x_min=nt("min",[n[0],t])),i.zoom_x_min},range:function(t){var e=this.zoom;if(X(t)){var i=t.min,n=t.max;C(i)&&e.min(i),C(n)&&e.max(n)}return{min:e.min(),max:e.max()}}});var Bi={zoom:Fi,unzoom:function(){var t=this.internal,e=t.config;if(t.scale.zoom){e.subchart_show?t.brush.getSelection().call(t.brush.move,null):t.zoom.updateTransformScale(Mi.zoomIdentity),t.updateZoom(!0),t.zoom.resetBtn&&t.zoom.resetBtn.style("display","none");var i=t.$el.main.select("."+a.eventRects);(0,Mi.zoomTransform)(i.node())!==Mi.zoomIdentity&&t.zoom.transform(i,Mi.zoomIdentity),t.redraw({withTransition:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withY:e.zoom_rescale})}}},$i=p(13);function Ni(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function Yi(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?Ni(Object(e),!0).forEach((function(i){o(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Ni(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var Gi=Yi(Yi({},{drag:function(t){var e=this,i=e.config,r=e.state,s=e.$el.main,o=i.data_selection_grouped,c=i.interaction_enabled&&i.data_selection_isselectable;if(!e.hasArcType()&&i.data_selection_enabled&&(!i.zoom_enabled||e.zoom.altDomain)&&i.data_selection_multiple){var l=r.dragStart||[0,0],u=l[0],d=l[1],h=t[0],g=t[1],f=Math.min(u,h),p=Math.max(u,h),x=o?r.margin.top:Math.min(d,g),v=o?r.height:Math.max(d,g);s.select("."+a.dragarea).attr("x",f).attr("y",x).attr("width",p-f).attr("height",v-x),s.selectAll("."+a.shapes).selectAll("."+a.shape).filter((function(t){return c&&c.bind(e.api)(t)})).each((function(t,i){var r,s=(0,n.select)(this),o=s.classed(a.SELECTED),c=s.classed(a.INCLUDED),l=!1;if(s.classed(a.circle)){var u=1*+s.attr("cx"),d=1*+s.attr("cy");r=e.togglePoint,l=f<u&&u<p&&x<d&&d<v}else{if(!s.classed(a.bar))return;var h=function(t){var e=t.getBoundingClientRect(),i=e.width,n=e.height,a=Y(t);return{x:a[0].x,y:Math.min(a[0].y,a[1].y),width:i,height:n}}(this),g=h.x,_=(d=h.y,h.width),m=h.height;r=e.togglePath,l=!(p<g||g+_<f||v<d||d+m<x)}l^c&&(s.classed(a.INCLUDED,!c),s.classed(a.SELECTED,!o),r.call(e,!o,s,t,i))}))}},dragstart:function(t){var e=this,i=e.config,n=e.state,r=e.$el.main;e.hasArcType()||!i.data_selection_enabled||(n.dragStart=t,r.select("."+a.chart).append("rect").attr("class",a.dragarea).style("opacity","0.1"),e.setDragStatus(!0))},dragend:function(){var t=this,e=t.config,i=t.$el.main;t.hasArcType()||!e.data_selection_enabled||(i.select("."+a.dragarea).transition().duration(100).style("opacity","0").remove(),i.selectAll("."+a.shape).classed(a.INCLUDED,!1),t.setDragStatus(!1))}}),{},{selectPoint:function(t,e,i){var n=this,r=n.config,s=n.$el.main,o=r.axis_rotated,c=(o?n.circleY:n.circleX).bind(n),l=(o?n.circleX:n.circleY).bind(n),u=n.pointSelectR.bind(n);F(r.data_onselected,n.api,e,t.node()),s.select("."+a.selectedCircles+n.getTargetSelectorSuffix(e.id)).selectAll("."+a.selectedCircle+"-"+i).data([e]).enter().append("circle").attr("class",(function(){return n.generateClass(a.selectedCircle,i)})).attr("cx",c).attr("cy",l).attr("stroke",n.color).attr("r",(function(t){return 1.4*n.pointSelectR(t)})).transition().duration(100).attr("r",u)},unselectPoint:function(t,e,i){var n=this,r=n.config,s=n.$el;F(r.data_onunselected,n.api,e,t.node()),s.main.select("."+a.selectedCircles+n.getTargetSelectorSuffix(e.id)).selectAll("."+a.selectedCircle+"-"+i).transition().duration(100).attr("r",0).remove()},togglePoint:function(t,e,i,n){this[(t?"":"un")+"selectPoint"](e,i,n)},selectPath:function(t,e){var i=this,n=i.config;F(n.data_onselected,i.api,e,t.node()),n.interaction_brighten&&t.transition().duration(100).style("fill",(function(){return(0,$i.rgb)(i.color(e)).brighter(.75)}))},unselectPath:function(t,e){var i=this,n=i.config;F(n.data_onunselected,i.api,e,t.node()),n.interaction_brighten&&t.transition().duration(100).style("fill",(function(){return i.color(e)}))},togglePath:function(t,e,i,n){this[(t?"":"un")+"selectPath"](e,i,n)},getToggle:function(t,e){var i=this;return"path"===t.nodeName?i.togglePath:i.isStepType(e)?function(){}:i.togglePoint},toggleShape:function(t,e,i){var r,s=this,o=s.config,c=s.$el.main,l=(0,n.select)(t),u=l.classed(a.SELECTED),d=s.getToggle(t,e).bind(s);if(o.data_selection_enabled&&o.data_selection_isselectable.bind(s.api)(e)){if(!o.data_selection_multiple){var h="."+a.shapes;o.data_selection_grouped&&(h+=s.getTargetSelectorSuffix(e.id)),c.selectAll(h).selectAll("."+a.shape).each((function(t,e){var i=(0,n.select)(this);i.classed(a.SELECTED)&&(r=i,d(!1,i.classed(a.SELECTED,!1),t,e))}))}r&&r.node()===l.node()||(l.classed(a.SELECTED,!u),d(!u,l,e,i))}}}),ji={initBrush:function(){var t=this,e=t.config,i=t.scale,r=t.$el.subchart,s=e.axis_rotated;t.brush=s?(0,v.brushY)():(0,v.brushX)();var o,c,l=function(){t.redrawForBrush()};t.brush.on("start",(function(){"touch"===t.state.inputType&&t.hideTooltip(),l()})).on("brush",l).on("end",(function(){o=i.x.orgDomain()})),t.brush.updateResize=function(){var t=this;c&&clearTimeout(c),c=setTimeout((function(){var e=t.getSelection();o&&(0,v.brushSelection)(e.node())&&t.move(e,o.map(i.subX.orgScale()))}),0)},t.brush.update=function(){return 0===this.extent()()[1].filter((function(t){return isNaN(t)})).length&&r.main&&r.main.select("."+a.brush).call(this),this},t.brush.scale=function(i){var n,r,o=e.subchart_size_height||(n=t.$el.svg.select("."+a.brush+" .overlay"),r={width:0,height:0},n.size()&&(r.width=+n.attr("width"),r.height=+n.attr("height")),r[s?"width":"height"]),c=t.getExtent();!c&&i.range?c=[[0,0],[i.range()[1],o]]:z(c)&&(c=c.map((function(t,e){return[t,e>0?o:e]}))),s&&c[1].reverse(),this.extent(c),this.update()},t.brush.getSelection=function(){return r.main?r.main.select("."+a.brush):(0,n.select)([])}},initSubchart:function(){var t=this,e=t.config,i=t.state,n=i.clip,r=i.hasAxis,s=t.$el,o=s.defs,c=s.svg,l=s.subchart,u=s.axis;if(r){var d=e.subchart_show?"visible":"hidden",h=n.id+"-subchart",g=t.getClipPath(h);n.idSubchart=h,t.appendClip(o,h),t.initBrush(),l.main=c.append("g").classed(a.subchart,!0).attr("transform",t.getTranslate("context"));var f=l.main;f.style("visibility",d),f.append("g").attr("clip-path",g).attr("class",a.chart),["bar","line","bubble","candlestick","scatter"].forEach((function(e){var i=q(/^(bubble|scatter)$/.test(e)?"circle":e);if(t.hasType(e)||t.hasTypeOf(i)){var n=f.select("."+a.chart),r=a["chart"+i+"s"];n.select("."+r).empty()&&n.append("g").attr("class",r)}})),f.append("g").attr("clip-path",g).attr("class",a.brush).call(t.brush),u.subX=f.append("g").attr("class",a.axisX).attr("transform",t.getTranslate("subX")).attr("clip-path",e.axis_rotated?"":n.pathXAxis).style("visibility",e.subchart_axis_x_show?d:"hidden")}},updateTargetsForSubchart:function(t){var e=this,i=e.config,n=e.state,r=e.$el.subchart.main;i.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter((function(t){return e.hasType(t)||e.hasTypeOf(q(t))})).forEach((function(i){var n=/^(bubble|scatter)$/.test(i),s=q(n?"circle":i),o=e.getChartClass(s,!0),c=e.getClass(n?"circles":i+"s",!0),l=r.select("."+a["chart"+s+"s"]);if(n){var u=l.selectAll("."+a.circles).data(t.filter(e["is"+q(i)+"Type"].bind(e))).attr("class",c);u.exit().remove(),u.enter().append("g").attr("class",c)}else{var d=l.selectAll("."+a["chart"+s]).attr("class",o).data(t.filter(e["is"+s+"Type"].bind(e))),h=d.enter().append("g").style("opacity","0").attr("class",o).append("g").attr("class",c);d.exit().remove(),"line"===i&&e.hasTypeOf("Area")&&h.append("g").attr("class",e.getClass("areas",!0))}})),r.selectAll("."+a.brush+" rect").attr(i.axis_rotated?"width":"height",i.axis_rotated?n.width2:n.height2))},redrawSubchart:function(t,e,i){var n=this,a=n.config,r=n.$el.subchart.main,s=n.state,o=!!e;if(r.style("visibility",a.subchart_show?"visible":"hidden"),a.subchart_show&&(s.event&&"zoom"===s.event.type&&n.brush.update(),t&&(U(n)||n.brush.update(),Object.keys(i.type).forEach((function(t){var a=q(t),r=n["generateDraw"+a](i.indices[t],!0);n["update"+a](e,!0),n["redraw"+a](r,o,!0)})),n.hasType("bubble")||n.hasType("scatter")))){var c=i.pos.cx,l=n.updateCircleY(!0);n.updateCircle(!0),n.redrawCircle(c,l,o,void 0,!0)}},redrawForBrush:function(){var t=this,e=t.config,i=e.subchart_onbrush,n=e.zoom_rescale,a=t.scale;t.redraw({withTransition:!1,withY:n,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),i.bind(t.api)(a.x.orgDomain())},transformContext:function(t,e){var i,n=this,r=n.$el.subchart.main;e&&e.axisSubX?i=e.axisSubX:(i=r.select("."+a.axisX),t&&(i=i.transition())),r.attr("transform",n.getTranslate("context")),i.attr("transform",n.getTranslate("subX"))},getExtent:function(){var t=this,e=t.config,i=t.scale,n=e.axis_x_extent;if(n)if(w(n))n=n.bind(t.api)(t.getXDomain(t.data.targets),i.subX);else if(t.axis.isTimeSeries()&&n.every(isNaN)){var a=ot.bind(t);n=n.map((function(t){return i.subX(a(t))}))}return n}},Vi={initZoom:function(){var t=this;t.scale.zoom=null,t.generateZoom(),t.initZoomBehaviour()},bindZoomEvent:function(t){void 0===t&&(t=!0);var e=this,i=e.config,n=e.$el.main,r=i.zoom_enabled,s=n.select("."+a.eventRects);r&&t?!i.subchart_show&&e.bindZoomOnEventRect(s,i.zoom_type):!1===t&&(e.api.unzoom(),s.on(".zoom",null).on(".drag",null))},generateZoom:function(){var t=this,e=t.config,i=t.org,n=t.scale,a=(0,Mi.zoom)().duration(0).on("start",t.onZoomStart.bind(t)).on("zoom",t.onZoom.bind(t)).on("end",t.onZoomEnd.bind(t));a.orgScaleExtent=function(){var i=e.zoom_extent||[1,10];return[i[0],Math.max(t.getMaxDataCount()/i[1],i[1])]},a.updateScaleExtent=function(){var e=R(t.scale.x.orgDomain())/R(t.getZoomDomain()),i=this.orgScaleExtent();return this.scaleExtent([i[0]*e,i[1]*e]),this},a.updateTransformScale=function(a){i.xScale&&i.xScale.range(n.x.range());var r=a[e.axis_rotated?"rescaleY":"rescaleX"](i.xScale||n.x),s=t.trimXDomain(r.domain()),o=e.zoom_rescale;r.domain(s,i.xDomain),n.zoom=t.getCustomizedScale(r),t.axis.x.scale(n.zoom),o&&(!i.xScale&&(i.xScale=n.x.copy()),n.x.domain(s))},t.zoom=a},onZoomStart:function(t){var e=this,i=t.sourceEvent;i&&(e.zoom.startEvent=i,e.state.zooming=!0,F(e.config.zoom_onzoomstart,e.api,t))},onZoom:function(t){var e=this,i=e.config,n=e.scale,a=e.org,r=t.sourceEvent;if(i.zoom_enabled&&t.sourceEvent&&0!==e.filterTargetsToShow(e.data.targets).length&&(n.zoom||!(r.type.indexOf("touch")>-1)||1!==r.touches.length)){var s="mousemove"===r.type,o=r.wheelDelta<0,c=t.transform;!s&&o&&n.x.domain().every((function(t,e){return t!==a.xDomain[e]}))&&n.x.domain(a.xDomain),e.zoom.updateTransformScale(c),e.axis.isCategorized()&&n.x.orgDomain()[0]===a.xDomain[0]&&n.x.domain([a.xDomain[0]-1e-10,n.x.orgDomain()[1]]),e.redraw({withTransition:!1,withY:i.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),e.state.cancelClick=s,F(i.zoom_onzoom,e.api,n.zoom.domain())}},onZoomEnd:function(t){var e=this,i=e.config,n=e.scale,a=e.zoom.startEvent,r=t&&t.sourceEvent;a&&a.type.indexOf("touch")>-1&&(a=a.changedTouches[0],r=r.changedTouches[0]),!a||r&&a.clientX===r.clientX&&a.clientY===r.clientY||(e.redrawEventRect(),e.updateZoom(),e.state.zooming=!1,F(i.zoom_onzoomend,e.api,n[n.zoom?"zoom":"subX"].domain()))},getZoomDomain:function(){var t=this.config,e=this.org.xDomain,i=e[0],n=e[1];return C(t.zoom_x_min)&&(i=nt("min",[i,t.zoom_x_min])),C(t.zoom_x_max)&&(n=nt("max",[n,t.zoom_x_max])),[i,n]},updateZoom:function(t){var e=this,i=e.scale,n=i.subX,a=i.x,r=i.zoom;if(r){var s=r.domain(),o=n.domain(),c=(s[0]<=o[0]||s[0]-.015<=o[0])&&(o[1]<=s[1]||o[1]<=s[1]-.015);(t||c)&&(e.axis.x.scale(n),a.domain(n.orgDomain()),e.scale.zoom=null)}},bindZoomOnEventRect:function(t,e){var i=this,n="drag"===e?i.zoomBehaviour:i.zoom;i.$el.svg.on("wheel",(function(){})),t.call(n).on("dblclick.zoom",null)},initZoomBehaviour:function(){var t,e=this,i=e.config,r=e.state,s=i.axis_rotated,o=0,c=0,l={axis:s?"y":"x",attr:s?"height":"width",index:s?1:0};e.zoomBehaviour=(0,Ot.drag)().clickDistance(4).on("start",(function(i){r.event=i,e.setDragStatus(!0),e.unselectRect(),t||(t=e.$el.main.append("rect").attr("clip-path",r.clip.path).attr("class",a.zoomBrush).attr("width",s?r.width:0).attr("height",s?0:r.height)),o=G(i,this)[l.index],c=o,t.attr(l.axis,o).attr(l.attr,0),e.onZoomStart(i)})).on("drag",(function(e){c=G(e,this)[l.index],t.attr(l.axis,Math.min(o,c)).attr(l.attr,Math.abs(c-o))})).on("end",(function(i){var a,s=e.scale.zoom||e.scale.x;if(r.event=i,e.setDragStatus(!1),t.attr(l.axis,0).attr(l.attr,0),o>c&&(o=(a=[c,o])[0],c=a[1]),o<0&&(c+=Math.abs(o),o=0),o!==c)e.api.zoom([o,c].map((function(t){return s.invert(t)}))),e.onZoomEnd(i);else if(e.isMultipleX())e.clickHandlerForMultipleXS.bind(this)(e);else{var u=G(i),d=u[0],h=u[1],g=m.elementFromPoint(d,h);e.clickHandlerForSingleX.bind(g)((0,n.select)(g).datum(),e)}}))},setZoomResetButton:function(){var t=this,e=t.config,i=e.zoom_resetButton;i&&"drag"===e.zoom_type&&(t.zoom.resetBtn?t.zoom.resetBtn.style("display",null):t.zoom.resetBtn=t.$el.chart.append("div").classed(a.button,!0).append("span").on("click",(function(){w(i.onclick)&&i.onclick.bind(t.api)(this),t.api.unzoom()})).classed(a.buttonZoomReset,!0).text(i.text||"Reset Zoom"))}},Hi={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:function(){return!0},data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:function(){},data_onunselected:function(){}},Wi={subchart_show:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_text_show:!0,subchart_onbrush:function(){}},Ui={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0},Zi=function(){return Z(ee.prototype,Gi),Z(ce.prototype,zi),dt.setOptions([Hi]),(Zi=function(){return!0})()},qi=function(){return Z(ee.prototype,ji),Z(ce.prototype,Xi),dt.setOptions([Wi]),(qi=function(){return!0})()},Ki=function(){return Z(ee.prototype,Vi),Z(ce.prototype,Bi),dt.setOptions([Ui]),(Ki=function(){return!0})()},Ji={},Qi={version:"3.0.1",generate:function(t){var e=et({},Ji,t),i=new ce(e);return i.internal.charts=this.instance,this.instance.push(i),i},defaults:function(t){return X(t)&&(Ji=t),Ji},instance:[],plugin:{}};Object.keys(t).forEach((function(e){return t[e]()})),Object.keys(e).forEach((function(t){return e[t]()}))}(),x}()}));
\No newline at end of file