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