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