@ -18,72 +18,73 @@ b=b.map(function(b){var c=Xd(b);return{id:c,id_org:b,values:a.map(function(a,e){
Bc ( a ) } ) ; return b } function Bc ( a ) { return { id : a . id , id _org : a . id _org , values : a . values . map ( function ( a ) { return { x : a . x , value : a . value , id : a . id } } ) } } function Hc ( a ) { return 0 < a && k . data . targets [ 0 ] . values [ a - 1 ] ? k . data . targets [ 0 ] . values [ a - 1 ] . x : void 0 } function gb ( ) { return e . max ( k . data . targets , function ( a ) { return a . values . length } ) } function Yd ( ) { var a = k . data . targets . length , b = 0 , c ; 1 < a ? k . data . targets . forEach ( function ( a ) { a . values . length > b && ( c = a , b = a . values . length ) } ) : c = a ? k . data . targets [ 0 ] : null ; return c } function Ra ( a ) { a = y ( a ) ? k . data . targets :
a ; return a . map ( function ( a ) { return a . id } ) } function Ic ( a ) { var b = Ra ( ) , c ; for ( c = 0 ; c < b . length ; c ++ ) if ( b [ c ] === a ) return ! 0 ; return ! 1 } function ob ( a ) { return v ( a ) ? k . data . targets . filter ( a ) : k . data . targets } function zc ( a ) { var b = { } ; a . forEach ( function ( a ) { b [ a . id ] = [ ] ; a . values . forEach ( function ( d ) { b [ a . id ] . push ( d . value ) } ) } ) ; return b } function Jc ( a , b ) { var c = Object . keys ( a ) , d , f , e ; for ( d = 0 ; d < c . length ; d ++ ) for ( e = a [ c [ d ] ] . values , f = 0 ; f < e . length ; f ++ ) if ( b ( e [ f ] . value ) ) return ! 0 ; return ! 1 } function Ac ( a ) { return Jc ( a , function ( a ) { return 0 > a } ) }
function Jd ( a ) { return Jc ( a , function ( a ) { return 0 < a } ) } function Fd ( a ) { return a < Ma . length ? Ma [ a ] : a } function Sa ( a ) { return "-shapes -shapes-" + a . id } function Kc ( a ) { return Sa ( a ) + " -line -line-" + a . id } function Zd ( a ) { return Sa ( a ) + " -circles -circles-" + a . id } function Lc ( a ) { return Sa ( a ) + " -bars -bars-" + a . id } function $d ( a ) { return Sa ( a . data ) + " -arc -arc-" + a . data . id } function ae ( a ) { return Sa ( a ) + " -area -area-" + a . id } function be ( a , b ) { return "-shape -shape-" + b + " -circle -circle-" + b } function Mc ( a , b ) { return "-shape -shape-" +
b + " -bar -bar-" + b } function ce ( a , b ) { return "region region-" + b + " " + ( "classes" in a ? [ ] . concat ( a . classes ) . join ( " " ) : "" ) } function Nc ( a , b ) { return "event-rect event-rect-" + b } function de ( a ) { return a . value || 0 === a . value ? Oc ( a ) ? 0.5 : 1 : 0 } function Aa ( a ) { return m ( a . x ) } function Ta ( a ) { return m ( D ? qa ( a . value ) : a . value ) } function Ua ( a ) { return z ( a . value ) } function Pc ( a ) { return U ( a . x ) } function Qc ( a , b ) { var c , d = a [ b ] . x , f = [ ] ; for ( c = b - 1 ; 0 <= c && d === a [ c ] . x ; c -- ) f . push ( a [ c ] ) ; for ( c = b ; c < a . length && d === a [ c ] . x ; c ++ ) f . push ( a [ c ] ) ; return f } function Rc ( a ,
b , c , d ) { c = c ? c : 0 ; d = d ? d : a . length - 1 ; var f = Math . floor ( ( d - c ) / 2 ) + c ; 0 < m ( a [ f ] . x ) - b [ 0 ] ? d = f : c = f ; return 1 === d - c ? ( f = [ ] , a [ c ] . x && ( f = f . concat ( Qc ( a , c ) ) ) , a [ d ] . x && ( f = f . concat ( Qc ( a , d ) ) ) , Sc ( f , b ) ) : Rc ( a , b , c , d ) } function Tc ( a , b ) { var c ; c = a . map ( function ( a ) { return Rc ( a . values , b ) } ) ; return Sc ( c , b ) } function Sc ( a , b ) { var c , d ; a . forEach ( function ( a ) { var e = Tb ( a , b ) ; if ( e < c || ! c ) c = e , d = a } ) ; return d } function Uc ( a , b ) { var c , d , f , e , g ; Vc && 0 !== a . filter ( function ( a ) { return a && ( a . value || 0 === a . value ) } ) . length && ( V . html ( Wc ( a ) ) . style ( "visibility" , "hidden" ) . style ( "display" ,
"block" ) , c = V . property ( "offsetWidth" ) , d = V . property ( "offsetHeight" ) , h ? e = b [ 0 ] : ( f = n . property ( "offsetLeft" ) , e = f + ( bb ? bb : cb ? 1 : 40 ) + m ( a [ 0 ] . x ) + 20 , g = e + c , f = f + ( Ka ? Ka : Q ( ) ) - ( db ? db : Db ? eb || h ? 1 : 40 : 1 ) , g > f && ( e -= c + 30 ) ) , c = b [ 1 ] + 15 + d < fa ( ) ? b [ 1 ] + 15 : b [ 1 ] - d , V . style ( "top" , c + "px" ) . style ( "left" , e + "px" ) . style ( "visibility" , "visible" ) ) } function Xc ( a ) { Vc && ( ia ( k . data . targets , "scatter" ) || E ( k . data . targets ) || l . selectAll ( "line.xgrid-focus" ) . style ( "visibility" , "visible" ) . data ( [ a ] ) . attr ( h ? "y1" : "x1" , Aa ) . attr ( h ? "y2" : "x2" , Aa ) ) } function Yc ( ) { l . select ( "line.xgrid-focus" ) . style ( "visibility" ,
"hidden" ) } function Ba ( a ) { return a . x || 0 === a . x ? m ( a . x ) : null } function Ca ( a ) { return u ( a . id ) ( a . value ) } function ee ( ) { var a = { } , b = 0 , c , d ; ob ( sb ) . forEach ( function ( f ) { for ( c = 0 ; c < w . length ; c ++ ) if ( ! ( 0 > w [ c ] . indexOf ( f . id ) ) ) for ( d = 0 ; d < w [ c ] . length ; d ++ ) if ( w [ c ] [ d ] in a ) { a [ f . id ] = a [ w [ c ] [ d ] ] ; break } y ( a [ f . id ] ) && ( a [ f . id ] = b ++ ) } ) ; a . _ _max _ _ = b - 1 ; return a } function fe ( a , b , c , d ) { var f = d ? U : m ; return b ? function ( d ) { var e = d . id in c ? c [ d . id ] : 0 ; return d . x || 0 === d . x ? f ( d . x ) - a * ( b / 2 - e ) : 0 } : function ( ) { return 0 } } function ge ( a ) { return function ( b ) { return ( a ?
B ( b . id ) : u ( b . id ) ) ( b . value ) } } function he ( a , b ) { var c = Object . keys ( a ) ; return function ( d , f ) { var e = b ? B ( d . id ) : u ( d . id ) , g = e ( 0 ) , h = g ; ob ( sb ) . forEach ( function ( b ) { b . id !== d . id && a [ b . id ] === a [ d . id ] && c . indexOf ( b . id ) < c . indexOf ( d . id ) && 0 < b . values [ f ] . value * d . value && ( h += e ( b . values [ f ] . value ) - g ) } ) ; return h } } function ca ( a , b ) { var c = y ( a ) ? Ra ( ) : a ; "string" === typeof c && ( c = [ c ] ) ; for ( var d = 0 ; d < c . length ; d ++ ) Ub [ c [ d ] ] = b === A [ c [ d ] ] , A [ c [ d ] ] = b } function ia ( a , b ) { var c = ! 1 ; a . forEach ( function ( a ) { A [ a . id ] === b && ( c = ! 0 ) ; a . id in A || "line" !== b || ( c = ! 0 ) } ) ;
return c } function Va ( a ) { return Ub [ a . id ] ? 1 : 0 } function E ( a ) { return ia ( a , "pie" ) || ia ( a , "donut" ) } function Vb ( a ) { a = "string" === typeof a ? a : a . id ; return ! ( a in A ) || "line" === A [ a ] || "spline" === A [ a ] || "area" === A [ a ] || "area-spline" === A [ a ] } function Zc ( a ) { a = "string" === typeof a ? a : a . id ; return "spline" === A [ a ] || "area-spline" === A [ a ] } function sb ( a ) { return "bar" === A [ "string" === typeof a ? a : a . id ] } function Oc ( a ) { return "scatter" === A [ "string" === typeof a ? a : a . id ] } function $c ( a ) { return "pie" === A [ "string" === typeof a ? a : a . id ] } function Pb ( a ) { return "donut" ===
A [ "string" === typeof a ? a : a . id ] } function ad ( a ) { return sb ( a ) ? a . values : [ ] } function ie ( a ) { return Vb ( a ) || Oc ( a ) ? a . values : [ ] } function qa ( a ) { var b ; if ( ! a ) throw Error ( a + " can not be parsed as d3.time with format " + Wb + ". Maybe 'x' of this data is not defined. See data.x or data.xs option." ) ; b = e . time . format ( Wb ) . parse ( a ) ; if ( ! b ) throw Error ( "Failed to parse '" + a + "' with format " + Wb ) ; return b } function bd ( a , b ) { var c = e . mouse ( a ) , d = e . select ( a ) , f = 1 * d . attr ( "cx" ) , d = 1 * d . attr ( "cy" ) ; return Math . sqrt ( Math . pow ( f - c [ 0 ] , 2 ) + Math . pow ( d -
c [ 1 ] , 2 ) ) < b } function cd ( a ) { var b = e . mouse ( a ) , c = e . select ( a ) ; a = 1 * c . attr ( "x" ) ; var d = 1 * c . attr ( "y" ) , c = 1 * c . attr ( "width" ) ; return a - 10 < b [ 0 ] && b [ 0 ] < a + c + 10 && d - 10 < b [ 1 ] } function je ( a , b ) { var c ; for ( c = 0 ; c < b . length ; c ++ ) if ( b [ c ] . start < a && a <= b [ c ] . end ) return ! 0 ; return ! 1 } function Ud ( a , b ) { var c = ! 1 ; Object . keys ( a ) . forEach ( function ( d ) { a [ d ] === b && ( c = ! 0 ) } ) ; return c } function Tb ( a , b ) { return Math . pow ( m ( a . x ) - b [ 0 ] , 2 ) + Math . pow ( z ( a . value ) - b [ 1 ] , 2 ) } function dd ( a , b , c ) { ke ( a , b ) ; l . select ( ".selected-circles-" + b . id ) . selectAll ( ".selected-circle-" +
c ) . data ( [ b ] ) . enter ( ) . append ( "circle" ) . attr ( "class" , function ( ) { return "selected-circle selected-circle-" + c } ) . attr ( "cx" , h ? Ca : Ba ) . attr ( "cy" , h ? Ba : Ca ) . attr ( "stroke" , function ( ) { return N ( b . id ) } ) . attr ( "r" , 1.4 * Wa ) . transition ( ) . duration ( 100 ) . attr ( "r" , Wa ) } function Xb ( a , b , c ) { le ( a , b ) ; l . select ( ".selected-circles-" + b . id ) . selectAll ( ".selected-circle-" + c ) . transition ( ) . duration ( 100 ) . attr ( "r" , 0 ) . remove ( ) } function ed ( a , b , c , d ) { a ? dd ( b , c , d ) : Xb ( b , c , d ) } function me ( ) { } function fd ( ) { } function gd ( a , b , c , d ) { } function Yb ( a ) { return a . filter ( function ( a ) { return a . value ||
0 === a . value } ) } function Zb ( a , b ) { return ( b ? l . selectAll ( ".-circles-" + b ) : l ) . selectAll ( ".-circle" + ( a || 0 === a ? "-" + a : "" ) ) } function $b ( a ) { Zb ( a ) . filter ( function ( ) { return e . select ( this ) . classed ( da ) } ) . classed ( da , ! 1 ) . attr ( "r" , ac ) } function hd ( a ) { return l . selectAll ( ".-bar" + ( a || 0 === a ? "-" + a : "" ) ) } function ne ( a , b , c , d ) { var f , e , g = "M" , k , l , m , id , n , sa = [ ] ; if ( v ( d ) ) for ( f = 0 ; f < d . length ; f ++ ) sa [ f ] = { } , y ( d [ f ] . start ) ? sa [ f ] . start = a [ 0 ] . x : sa [ f ] . start = D ? qa ( d [ f ] . start ) : d [ f ] . start , y ( d [ f ] . end ) ? sa [ f ] . end = a [ a . length - 1 ] . x : sa [ f ] . end = D ? qa ( d [ f ] . end ) :
d [ f ] . end ; id = h ? function ( a ) { return c ( a . value ) } : function ( a ) { return b ( a . x ) } ; n = h ? function ( a ) { return b ( a . x ) } : function ( a ) { return c ( a . value ) } ; d = D ? function ( a , d , f , e ) { var g = a . x . getTime ( ) ; a = d . x - a . x ; d = new Date ( g + a * ( f + e ) ) ; return "M" + b ( new Date ( g + a * f ) ) + " " + c ( l ( f ) ) + " " + b ( d ) + " " + c ( l ( f + e ) ) } : function ( a , d , f , e ) { return "M" + b ( k ( f ) ) + " " + c ( l ( f ) ) + " " + b ( k ( f + e ) ) + " " + c ( l ( f + e ) ) } ; for ( f = 0 ; f < a . length ; f ++ ) if ( y ( sa ) || ! je ( a [ f ] . x , sa ) ) g += " " + id ( a [ f ] ) + " " + n ( a [ f ] ) ; else { k = ha ( a [ f - 1 ] . x , a [ f ] . x ) ; l = I ( a [ f - 1 ] . value , a [ f ] . value ) ; e = b ( a [ f ] . x ) - b ( a [ f - 1 ] . x ) ;
m = c ( a [ f ] . value ) - c ( a [ f - 1 ] . value ) ; e = Math . sqrt ( Math . pow ( e , 2 ) + Math . pow ( m , 2 ) ) ; m = 2 / e ; var p = 2 * m ; for ( e = m ; 1 >= e ; e += p ) g += d ( a [ f - 1 ] , a [ f ] , e , m ) } return g } function bc ( a ) { var b ; tb = e . select ( xa ) ; if ( tb . empty ( ) ) O . alert ( 'No bind element found. Check the selector specified by "bindto" and existance of that element. Default "bindto" is "#chart".' ) ; else { tb . html ( "" ) ; k . data . x = { } ; k . data . targets = Qa ( a ) ; va ( ) ; Y ( ) ; m . domain ( e . extent ( pb ( k . data . targets ) ) ) ; z . domain ( nb ( "y" ) ) ; aa . domain ( nb ( "y2" ) ) ; U . domain ( m . domain ( ) ) ; ib . domain ( z . domain ( ) ) ;
jb . domain ( aa . domain ( ) ) ; J . ticks ( 10 > a . length ? a . length : 10 ) ; za . ticks ( oe ) . outerTickSize ( 0 ) . tickFormat ( cc ) ; kb . ticks ( pe ) . outerTickSize ( 0 ) . tickFormat ( qe ) ; T = m . domain ( ) ; K . scale ( U ) ; ta && F . scale ( m ) ; n = e . select ( xa ) . append ( "svg" ) . attr ( "width" , r + C + $ ) . attr ( "height" , s + q + M ) . on ( "mouseenter" , re ) . on ( "mouseleave" , se ) ; ub = n . append ( "defs" ) ; ub . append ( "clipPath" ) . attr ( "id" , dc ) . append ( "rect" ) . attr ( "y" , q ) . attr ( "width" , r ) . attr ( "height" , s - q ) ; ub . append ( "clipPath" ) . attr ( "id" , "xaxis-clip" ) . append ( "rect" ) . attr ( "x" , - 1 - C ) . attr ( "y" , - 20 ) . attr ( "width" ,
W ) . attr ( "height" , oa ) ; ub . append ( "clipPath" ) . attr ( "id" , "yaxis-clip" ) . append ( "rect" ) . attr ( "x" , - C + 1 ) . attr ( "y" , q - 1 ) . attr ( "width" , Ab ) . attr ( "height" , xd ) ; l = n . append ( "g" ) . attr ( "transform" , L . main ) ; G = Da ? n . append ( "g" ) . attr ( "transform" , L . context ) : null ; Ea = Fa ? n . append ( "g" ) . attr ( "transform" , L . legend ) : null ; V = e . select ( xa ) . style ( "position" , "relative" ) . append ( "div" ) . style ( "position" , "absolute" ) . style ( "z-index" , "10" ) . style ( "display" , "none" ) ; l . append ( "g" ) . attr ( "class" , "x axis" ) . attr ( "clip-path" , h ? "" : "url(" + document . URL +
"#xaxis-clip)" ) . attr ( "transform" , L . x ) . call ( h ? za : J ) . append ( "text" ) . attr ( "class" , "-axis-x-label" ) . attr ( "x" , r ) . attr ( "dy" , "-.5em" ) . style ( "text-anchor" , "end" ) . text ( te ) ; l . append ( "g" ) . attr ( "class" , "y axis" ) . attr ( "clip-path" , h ? "url(" + document . URL + "#yaxis-clip)" : "" ) . call ( h ? J : za ) . append ( "text" ) . attr ( "transform" , "rotate(-90)" ) . attr ( "dy" , "1.2em" ) . attr ( "dx" , "-.5em" ) . style ( "text-anchor" , "end" ) . text ( ue ) ; Db && l . append ( "g" ) . attr ( "class" , "y2 axis" ) . attr ( "transform" , L . y2 ) . call ( kb ) ; a = l . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" ,
"grid" ) ; jd && a . append ( "g" ) . attr ( "class" , "xgrids" ) ; ec && ( b = a . append ( "g" ) . attr ( "class" , "xgrid-lines" ) . selectAll ( ".xgrid-line" ) . data ( ec ) . enter ( ) . append ( "g" ) . attr ( "class" , "xgrid-line" ) , b . append ( "line" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) , b . append ( "text" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) . attr ( "text-anchor" , "end" ) . attr ( "transform" , h ? "" : "rotate(-90)" ) . attr ( "dx" , h ? 0 : - q ) . attr ( "dy" , - 5 ) . text ( function ( a ) { return a . text } ) ) ; ve && a . append ( "g" ) . attr ( "class" , "xgrid-focus" ) . append ( "line" ) . attr ( "class" ,
"xgrid-focus" ) . attr ( "x1" , h ? 0 : - 10 ) . attr ( "x2" , h ? r : - 10 ) . attr ( "y1" , h ? - 10 : q ) . attr ( "y2" , h ? - 10 : s ) ; kd && a . append ( "g" ) . attr ( "class" , "ygrids" ) ; fc && ( a = a . append ( "g" ) . attr ( "class" , "ygrid-lines" ) . selectAll ( "ygrid-line" ) . data ( fc ) . enter ( ) . append ( "g" ) . attr ( "class" , "ygrid-line" ) , a . append ( "line" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) , a . append ( "text" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) . attr ( "text-anchor" , "end" ) . attr ( "transform" , h ? "rotate(-90)" : "" ) . attr ( "dx" , h ? 0 : - q ) . attr ( "dy" , - 5 ) . text ( function ( a ) { return a . text } ) ) ;
l . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "regions" ) ; l . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "chart" ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "event-rects" ) . style ( "fill-opacity" , 0 ) . style ( "cursor" , ta ? h ? "ns-resize" : "ew-resize" : null ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-arcs" ) . attr ( "transform" , L . arc ) . append ( "text" ) . attr ( "class" , "chart-arcs-title" ) . style ( "text-anchor" ,
"middle" ) . text ( we ) ; if ( ta ) l . insert ( "rect" , xe ? null : "g.grid" ) . attr ( "class" , "zoom-rect" ) . attr ( "width" , r ) . attr ( "height" , s ) . style ( "opacity" , 0 ) . style ( "cursor" , h ? "ns-resize" : "ew-resize" ) . call ( F ) . on ( "dblclick.zoom" , null ) ; null !== vb && K . extent ( "function" !== typeof vb ? vb : vb ( pb ( ) ) ) ; Da && ( G . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "chart" ) , G . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) , G . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) , G . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "x brush" ) . call ( K ) . selectAll ( "rect" ) . attr ( h ?
"width" : "height" , h ? Eb : fb ) , G . append ( "g" ) . attr ( "class" , "x axis" ) . attr ( "transform" , L . subx ) . attr ( "clip-path" , h ? "url(" + document . URL + "#yaxis-clip)" : "" ) . call ( hb ) ) ; Fa && wb ( k . data . targets ) ; ld ( k . data . targets ) ; x ( { withTransform : ! 0 , withUpdateXDomain : ! 0 } ) ; if ( ye ) { if ( D && "string" === typeof Ga ) { Ga = qa ( Ga ) ; for ( a = 0 ; a < k . data . targets [ 0 ] . values . length && 0 !== k . data . targets [ 0 ] . values [ a ] . x - Ga ; a ++ ) ; Ga = a } V . html ( Wc ( k . data . targets . map ( function ( a ) { return rb ( a . values [ Ga ] ) } ) ) ) ; V . style ( "top" , md . top ) . style ( "left" , md . left ) . style ( "display" ,
"block" ) } null == O . onresize && ( O . onresize = ze ( ) ) ; O . onresize . add && O . onresize . add ( nd ) } } function Ae ( a ) { a . append ( "rect" ) . attr ( "class" , Nc ) . style ( "cursor" , la && ua ? "pointer" : null ) . on ( "mouseover" , function ( a , c ) { if ( ! Ya && ! E ( k . data . targets ) ) { var d = k . data . targets . map ( function ( a ) { return rb ( a . values [ c ] ) } ) , f , e ; if ( 0 < Object . keys ( Pa ) . length ) { e = [ ] ; for ( var g in Pa ) for ( f = 0 ; f < d . length ; f ++ ) if ( d [ f ] . id === g ) { e . push ( d [ f ] ) ; d . shift ( f ) ; break } d = e . concat ( d ) } gc && Zb ( c , void 0 ) . classed ( da , ! 0 ) . attr ( "r" , hc ) ; hd ( c ) . classed ( da , ! 1 ) ; Xc ( d [ 0 ] ) } } ) . on ( "mouseout" ,
function ( a , c ) { E ( k . data . targets ) || ( Yc ( ) , V . style ( "display" , "none" ) , $b ( c ) , hd ( void 0 ) . classed ( da , ! 1 ) ) } ) . on ( "mousemove" , function ( a , c ) { var d ; Ya || E ( k . data . targets ) || ( d = k . data . targets . map ( function ( a ) { return rb ( a . values [ c ] ) } ) , Uc ( d , e . mouse ( this ) ) , la && ( ua || l . selectAll ( ".-shape-" + c ) . filter ( function ( a ) { return ma ( a ) } ) . each ( function ( ) { var a = e . select ( this ) . classed ( da , ! 0 ) ; "circle" === this . nodeName && a . attr ( "r" , hc ) ; n . select ( ".event-rect-" + c ) . style ( "cursor" , null ) } ) . filter ( function ( ) { var a = e . select ( this ) ; if ( "circle" ===
this . nodeName ) return bd ( this , Wa ) ; if ( "rect" === this . nodeName ) return cd ( this , a . attr ( "x" ) , a . attr ( "y" ) ) } ) . each ( function ( ) { var a = e . select ( this ) ; a . classed ( da ) || ( a . classed ( da , ! 0 ) , "circle" === this . nodeName && a . attr ( "r" , Wa ) ) ; n . select ( ".event-rect-" + c ) . style ( "cursor" , "pointer" ) } ) ) ) } ) . on ( "click" , function ( a , c ) { E ( k . data . targets ) || ( ic ? ic = ! 1 : l . selectAll ( ".-shape-" + c ) . each ( function ( a ) { od ( this , a , c ) } ) ) } ) . call ( e . behavior . drag ( ) . origin ( Object ) . on ( "drag" , function ( ) { pd ( e . mouse ( this ) ) } ) . on ( "dragstart" , function ( ) { qd ( e . mouse ( this ) ) } ) . on ( "dragend" ,
function ( ) { rd ( ) } ) ) . call ( F ) . on ( "dblclick.zoom" , null ) } function Be ( a ) { a . append ( "rect" ) . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "width" , r ) . attr ( "height" , s ) . attr ( "class" , "event-rect" ) . on ( "mouseout" , function ( ) { E ( k . data . targets ) || ( Yc ( ) , V . style ( "display" , "none" ) , $b ( ) ) } ) . on ( "mousemove" , function ( ) { var a , c , d ; Ya || E ( k . data . targets ) || ( a = e . mouse ( this ) , c = Tc ( k . data . targets , a ) , d = [ rb ( c ) ] , Uc ( d , a ) , gc && ( $b ( ) , Zb ( c . index , c . id ) . classed ( da , ! 0 ) . attr ( "r" , hc ) ) , Xc ( d [ 0 ] ) , 100 > Tb ( c , a ) ? n . select ( ".event-rect" ) . style ( "cursor" , "pointer" ) : n . select ( ".event-rect" ) . style ( "cursor" ,
null ) ) } ) . on ( "click" , function ( ) { var a , c ; E ( k . data . targets ) || ( a = e . mouse ( this ) , c = Tc ( k . data . targets , a ) , 100 > Tb ( c , a ) && l . select ( ".-circles-" + c . id ) . select ( ".-circle-" + c . index ) . each ( function ( ) { od ( this , c , c . index ) } ) ) } ) . call ( e . behavior . drag ( ) . origin ( Object ) . on ( "drag" , function ( ) { pd ( e . mouse ( this ) ) } ) . on ( "dragstart" , function ( ) { qd ( e . mouse ( this ) ) } ) . on ( "dragend" , function ( ) { rd ( ) } ) ) . call ( F ) . on ( "dblclick.zoom" , null ) } function od ( a , b , c ) { var d = e . select ( a ) , f = d . classed ( na ) , g = ! 1 , h ; "circle" === a . nodeName ? ( g = bd ( a , 1.5 * Wa ) , h = ed ) :
"rect" === a . nodeName && ( g = cd ( a ) , h = gd ) ; if ( ua || g ) la && ma ( b ) && ( d . classed ( na , ! f ) , h ( ! f , d , b , c ) ) , Ce ( b , d ) } function pd ( a ) { var b , c , d , f , g , h , m ; E ( k . data . targets ) || ! la || ta && ! F . altDomain || ( b = jc [ 0 ] , c = jc [ 1 ] , d = a [ 0 ] , a = a [ 1 ] , f = Math . min ( b , d ) , g = Math . max ( b , d ) , h = ua ? q : Math . min ( c , a ) , m = ua ? s : Math . max ( c , a ) , l . select ( ".dragarea" ) . attr ( "x" , f ) . attr ( "y" , h ) . attr ( "width" , g - f ) . attr ( "height" , m - h ) , l . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . filter ( function ( a ) { return ma ( a ) } ) . each ( function ( a , b ) { var c = e . select ( this ) , d = c . classed ( na ) , k = c . classed ( kc ) ,
l , n , p , q ; l = ! 1 ; "circle" === this . nodeName ? ( l = 1 * c . attr ( "cx" ) , n = 1 * c . attr ( "cy" ) , q = ed , l = f < l && l < g && h < n && n < m ) : "rect" === this . nodeName && ( l = 1 * c . attr ( "x" ) , n = 1 * c . attr ( "y" ) , p = 1 * c . attr ( "width" ) , q = gd , l = f < l + p && l < g && n < m ) ; l ^ k && ( c . classed ( kc , ! k ) , c . classed ( na , ! d ) , q ( ! d , c , a , b ) ) } ) ) } function qd ( a ) { ! E ( k . data . targets ) && la && ( jc = a , l . select ( ".chart" ) . append ( "rect" ) . attr ( "class" , "dragarea" ) . style ( "opacity" , 0.1 ) , Ya = ! 0 ) } function rd ( ) { ! E ( k . data . targets ) && la && ( l . select ( ".dragarea" ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0 ) . remove ( ) ,
l . selectAll ( ".-shape" ) . classed ( kc , ! 1 ) , Ya = ! 1 ) } function x ( a ) { var b , c , d , f ; d = ee ( ) ; var g , t , n , p = E ( k . data . targets ) ; a = v ( a ) ? a : { } ; c = v ( a . withY ) ? a . withY : ! 0 ; f = v ( a . withSubchart ) ? a . withSubchart : ! 0 ; t = v ( a . withTransition ) ? a . withTransition : ! 0 ; n = v ( a . withTransform ) ? a . withTransform : ! 1 ; b = v ( a . withUpdateXDomain ) ? a . withUpdateXDomain : ! 1 ; a = v ( a . withUpdateOrgXDomain ) ? a . withUpdateOrgXDomain : ! 1 ; t = t ? De : 0 ; a && ( m . domain ( e . extent ( pb ( k . data . targets ) ) ) , T = m . domain ( ) , F . scale ( m ) . updateScaleExtent ( ) , U . domain ( m . domain ( ) ) , K . scale ( U ) ) ; b && ( m . domain ( K . empty ( ) ?
T : K . extent ( ) ) , ta && F . scale ( m ) . updateScaleExtent ( ) ) ; z . domain ( nb ( "y" ) ) ; aa . domain ( nb ( "y2" ) ) ; l . select ( ".x.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . duration ( h ? t : 0 ) . call ( h ? za : J ) ; l . select ( ".y.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . duration ( h ? 0 : t ) . call ( h ? J : za ) ; l . select ( ".y2.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . call ( kb ) ; l . select ( ".x.axis .-axis-x-label" ) . attr ( "x" , r ) ; ib . domain ( z . domain ( ) ) ; jb . domain ( aa . domain ( ) ) ; V . style ( "display" , "none" ) ; l . select ( "line.xgrid-focus" ) . style ( "visibility" , "hidden" ) . attr ( "y2" ,
s ) ; if ( jd ) { if ( "year" === Ee ) { b = [ ] ; var u = pb ( ) ; a = u [ 0 ] . getFullYear ( ) ; for ( u = u [ 1 ] . getFullYear ( ) ; a <= u ; a ++ ) b . push ( new Date ( a + "-01-01 00:00:00" ) ) } else b = m . ticks ( 10 ) ; b = l . select ( ".xgrids" ) . selectAll ( ".xgrid" ) . data ( b ) ; b . enter ( ) . append ( "line" ) . attr ( "class" , "xgrid" ) ; b . attr ( "x1" , h ? 0 : function ( a ) { return m ( a ) - J . tickOffset ( ) } ) . attr ( "x2" , h ? r : function ( a ) { return m ( a ) - J . tickOffset ( ) } ) . attr ( "y1" , h ? function ( a ) { return m ( a ) - J . tickOffset ( ) } : q ) . attr ( "y2" , h ? function ( a ) { return m ( a ) - J . tickOffset ( ) } : s ) . style ( "opacity" , function ( ) { return + e . select ( this ) . attr ( h ?
"y1" : "x1" ) === ( h ? s : 0 ) ? 0 : 1 } ) ; b . exit ( ) . remove ( ) } ec && ( b = l . selectAll ( ".xgrid-lines" ) , b . selectAll ( "line" ) . transition ( ) . duration ( t ) . attr ( "x1" , h ? 0 : Ta ) . attr ( "x2" , h ? r : Ta ) . attr ( "y1" , h ? Ta : q ) . attr ( "y2" , h ? Ta : s ) , b . selectAll ( "text" ) . attr ( "x" , h ? r : 0 ) . attr ( "y" , Ta ) ) ; c && kd && ( b = l . select ( ".ygrids" ) . selectAll ( ".ygrid" ) . data ( z . ticks ( 10 ) ) , b . enter ( ) . append ( "line" ) . attr ( "class" , "ygrid" ) , b . attr ( "x1" , h ? z : 0 ) . attr ( "x2" , h ? z : r ) . attr ( "y1" , h ? 0 : z ) . attr ( "y2" , h ? s : z ) , b . exit ( ) . remove ( ) ) ; c && fc && ( c = l . select ( ".ygrid-lines" ) , c . selectAll ( "line" ) . transition ( ) . duration ( t ) . attr ( "x1" ,
h ? Ua : 0 ) . attr ( "x2" , h ? Ua : r ) . attr ( "y1" , h ? 0 : Ua ) . attr ( "y2" , h ? s : Ua ) , c . selectAll ( "text" ) . attr ( "x" , h ? 0 : r ) . attr ( "y" , Ua ) ) ; c = l . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( ad ) ; c . enter ( ) . append ( "path" ) . attr ( "d" , xb ( d , ! 1 ) ) . style ( "stroke" , "none" ) . style ( "opacity" , 0 ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . attr ( "class" , Mc ) ; c . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" , xb ( d , ! 1 ) ) . style ( "opacity" , 1 ) ; c . exit ( ) . transition ( ) . duration ( t ) . style ( "opacity" , 0 ) . remove ( ) ; l . selectAll ( ".-line" ) . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" ,
Fe ) . style ( "opacity" , 1 ) ; l . selectAll ( ".-area" ) . style ( "opacity" , 0 ) . transition ( ) . duration ( t ) . attr ( "d" , Ge ) . style ( "opacity" , sd ) ; c = l . selectAll ( ".-circles" ) . selectAll ( ".-circle" ) . data ( ie ) ; c . enter ( ) . append ( "circle" ) . attr ( "class" , be ) . style ( "opacity" , 0 ) . attr ( "r" , ac ) ; c . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . style ( "opacity" , de ) . attr ( "cx" , h ? Ca : Ba ) . attr ( "cy" , h ? Ba : Ca ) ; c . exit ( ) . remove ( ) ; l . selectAll ( ".chart-arc" ) . select ( ".-arc" ) . attr ( "transform" , n ? "scale(0)" : "" ) . style ( "opacity" , function ( a ) { return a === this . _current ?
0 : 1 } ) . transition ( ) . duration ( t ) . attrTween ( "d" , function ( a ) { a = Z ( a ) ; if ( ! a ) return function ( ) { return "M 0 0" } ; var b = e . interpolate ( this . _current , a ) ; this . _current = b ( 0 ) ; return function ( a ) { a = b ( a ) ; return $c ( a . data ) || Pb ( a . data ) ? lb ( a , ! 0 ) : "M 0 0" } } ) . attr ( "transform" , n ? "scale(1)" : "" ) . style ( "opacity" , 1 ) ; l . selectAll ( ".chart-arc" ) . select ( "text" ) . attr ( "transform" , zb ) . style ( "opacity" , 0 ) . transition ( ) . duration ( t ) . text ( yd ) . style ( "opacity" , function ( a ) { return $c ( a . data ) || Pb ( a . data ) ? 1 : 0 } ) ; l . select ( ".chart-arcs-title" ) . style ( "opacity" ,
ia ( k . data . targets , "donut" ) ? 1 : 0 ) ; Da && ( null !== e . event && "zoom" === e . event . type && K . extent ( m . orgDomain ( ) ) . update ( ) , f && ( G . select ( ".x.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . duration ( h ? t : 0 ) . call ( hb ) , K . empty ( ) || K . extent ( m . orgDomain ( ) ) . update ( ) , f = G . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( ad ) , f . enter ( ) . append ( "path" ) . attr ( "d" , xb ( d ) ) . style ( "stroke" , "none" ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . attr ( "class" , Mc ) , f . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" , xb ( d ) ) . style ( "opacity" , 1 ) , f . exit ( ) . transition ( ) . duration ( t ) . style ( "opacity" ,
0 ) . remove ( ) , G . selectAll ( ".-line" ) . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" , He ) . style ( "opacity" , 1 ) ) ) ; l . selectAll ( ".selected-circles" ) . filter ( function ( a ) { return sb ( a ) } ) . selectAll ( "circle" ) . remove ( ) ; l . selectAll ( ".selected-circle" ) . transition ( ) . duration ( t ) . attr ( "cx" , h ? Ca : Ba ) . attr ( "cy" , h ? Ba : Ca ) ; ba ? ( f = l . select ( ".event-rects" ) . selectAll ( ".event-rect" ) . data ( [ 0 ] ) , Be ( f . enter ( ) ) , f . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "width" , r ) . attr ( "height" , s ) ) : ( Sb ? ( g = function ( a , b ) { var c = Hc ( b ) , d = b < gb ( ) - 1 ? k . data . targets [ 0 ] . values [ b +
1 ] . x : void 0 ; return ( m ( d ? d : a . x + 50 ) - m ( c ? c : a . x - 50 ) ) / 2 } , d = function ( a , b ) { var c = Hc ( b ) ; return ( m ( a . x ) + m ( c ? c : a . x - 50 ) ) / 2 } ) : ( g = X ( ) , d = function ( a ) { return m ( a . x ) - g / 2 } ) , f = Yd ( ) , l . select ( ".event-rects" ) . datum ( f ? f . values : [ ] ) , f = l . select ( ".event-rects" ) . selectAll ( ".event-rect" ) . data ( function ( a ) { return a } ) , Ae ( f . enter ( ) ) , f . attr ( "class" , Nc ) . attr ( "x" , h ? 0 : d ) . attr ( "y" , h ? d : 0 ) . attr ( "width" , h ? r : g ) . attr ( "height" , h ? g : s ) , f . exit ( ) . remove ( ) ) ; d = l . select ( ".regions" ) . selectAll ( "rect.region" ) . data ( P ) ; d . enter ( ) . append ( "rect" ) ; d . attr ( "class" ,
ce ) . attr ( "x" , h ? 0 : Rb ) . attr ( "y" , h ? Rb : q ) . attr ( "width" , h ? r : Cc ) . attr ( "height" , h ? Cc : s ) . style ( "fill-opacity" , function ( a ) { return v ( a . opacity ) ? a . opacity : 0.1 } ) ; d . exit ( ) . transition ( ) . duration ( t ) . style ( "fill-opacity" , 0 ) . remove ( ) ; Ra ( ) . forEach ( function ( a ) { Ub [ a ] = ! 0 } ) } function Ie ( ) { "mousemove" === e . event . sourceEvent . type && F . altDomain ? ( m . domain ( F . altDomain ) , F . scale ( m ) . updateScaleExtent ( ) ) : ( ja && m . orgDomain ( ) [ 0 ] === T [ 0 ] && m . domain ( [ T [ 0 ] - 1E-10 , m . orgDomain ( ) [ 1 ] ] ) , x ( { withTransition : ! 1 , withY : ! 1 , withSubchart : ! 1 } ) , "mousemove" ===
e . event . sourceEvent . type && ( ic = ! 0 ) ) } function ze ( ) { function a ( ) { b . forEach ( function ( a ) { a ( ) } ) } var b = [ ] ; a . add = function ( a ) { b . push ( a ) } ; return a } function nd ( ) { va ( ) ; Y ( ) ; K . scale ( U ) ; ta && F . scale ( m ) ; n . attr ( "width" , Bb ) . attr ( "height" , wa ) ; n . select ( "#" + dc ) . select ( "rect" ) . attr ( "width" , r ) . attr ( "height" , s ) ; n . select ( "#xaxis-clip" ) . select ( "rect" ) . attr ( "width" , W ) ; n . select ( ".zoom-rect" ) . attr ( "width" , r ) . attr ( "height" , s ) ; l . select ( ".x.axis" ) . attr ( "transform" , L . x ) ; l . select ( ".y2.axis" ) . attr ( "transform" , L . y2 ) ; l . select ( ".chart-arcs" ) . attr ( "transform" ,
L . arc ) ; Da && ( G . attr ( "transform" , L . context ) , G . select ( ".x.axis" ) . attr ( "transform" , L . subx ) ) ; Fa && ( Ea . attr ( "transform" , L . legend ) , wb ( k . data . targets , { withTransition : ! 1 } ) ) ; x ( { withTransition : ! 1 , withUpdateXDomain : ! 0 } ) } function ld ( a ) { var b ; l . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) . style ( "pointer-events" , "none" ) . append ( "g" ) . attr ( "class" , Lc ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . style ( "stroke" , "none" ) . style ( "cursor" ,
function ( a ) { return ma ( a ) ? "pointer" : null } ) ; b = l . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-line target target-" + a . id } ) . style ( "pointer-events" , "none" ) ; b . append ( "path" ) . attr ( "class" , Kc ) . style ( "opacity" , 0 ) . style ( "stroke" , function ( a ) { return N ( a . id ) } ) ; b . append ( "path" ) . attr ( "class" , ae ) . style ( "opacity" , function ( ) { sd = + e . select ( this ) . style ( "opacity" ) ; return 0 } ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) ; b . append ( "g" ) . attr ( "class" , function ( a ) { return "selected-circles selected-circles-" +
a . id } ) ; b . append ( "g" ) . attr ( "class" , Zd ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . style ( "cursor" , function ( a ) { return ma ( a ) ? "pointer" : null } ) ; a . forEach ( function ( a ) { var b = yb ( a . id ) ; l . selectAll ( ".selected-circles" + b ) . selectAll ( ".selected-circle" ) . each ( function ( b ) { b . value = a . values [ b . x ] . value } ) } ) ; b = l . select ( ".chart-arcs" ) . selectAll ( ".chart-arc" ) . data ( Ob ( a ) ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-arc target target-" + a . data . id } ) ; b . append ( "path" ) . attr ( "class" , $d ) . style ( "opacity" , 0 ) . style ( "fill" ,
function ( a ) { return N ( a . data . id ) } ) . style ( "cursor" , function ( a ) { return ma ( a ) ? "pointer" : null } ) . each ( function ( a ) { this . _current = a } ) . on ( "mouseover" , function ( a ) { yc ( a . data . id ) ; lc ( a . data . id ) } ) . on ( "mouseout" , function ( a ) { Qb ( a . data . id ) ; mc ( ) } ) ; b . append ( "text" ) . attr ( "dy" , ".35em" ) . style ( "opacity" , 0 ) . style ( "text-anchor" , "middle" ) . style ( "pointer-events" , "none" ) ; Da && ( b = G . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) , b = b . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) , b . append ( "g" ) . attr ( "class" ,
Lc ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) , b = G . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) , b = b . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-line target target-" + a . id } ) , b . append ( "path" ) . attr ( "class" , Kc ) . style ( "opacity" , 0 ) . style ( "stroke" , function ( a ) { return N ( a . id ) } ) ) ; Fa && wb ( a ) ; n . selectAll ( ".target" ) . transition ( ) . style ( "opacity" , 1 ) } function Za ( a , b ) { k . data . targets . forEach ( function ( b ) { for ( var d = 0 ; d < a . length ; d ++ ) if ( b . id === a [ d ] . id ) { b . values = a [ d ] . values ; a . splice ( d , 1 ) ; break } } ) ;
k . data . targets = k . data . targets . concat ( a ) ; ld ( k . data . targets ) ; x ( { withUpdateOrgXDomain : ! 0 , withUpdateXDomain : ! 0 } ) ; b ( ) } function lc ( a ) { var b = n . selectAll ( ".legend-item" ) , c = function ( b ) { return ! a || b === a } ; b . filter ( function ( a ) { return ! c ( a ) } ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) ; b . filter ( c ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } function Je ( a ) { var b = n . selectAll ( ".legend-item" ) , c = function ( b ) { return ! a || b === a } ; b . filter ( function ( a ) { return ! c ( a ) } ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; b . filter ( c ) . transition ( ) . duration ( 100 ) . style ( "opacity" ,
0.3 ) } function mc ( ) { n . selectAll ( ".legend-item" ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } function wb ( a , b ) { var c = Ra ( a ) , d , e = r / 2 - $a * Object . keys ( a ) . length / 2 , g ; b = y ( b ) ? { } : b ; g = v ( b . withTransition ) ? b . withTransition : ! 0 ; d = Ea . selectAll ( ".legend-item" ) . data ( c ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "legend-item legend-item-" + a } ) . style ( "cursor" , "pointer" ) . on ( "click" , function ( a ) { Ke ( a ) } ) . on ( "mouseover" , function ( a ) { lc ( a ) ; k . focus ( a ) } ) . on ( "mouseout" , function ( ) { mc ( ) ; k . revert ( ) } ) ; d . append ( "rect" ) . attr ( "class" ,
"legend-item-event" ) . style ( "fill-opacity" , 0 ) . attr ( "x" , - 200 ) . attr ( "y" , function ( ) { return pa / 2 - 16 } ) . attr ( "width" , $a ) . attr ( "height" , 24 ) ; d . append ( "rect" ) . attr ( "class" , "legend-item-tile" ) . style ( "pointer-events" , "none" ) . style ( "fill" , function ( a ) { return N ( a ) } ) . attr ( "x" , - 200 ) . attr ( "y" , function ( ) { return pa / 2 - 9 } ) . attr ( "width" , 10 ) . attr ( "height" , 10 ) ; d . append ( "text" ) . text ( function ( a ) { return v ( Pa [ a ] ) ? Pa [ a ] : a } ) . style ( "pointer-events" , "none" ) . attr ( "x" , - 200 ) . attr ( "y" , function ( ) { return pa / 2 } ) ; Ea . selectAll ( "rect.legend-item-event" ) . data ( c ) . transition ( ) . duration ( g ?
250 : 0 ) . attr ( "x" , function ( a , b ) { return e + $a * b } ) ; Ea . selectAll ( "rect.legend-item-tile" ) . data ( c ) . transition ( ) . duration ( g ? 250 : 0 ) . attr ( "x" , function ( a , b ) { return e + $a * b } ) ; Ea . selectAll ( "text" ) . data ( c ) . transition ( ) . duration ( g ? 250 : 0 ) . attr ( "x" , function ( a , b ) { return e + $a * b + 14 } ) } function yb ( a ) { return a ? "-" + a . replace ( /\./g , "\\." ) : "" } function ka ( a ) { return ".target" + yb ( a ) } function nc ( a ) { return Ic ( a . id ) } function oc ( a ) { return "data" in a && Ic ( a . data . id ) } var k = { data : { } } , qb = { } , da = "_expanded_" , na = "_selected_" , kc = "_included_" ,
xa = g ( [ "bindto" ] , "#chart" ) , Ka = g ( [ "size" , "width" ] , null ) , Hb = g ( [ "size" , "height" ] , null ) , bb = g ( [ "padding" , "left" ] , null ) , db = g ( [ "padding" , "right" ] , null ) , ta = g ( [ "zoom" , "enabled" ] , ! 1 ) , td = g ( [ "zoom" , "extent" ] , null ) , xe = g ( [ "zoom" , "privileged" ] , ! 1 ) , re = g ( [ "onenter" ] , function ( ) { } ) , se = g ( [ "onleave" ] , function ( ) { } ) , De = g ( [ "transition" , "duration" ] , 350 ) ; if ( ! ( "data" in ea ) ) throw Error ( "data is required in config" ) ; var ra = g ( [ "data" , "x" ] , null ) , ba = g ( [ "data" , "xs" ] , null ) , Wb = g ( [ "data" , "x_format" ] , "%Y-%m-%d" ) , Xd = g ( [ "data" , "id_converter" ] ,
function ( a ) { return a } ) , Pa = g ( [ "data" , "names" ] , { } ) , w = g ( [ "data" , "groups" ] , [ ] ) , xc = g ( [ "data" , "axes" ] , { } ) , Gc = g ( [ "data" , "type" ] , null ) , A = g ( [ "data" , "types" ] , { } ) , ud = g ( [ "data" , "regions" ] , { } ) , Le = g ( [ "data" , "colors" ] , { } ) , la = g ( [ "data" , "selection" , "enabled" ] , ! 1 ) , ua = g ( [ "data" , "selection" , "grouped" ] , ! 1 ) , ma = g ( [ "data" , "selection" , "isselectable" ] , function ( ) { return ! 0 } ) , Da = g ( [ "subchart" , "show" ] , ! 1 ) , Cb = Da ? g ( [ "subchart" , "size" , "height" ] , 60 ) : 0 , Me = g ( [ "color" , "pattern" ] , null ) , Fa = g ( [ "legend" , "show" ] , ! 0 ) , $a = g ( [ "legend" , "item" ,
"width" ] , 80 ) , Ke = g ( [ "legend" , "item" , "onclick" ] , function ( ) { } ) , vd = g ( [ "axis" , "x" , "type" ] , "indexed" ) , Ma = g ( [ "axis" , "x" , "categories" ] , [ ] ) , Dd = g ( [ "axis" , "x" , "tick" , "centered" ] , ! 1 ) , mb = g ( [ "axis" , "x" , "tick" , "format" ] , null ) , vb = g ( [ "axis" , "x" , "default" ] , null ) , te = g ( [ "axis" , "x" , "label" ] , null ) , Nd = g ( [ "axis" , "y" , "max" ] , null ) , Ld = g ( [ "axis" , "y" , "min" ] , null ) , Pd = g ( [ "axis" , "y" , "center" ] , null ) , ue = g ( [ "axis" , "y" , "label" ] , null ) , cb = g ( [ "axis" , "y" , "inner" ] , ! 1 ) , cc = g ( [ "axis" , "y" , "tick" , "format" ] , null ) , Na = g ( [ "axis" , "y" , "padding" ] , null ) ,
oe = g ( [ "axis" , "y" , "ticks" ] , 10 ) , Db = g ( [ "axis" , "y2" , "show" ] , ! 1 ) , Md = g ( [ "axis" , "y2" , "max" ] , null ) , Kd = g ( [ "axis" , "y2" , "min" ] , null ) , Od = g ( [ "axis" , "y2" , "center" ] , null ) , eb = g ( [ "axis" , "y2" , "inner" ] , ! 1 ) , qe = g ( [ "axis" , "y2" , "tick" , "format" ] , null ) , Oa = g ( [ "axis" , "y2" , "padding" ] , null ) , pe = g ( [ "axis" , "y2" , "ticks" ] , 10 ) , h = g ( [ "axis" , "rotated" ] , ! 1 ) , jd = g ( [ "grid" , "x" , "show" ] , ! 1 ) , Ee = g ( [ "grid" , "x" , "type" ] , "tick" ) , ec = g ( [ "grid" , "x" , "lines" ] , null ) , kd = g ( [ "grid" , "y" , "show" ] , ! 1 ) , fc = g ( [ "grid" , "y" , "lines" ] , null ) , ac = g ( [ "point" , "show" ] , ! 0 ) ?
g ( [ "point" , "r" ] , 2.5 ) : 0 , ve = g ( [ "point" , "focus" , "line" , "enabled" ] , ! 0 ) , gc = g ( [ "point" , "focus" , "expand" , "enabled" ] , ! 0 ) , hc = g ( [ "point" , "focus" , "expand" , "r" ] , gc ? 4 : ac ) , Wa = g ( [ "point" , "focus" , "select" , "r" ] , 8 ) , Ce = g ( [ "point" , "onclick" ] , function ( ) { } ) , ke = g ( [ "point" , "onselected" ] , function ( ) { } ) , le = g ( [ "point" , "onunselected" ] , function ( ) { } ) , Gd = g ( [ "arc" , "label" , "format" ] , function ( a , b ) { return ( 100 * b ) . toFixed ( 1 ) + "%" } ) , we = g ( [ "arc" , "title" ] , "" ) , P = g ( [ "regions" ] , [ ] ) , Vc = g ( [ "tooltip" , "enabled" ] , ! 0 ) , Wc = g ( [ "tooltip" , "contents" ] ,
function ( a ) { var b = cc ? cc : function ( a ) { return + a } , c = sc ( ) , c = "<table class='-tooltip'><tr><th colspan='2'>" + ( c ? c ( a [ 0 ] . x ) : a [ 0 ] . x ) + "</th></tr>" , d , e , g ; for ( d = 0 ; d < a . length ; d ++ ) if ( a [ d ] && ( a [ d ] . value || 0 === a [ d ] . value ) ) { e = "-" ; if ( a [ d ] . value || 0 === a [ d ] . value ) e = b ( a [ d ] . value ) ; g = a [ d ] . name ; c += "<tr class='-tooltip-name-" + a [ d ] . id + "'><td class='name'><span style='background-color:" + N ( a [ d ] . id ) + "'></span>" + g + "</td><td class='value'>" + e + "</td></tr>" } return c + "</table>" } ) , ye = g ( [ "tooltip" , "init" , "show" ] , ! 1 ) , Ga = g ( [ "tooltip" , "init" ,
"x" ] , 0 ) , md = g ( [ "tooltip" , "init" , "position" ] , { top : "0px" , left : "50px" } ) , dc = xa . replace ( "#" , "" ) + "-clip" , Xa = "url(" + document . URL + "#" + dc + ")" , D = "timeseries" === vd , ja = "categorized" === vd , Sb = ! D && ( ra || ba ) , jc = null , Ya = ! 1 , ic = ! 1 , pa = Fa ? 40 : 0 , N = function ( a , b ) { var c = [ ] , d = null !== b ? b : "#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf" . split ( " " ) ; return function ( b ) { if ( b in a ) return a [ b ] ; - 1 === c . indexOf ( b ) && c . push ( b ) ; return d [ c . indexOf ( b ) % d . length ] } } ( Le , Me ) , Ed = function ( ) { var a = [ [ e . time . format ( "%Y/%-m/%-d" ) ,
function ( ) { return ! 0 } ] , [ e . time . format ( "%-m/%-d" ) , function ( a ) { return a . getMonth ( ) } ] , [ e . time . format ( "%-m/%-d" ) , function ( a ) { return 1 !== a . getDate ( ) } ] , [ e . time . format ( "%-m/%-d" ) , function ( a ) { return a . getDay ( ) && 1 !== a . getDate ( ) } ] , [ e . time . format ( "%I %p" ) , function ( a ) { return a . getHours ( ) } ] , [ e . time . format ( "%I:%M" ) , function ( a ) { return a . getMinutes ( ) } ] , [ e . time . format ( ":%S" ) , function ( a ) { return a . getSeconds ( ) } ] , [ e . time . format ( ".%L" ) , function ( a ) { return a . getMilliseconds ( ) } ] ] ; return function ( b ) { for ( var c = a . length - 1 , d =
a [ c ] ; ! d [ 1 ] ( b ) ; ) d = a [ -- c ] ; return d [ 0 ] ( b ) } } ( ) , r , Eb , s , fb , Bb , wa , La , Fb , Gb , lb , vc , wc , Ob , Ib , Jb , Kb , Lb , Mb , Nb , m , z , aa , U , ib , jb , J , za , kb , hb , zd = h ? "left" : "bottom" , Ad = h ? cb ? "top" : "bottom" : cb ? "right" : "left" , Bd = h ? eb ? "bottom" : "top" : eb ? "left" : "right" , Cd = h ? "left" : "bottom" , L = { main : function ( ) { return "translate(" + C + "," + q + ")" } , context : function ( ) { return "translate(" + Ia + "," + Ha + ")" } , legend : function ( ) { return "translate(" + qc + "," + pc + ")" } , y2 : function ( ) { return "translate(" + ( h ? 0 : r ) + "," + ( h ? 10 : 0 ) + ")" } , x : function ( ) { return "translate(0," + s + ")" } ,
subx : function ( ) { return "translate(0," + ( h ? 0 : fb ) + ")" } , arc : function ( ) { return "translate(" + r / 2 + "," + s / 2 + ")" } } , uc = 40 , tc = 20 ; Ob = e . layout . pie ( ) . value ( function ( a ) { return a . values . reduce ( function ( a , c ) { return a + c . value } , 0 ) } ) ; var Fe = function ( ) { var a = e . svg . line ( ) . x ( h ? function ( a ) { return u ( a . id ) ( a . value ) } : Aa ) . y ( h ? Aa : function ( a ) { return u ( a . id ) ( a . value ) } ) ; return function ( b ) { var c = Yb ( b . values ) , d ; if ( Vb ( b ) ) return Zc ( b ) ? a . interpolate ( "cardinal" ) : a . interpolate ( "linear" ) , ud [ b . id ] ? ne ( c , m , u ( b . id ) , ud [ b . id ] ) : a ( c ) ; d = m ( c [ 0 ] . x ) ;
b = u ( b . id ) ( c [ 0 ] . value ) ; return h ? "M " + b + " " + d : "M " + d + " " + b } } ( ) , Ge = function ( ) { var a ; a = h ? e . svg . area ( ) . x0 ( function ( a ) { return u ( a . id ) ( 0 ) } ) . x1 ( function ( a ) { return u ( a . id ) ( a . value ) } ) . y ( Aa ) : e . svg . area ( ) . x ( Aa ) . y0 ( function ( a ) { return u ( a . id ) ( 0 ) } ) . y1 ( function ( a ) { return u ( a . id ) ( a . value ) } ) ; return function ( b ) { var c = Yb ( b . values ) , d ; if ( ia ( [ b ] , "area" ) || ia ( [ b ] , "area-spline" ) ) return Zc ( b ) ? a . interpolate ( "cardinal" ) : a . interpolate ( "linear" ) , a ( c ) ; d = m ( c [ 0 ] . x ) ; b = u ( b . id ) ( c [ 0 ] . value ) ; return h ? "M " + b + " " + d : "M " + d + " " + b } } ( ) , xb = function ( a ,
b ) { var c = a . _ _max _ _ + 1 , d = 1 < arguments . length ? b : ! 0 , e = ja ? c ? 1.2 * J . tickOffset ( ) / c : 0 : 0.6 * ( ( h ? s : r ) * ( d ? 1 : ya ( T ) / ya ( m . domain ( ) ) ) / ( gb ( ) - 1 ) ) , g = fe ( e , c , a , ! ! d ) , k = ge ( ! ! d ) , l = he ( a , ! ! d ) , n = d ? B : u ; return function ( a , b ) { var c = n ( a . id ) ( 0 ) , d = l ( a , b ) || c , c = [ [ g ( a ) , d ] , [ g ( a ) , k ( a ) - ( c - d ) ] , [ g ( a ) + e , k ( a ) - ( c - d ) ] , [ g ( a ) + e , d ] ] , d = h ? 1 : 0 , m = h ? 0 : 1 ; return "M " + c [ 0 ] [ d ] + "," + c [ 0 ] [ m ] + " L" + c [ 1 ] [ d ] + "," + c [ 1 ] [ m ] + " L" + c [ 2 ] [ d ] + "," + c [ 2 ] [ m ] + " L" + c [ 3 ] [ d ] + "," + c [ 3 ] [ m ] + " z" } } , He = function ( ) { var a = e . svg . line ( ) . x ( h ? function ( a ) { return B ( a . id ) ( a . value ) } : Pc ) . y ( h ? Pc : function ( a ) { return B ( a . id ) ( a . value ) } ) ;
return function ( b ) { var c = Yb ( b . values ) ; return Vb ( b ) ? a ( c ) : "M " + U ( c [ 0 ] . x ) + " " + B ( b . id ) ( c [ 0 ] . value ) } } ( ) , K = e . svg . brush ( ) . on ( "brush" , function ( ) { x ( { withTransition : ! 1 , withY : ! 1 , withSubchart : ! 1 , withUpdateXDomain : ! 0 } ) } ) , F = e . behavior . zoom ( ) . on ( "zoomstart" , function ( ) { F . altDomain = e . event . sourceEvent . altKey ? m . orgDomain ( ) : null } ) . on ( "zoom" , ta ? Ie : null ) ; K . update = function ( ) { G && G . select ( ".x.brush" ) . call ( this ) ; return this } ; K . scale = function ( a ) { return h ? this . y ( a ) : this . x ( a ) } ; F . scale = function ( a ) { return h ? this . y ( a ) : this . x ( a ) } ;
F . orgScaleExtent = function ( ) { var a = td ? td : [ 1 , 10 ] ; return [ a [ 0 ] , Math . max ( gb ( ) / a [ 1 ] , a [ 1 ] ) ] } ; F . updateScaleExtent = function ( ) { var a = ya ( m . orgDomain ( ) ) / ya ( T ) , b = this . orgScaleExtent ( ) ; this . scaleExtent ( [ b [ 0 ] * a , b [ 1 ] * a ] ) ; return this } ; var n , ub , l , G , Ea , V , tb , T , sd , Ub = { } ; k . focus = function ( a ) { var b = n . selectAll ( ka ( a ) ) , c = b . filter ( nc ) , b = b . filter ( oc ) ; k . revert ( ) ; k . defocus ( ) ; c . classed ( "focused" , ! 0 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; b . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; E ( k . data . targets ) && yc ( a , ! 0 ) ; lc ( a ) } ;
k . defocus = function ( a ) { var b = n . selectAll ( ka ( a ) ) , c = b . filter ( nc ) , b = b . filter ( oc ) ; k . revert ( ) ; c . classed ( "focused" , ! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) ; b . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) ; E ( k . data . targets ) && Qb ( a ) ; Je ( a ) } ; k . revert = function ( a ) { var b = n . selectAll ( ka ( a ) ) , c = b . filter ( nc ) , b = b . filter ( oc ) ; c . classed ( "focused" , ! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; b . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; E ( k . data . targets ) && Qb ( a ) ; mc ( ) } ; k . show = function ( a ) { n . selectAll ( ka ( a ) ) . transition ( ) . style ( "opacity" ,
1 ) } ; k . hide = function ( a ) { n . selectAll ( ka ( a ) ) . transition ( ) . style ( "opacity" , 0 ) } ; k . unzoom = function ( ) { K . clear ( ) . update ( ) ; x ( { withUpdateXDomain : ! 0 } ) } ; k . load = function ( a ) { "function" !== typeof a . done && ( a . done = function ( ) { } ) ; a . xs && Wd ( a . xs ) ; "categories" in a && ja && ( Ma = a . categories , J . categories ( Ma ) ) ; if ( "cacheIds" in a && Sd ( a . cacheIds ) ) Za ( Td ( a . cacheIds ) , a . done ) ; else if ( "data" in a ) Za ( Qa ( a . data ) , a . done ) ; else if ( "url" in a ) e . csv ( a . url , function ( b , c ) { Za ( Qa ( c ) , a . done ) } ) ; else if ( "rows" in a ) Za ( Qa ( Ec ( a . rows ) ) , a . done ) ; else if ( "columns" in
a ) Za ( Qa ( Fc ( a . columns ) ) , a . done ) ; else throw Error ( "url or rows or columns is required." ) ; } ; k . unload = function ( a ) { k . data . targets = k . data . targets . filter ( function ( b ) { return b . id !== a } ) ; n . selectAll ( ka ( a ) ) . transition ( ) . style ( "opacity" , 0 ) . remove ( ) ; Fa && ( n . selectAll ( ".legend-item" + yb ( a ) ) . transition ( ) . style ( "opacity" , 0 ) . remove ( ) , wb ( k . data . targets ) ) ; 0 < k . data . targets . length && x ( { withUpdateOrgXDomain : ! 0 , withUpdateXDomain : ! 0 } ) } ; k . selected = function ( a ) { a = yb ( a ) ; return e . merge ( l . selectAll ( ".-shapes" + a ) . selectAll ( ".-shape" ) . filter ( function ( ) { return e . select ( this ) . classed ( na ) } ) . map ( function ( a ) { return a . map ( function ( a ) { return a . _ _data _ _ } ) } ) ) } ;
k . select = function ( a , b , c ) { la && l . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( d , f ) { var g = "circle" === this . nodeName ? dd : me , h = "circle" === this . nodeName ? Xb : fd ; 0 <= b . indexOf ( f ) ? ma ( d ) && ( ua || y ( a ) || 0 <= a . indexOf ( d . id ) ) && g ( e . select ( this ) . classed ( na , ! 0 ) , d , f ) : v ( c ) && c && h ( e . select ( this ) . classed ( na , ! 1 ) , d , f ) } ) } ; k . unselect = function ( a , b ) { la && l . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( c , d ) { var f = "circle" === this . nodeName ? Xb : fd ; ( y ( b ) || 0 <= b . indexOf ( d ) ) && ma ( c ) && ( ua || y ( a ) || 0 <= a . indexOf ( c . id ) ) && f ( e . select ( this ) . classed ( na ,
! 1 ) , c , d ) } ) } ; k . toLine = function ( a ) { ca ( a , "line" ) ; x ( ) } ; k . toSpline = function ( a ) { ca ( a , "spline" ) ; x ( ) } ; k . toBar = function ( a ) { ca ( a , "bar" ) ; x ( ) } ; k . toScatter = function ( a ) { ca ( a , "scatter" ) ; x ( ) } ; k . toArea = function ( a ) { ca ( a , "area" ) ; x ( ) } ; k . toAreaSpline = function ( a ) { ca ( a , "area-spline" ) ; x ( ) } ; k . toPie = function ( a ) { ca ( a , "pie" ) ; S ( ) ; ga ( ) ; x ( { withTransform : ! 0 } ) } ; k . toDonut = function ( a ) { ca ( a , "donut" ) ; S ( ) ; ga ( ) ; x ( { withTransform : ! 0 } ) } ; k . groups = function ( a ) { if ( y ( a ) ) return w ; w = a ; x ( ) ; return w } ; k . regions = function ( a ) { if ( y ( a ) ) return P ; P = a ; x ( ) ;
return P } ; k . regions . add = function ( a ) { if ( y ( a ) ) return P ; P = P . concat ( a ) ; x ( ) ; return P } ; k . regions . remove = function ( a , b ) { var c = [ ] . concat ( a ) ; b = v ( b ) ? b : { } ; c . forEach ( function ( a ) { var c = n . selectAll ( "." + a ) ; v ( b . duration ) && ( c = c . transition ( ) . duration ( b . duration ) . style ( "fill-opacity" , 0 ) ) ; c . remove ( ) ; P = P . filter ( function ( b ) { return 0 > b . classes . indexOf ( a ) } ) } ) ; return P } ; k . data . get = function ( a ) { a = k . data . getAsTarget ( a ) ; return v ( a ) ? a . values . map ( function ( a ) { return a . value } ) : void 0 } ; k . data . getAsTarget = function ( a ) { var b = ob ( function ( b ) { return b . id ===
a } ) ; return 0 < b . length ? b [ 0 ] : void 0 } ; k . resize = function ( a ) { Ka = a ? a . width : null ; Hb = a ? a . height : null ; nd ( ) } ; k . destroy = function ( ) { k . data . targets = void 0 ; k . data . x = { } ; tb . html ( "" ) ; O . onresize = null } ; if ( "url" in ea . data ) e . csv ( ea . data . url , function ( a , b ) { bc ( b ) } ) ; else if ( "rows" in ea . data ) bc ( Ec ( ea . data . rows ) ) ; else if ( "columns" in ea . data ) bc ( Fc ( ea . data . columns ) ) ; else throw Error ( "url or rows or columns is required." ) ; return k } } ) ( window ) ;
b + " -bar -bar-" + b } function ce ( a , b ) { return "region region-" + b + " " + ( "classes" in a ? [ ] . concat ( a . classes ) . join ( " " ) : "" ) } function Nc ( a , b ) { return "event-rect event-rect-" + b } function de ( a ) { return a . value || 0 === a . value ? Oc ( a ) ? 0.5 : 1 : 0 } function Aa ( a ) { return a ? m ( a . x ) : null } function Ta ( a ) { return m ( D ? qa ( a . value ) : a . value ) } function Ua ( a ) { return z ( a . value ) } function Pc ( a ) { return U ( a . x ) } function Qc ( a , b ) { var c , d = a [ b ] . x , f = [ ] ; for ( c = b - 1 ; 0 <= c && d === a [ c ] . x ; c -- ) f . push ( a [ c ] ) ; for ( c = b ; c < a . length && d === a [ c ] . x ; c ++ ) f . push ( a [ c ] ) ; return f }
function Rc ( a , b , c , d ) { c = c ? c : 0 ; d = d ? d : a . length - 1 ; var f = Math . floor ( ( d - c ) / 2 ) + c ; 0 < m ( a [ f ] . x ) - b [ 0 ] ? d = f : c = f ; return 1 === d - c ? ( f = [ ] , a [ c ] . x && ( f = f . concat ( Qc ( a , c ) ) ) , a [ d ] . x && ( f = f . concat ( Qc ( a , d ) ) ) , Sc ( f , b ) ) : Rc ( a , b , c , d ) } function Tc ( a , b ) { var c ; c = a . map ( function ( a ) { return Rc ( a . values , b ) } ) ; return Sc ( c , b ) } function Sc ( a , b ) { var c , d ; a . forEach ( function ( a ) { var e = Tb ( a , b ) ; if ( e < c || ! c ) c = e , d = a } ) ; return d } function Uc ( a , b ) { var c , d , f , e , g ; e = a . filter ( function ( a ) { return a && ( a . value || 0 === a . value ) } ) ; Vc && 0 !== e . length && ( V . html ( Wc ( a ) ) . style ( "visibility" ,
"hidden" ) . style ( "display" , "block" ) , c = V . property ( "offsetWidth" ) , d = V . property ( "offsetHeight" ) , h ? e = b [ 0 ] : ( f = n . property ( "offsetLeft" ) , e = f + ( bb ? bb : cb ? 1 : 40 ) + m ( e [ 0 ] . x ) + 20 , g = e + c , f = f + ( Ka ? Ka : Q ( ) ) - ( db ? db : Db ? eb || h ? 1 : 40 : 1 ) , g > f && ( e -= c + 30 ) ) , c = b [ 1 ] + 15 + d < fa ( ) ? b [ 1 ] + 15 : b [ 1 ] - d , V . style ( "top" , c + "px" ) . style ( "left" , e + "px" ) . style ( "visibility" , "visible" ) ) } function Xc ( a ) { a = a . filter ( function ( a ) { return a && ( a . value || 0 === a . value ) } ) ; Vc && ( ia ( k . data . targets , "scatter" ) || E ( k . data . targets ) || l . selectAll ( "line.xgrid-focus" ) . style ( "visibility" ,
"visible" ) . data ( [ a [ 0 ] ] ) . attr ( h ? "y1" : "x1" , Aa ) . attr ( h ? "y2" : "x2" , Aa ) ) } function Yc ( ) { l . select ( "line.xgrid-focus" ) . style ( "visibility" , "hidden" ) } function Ba ( a ) { return a . x || 0 === a . x ? m ( a . x ) : null } function Ca ( a ) { return u ( a . id ) ( a . value ) } function ee ( ) { var a = { } , b = 0 , c , d ; ob ( sb ) . forEach ( function ( f ) { for ( c = 0 ; c < w . length ; c ++ ) if ( ! ( 0 > w [ c ] . indexOf ( f . id ) ) ) for ( d = 0 ; d < w [ c ] . length ; d ++ ) if ( w [ c ] [ d ] in a ) { a [ f . id ] = a [ w [ c ] [ d ] ] ; break } y ( a [ f . id ] ) && ( a [ f . id ] = b ++ ) } ) ; a . _ _max _ _ = b - 1 ; return a } function fe ( a , b , c , d ) { var f = d ? U : m ; return b ? function ( d ) { var e =
d . id in c ? c [ d . id ] : 0 ; return d . x || 0 === d . x ? f ( d . x ) - a * ( b / 2 - e ) : 0 } : function ( ) { return 0 } } function ge ( a ) { return function ( b ) { return ( a ? B ( b . id ) : u ( b . id ) ) ( b . value ) } } function he ( a , b ) { var c = Object . keys ( a ) ; return function ( d , f ) { var e = b ? B ( d . id ) : u ( d . id ) , g = e ( 0 ) , h = g ; ob ( sb ) . forEach ( function ( b ) { b . id !== d . id && a [ b . id ] === a [ d . id ] && c . indexOf ( b . id ) < c . indexOf ( d . id ) && 0 < b . values [ f ] . value * d . value && ( h += e ( b . values [ f ] . value ) - g ) } ) ; return h } } function ca ( a , b ) { var c = y ( a ) ? Ra ( ) : a ; "string" === typeof c && ( c = [ c ] ) ; for ( var d = 0 ; d < c . length ; d ++ ) Ub [ c [ d ] ] =
b === A [ c [ d ] ] , A [ c [ d ] ] = b } function ia ( a , b ) { var c = ! 1 ; a . forEach ( function ( a ) { A [ a . id ] === b && ( c = ! 0 ) ; a . id in A || "line" !== b || ( c = ! 0 ) } ) ; return c } function Va ( a ) { return Ub [ a . id ] ? 1 : 0 } function E ( a ) { return ia ( a , "pie" ) || ia ( a , "donut" ) } function Vb ( a ) { a = "string" === typeof a ? a : a . id ; return ! ( a in A ) || "line" === A [ a ] || "spline" === A [ a ] || "area" === A [ a ] || "area-spline" === A [ a ] } function Zc ( a ) { a = "string" === typeof a ? a : a . id ; return "spline" === A [ a ] || "area-spline" === A [ a ] } function sb ( a ) { return "bar" === A [ "string" === typeof a ? a : a . id ] } function Oc ( a ) { return "scatter" ===
A [ "string" === typeof a ? a : a . id ] } function $c ( a ) { return "pie" === A [ "string" === typeof a ? a : a . id ] } function Pb ( a ) { return "donut" === A [ "string" === typeof a ? a : a . id ] } function ad ( a ) { return sb ( a ) ? a . values : [ ] } function ie ( a ) { return Vb ( a ) || Oc ( a ) ? a . values : [ ] } function qa ( a ) { var b ; if ( ! a ) throw Error ( a + " can not be parsed as d3.time with format " + Wb + ". Maybe 'x' of this data is not defined. See data.x or data.xs option." ) ; b = e . time . format ( Wb ) . parse ( a ) ; if ( ! b ) throw Error ( "Failed to parse '" + a + "' with format " + Wb ) ; return b } function bd ( a ,
b ) { var c = e . mouse ( a ) , d = e . select ( a ) , f = 1 * d . attr ( "cx" ) , d = 1 * d . attr ( "cy" ) ; return Math . sqrt ( Math . pow ( f - c [ 0 ] , 2 ) + Math . pow ( d - c [ 1 ] , 2 ) ) < b } function cd ( a ) { var b = e . mouse ( a ) , c = e . select ( a ) ; a = 1 * c . attr ( "x" ) ; var d = 1 * c . attr ( "y" ) , c = 1 * c . attr ( "width" ) ; return a - 10 < b [ 0 ] && b [ 0 ] < a + c + 10 && d - 10 < b [ 1 ] } function je ( a , b ) { var c ; for ( c = 0 ; c < b . length ; c ++ ) if ( b [ c ] . start < a && a <= b [ c ] . end ) return ! 0 ; return ! 1 } function Ud ( a , b ) { var c = ! 1 ; Object . keys ( a ) . forEach ( function ( d ) { a [ d ] === b && ( c = ! 0 ) } ) ; return c } function Tb ( a , b ) { return Math . pow ( m ( a . x ) - b [ 0 ] , 2 ) + Math . pow ( z ( a . value ) -
b [ 1 ] , 2 ) } function dd ( a , b , c ) { ke ( a , b ) ; l . select ( ".selected-circles-" + b . id ) . selectAll ( ".selected-circle-" + c ) . data ( [ b ] ) . enter ( ) . append ( "circle" ) . attr ( "class" , function ( ) { return "selected-circle selected-circle-" + c } ) . attr ( "cx" , h ? Ca : Ba ) . attr ( "cy" , h ? Ba : Ca ) . attr ( "stroke" , function ( ) { return N ( b . id ) } ) . attr ( "r" , 1.4 * Wa ) . transition ( ) . duration ( 100 ) . attr ( "r" , Wa ) } function Xb ( a , b , c ) { le ( a , b ) ; l . select ( ".selected-circles-" + b . id ) . selectAll ( ".selected-circle-" + c ) . transition ( ) . duration ( 100 ) . attr ( "r" , 0 ) . remove ( ) } function ed ( a ,
b , c , d ) { a ? dd ( b , c , d ) : Xb ( b , c , d ) } function me ( ) { } function fd ( ) { } function gd ( a , b , c , d ) { } function Yb ( a ) { return a . filter ( function ( a ) { return a . value || 0 === a . value } ) } function Zb ( a , b ) { return ( b ? l . selectAll ( ".-circles-" + b ) : l ) . selectAll ( ".-circle" + ( a || 0 === a ? "-" + a : "" ) ) } function $b ( a ) { Zb ( a ) . filter ( function ( ) { return e . select ( this ) . classed ( da ) } ) . classed ( da , ! 1 ) . attr ( "r" , ac ) } function hd ( a ) { return l . selectAll ( ".-bar" + ( a || 0 === a ? "-" + a : "" ) ) } function ne ( a , b , c , d ) { var f , e , g = "M" , k , l , m , id , n , sa = [ ] ; if ( v ( d ) ) for ( f = 0 ; f < d . length ; f ++ ) sa [ f ] =
{ } , y ( d [ f ] . start ) ? sa [ f ] . start = a [ 0 ] . x : sa [ f ] . start = D ? qa ( d [ f ] . start ) : d [ f ] . start , y ( d [ f ] . end ) ? sa [ f ] . end = a [ a . length - 1 ] . x : sa [ f ] . end = D ? qa ( d [ f ] . end ) : d [ f ] . end ; id = h ? function ( a ) { return c ( a . value ) } : function ( a ) { return b ( a . x ) } ; n = h ? function ( a ) { return b ( a . x ) } : function ( a ) { return c ( a . value ) } ; d = D ? function ( a , d , f , e ) { var g = a . x . getTime ( ) ; a = d . x - a . x ; d = new Date ( g + a * ( f + e ) ) ; return "M" + b ( new Date ( g + a * f ) ) + " " + c ( l ( f ) ) + " " + b ( d ) + " " + c ( l ( f + e ) ) } : function ( a , d , f , e ) { return "M" + b ( k ( f ) ) + " " + c ( l ( f ) ) + " " + b ( k ( f + e ) ) + " " + c ( l ( f + e ) ) } ; for ( f = 0 ; f < a . length ; f ++ ) if ( y ( sa ) ||
! je ( a [ f ] . x , sa ) ) g += " " + id ( a [ f ] ) + " " + n ( a [ f ] ) ; else { k = ha ( a [ f - 1 ] . x , a [ f ] . x ) ; l = I ( a [ f - 1 ] . value , a [ f ] . value ) ; e = b ( a [ f ] . x ) - b ( a [ f - 1 ] . x ) ; m = c ( a [ f ] . value ) - c ( a [ f - 1 ] . value ) ; e = Math . sqrt ( Math . pow ( e , 2 ) + Math . pow ( m , 2 ) ) ; m = 2 / e ; var p = 2 * m ; for ( e = m ; 1 >= e ; e += p ) g += d ( a [ f - 1 ] , a [ f ] , e , m ) } return g } function bc ( a ) { var b ; tb = e . select ( xa ) ; if ( tb . empty ( ) ) O . alert ( 'No bind element found. Check the selector specified by "bindto" and existance of that element. Default "bindto" is "#chart".' ) ; else { tb . html ( "" ) ; k . data . x = { } ; k . data . targets = Qa ( a ) ; va ( ) ;
Y ( ) ; m . domain ( e . extent ( pb ( k . data . targets ) ) ) ; z . domain ( nb ( "y" ) ) ; aa . domain ( nb ( "y2" ) ) ; U . domain ( m . domain ( ) ) ; ib . domain ( z . domain ( ) ) ; jb . domain ( aa . domain ( ) ) ; J . ticks ( 10 > a . length ? a . length : 10 ) ; za . ticks ( oe ) . outerTickSize ( 0 ) . tickFormat ( cc ) ; kb . ticks ( pe ) . outerTickSize ( 0 ) . tickFormat ( qe ) ; T = m . domain ( ) ; K . scale ( U ) ; ta && F . scale ( m ) ; n = e . select ( xa ) . append ( "svg" ) . attr ( "width" , r + C + $ ) . attr ( "height" , s + q + M ) . on ( "mouseenter" , re ) . on ( "mouseleave" , se ) ; ub = n . append ( "defs" ) ; ub . append ( "clipPath" ) . attr ( "id" , dc ) . append ( "rect" ) . attr ( "y" , q ) . attr ( "width" ,
r ) . attr ( "height" , s - q ) ; ub . append ( "clipPath" ) . attr ( "id" , "xaxis-clip" ) . append ( "rect" ) . attr ( "x" , - 1 - C ) . attr ( "y" , - 20 ) . attr ( "width" , W ) . attr ( "height" , oa ) ; ub . append ( "clipPath" ) . attr ( "id" , "yaxis-clip" ) . append ( "rect" ) . attr ( "x" , - C + 1 ) . attr ( "y" , q - 1 ) . attr ( "width" , Ab ) . attr ( "height" , xd ) ; l = n . append ( "g" ) . attr ( "transform" , L . main ) ; G = Da ? n . append ( "g" ) . attr ( "transform" , L . context ) : null ; Ea = Fa ? n . append ( "g" ) . attr ( "transform" , L . legend ) : null ; V = e . select ( xa ) . style ( "position" , "relative" ) . append ( "div" ) . style ( "position" , "absolute" ) . style ( "z-index" ,
"10" ) . style ( "display" , "none" ) ; l . append ( "g" ) . attr ( "class" , "x axis" ) . attr ( "clip-path" , h ? "" : "url(" + document . URL + "#xaxis-clip)" ) . attr ( "transform" , L . x ) . call ( h ? za : J ) . append ( "text" ) . attr ( "class" , "-axis-x-label" ) . attr ( "x" , r ) . attr ( "dy" , "-.5em" ) . style ( "text-anchor" , "end" ) . text ( te ) ; l . append ( "g" ) . attr ( "class" , "y axis" ) . attr ( "clip-path" , h ? "url(" + document . URL + "#yaxis-clip)" : "" ) . call ( h ? J : za ) . append ( "text" ) . attr ( "transform" , "rotate(-90)" ) . attr ( "dy" , "1.2em" ) . attr ( "dx" , "-.5em" ) . style ( "text-anchor" , "end" ) . text ( ue ) ;
Db && l . append ( "g" ) . attr ( "class" , "y2 axis" ) . attr ( "transform" , L . y2 ) . call ( kb ) ; a = l . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "grid" ) ; jd && a . append ( "g" ) . attr ( "class" , "xgrids" ) ; ec && ( b = a . append ( "g" ) . attr ( "class" , "xgrid-lines" ) . selectAll ( ".xgrid-line" ) . data ( ec ) . enter ( ) . append ( "g" ) . attr ( "class" , "xgrid-line" ) , b . append ( "line" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) , b . append ( "text" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) . attr ( "text-anchor" , "end" ) . attr ( "transform" , h ? "" : "rotate(-90)" ) . attr ( "dx" ,
h ? 0 : - q ) . attr ( "dy" , - 5 ) . text ( function ( a ) { return a . text } ) ) ; ve && a . append ( "g" ) . attr ( "class" , "xgrid-focus" ) . append ( "line" ) . attr ( "class" , "xgrid-focus" ) . attr ( "x1" , h ? 0 : - 10 ) . attr ( "x2" , h ? r : - 10 ) . attr ( "y1" , h ? - 10 : q ) . attr ( "y2" , h ? - 10 : s ) ; kd && a . append ( "g" ) . attr ( "class" , "ygrids" ) ; fc && ( a = a . append ( "g" ) . attr ( "class" , "ygrid-lines" ) . selectAll ( "ygrid-line" ) . data ( fc ) . enter ( ) . append ( "g" ) . attr ( "class" , "ygrid-line" ) , a . append ( "line" ) . attr ( "class" , function ( a ) { return "" + a [ "class" ] } ) , a . append ( "text" ) . attr ( "class" , function ( a ) { return "" +
a [ "class" ] } ) . attr ( "text-anchor" , "end" ) . attr ( "transform" , h ? "rotate(-90)" : "" ) . attr ( "dx" , h ? 0 : - q ) . attr ( "dy" , - 5 ) . text ( function ( a ) { return a . text } ) ) ; l . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "regions" ) ; l . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "chart" ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "event-rects" ) . style ( "fill-opacity" , 0 ) . style ( "cursor" , ta ? h ? "ns-resize" : "ew-resize" : null ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-bars" ) ; l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) ;
l . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-arcs" ) . attr ( "transform" , L . arc ) . append ( "text" ) . attr ( "class" , "chart-arcs-title" ) . style ( "text-anchor" , "middle" ) . text ( we ) ; if ( ta ) l . insert ( "rect" , xe ? null : "g.grid" ) . attr ( "class" , "zoom-rect" ) . attr ( "width" , r ) . attr ( "height" , s ) . style ( "opacity" , 0 ) . style ( "cursor" , h ? "ns-resize" : "ew-resize" ) . call ( F ) . on ( "dblclick.zoom" , null ) ; null !== vb && K . extent ( "function" !== typeof vb ? vb : vb ( pb ( ) ) ) ; Da && ( G . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "chart" ) , G . select ( ".chart" ) . append ( "g" ) . attr ( "class" ,
"chart-bars" ) , G . select ( ".chart" ) . append ( "g" ) . attr ( "class" , "chart-lines" ) , G . append ( "g" ) . attr ( "clip-path" , Xa ) . attr ( "class" , "x brush" ) . call ( K ) . selectAll ( "rect" ) . attr ( h ? "width" : "height" , h ? Eb : fb ) , G . append ( "g" ) . attr ( "class" , "x axis" ) . attr ( "transform" , L . subx ) . attr ( "clip-path" , h ? "url(" + document . URL + "#yaxis-clip)" : "" ) . call ( hb ) ) ; Fa && wb ( k . data . targets ) ; ld ( k . data . targets ) ; x ( { withTransform : ! 0 , withUpdateXDomain : ! 0 } ) ; if ( ye ) { if ( D && "string" === typeof Ga ) { Ga = qa ( Ga ) ; for ( a = 0 ; a < k . data . targets [ 0 ] . values . length && 0 !== k . data . targets [ 0 ] . values [ a ] . x -
Ga ; a ++ ) ; Ga = a } V . html ( Wc ( k . data . targets . map ( function ( a ) { return rb ( a . values [ Ga ] ) } ) ) ) ; V . style ( "top" , md . top ) . style ( "left" , md . left ) . style ( "display" , "block" ) } null == O . onresize && ( O . onresize = ze ( ) ) ; O . onresize . add && O . onresize . add ( nd ) } } function Ae ( a ) { a . append ( "rect" ) . attr ( "class" , Nc ) . style ( "cursor" , la && ua ? "pointer" : null ) . on ( "mouseover" , function ( a , c ) { if ( ! Ya && ! E ( k . data . targets ) ) { var d = k . data . targets . map ( function ( a ) { return rb ( a . values [ c ] ) } ) , f , e ; if ( 0 < Object . keys ( Pa ) . length ) { e = [ ] ; for ( var g in Pa ) for ( f = 0 ; f < d . length ; f ++ ) if ( d [ f ] . id ===
g ) { e . push ( d [ f ] ) ; d . shift ( f ) ; break } d = e . concat ( d ) } gc && Zb ( c , void 0 ) . classed ( da , ! 0 ) . attr ( "r" , hc ) ; hd ( c ) . classed ( da , ! 1 ) ; Xc ( d ) } } ) . on ( "mouseout" , function ( a , c ) { E ( k . data . targets ) || ( Yc ( ) , V . style ( "display" , "none" ) , $b ( c ) , hd ( void 0 ) . classed ( da , ! 1 ) ) } ) . on ( "mousemove" , function ( a , c ) { var d ; Ya || E ( k . data . targets ) || ( d = k . data . targets . map ( function ( a ) { return rb ( a . values [ c ] ) } ) , Uc ( d , e . mouse ( this ) ) , la && ( ua || l . selectAll ( ".-shape-" + c ) . filter ( function ( a ) { return ma ( a ) } ) . each ( function ( ) { var a = e . select ( this ) . classed ( da , ! 0 ) ; "circle" ===
this . nodeName && a . attr ( "r" , hc ) ; n . select ( ".event-rect-" + c ) . style ( "cursor" , null ) } ) . filter ( function ( ) { var a = e . select ( this ) ; if ( "circle" === this . nodeName ) return bd ( this , Wa ) ; if ( "rect" === this . nodeName ) return cd ( this , a . attr ( "x" ) , a . attr ( "y" ) ) } ) . each ( function ( ) { var a = e . select ( this ) ; a . classed ( da ) || ( a . classed ( da , ! 0 ) , "circle" === this . nodeName && a . attr ( "r" , Wa ) ) ; n . select ( ".event-rect-" + c ) . style ( "cursor" , "pointer" ) } ) ) ) } ) . on ( "click" , function ( a , c ) { E ( k . data . targets ) || ( ic ? ic = ! 1 : l . selectAll ( ".-shape-" + c ) . each ( function ( a ) { od ( this ,
a , c ) } ) ) } ) . call ( e . behavior . drag ( ) . origin ( Object ) . on ( "drag" , function ( ) { pd ( e . mouse ( this ) ) } ) . on ( "dragstart" , function ( ) { qd ( e . mouse ( this ) ) } ) . on ( "dragend" , function ( ) { rd ( ) } ) ) . call ( F ) . on ( "dblclick.zoom" , null ) } function Be ( a ) { a . append ( "rect" ) . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "width" , r ) . attr ( "height" , s ) . attr ( "class" , "event-rect" ) . on ( "mouseout" , function ( ) { E ( k . data . targets ) || ( Yc ( ) , V . style ( "display" , "none" ) , $b ( ) ) } ) . on ( "mousemove" , function ( ) { var a , c , d ; Ya || E ( k . data . targets ) || ( a = e . mouse ( this ) , c = Tc ( k . data . targets , a ) , d =
[ rb ( c ) ] , Uc ( d , a ) , gc && ( $b ( ) , Zb ( c . index , c . id ) . classed ( da , ! 0 ) . attr ( "r" , hc ) ) , Xc ( d ) , 100 > Tb ( c , a ) ? n . select ( ".event-rect" ) . style ( "cursor" , "pointer" ) : n . select ( ".event-rect" ) . style ( "cursor" , null ) ) } ) . on ( "click" , function ( ) { var a , c ; E ( k . data . targets ) || ( a = e . mouse ( this ) , c = Tc ( k . data . targets , a ) , 100 > Tb ( c , a ) && l . select ( ".-circles-" + c . id ) . select ( ".-circle-" + c . index ) . each ( function ( ) { od ( this , c , c . index ) } ) ) } ) . call ( e . behavior . drag ( ) . origin ( Object ) . on ( "drag" , function ( ) { pd ( e . mouse ( this ) ) } ) . on ( "dragstart" , function ( ) { qd ( e . mouse ( this ) ) } ) . on ( "dragend" ,
function ( ) { rd ( ) } ) ) . call ( F ) . on ( "dblclick.zoom" , null ) } function od ( a , b , c ) { var d = e . select ( a ) , f = d . classed ( na ) , g = ! 1 , h ; "circle" === a . nodeName ? ( g = bd ( a , 1.5 * Wa ) , h = ed ) : "rect" === a . nodeName && ( g = cd ( a ) , h = gd ) ; if ( ua || g ) la && ma ( b ) && ( d . classed ( na , ! f ) , h ( ! f , d , b , c ) ) , Ce ( b , d ) } function pd ( a ) { var b , c , d , f , g , h , m ; E ( k . data . targets ) || ! la || ta && ! F . altDomain || ( b = jc [ 0 ] , c = jc [ 1 ] , d = a [ 0 ] , a = a [ 1 ] , f = Math . min ( b , d ) , g = Math . max ( b , d ) , h = ua ? q : Math . min ( c , a ) , m = ua ? s : Math . max ( c , a ) , l . select ( ".dragarea" ) . attr ( "x" , f ) . attr ( "y" , h ) . attr ( "width" , g - f ) . attr ( "height" ,
m - h ) , l . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . filter ( function ( a ) { return ma ( a ) } ) . each ( function ( a , b ) { var c = e . select ( this ) , d = c . classed ( na ) , k = c . classed ( kc ) , l , n , p , q ; l = ! 1 ; "circle" === this . nodeName ? ( l = 1 * c . attr ( "cx" ) , n = 1 * c . attr ( "cy" ) , q = ed , l = f < l && l < g && h < n && n < m ) : "rect" === this . nodeName && ( l = 1 * c . attr ( "x" ) , n = 1 * c . attr ( "y" ) , p = 1 * c . attr ( "width" ) , q = gd , l = f < l + p && l < g && n < m ) ; l ^ k && ( c . classed ( kc , ! k ) , c . classed ( na , ! d ) , q ( ! d , c , a , b ) ) } ) ) } function qd ( a ) { ! E ( k . data . targets ) && la && ( jc = a , l . select ( ".chart" ) . append ( "rect" ) . attr ( "class" ,
"dragarea" ) . style ( "opacity" , 0.1 ) , Ya = ! 0 ) } function rd ( ) { ! E ( k . data . targets ) && la && ( l . select ( ".dragarea" ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0 ) . remove ( ) , l . selectAll ( ".-shape" ) . classed ( kc , ! 1 ) , Ya = ! 1 ) } function x ( a ) { var b , c , d , f ; d = ee ( ) ; var g , t , n , p = E ( k . data . targets ) ; a = v ( a ) ? a : { } ; c = v ( a . withY ) ? a . withY : ! 0 ; f = v ( a . withSubchart ) ? a . withSubchart : ! 0 ; t = v ( a . withTransition ) ? a . withTransition : ! 0 ; n = v ( a . withTransform ) ? a . withTransform : ! 1 ; b = v ( a . withUpdateXDomain ) ? a . withUpdateXDomain : ! 1 ; a = v ( a . withUpdateOrgXDomain ) ? a . withUpdateOrgXDomain :
! 1 ; t = t ? De : 0 ; a && ( m . domain ( e . extent ( pb ( k . data . targets ) ) ) , T = m . domain ( ) , F . scale ( m ) . updateScaleExtent ( ) , U . domain ( m . domain ( ) ) , K . scale ( U ) ) ; b && ( m . domain ( K . empty ( ) ? T : K . extent ( ) ) , ta && F . scale ( m ) . updateScaleExtent ( ) ) ; z . domain ( nb ( "y" ) ) ; aa . domain ( nb ( "y2" ) ) ; l . select ( ".x.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . duration ( h ? t : 0 ) . call ( h ? za : J ) ; l . select ( ".y.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . duration ( h ? 0 : t ) . call ( h ? J : za ) ; l . select ( ".y2.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . call ( kb ) ; l . select ( ".x.axis .-axis-x-label" ) . attr ( "x" ,
r ) ; ib . domain ( z . domain ( ) ) ; jb . domain ( aa . domain ( ) ) ; V . style ( "display" , "none" ) ; l . select ( "line.xgrid-focus" ) . style ( "visibility" , "hidden" ) . attr ( "y2" , s ) ; if ( jd ) { if ( "year" === Ee ) { b = [ ] ; var u = pb ( ) ; a = u [ 0 ] . getFullYear ( ) ; for ( u = u [ 1 ] . getFullYear ( ) ; a <= u ; a ++ ) b . push ( new Date ( a + "-01-01 00:00:00" ) ) } else b = m . ticks ( 10 ) ; b = l . select ( ".xgrids" ) . selectAll ( ".xgrid" ) . data ( b ) ; b . enter ( ) . append ( "line" ) . attr ( "class" , "xgrid" ) ; b . attr ( "x1" , h ? 0 : function ( a ) { return m ( a ) - J . tickOffset ( ) } ) . attr ( "x2" , h ? r : function ( a ) { return m ( a ) - J . tickOffset ( ) } ) . attr ( "y1" ,
h ? function ( a ) { return m ( a ) - J . tickOffset ( ) } : q ) . attr ( "y2" , h ? function ( a ) { return m ( a ) - J . tickOffset ( ) } : s ) . style ( "opacity" , function ( ) { return + e . select ( this ) . attr ( h ? "y1" : "x1" ) === ( h ? s : 0 ) ? 0 : 1 } ) ; b . exit ( ) . remove ( ) } ec && ( b = l . selectAll ( ".xgrid-lines" ) , b . selectAll ( "line" ) . transition ( ) . duration ( t ) . attr ( "x1" , h ? 0 : Ta ) . attr ( "x2" , h ? r : Ta ) . attr ( "y1" , h ? Ta : q ) . attr ( "y2" , h ? Ta : s ) , b . selectAll ( "text" ) . attr ( "x" , h ? r : 0 ) . attr ( "y" , Ta ) ) ; c && kd && ( b = l . select ( ".ygrids" ) . selectAll ( ".ygrid" ) . data ( z . ticks ( 10 ) ) , b . enter ( ) . append ( "line" ) . attr ( "class" ,
"ygrid" ) , b . attr ( "x1" , h ? z : 0 ) . attr ( "x2" , h ? z : r ) . attr ( "y1" , h ? 0 : z ) . attr ( "y2" , h ? s : z ) , b . exit ( ) . remove ( ) ) ; c && fc && ( c = l . select ( ".ygrid-lines" ) , c . selectAll ( "line" ) . transition ( ) . duration ( t ) . attr ( "x1" , h ? Ua : 0 ) . attr ( "x2" , h ? Ua : r ) . attr ( "y1" , h ? 0 : Ua ) . attr ( "y2" , h ? s : Ua ) , c . selectAll ( "text" ) . attr ( "x" , h ? 0 : r ) . attr ( "y" , Ua ) ) ; c = l . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( ad ) ; c . enter ( ) . append ( "path" ) . attr ( "d" , xb ( d , ! 1 ) ) . style ( "stroke" , "none" ) . style ( "opacity" , 0 ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . attr ( "class" , Mc ) ; c . style ( "opacity" ,
Va ) . transition ( ) . duration ( t ) . attr ( "d" , xb ( d , ! 1 ) ) . style ( "opacity" , 1 ) ; c . exit ( ) . transition ( ) . duration ( t ) . style ( "opacity" , 0 ) . remove ( ) ; l . selectAll ( ".-line" ) . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" , Fe ) . style ( "opacity" , 1 ) ; l . selectAll ( ".-area" ) . style ( "opacity" , 0 ) . transition ( ) . duration ( t ) . attr ( "d" , Ge ) . style ( "opacity" , sd ) ; c = l . selectAll ( ".-circles" ) . selectAll ( ".-circle" ) . data ( ie ) ; c . enter ( ) . append ( "circle" ) . attr ( "class" , be ) . style ( "opacity" , 0 ) . attr ( "r" , ac ) ; c . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . style ( "opacity" ,
de ) . attr ( "cx" , h ? Ca : Ba ) . attr ( "cy" , h ? Ba : Ca ) ; c . exit ( ) . remove ( ) ; l . selectAll ( ".chart-arc" ) . select ( ".-arc" ) . attr ( "transform" , n ? "scale(0)" : "" ) . style ( "opacity" , function ( a ) { return a === this . _current ? 0 : 1 } ) . transition ( ) . duration ( t ) . attrTween ( "d" , function ( a ) { a = Z ( a ) ; if ( ! a ) return function ( ) { return "M 0 0" } ; var b = e . interpolate ( this . _current , a ) ; this . _current = b ( 0 ) ; return function ( a ) { a = b ( a ) ; return $c ( a . data ) || Pb ( a . data ) ? lb ( a , ! 0 ) : "M 0 0" } } ) . attr ( "transform" , n ? "scale(1)" : "" ) . style ( "opacity" , 1 ) ; l . selectAll ( ".chart-arc" ) . select ( "text" ) . attr ( "transform" ,
zb ) . style ( "opacity" , 0 ) . transition ( ) . duration ( t ) . text ( yd ) . style ( "opacity" , function ( a ) { return $c ( a . data ) || Pb ( a . data ) ? 1 : 0 } ) ; l . select ( ".chart-arcs-title" ) . style ( "opacity" , ia ( k . data . targets , "donut" ) ? 1 : 0 ) ; Da && ( null !== e . event && "zoom" === e . event . type && K . extent ( m . orgDomain ( ) ) . update ( ) , f && ( G . select ( ".x.axis" ) . style ( "opacity" , p ? 0 : 1 ) . transition ( ) . duration ( h ? t : 0 ) . call ( hb ) , K . empty ( ) || K . extent ( m . orgDomain ( ) ) . update ( ) , f = G . selectAll ( ".-bars" ) . selectAll ( ".-bar" ) . data ( ad ) , f . enter ( ) . append ( "path" ) . attr ( "d" , xb ( d ) ) . style ( "stroke" ,
"none" ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . attr ( "class" , Mc ) , f . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" , xb ( d ) ) . style ( "opacity" , 1 ) , f . exit ( ) . transition ( ) . duration ( t ) . style ( "opacity" , 0 ) . remove ( ) , G . selectAll ( ".-line" ) . style ( "opacity" , Va ) . transition ( ) . duration ( t ) . attr ( "d" , He ) . style ( "opacity" , 1 ) ) ) ; l . selectAll ( ".selected-circles" ) . filter ( function ( a ) { return sb ( a ) } ) . selectAll ( "circle" ) . remove ( ) ; l . selectAll ( ".selected-circle" ) . transition ( ) . duration ( t ) . attr ( "cx" , h ? Ca : Ba ) . attr ( "cy" , h ? Ba : Ca ) ;
ba ? ( f = l . select ( ".event-rects" ) . selectAll ( ".event-rect" ) . data ( [ 0 ] ) , Be ( f . enter ( ) ) , f . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "width" , r ) . attr ( "height" , s ) ) : ( Sb ? ( g = function ( a , b ) { var c = Hc ( b ) , d = b < gb ( ) - 1 ? k . data . targets [ 0 ] . values [ b + 1 ] . x : void 0 ; return ( m ( d ? d : a . x + 50 ) - m ( c ? c : a . x - 50 ) ) / 2 } , d = function ( a , b ) { var c = Hc ( b ) ; return ( m ( a . x ) + m ( c ? c : a . x - 50 ) ) / 2 } ) : ( g = X ( ) , d = function ( a ) { return m ( a . x ) - g / 2 } ) , f = Yd ( ) , l . select ( ".event-rects" ) . datum ( f ? f . values : [ ] ) , f = l . select ( ".event-rects" ) . selectAll ( ".event-rect" ) . data ( function ( a ) { return a } ) , Ae ( f . enter ( ) ) ,
f . attr ( "class" , Nc ) . attr ( "x" , h ? 0 : d ) . attr ( "y" , h ? d : 0 ) . attr ( "width" , h ? r : g ) . attr ( "height" , h ? g : s ) , f . exit ( ) . remove ( ) ) ; d = l . select ( ".regions" ) . selectAll ( "rect.region" ) . data ( P ) ; d . enter ( ) . append ( "rect" ) ; d . attr ( "class" , ce ) . attr ( "x" , h ? 0 : Rb ) . attr ( "y" , h ? Rb : q ) . attr ( "width" , h ? r : Cc ) . attr ( "height" , h ? Cc : s ) . style ( "fill-opacity" , function ( a ) { return v ( a . opacity ) ? a . opacity : 0.1 } ) ; d . exit ( ) . transition ( ) . duration ( t ) . style ( "fill-opacity" , 0 ) . remove ( ) ; Ra ( ) . forEach ( function ( a ) { Ub [ a ] = ! 0 } ) } function Ie ( ) { "mousemove" === e . event . sourceEvent . type &&
F . altDomain ? ( m . domain ( F . altDomain ) , F . scale ( m ) . updateScaleExtent ( ) ) : ( ja && m . orgDomain ( ) [ 0 ] === T [ 0 ] && m . domain ( [ T [ 0 ] - 1E-10 , m . orgDomain ( ) [ 1 ] ] ) , x ( { withTransition : ! 1 , withY : ! 1 , withSubchart : ! 1 } ) , "mousemove" === e . event . sourceEvent . type && ( ic = ! 0 ) ) } function ze ( ) { function a ( ) { b . forEach ( function ( a ) { a ( ) } ) } var b = [ ] ; a . add = function ( a ) { b . push ( a ) } ; return a } function nd ( ) { va ( ) ; Y ( ) ; K . scale ( U ) ; ta && F . scale ( m ) ; n . attr ( "width" , Bb ) . attr ( "height" , wa ) ; n . select ( "#" + dc ) . select ( "rect" ) . attr ( "width" , r ) . attr ( "height" , s ) ; n . select ( "#xaxis-clip" ) . select ( "rect" ) . attr ( "width" ,
W ) ; n . select ( ".zoom-rect" ) . attr ( "width" , r ) . attr ( "height" , s ) ; l . select ( ".x.axis" ) . attr ( "transform" , L . x ) ; l . select ( ".y2.axis" ) . attr ( "transform" , L . y2 ) ; l . select ( ".chart-arcs" ) . attr ( "transform" , L . arc ) ; Da && ( G . attr ( "transform" , L . context ) , G . select ( ".x.axis" ) . attr ( "transform" , L . subx ) ) ; Fa && ( Ea . attr ( "transform" , L . legend ) , wb ( k . data . targets , { withTransition : ! 1 } ) ) ; x ( { withTransition : ! 1 , withUpdateXDomain : ! 0 } ) } function ld ( a ) { var b ; l . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" ,
function ( a ) { return "chart-bar target target-" + a . id } ) . style ( "pointer-events" , "none" ) . append ( "g" ) . attr ( "class" , Lc ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . style ( "stroke" , "none" ) . style ( "cursor" , function ( a ) { return ma ( a ) ? "pointer" : null } ) ; b = l . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-line target target-" + a . id } ) . style ( "pointer-events" , "none" ) ; b . append ( "path" ) . attr ( "class" , Kc ) . style ( "opacity" , 0 ) . style ( "stroke" , function ( a ) { return N ( a . id ) } ) ;
b . append ( "path" ) . attr ( "class" , ae ) . style ( "opacity" , function ( ) { sd = + e . select ( this ) . style ( "opacity" ) ; return 0 } ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) ; b . append ( "g" ) . attr ( "class" , function ( a ) { return "selected-circles selected-circles-" + a . id } ) ; b . append ( "g" ) . attr ( "class" , Zd ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) . style ( "cursor" , function ( a ) { return ma ( a ) ? "pointer" : null } ) ; a . forEach ( function ( a ) { var b = yb ( a . id ) ; l . selectAll ( ".selected-circles" + b ) . selectAll ( ".selected-circle" ) . each ( function ( b ) { b . value = a . values [ b . x ] . value } ) } ) ;
b = l . select ( ".chart-arcs" ) . selectAll ( ".chart-arc" ) . data ( Ob ( a ) ) . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-arc target target-" + a . data . id } ) ; b . append ( "path" ) . attr ( "class" , $d ) . style ( "opacity" , 0 ) . style ( "fill" , function ( a ) { return N ( a . data . id ) } ) . style ( "cursor" , function ( a ) { return ma ( a ) ? "pointer" : null } ) . each ( function ( a ) { this . _current = a } ) . on ( "mouseover" , function ( a ) { yc ( a . data . id ) ; lc ( a . data . id ) } ) . on ( "mouseout" , function ( a ) { Qb ( a . data . id ) ; mc ( ) } ) ; b . append ( "text" ) . attr ( "dy" , ".35em" ) . style ( "opacity" , 0 ) . style ( "text-anchor" ,
"middle" ) . style ( "pointer-events" , "none" ) ; Da && ( b = G . select ( ".chart-bars" ) . selectAll ( ".chart-bar" ) . data ( a ) , b = b . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-bar target target-" + a . id } ) , b . append ( "g" ) . attr ( "class" , Lc ) . style ( "fill" , function ( a ) { return N ( a . id ) } ) , b = G . select ( ".chart-lines" ) . selectAll ( ".chart-line" ) . data ( a ) , b = b . enter ( ) . append ( "g" ) . attr ( "class" , function ( a ) { return "chart-line target target-" + a . id } ) , b . append ( "path" ) . attr ( "class" , Kc ) . style ( "opacity" , 0 ) . style ( "stroke" , function ( a ) { return N ( a . id ) } ) ) ;
Fa && wb ( a ) ; n . selectAll ( ".target" ) . transition ( ) . style ( "opacity" , 1 ) } function Za ( a , b ) { k . data . targets . forEach ( function ( b ) { for ( var d = 0 ; d < a . length ; d ++ ) if ( b . id === a [ d ] . id ) { b . values = a [ d ] . values ; a . splice ( d , 1 ) ; break } } ) ; k . data . targets = k . data . targets . concat ( a ) ; ld ( k . data . targets ) ; x ( { withUpdateOrgXDomain : ! 0 , withUpdateXDomain : ! 0 } ) ; b ( ) } function lc ( a ) { var b = n . selectAll ( ".legend-item" ) , c = function ( b ) { return ! a || b === a } ; b . filter ( function ( a ) { return ! c ( a ) } ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) ; b . filter ( c ) . transition ( ) . duration ( 100 ) . style ( "opacity" ,
1 ) } function Je ( a ) { var b = n . selectAll ( ".legend-item" ) , c = function ( b ) { return ! a || b === a } ; b . filter ( function ( a ) { return ! c ( a ) } ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; b . filter ( c ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) } function mc ( ) { n . selectAll ( ".legend-item" ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) } function wb ( a , b ) { var c = Ra ( a ) , d , e = r / 2 - $a * Object . keys ( a ) . length / 2 , g ; b = y ( b ) ? { } : b ; g = v ( b . withTransition ) ? b . withTransition : ! 0 ; d = Ea . selectAll ( ".legend-item" ) . data ( c ) . enter ( ) . append ( "g" ) . attr ( "class" ,
function ( a ) { return "legend-item legend-item-" + a } ) . style ( "cursor" , "pointer" ) . on ( "click" , function ( a ) { Ke ( a ) } ) . on ( "mouseover" , function ( a ) { lc ( a ) ; k . focus ( a ) } ) . on ( "mouseout" , function ( ) { mc ( ) ; k . revert ( ) } ) ; d . append ( "rect" ) . attr ( "class" , "legend-item-event" ) . style ( "fill-opacity" , 0 ) . attr ( "x" , - 200 ) . attr ( "y" , function ( ) { return pa / 2 - 16 } ) . attr ( "width" , $a ) . attr ( "height" , 24 ) ; d . append ( "rect" ) . attr ( "class" , "legend-item-tile" ) . style ( "pointer-events" , "none" ) . style ( "fill" , function ( a ) { return N ( a ) } ) . attr ( "x" , - 200 ) . attr ( "y" ,
function ( ) { return pa / 2 - 9 } ) . attr ( "width" , 10 ) . attr ( "height" , 10 ) ; d . append ( "text" ) . text ( function ( a ) { return v ( Pa [ a ] ) ? Pa [ a ] : a } ) . style ( "pointer-events" , "none" ) . attr ( "x" , - 200 ) . attr ( "y" , function ( ) { return pa / 2 } ) ; Ea . selectAll ( "rect.legend-item-event" ) . data ( c ) . transition ( ) . duration ( g ? 250 : 0 ) . attr ( "x" , function ( a , b ) { return e + $a * b } ) ; Ea . selectAll ( "rect.legend-item-tile" ) . data ( c ) . transition ( ) . duration ( g ? 250 : 0 ) . attr ( "x" , function ( a , b ) { return e + $a * b } ) ; Ea . selectAll ( "text" ) . data ( c ) . transition ( ) . duration ( g ? 250 : 0 ) . attr ( "x" ,
function ( a , b ) { return e + $a * b + 14 } ) } function yb ( a ) { return a ? "-" + a . replace ( /\./g , "\\." ) : "" } function ka ( a ) { return ".target" + yb ( a ) } function nc ( a ) { return Ic ( a . id ) } function oc ( a ) { return "data" in a && Ic ( a . data . id ) } var k = { data : { } } , qb = { } , da = "_expanded_" , na = "_selected_" , kc = "_included_" , xa = g ( [ "bindto" ] , "#chart" ) , Ka = g ( [ "size" , "width" ] , null ) , Hb = g ( [ "size" , "height" ] , null ) , bb = g ( [ "padding" , "left" ] , null ) , db = g ( [ "padding" , "right" ] , null ) , ta = g ( [ "zoom" , "enabled" ] , ! 1 ) , td = g ( [ "zoom" , "extent" ] , null ) , xe = g ( [ "zoom" , "privileged" ] , ! 1 ) ,
re = g ( [ "onenter" ] , function ( ) { } ) , se = g ( [ "onleave" ] , function ( ) { } ) , De = g ( [ "transition" , "duration" ] , 350 ) ; if ( ! ( "data" in ea ) ) throw Error ( "data is required in config" ) ; var ra = g ( [ "data" , "x" ] , null ) , ba = g ( [ "data" , "xs" ] , null ) , Wb = g ( [ "data" , "x_format" ] , "%Y-%m-%d" ) , Xd = g ( [ "data" , "id_converter" ] , function ( a ) { return a } ) , Pa = g ( [ "data" , "names" ] , { } ) , w = g ( [ "data" , "groups" ] , [ ] ) , xc = g ( [ "data" , "axes" ] , { } ) , Gc = g ( [ "data" , "type" ] , null ) , A = g ( [ "data" , "types" ] , { } ) , ud = g ( [ "data" , "regions" ] , { } ) , Le = g ( [ "data" , "colors" ] , { } ) , la = g ( [ "data" , "selection" ,
"enabled" ] , ! 1 ) , ua = g ( [ "data" , "selection" , "grouped" ] , ! 1 ) , ma = g ( [ "data" , "selection" , "isselectable" ] , function ( ) { return ! 0 } ) , Da = g ( [ "subchart" , "show" ] , ! 1 ) , Cb = Da ? g ( [ "subchart" , "size" , "height" ] , 60 ) : 0 , Me = g ( [ "color" , "pattern" ] , null ) , Fa = g ( [ "legend" , "show" ] , ! 0 ) , $a = g ( [ "legend" , "item" , "width" ] , 80 ) , Ke = g ( [ "legend" , "item" , "onclick" ] , function ( ) { } ) , vd = g ( [ "axis" , "x" , "type" ] , "indexed" ) , Ma = g ( [ "axis" , "x" , "categories" ] , [ ] ) , Dd = g ( [ "axis" , "x" , "tick" , "centered" ] , ! 1 ) , mb = g ( [ "axis" , "x" , "tick" , "format" ] , null ) , vb = g ( [ "axis" , "x" , "default" ] ,
null ) , te = g ( [ "axis" , "x" , "label" ] , null ) , Nd = g ( [ "axis" , "y" , "max" ] , null ) , Ld = g ( [ "axis" , "y" , "min" ] , null ) , Pd = g ( [ "axis" , "y" , "center" ] , null ) , ue = g ( [ "axis" , "y" , "label" ] , null ) , cb = g ( [ "axis" , "y" , "inner" ] , ! 1 ) , cc = g ( [ "axis" , "y" , "tick" , "format" ] , null ) , Na = g ( [ "axis" , "y" , "padding" ] , null ) , oe = g ( [ "axis" , "y" , "ticks" ] , 10 ) , Db = g ( [ "axis" , "y2" , "show" ] , ! 1 ) , Md = g ( [ "axis" , "y2" , "max" ] , null ) , Kd = g ( [ "axis" , "y2" , "min" ] , null ) , Od = g ( [ "axis" , "y2" , "center" ] , null ) , eb = g ( [ "axis" , "y2" , "inner" ] , ! 1 ) , qe = g ( [ "axis" , "y2" , "tick" , "format" ] , null ) , Oa = g ( [ "axis" ,
"y2" , "padding" ] , null ) , pe = g ( [ "axis" , "y2" , "ticks" ] , 10 ) , h = g ( [ "axis" , "rotated" ] , ! 1 ) , jd = g ( [ "grid" , "x" , "show" ] , ! 1 ) , Ee = g ( [ "grid" , "x" , "type" ] , "tick" ) , ec = g ( [ "grid" , "x" , "lines" ] , null ) , kd = g ( [ "grid" , "y" , "show" ] , ! 1 ) , fc = g ( [ "grid" , "y" , "lines" ] , null ) , ac = g ( [ "point" , "show" ] , ! 0 ) ? g ( [ "point" , "r" ] , 2.5 ) : 0 , ve = g ( [ "point" , "focus" , "line" , "enabled" ] , ! 0 ) , gc = g ( [ "point" , "focus" , "expand" , "enabled" ] , ! 0 ) , hc = g ( [ "point" , "focus" , "expand" , "r" ] , gc ? 4 : ac ) , Wa = g ( [ "point" , "focus" , "select" , "r" ] , 8 ) , Ce = g ( [ "point" , "onclick" ] , function ( ) { } ) , ke = g ( [ "point" ,
"onselected" ] , function ( ) { } ) , le = g ( [ "point" , "onunselected" ] , function ( ) { } ) , Gd = g ( [ "arc" , "label" , "format" ] , function ( a , b ) { return ( 100 * b ) . toFixed ( 1 ) + "%" } ) , we = g ( [ "arc" , "title" ] , "" ) , P = g ( [ "regions" ] , [ ] ) , Vc = g ( [ "tooltip" , "enabled" ] , ! 0 ) , Wc = g ( [ "tooltip" , "contents" ] , function ( a ) { var b = cc ? cc : function ( a ) { return + a } , c = sc ( ) , d , e , g , h ; for ( e = 0 ; e < a . length ; e ++ ) a [ e ] && ( a [ e ] . value || 0 === a [ e ] . value ) && ( d || ( d = c ? c ( a [ e ] . x ) : a [ e ] . x , d = "<table class='-tooltip'><tr><th colspan='2'>" + d + "</th></tr>" ) , h = a [ e ] . name , g = b ( a [ e ] . value ) , d += "<tr class='-tooltip-name-" +
a [ e ] . id + "'><td class='name'><span style='background-color:" + N ( a [ e ] . id ) + "'></span>" + h + "</td><td class='value'>" + g + "</td></tr>" ) ; return d + "</table>" } ) , ye = g ( [ "tooltip" , "init" , "show" ] , ! 1 ) , Ga = g ( [ "tooltip" , "init" , "x" ] , 0 ) , md = g ( [ "tooltip" , "init" , "position" ] , { top : "0px" , left : "50px" } ) , dc = xa . replace ( "#" , "" ) + "-clip" , Xa = "url(" + document . URL + "#" + dc + ")" , D = "timeseries" === vd , ja = "categorized" === vd , Sb = ! D && ( ra || ba ) , jc = null , Ya = ! 1 , ic = ! 1 , pa = Fa ? 40 : 0 , N = function ( a , b ) { var c = [ ] , d = null !== b ? b : "#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf" . split ( " " ) ;
return function ( b ) { if ( b in a ) return a [ b ] ; - 1 === c . indexOf ( b ) && c . push ( b ) ; return d [ c . indexOf ( b ) % d . length ] } } ( Le , Me ) , Ed = function ( ) { var a = [ [ e . time . format ( "%Y/%-m/%-d" ) , function ( ) { return ! 0 } ] , [ e . time . format ( "%-m/%-d" ) , function ( a ) { return a . getMonth ( ) } ] , [ e . time . format ( "%-m/%-d" ) , function ( a ) { return 1 !== a . getDate ( ) } ] , [ e . time . format ( "%-m/%-d" ) , function ( a ) { return a . getDay ( ) && 1 !== a . getDate ( ) } ] , [ e . time . format ( "%I %p" ) , function ( a ) { return a . getHours ( ) } ] , [ e . time . format ( "%I:%M" ) , function ( a ) { return a . getMinutes ( ) } ] , [ e . time . format ( ":%S" ) ,
function ( a ) { return a . getSeconds ( ) } ] , [ e . time . format ( ".%L" ) , function ( a ) { return a . getMilliseconds ( ) } ] ] ; return function ( b ) { for ( var c = a . length - 1 , d = a [ c ] ; ! d [ 1 ] ( b ) ; ) d = a [ -- c ] ; return d [ 0 ] ( b ) } } ( ) , r , Eb , s , fb , Bb , wa , La , Fb , Gb , lb , vc , wc , Ob , Ib , Jb , Kb , Lb , Mb , Nb , m , z , aa , U , ib , jb , J , za , kb , hb , zd = h ? "left" : "bottom" , Ad = h ? cb ? "top" : "bottom" : cb ? "right" : "left" , Bd = h ? eb ? "bottom" : "top" : eb ? "left" : "right" , Cd = h ? "left" : "bottom" , L = { main : function ( ) { return "translate(" + C + "," + q + ")" } , context : function ( ) { return "translate(" + Ia + "," + Ha + ")" } , legend : function ( ) { return "translate(" +
qc + "," + pc + ")" } , y2 : function ( ) { return "translate(" + ( h ? 0 : r ) + "," + ( h ? 10 : 0 ) + ")" } , x : function ( ) { return "translate(0," + s + ")" } , subx : function ( ) { return "translate(0," + ( h ? 0 : fb ) + ")" } , arc : function ( ) { return "translate(" + r / 2 + "," + s / 2 + ")" } } , uc = 40 , tc = 20 ; Ob = e . layout . pie ( ) . value ( function ( a ) { return a . values . reduce ( function ( a , c ) { return a + c . value } , 0 ) } ) ; var Fe = function ( ) { var a = e . svg . line ( ) . x ( h ? function ( a ) { return u ( a . id ) ( a . value ) } : Aa ) . y ( h ? Aa : function ( a ) { return u ( a . id ) ( a . value ) } ) ; return function ( b ) { var c = Yb ( b . values ) , d ; if ( Vb ( b ) ) return Zc ( b ) ?
a . interpolate ( "cardinal" ) : a . interpolate ( "linear" ) , ud [ b . id ] ? ne ( c , m , u ( b . id ) , ud [ b . id ] ) : a ( c ) ; d = m ( c [ 0 ] . x ) ; b = u ( b . id ) ( c [ 0 ] . value ) ; return h ? "M " + b + " " + d : "M " + d + " " + b } } ( ) , Ge = function ( ) { var a ; a = h ? e . svg . area ( ) . x0 ( function ( a ) { return u ( a . id ) ( 0 ) } ) . x1 ( function ( a ) { return u ( a . id ) ( a . value ) } ) . y ( Aa ) : e . svg . area ( ) . x ( Aa ) . y0 ( function ( a ) { return u ( a . id ) ( 0 ) } ) . y1 ( function ( a ) { return u ( a . id ) ( a . value ) } ) ; return function ( b ) { var c = Yb ( b . values ) , d ; if ( ia ( [ b ] , "area" ) || ia ( [ b ] , "area-spline" ) ) return Zc ( b ) ? a . interpolate ( "cardinal" ) : a . interpolate ( "linear" ) ,
a ( c ) ; d = m ( c [ 0 ] . x ) ; b = u ( b . id ) ( c [ 0 ] . value ) ; return h ? "M " + b + " " + d : "M " + d + " " + b } } ( ) , xb = function ( a , b ) { var c = a . _ _max _ _ + 1 , d = 1 < arguments . length ? b : ! 0 , e = ja ? c ? 1.2 * J . tickOffset ( ) / c : 0 : 0.6 * ( ( h ? s : r ) * ( d ? 1 : ya ( T ) / ya ( m . domain ( ) ) ) / ( gb ( ) - 1 ) ) , g = fe ( e , c , a , ! ! d ) , k = ge ( ! ! d ) , l = he ( a , ! ! d ) , n = d ? B : u ; return function ( a , b ) { var c = n ( a . id ) ( 0 ) , d = l ( a , b ) || c , c = [ [ g ( a ) , d ] , [ g ( a ) , k ( a ) - ( c - d ) ] , [ g ( a ) + e , k ( a ) - ( c - d ) ] , [ g ( a ) + e , d ] ] , d = h ? 1 : 0 , m = h ? 0 : 1 ; return "M " + c [ 0 ] [ d ] + "," + c [ 0 ] [ m ] + " L" + c [ 1 ] [ d ] + "," + c [ 1 ] [ m ] + " L" + c [ 2 ] [ d ] + "," + c [ 2 ] [ m ] + " L" + c [ 3 ] [ d ] + "," + c [ 3 ] [ m ] + " z" } } ,
He = function ( ) { var a = e . svg . line ( ) . x ( h ? function ( a ) { return B ( a . id ) ( a . value ) } : Pc ) . y ( h ? Pc : function ( a ) { return B ( a . id ) ( a . value ) } ) ; return function ( b ) { var c = Yb ( b . values ) ; return Vb ( b ) ? a ( c ) : "M " + U ( c [ 0 ] . x ) + " " + B ( b . id ) ( c [ 0 ] . value ) } } ( ) , K = e . svg . brush ( ) . on ( "brush" , function ( ) { x ( { withTransition : ! 1 , withY : ! 1 , withSubchart : ! 1 , withUpdateXDomain : ! 0 } ) } ) , F = e . behavior . zoom ( ) . on ( "zoomstart" , function ( ) { F . altDomain = e . event . sourceEvent . altKey ? m . orgDomain ( ) : null } ) . on ( "zoom" , ta ? Ie : null ) ; K . update = function ( ) { G && G . select ( ".x.brush" ) . call ( this ) ;
return this } ; K . scale = function ( a ) { return h ? this . y ( a ) : this . x ( a ) } ; F . scale = function ( a ) { return h ? this . y ( a ) : this . x ( a ) } ; F . orgScaleExtent = function ( ) { var a = td ? td : [ 1 , 10 ] ; return [ a [ 0 ] , Math . max ( gb ( ) / a [ 1 ] , a [ 1 ] ) ] } ; F . updateScaleExtent = function ( ) { var a = ya ( m . orgDomain ( ) ) / ya ( T ) , b = this . orgScaleExtent ( ) ; this . scaleExtent ( [ b [ 0 ] * a , b [ 1 ] * a ] ) ; return this } ; var n , ub , l , G , Ea , V , tb , T , sd , Ub = { } ; k . focus = function ( a ) { var b = n . selectAll ( ka ( a ) ) , c = b . filter ( nc ) , b = b . filter ( oc ) ; k . revert ( ) ; k . defocus ( ) ; c . classed ( "focused" , ! 0 ) . transition ( ) . duration ( 100 ) . style ( "opacity" ,
1 ) ; b . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; E ( k . data . targets ) && yc ( a , ! 0 ) ; lc ( a ) } ; k . defocus = function ( a ) { var b = n . selectAll ( ka ( a ) ) , c = b . filter ( nc ) , b = b . filter ( oc ) ; k . revert ( ) ; c . classed ( "focused" , ! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) ; b . transition ( ) . duration ( 100 ) . style ( "opacity" , 0.3 ) ; E ( k . data . targets ) && Qb ( a ) ; Je ( a ) } ; k . revert = function ( a ) { var b = n . selectAll ( ka ( a ) ) , c = b . filter ( nc ) , b = b . filter ( oc ) ; c . classed ( "focused" , ! 1 ) . transition ( ) . duration ( 100 ) . style ( "opacity" , 1 ) ; b . transition ( ) . duration ( 100 ) . style ( "opacity" ,
1 ) ; E ( k . data . targets ) && Qb ( a ) ; mc ( ) } ; k . show = function ( a ) { n . selectAll ( ka ( a ) ) . transition ( ) . style ( "opacity" , 1 ) } ; k . hide = function ( a ) { n . selectAll ( ka ( a ) ) . transition ( ) . style ( "opacity" , 0 ) } ; k . unzoom = function ( ) { K . clear ( ) . update ( ) ; x ( { withUpdateXDomain : ! 0 } ) } ; k . load = function ( a ) { "function" !== typeof a . done && ( a . done = function ( ) { } ) ; a . xs && Wd ( a . xs ) ; "categories" in a && ja && ( Ma = a . categories , J . categories ( Ma ) ) ; if ( "cacheIds" in a && Sd ( a . cacheIds ) ) Za ( Td ( a . cacheIds ) , a . done ) ; else if ( "data" in a ) Za ( Qa ( a . data ) , a . done ) ; else if ( "url" in a ) e . csv ( a . url ,
function ( b , c ) { Za ( Qa ( c ) , a . done ) } ) ; else if ( "rows" in a ) Za ( Qa ( Ec ( a . rows ) ) , a . done ) ; else if ( "columns" in a ) Za ( Qa ( Fc ( a . columns ) ) , a . done ) ; else throw Error ( "url or rows or columns is required." ) ; } ; k . unload = function ( a ) { k . data . targets = k . data . targets . filter ( function ( b ) { return b . id !== a } ) ; n . selectAll ( ka ( a ) ) . transition ( ) . style ( "opacity" , 0 ) . remove ( ) ; Fa && ( n . selectAll ( ".legend-item" + yb ( a ) ) . transition ( ) . style ( "opacity" , 0 ) . remove ( ) , wb ( k . data . targets ) ) ; 0 < k . data . targets . length && x ( { withUpdateOrgXDomain : ! 0 , withUpdateXDomain : ! 0 } ) } ;
k . selected = function ( a ) { a = yb ( a ) ; return e . merge ( l . selectAll ( ".-shapes" + a ) . selectAll ( ".-shape" ) . filter ( function ( ) { return e . select ( this ) . classed ( na ) } ) . map ( function ( a ) { return a . map ( function ( a ) { return a . _ _data _ _ } ) } ) ) } ; k . select = function ( a , b , c ) { la && l . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( d , f ) { var g = "circle" === this . nodeName ? dd : me , h = "circle" === this . nodeName ? Xb : fd ; 0 <= b . indexOf ( f ) ? ma ( d ) && ( ua || y ( a ) || 0 <= a . indexOf ( d . id ) ) && g ( e . select ( this ) . classed ( na , ! 0 ) , d , f ) : v ( c ) && c && h ( e . select ( this ) . classed ( na ,
! 1 ) , d , f ) } ) } ; k . unselect = function ( a , b ) { la && l . selectAll ( ".-shapes" ) . selectAll ( ".-shape" ) . each ( function ( c , d ) { var f = "circle" === this . nodeName ? Xb : fd ; ( y ( b ) || 0 <= b . indexOf ( d ) ) && ma ( c ) && ( ua || y ( a ) || 0 <= a . indexOf ( c . id ) ) && f ( e . select ( this ) . classed ( na , ! 1 ) , c , d ) } ) } ; k . toLine = function ( a ) { ca ( a , "line" ) ; x ( ) } ; k . toSpline = function ( a ) { ca ( a , "spline" ) ; x ( ) } ; k . toBar = function ( a ) { ca ( a , "bar" ) ; x ( ) } ; k . toScatter = function ( a ) { ca ( a , "scatter" ) ; x ( ) } ; k . toArea = function ( a ) { ca ( a , "area" ) ; x ( ) } ; k . toAreaSpline = function ( a ) { ca ( a , "area-spline" ) ; x ( ) } ;
k . toPie = function ( a ) { ca ( a , "pie" ) ; S ( ) ; ga ( ) ; x ( { withTransform : ! 0 } ) } ; k . toDonut = function ( a ) { ca ( a , "donut" ) ; S ( ) ; ga ( ) ; x ( { withTransform : ! 0 } ) } ; k . groups = function ( a ) { if ( y ( a ) ) return w ; w = a ; x ( ) ; return w } ; k . regions = function ( a ) { if ( y ( a ) ) return P ; P = a ; x ( ) ; return P } ; k . regions . add = function ( a ) { if ( y ( a ) ) return P ; P = P . concat ( a ) ; x ( ) ; return P } ; k . regions . remove = function ( a , b ) { var c = [ ] . concat ( a ) ; b = v ( b ) ? b : { } ; c . forEach ( function ( a ) { var c = n . selectAll ( "." + a ) ; v ( b . duration ) && ( c = c . transition ( ) . duration ( b . duration ) . style ( "fill-opacity" , 0 ) ) ;
c . remove ( ) ; P = P . filter ( function ( b ) { return 0 > b . classes . indexOf ( a ) } ) } ) ; return P } ; k . data . get = function ( a ) { a = k . data . getAsTarget ( a ) ; return v ( a ) ? a . values . map ( function ( a ) { return a . value } ) : void 0 } ; k . data . getAsTarget = function ( a ) { var b = ob ( function ( b ) { return b . id === a } ) ; return 0 < b . length ? b [ 0 ] : void 0 } ; k . resize = function ( a ) { Ka = a ? a . width : null ; Hb = a ? a . height : null ; nd ( ) } ; k . destroy = function ( ) { k . data . targets = void 0 ; k . data . x = { } ; tb . html ( "" ) ; O . onresize = null } ; if ( "url" in ea . data ) e . csv ( ea . data . url , function ( a , b ) { bc ( b ) } ) ; else if ( "rows" in
ea . data ) bc ( Ec ( ea . data . rows ) ) ; else if ( "columns" in ea . data ) bc ( Fc ( ea . data . columns ) ) ; else throw Error ( "url or rows or columns is required." ) ; return k } } ) ( window ) ;