( function ( ) { function t ( e , t ) { return ( new Date ( t , e + 1 , 0 ) ) . getDate ( ) } function n ( e , t , n ) { return function ( r , i , s ) { var o = e ( r ) , u = [ ] ; o < r && t ( o ) ; if ( s > 1 ) while ( o < i ) { var a = new Date ( + o ) ; n ( a ) % s === 0 && u . push ( a ) , t ( o ) } else while ( o < i ) u . push ( new Date ( + o ) ) , t ( o ) ; return u } } var e = window . nv || { } ; e . version = "0.0.1a" , e . dev = ! 0 , window . nv = e , e . tooltip = { } , e . utils = { } , e . models = { } , e . charts = { } , e . graphs = [ ] , e . logs = { } , e . dispatch = d3 . dispatch ( "render_start" , "render_end" ) , e . dev && ( e . dispatch . on ( "render_start" , function ( t ) { e . logs . startTime = + ( new Date ) } ) , e . dispatch . on ( "render_end" , function ( t ) { e . logs . endTime = + ( new Date ) , e . logs . totalTime = e . logs . endTime - e . logs . startTime , e . log ( "total" , e . logs . totalTime ) } ) ) , e . log = function ( ) { if ( e . dev && console . log && console . log . apply ) console . log . apply ( console , arguments ) ; else if ( e . dev && console . log && Function . prototype . bind ) { var t = Function . prototype . bind . call ( console . log , console ) ; t . apply ( console , arguments ) } return arguments [ arguments . length - 1 ] } , e . render = function ( n ) { n = n || 1 , e . render . active = ! 0 , e . dispatch . render _start ( ) , setTimeout ( function ( ) { var t , r ; for ( var i = 0 ; i < n && ( r = e . render . queue [ i ] ) ; i ++ ) t = r . generate ( ) , typeof r . callback == typeof Function && r . callback ( t ) , e . graphs . push ( t ) ; e . render . queue . splice ( 0 , i ) , e . render . queue . length ? setTimeout ( arguments . callee , 0 ) : ( e . render . active = ! 1 , e . dispatch . render _end ( ) ) } , 0 ) } , e . render . active = ! 1 , e . render . queue = [ ] , e . addGraph = function ( t ) { typeof arguments [ 0 ] == typeof Function && ( t = { generate : arguments [ 0 ] , callback : arguments [ 1 ] } ) , e . render . queue . push ( t ) , e . render . active || e . render ( ) } , e . identity = function ( e ) { return e } , e . strip = function ( e ) { return e . replace ( /(\s|&)/g , "" ) } , d3 . time . monthEnd = function ( e ) { return new Date ( e . getFullYear ( ) , e . getMonth ( ) , 0 ) } , d3 . time . monthEnds = n ( d3 . time . monthEnd , function ( e ) { e . setUTCDate ( e . getUTCDate ( ) + 1 ) , e . setDate ( t ( e . getMonth ( ) + 1 , e . getFullYear ( ) ) ) } , function ( e ) { return e . getMonth ( ) } ) , function ( ) { var t = window . nv . tooltip = { } ; t . show = function ( t , n , r , i , s , o ) { var u = document . createElement ( "div" ) ; u . className = "nvtooltip " + ( o ? o : "xy-tooltip" ) , r = r || "s" , i = i || 20 ; var a = s ; if ( ! s || s . tagName . match ( /g|svg/i ) ) a = document . getElementsByTagName ( "body" ) [ 0 ] ; u . innerHTML = n , u . style . left = 0 , u . style . top = 0 , u . style . opacity = 0 , a . appendChild ( u ) ; var f = parseInt ( u . offsetHeight ) , l = parseInt ( u . offsetWidth ) , c = e . utils . windowSize ( ) . width , h = e . utils . windowSize ( ) . height , p = window . scrollY , d = window . scrollX , v , m ; h = window . innerWidth >= document . body . scrollWidth ? h : h - 16 , c = window . innerHeight >= document . body . scrollHeight ? c : c - 16 ; var g = function ( e ) { var t = m ; do isNaN ( e . offsetTop ) || ( t += e . offsetTop ) ; while ( e = e . offsetParent ) ; return t } , y = function ( e ) { var t = v ; do isNaN ( e . offsetLeft ) || ( t += e . offsetLeft ) ; while ( e = e . offsetParent ) ; return t } ; switch ( r ) { case "e" : v = t [ 0 ] - l - i , m = t [ 1 ] - f / 2 ; var b = y ( u ) , w = g ( u ) ; b < d && ( v = t [ 0 ] + i > d ? t [ 0 ] + i : d - b + v ) , w < p && ( m = p - w + m ) , w + f > p + h && ( m = p + h - w + m - f ) ; break ; case "w" : v = t [ 0 ] + i , m = t [ 1 ] - f / 2 , b + l > c && ( v = t [ 0 ] - l - i ) , w < p && ( m = p + 5 ) , w + f > p + h && ( m = p - f - 5 ) ; break ; case "n" : v = t [ 0 ] - l / 2 - 5 , m = t [ 1 ] + i ; var b = y ( u ) , w = g ( u ) ; b < d && ( v = d + 5 ) , b + l > c && ( v = v - l / 2 + 5 ) , w + f > p + h && ( m = p + h - w + m - f ) ; break ; case "s" : v = t [ 0 ] - l / 2 , m = t [ 1 ] - f - i ; var b = y ( u ) , w = g ( u ) ; b < d && ( v = d + 5 ) , b + l > c && ( v = v - l / 2 + 5 ) , p > w && ( m = p ) } return u . style . left = v + "px" , u . style . top = m + "px" , u . style . opacity = 1 , u . style . position = "absolute" , u . style . pointerEvents = "none" , u } , t . cleanup = function ( ) { var e = document . getElementsByClassName ( "nvtooltip" ) , t = [ ] ; while ( e . length ) t . push ( e [ 0 ] ) , e [ 0 ] . style . transitionDelay = "0 !important" , e [ 0 ] . style . opacity = 0 , e [ 0 ] . className = "nvtooltip-pending-removal" ; setTimeout ( function ( ) { while ( t . length ) { var e = t . pop ( ) ; e . parentNode . removeChild ( e ) } } , 500 ) } } ( ) , e . utils . windowSize = function ( ) { var e = { width : 640 , height : 480 } ; return document . body && document . body . offsetWidth && ( e . width = document . body . offsetWidth , e . height = document . body . offsetHeight ) , document . compatMode == "CSS1Compat" && document . documentElement && document . documentElement . offsetWidth && ( e . width = document . documentElement . offsetWidth , e . height = document . documentElement . offsetHeight ) , window . innerWidth && window . innerHeight && ( e . width = window . innerWidth , e . height = window . innerHeight ) , e } , e . utils . windowResize = function ( e ) { var t = window . onresize ; window . onresize = function ( n ) { typeof t == "function" && t ( n ) , e ( n ) } } , e . utils . getColor = function ( t ) { return arguments . length ? Object . protot
. axis ( ) , i = { top : 15 , right : 10 , bottom : 50 , left : 60 } , s = null , o = null , u = e . utils . getColor ( ) , a = ! 1 , f = ! 0 , l = function ( e , t , n , r , i ) { return "<h3>" + t + "</h3>" + "<p>" + n + "</p>" } , c , h , p = "No Data Available." , d = d3 . dispatch ( "tooltipShow" , "tooltipHide" , "beforeUpdate" ) ; n . orient ( "bottom" ) . highlightZero ( ! 1 ) . showMaxMin ( ! 1 ) . tickFormat ( function ( e ) { return e } ) , r . orient ( "left" ) . tickFormat ( d3 . format ( ",.1f" ) ) ; var v = function ( i , s ) { var o = i . pos [ 0 ] + ( s . offsetLeft || 0 ) , u = i . pos [ 1 ] + ( s . offsetTop || 0 ) , a = n . tickFormat ( ) ( t . x ( ) ( i . point , i . pointIndex ) ) , f = r . tickFormat ( ) ( t . y ( ) ( i . point , i . pointIndex ) ) , c = l ( i . series . key , a , f , i , m ) ; e . tooltip . show ( [ o , u ] , c , i . value < 0 ? "n" : "s" , null , s ) } ; return t . dispatch . on ( "elementMouseover.tooltip" , function ( e ) { e . pos = [ e . pos [ 0 ] + i . left , e . pos [ 1 ] + i . top ] , d . tooltipShow ( e ) } ) , t . dispatch . on ( "elementMouseout.tooltip" , function ( e ) { d . tooltipHide ( e ) } ) , d . on ( "tooltipHide" , function ( ) { f && e . tooltip . cleanup ( ) } ) , m . dispatch = d , m . discretebar = t , m . xAxis = n , m . yAxis = r , d3 . rebind ( m , t , "x" , "y" , "xDomain" , "yDomain" , "forceX" , "forceY" , "id" , "showValues" , "valueFormat" ) , m . margin = function ( e ) { return arguments . length ? ( i . top = typeof e . top != "undefined" ? e . top : i . top , i . right = typeof e . right != "undefined" ? e . right : i . right , i . bottom = typeof e . bottom != "undefined" ? e . bottom : i . bottom , i . left = typeof e . left != "undefined" ? e . left : i . left , m ) : i } , m . width = function ( e ) { return arguments . length ? ( s = e , m ) : s } , m . height = function ( e ) { return arguments . length ? ( o = e , m ) : o } , m . color = function ( n ) { return arguments . length ? ( u = e . utils . getColor ( n ) , t . color ( u ) , m ) : u } , m . staggerLabels = function ( e ) { return arguments . length ? ( a = e , m ) : a } , m . tooltips = function ( e ) { return arguments . length ? ( f = e , m ) : f } , m . tooltipContent = function ( e ) { return arguments . length ? ( l = e , m ) : l } , m . noData = function ( e ) { return arguments . length ? ( p = e , m ) : p } , m } , e . models . distribution = function ( ) { function l ( e ) { return e . each ( function ( e ) { var a = n - ( i === "x" ? t . left + t . right : t . top + t . bottom ) , l = i == "x" ? "y" : "x" , c = d3 . select ( this ) ; f = f || u ; var h = c . selectAll ( "g.nv-distribution" ) . data ( [ e ] ) , p = h . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-distribution" ) , d = p . append ( "g" ) , v = h . select ( "g" ) ; h . attr ( "transform" , "translate(" + t . left + "," + t . top + ")" ) ; var m = v . selectAll ( "g.nv-dist" ) . data ( function ( e ) { return e } , function ( e ) { return e . key } ) ; m . enter ( ) . append ( "g" ) , m . attr ( "class" , function ( e , t ) { return "nv-dist nv-series-" + t } ) . style ( "stroke" , function ( e , t ) { return o ( e , t ) } ) ; var g = m . selectAll ( "line.nv-dist" + i ) . data ( function ( e ) { return e . values } ) ; g . enter ( ) . append ( "line" ) . attr ( i + "1" , function ( e , t ) { return f ( s ( e , t ) ) } ) . attr ( i + "2" , function ( e , t ) { return f ( s ( e , t ) ) } ) , d3 . transition ( m . exit ( ) . selectAll ( "line.nv-dist" + i ) ) . attr ( i + "1" , function ( e , t ) { return u ( s ( e , t ) ) } ) . attr ( i + "2" , function ( e , t ) { return u ( s ( e , t ) ) } ) . style ( "stroke-opacity" , 0 ) . remove ( ) , g . attr ( "class" , function ( e , t ) { return "nv-dist" + i + " nv-dist" + i + "-" + t } ) . attr ( l + "1" , 0 ) . attr ( l + "2" , r ) , d3 . transition ( g ) . attr ( i + "1" , function ( e , t ) { return u ( s ( e , t ) ) } ) . attr ( i + "2" , function ( e , t ) { return u ( s ( e , t ) ) } ) , f = u . copy ( ) } ) , l } var t = { top : 0 , right : 0 , bottom : 0 , left : 0 } , n = 400 , r = 8 , i = "x" , s = function ( e ) { return e [ i ] } , o = e . utils . defaultColor ( ) , u = d3 . scale . linear ( ) , a , f ; return l . margin = function ( e ) { return arguments . length ? ( t . top = typeof e . top != "undefined" ? e . top : t . top , t . right = typeof e . right != "undefined" ? e . right : t . right , t . bottom = typeof e . bottom != "undefined" ? e . bottom : t . bottom , t . left = typeof e . left != "undefined" ? e . left : t . left , l ) : t } , l . width = function ( e ) { return arguments . length ? ( n = e , l ) : n } , l . axis = function ( e ) { return arguments . length ? ( i = e , l ) : i } , l . size = function ( e ) { return arguments . length ? ( r = e , l ) : r } , l . getData = function ( e ) { return arguments . length ? ( s = d3 . functor ( e ) , l ) : s } , l . scale = function ( e ) { return arguments . length ? ( u = e , l ) : u } , l . color = function ( t ) { return arguments . length ? ( o = e . utils . getColor ( t ) , l ) : o } , l } , e . models . historicalBar = function ( ) { function g ( e ) { return e . each ( function ( e ) { var g = n - t . left - t . right , b = r - t . top - t . bottom , w = d3 . select ( this ) ; s . domain ( d || d3 . extent ( e [ 0 ] . values . map ( u ) . concat ( f ) ) ) , c ? s . range ( [ g * . 5 / e [ 0 ] . values . length , g * ( e [ 0 ] . values . length - . 5 ) / e [ 0 ] . values . length ] ) : s . range ( [ 0 , g ] ) , o . domain ( v || d3 . extent ( e [ 0 ] . values . map ( a ) . concat ( l ) ) ) . range ( [ b , 0 ] ) ; if ( s . domain ( ) [ 0 ] === s . domain ( ) [ 1 ] || o . domain ( ) [ 0 ] === o . domain ( ) [ 1 ] ) singlePoint = ! 0 ; s . domain ( ) [ 0 ] === s . domain ( ) [ 1 ] && ( s . domain ( ) [ 0 ] ? s . domain ( [ s . domain ( ) [ 0 ] - s .
( e ) { return e . each ( function ( S ) { function R ( e ) { var t = + ( e == "e" ) , n = t ? 1 : - 1 , r = M / 3 ; return "M" + . 5 * n + "," + r + "A6,6 0 0 " + t + " " + 6.5 * n + "," + ( r + 6 ) + "V" + ( 2 * r - 6 ) + "A6,6 0 0 " + t + " " + . 5 * n + "," + 2 * r + "Z" + "M" + 2.5 * n + "," + ( r + 8 ) + "V" + ( 2 * r - 8 ) + "M" + 4.5 * n + "," + ( r + 8 ) + "V" + ( 2 * r - 8 ) } function U ( ) { a . empty ( ) || a . extent ( w ) , I . data ( [ a . empty ( ) ? g . domain ( ) : w ] ) . each ( function ( e , t ) { var n = g ( e [ 0 ] ) - v . range ( ) [ 0 ] , r = v . range ( ) [ 1 ] - g ( e [ 1 ] ) ; d3 . select ( this ) . select ( ".left" ) . attr ( "width" , n < 0 ? 0 : n ) , d3 . select ( this ) . select ( ".right" ) . attr ( "x" , g ( e [ 1 ] ) ) . attr ( "width" , r < 0 ? 0 : r ) } ) } function z ( ) { w = a . empty ( ) ? null : a . extent ( ) , extent = a . empty ( ) ? g . domain ( ) : a . extent ( ) , T . brush ( { extent : extent , brush : a } ) , U ( ) ; var e = H . select ( ".nv-focus .nv-linesWrap" ) . datum ( S . filter ( function ( e ) { return ! e . disabled } ) . map ( function ( e , n ) { return { key : e . key , values : e . values . filter ( function ( e , n ) { return t . x ( ) ( e , n ) >= extent [ 0 ] && t . x ( ) ( e , n ) <= extent [ 1 ] } ) } } ) ) ; d3 . transition ( e ) . call ( t ) , d3 . transition ( H . select ( ".nv-focus .nv-x.nv-axis" ) ) . call ( r ) , d3 . transition ( H . select ( ".nv-focus .nv-y.nv-axis" ) ) . call ( i ) } var k = d3 . select ( this ) , L = this , A = ( h || parseInt ( k . style ( "width" ) ) || 960 ) - f . left - f . right , O = ( p || parseInt ( k . style ( "height" ) ) || 400 ) - f . top - f . bottom - d , M = d - l . top - l . bottom ; C . update = function ( ) { C ( e ) } , C . container = this ; if ( ! S || ! S . length || ! S . filter ( function ( e ) { return e . values . length } ) . length ) { var _ = k . selectAll ( ".nv-noData" ) . data ( [ x ] ) ; return _ . enter ( ) . append ( "text" ) . attr ( "class" , "nvd3 nv-noData" ) . attr ( "dy" , "-.7em" ) . style ( "text-anchor" , "middle" ) , _ . attr ( "x" , f . left + A / 2 ) . attr ( "y" , f . top + O / 2 ) . text ( function ( e ) { return e } ) , C } k . selectAll ( ".nv-noData" ) . remove ( ) , v = t . xScale ( ) , m = t . yScale ( ) , g = n . xScale ( ) , y = n . yScale ( ) ; var D = k . selectAll ( "g.nv-wrap.nv-lineWithFocusChart" ) . data ( [ S ] ) , P = D . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-wrap nv-lineWithFocusChart" ) . append ( "g" ) , H = D . select ( "g" ) ; P . append ( "g" ) . attr ( "class" , "nv-legendWrap" ) ; var B = P . append ( "g" ) . attr ( "class" , "nv-focus" ) ; B . append ( "g" ) . attr ( "class" , "nv-x nv-axis" ) , B . append ( "g" ) . attr ( "class" , "nv-y nv-axis" ) , B . append ( "g" ) . attr ( "class" , "nv-linesWrap" ) ; var j = P . append ( "g" ) . attr ( "class" , "nv-context" ) ; j . append ( "g" ) . attr ( "class" , "nv-x nv-axis" ) , j . append ( "g" ) . attr ( "class" , "nv-y nv-axis" ) , j . append ( "g" ) . attr ( "class" , "nv-linesWrap" ) , j . append ( "g" ) . attr ( "class" , "nv-brushBackground" ) , j . append ( "g" ) . attr ( "class" , "nv-x nv-brush" ) , b && ( u . width ( A ) , H . select ( ".nv-legendWrap" ) . datum ( S ) . call ( u ) , f . top != u . height ( ) && ( f . top = u . height ( ) , O = ( p || parseInt ( k . style ( "height" ) ) || 400 ) - f . top - f . bottom - d ) , H . select ( ".nv-legendWrap" ) . attr ( "transform" , "translate(0," + - f . top + ")" ) ) , D . attr ( "transform" , "translate(" + f . left + "," + f . top + ")" ) , t . width ( A ) . height ( O ) . color ( S . map ( function ( e , t ) { return e . color || c ( e , t ) } ) . filter ( function ( e , t ) { return ! S [ t ] . disabled } ) ) , n . defined ( t . defined ( ) ) . width ( A ) . height ( M ) . color ( S . map ( function ( e , t ) { return e . color || c ( e , t ) } ) . filter ( function ( e , t ) { return ! S [ t ] . disabled } ) ) , H . select ( ".nv-context" ) . attr ( "transform" , "translate(0," + ( O + f . bottom + l . top ) + ")" ) ; var F = H . select ( ".nv-context .nv-linesWrap" ) . datum ( S . filter ( function ( e ) { return ! e . disabled } ) ) ; d3 . transition ( F ) . call ( n ) , r . scale ( v ) . ticks ( A / 100 ) . tickSize ( - O , 0 ) , i . scale ( m ) . ticks ( O / 36 ) . tickSize ( - A , 0 ) , H . select ( ".nv-focus .nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + O + ")" ) , a . x ( g ) . on ( "brush" , z ) , w && a . extent ( w ) ; var I = H . select ( ".nv-brushBackground" ) . selectAll ( "g" ) . data ( [ w || a . extent ( ) ] ) , q = I . enter ( ) . append ( "g" ) ; q . append ( "rect" ) . attr ( "class" , "left" ) . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "height" , M ) , q . append ( "rect" ) . attr ( "class" , "right" ) . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "height" , M ) , gBrush = H . select ( ".nv-x.nv-brush" ) . call ( a ) , gBrush . selectAll ( "rect" ) . attr ( "height" , M ) , gBrush . selectAll ( ".resize" ) . append ( "path" ) . attr ( "d" , R ) , z ( ) , s . scale ( g ) . ticks ( A / 100 ) . tickSize ( - M , 0 ) , H . select ( ".nv-context .nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + y . range ( ) [ 0 ] + ")" ) , d3 . transition ( H . select ( ".nv-context .nv-x.nv-axis" ) ) . call ( s ) , o . scale ( y ) . ticks ( M / 36 ) . tickSize ( - A , 0 ) , d3 . transition ( H . select ( ".nv-context .nv-y.nv-axis" ) ) . call ( o ) , H . select ( ".nv-context .nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + y . range ( ) [ 0 ] + ")" ) , u . dispatch . on ( "legendClick" , function ( t , n ) { t . disabled = ! t . disabled , S . filter ( function ( e ) { return ! e . disabled } ) . length || S . map ( function ( e ) { return e . disabled = ! 1 , D . selectAll ( " . nv
, "elementMouseout" ) , E , S ; return x . dispatch = w , x . x = function ( e ) { return arguments . length ? ( u = e , x ) : u } , x . y = function ( e ) { return arguments . length ? ( a = e , x ) : a } , x . margin = function ( e ) { return arguments . length ? ( t . top = typeof e . top != "undefined" ? e . top : t . top , t . right = typeof e . right != "undefined" ? e . right : t . right , t . bottom = typeof e . bottom != "undefined" ? e . bottom : t . bottom , t . left = typeof e . left != "undefined" ? e . left : t . left , x ) : t } , x . width = function ( e ) { return arguments . length ? ( n = e , x ) : n } , x . height = function ( e ) { return arguments . length ? ( r = e , x ) : r } , x . xScale = function ( e ) { return arguments . length ? ( s = e , x ) : s } , x . yScale = function ( e ) { return arguments . length ? ( o = e , x ) : o } , x . xDomain = function ( e ) { return arguments . length ? ( y = e , x ) : y } , x . yDomain = function ( e ) { return arguments . length ? ( b = e , x ) : b } , x . forceY = function ( e ) { return arguments . length ? ( f = e , x ) : f } , x . stacked = function ( e ) { return arguments . length ? ( p = e , x ) : p } , x . color = function ( t ) { return arguments . length ? ( l = e . utils . getColor ( t ) , x ) : l } , x . barColor = function ( t ) { return arguments . length ? ( c = e . utils . getColor ( t ) , x ) : c } , x . disabled = function ( e ) { return arguments . length ? ( h = e , x ) : h } , x . id = function ( e ) { return arguments . length ? ( i = e , x ) : i } , x . delay = function ( e ) { return arguments . length ? ( g = e , x ) : g } , x . showValues = function ( e ) { return arguments . length ? ( d = e , x ) : d } , x . valueFormat = function ( e ) { return arguments . length ? ( m = e , x ) : m } , x . valuePadding = function ( e ) { return arguments . length ? ( v = e , x ) : v } , x } , e . models . multiBarHorizontalChart = function ( ) { function x ( e ) { return e . each ( function ( h ) { var d = d3 . select ( this ) , T = this , N = ( u || parseInt ( d . style ( "width" ) ) || 960 ) - o . left - o . right , C = ( a || parseInt ( d . style ( "height" ) ) || 400 ) - o . top - o . bottom ; x . update = function ( ) { e . transition ( ) . call ( x ) } , x . container = this , g . disabled = h . map ( function ( e ) { return ! ! e . disabled } ) ; if ( ! y ) { var k ; y = { } ; for ( k in g ) g [ k ] instanceof Array ? y [ k ] = g [ k ] . slice ( 0 ) : y [ k ] = g [ k ] } if ( ! h || ! h . length || ! h . filter ( function ( e ) { return e . values . length } ) . length ) { var L = d . selectAll ( ".nv-noData" ) . data ( [ b ] ) ; return L . enter ( ) . append ( "text" ) . attr ( "class" , "nvd3 nv-noData" ) . attr ( "dy" , "-.7em" ) . style ( "text-anchor" , "middle" ) , L . attr ( "x" , o . left + N / 2 ) . attr ( "y" , o . top + C / 2 ) . text ( function ( e ) { return e } ) , x } d . selectAll ( ".nv-noData" ) . remove ( ) , v = t . xScale ( ) , m = t . yScale ( ) ; var A = d . selectAll ( "g.nv-wrap.nv-multiBarHorizontalChart" ) . data ( [ h ] ) , O = A . enter ( ) . append ( "g" ) . attr ( "class" , "nvd3 nv-wrap nv-multiBarHorizontalChart" ) . append ( "g" ) , M = A . select ( "g" ) ; O . append ( "g" ) . attr ( "class" , "nv-x nv-axis" ) , O . append ( "g" ) . attr ( "class" , "nv-y nv-axis" ) , O . append ( "g" ) . attr ( "class" , "nv-barsWrap" ) , O . append ( "g" ) . attr ( "class" , "nv-legendWrap" ) , O . append ( "g" ) . attr ( "class" , "nv-controlsWrap" ) , c && ( i . width ( N - E ( ) ) , t . barColor ( ) && h . forEach ( function ( e , t ) { e . color = d3 . rgb ( "#ccc" ) . darker ( t * 1.5 ) . toString ( ) } ) , M . select ( ".nv-legendWrap" ) . datum ( h ) . call ( i ) , o . top != i . height ( ) && ( o . top = i . height ( ) , C = ( a || parseInt ( d . style ( "height" ) ) || 400 ) - o . top - o . bottom ) , M . select ( ".nv-legendWrap" ) . attr ( "transform" , "translate(" + E ( ) + "," + - o . top + ")" ) ) ; if ( l ) { var _ = [ { key : "Grouped" , disabled : t . stacked ( ) } , { key : "Stacked" , disabled : ! t . stacked ( ) } ] ; s . width ( E ( ) ) . color ( [ "#444" , "#444" , "#444" ] ) , M . select ( ".nv-controlsWrap" ) . datum ( _ ) . attr ( "transform" , "translate(0," + - o . top + ")" ) . call ( s ) } A . attr ( "transform" , "translate(" + o . left + "," + o . top + ")" ) , t . disabled ( h . map ( function ( e ) { return e . disabled } ) ) . width ( N ) . height ( C ) . color ( h . map ( function ( e , t ) { return e . color || f ( e , t ) } ) . filter ( function ( e , t ) { return ! h [ t ] . disabled } ) ) ; var D = M . select ( ".nv-barsWrap" ) . datum ( h . filter ( function ( e ) { return ! e . disabled } ) ) ; d3 . transition ( D ) . call ( t ) , n . scale ( v ) . ticks ( C / 24 ) . tickSize ( - N , 0 ) , d3 . transition ( M . select ( ".nv-x.nv-axis" ) ) . call ( n ) ; var P = M . select ( ".nv-x.nv-axis" ) . selectAll ( "g" ) ; P . selectAll ( "line, text" ) . style ( "opacity" , 1 ) , r . scale ( m ) . ticks ( N / 100 ) . tickSize ( - C , 0 ) , M . select ( ".nv-y.nv-axis" ) . attr ( "transform" , "translate(0," + C + ")" ) , d3 . transition ( M . select ( ".nv-y.nv-axis" ) ) . call ( r ) , i . dispatch . on ( "legendClick" , function ( t , n ) { t . disabled = ! t . disabled , h . filter ( function ( e ) { return ! e . disabled } ) . length || h . map ( function ( e ) { return e . disabled = ! 1 , A . selectAll ( ".nv-series" ) . classed ( "disabled" , ! 1 ) , e } ) , g . disabled = h . map ( function ( e ) { return ! ! e . disabled } ) , w . stateChange ( g ) , e . transition ( ) . call ( x ) } ) , s . dispatch . on ( "legendClick" , function ( n , r ) { if ( ! n . disabled ) return ; _ = _ . map ( function (
( "circle.nv-point" ) . data ( function ( e ) { return e . values } ) ; J . enter ( ) . append ( "circle" ) . attr ( "cx" , function ( e , t ) { return M ( f ( e , t ) ) } ) . attr ( "cy" , function ( e , t ) { return _ ( l ( e , t ) ) } ) . attr ( "r" , function ( e , t ) { return Math . sqrt ( a ( c ( e , t ) ) / Math . PI ) } ) , J . exit ( ) . remove ( ) , d3 . transition ( $ . exit ( ) . selectAll ( "path.nv-point" ) ) . attr ( "cx" , function ( e , t ) { return o ( f ( e , t ) ) } ) . attr ( "cy" , function ( e , t ) { return u ( l ( e , t ) ) } ) . remove ( ) , J . attr ( "class" , function ( e , t ) { return "nv-point nv-point-" + t } ) , d3 . transition ( J ) . attr ( "cx" , function ( e , t ) { return o ( f ( e , t ) ) } ) . attr ( "cy" , function ( e , t ) { return u ( l ( e , t ) ) } ) . attr ( "r" , function ( e , t ) { return Math . sqrt ( a ( c ( e , t ) ) / Math . PI ) } ) } else { var J = $ . selectAll ( "path.nv-point" ) . data ( function ( e ) { return e . values } ) ; J . enter ( ) . append ( "path" ) . attr ( "transform" , function ( e , t ) { return "translate(" + M ( f ( e , t ) ) + "," + _ ( l ( e , t ) ) + ")" } ) . attr ( "d" , d3 . svg . symbol ( ) . type ( h ) . size ( function ( e , t ) { return a ( c ( e , t ) ) } ) ) , J . exit ( ) . remove ( ) , d3 . transition ( $ . exit ( ) . selectAll ( "path.nv-point" ) ) . attr ( "transform" , function ( e , t ) { return "translate(" + o ( f ( e , t ) ) + "," + u ( l ( e , t ) ) + ")" } ) . remove ( ) , J . attr ( "class" , function ( e , t ) { return "nv-point nv-point-" + t } ) , d3 . transition ( J ) . attr ( "transform" , function ( e , t ) { return "translate(" + o ( f ( e , t ) ) + "," + u ( l ( e , t ) ) + ")" } ) . attr ( "d" , d3 . svg . symbol ( ) . type ( h ) . size ( function ( e , t ) { return a ( c ( e , t ) ) } ) ) } clearTimeout ( P ) , P = setTimeout ( V , 300 ) , M = o . copy ( ) , _ = u . copy ( ) , D = a . copy ( ) } ) , B } var t = { top : 0 , right : 0 , bottom : 0 , left : 0 } , n = 960 , r = 500 , i = e . utils . defaultColor ( ) , s = Math . floor ( Math . random ( ) * 1e5 ) , o = d3 . scale . linear ( ) , u = d3 . scale . linear ( ) , a = d3 . scale . linear ( ) , f = function ( e ) { return e . x } , l = function ( e ) { return e . y } , c = function ( e ) { return e . size || 1 } , h = function ( e ) { return e . shape || "circle" } , p = ! 0 , d = [ ] , v = [ ] , m = [ ] , g = ! 0 , y = function ( e ) { return ! e . notActive } , b = ! 1 , w = . 1 , E = ! 1 , S = ! 0 , x = function ( ) { return 25 } , T = null , N = null , C = null , k = null , L = ! 1 , A = d3 . dispatch ( "elementClick" , "elementMouseover" , "elementMouseout" ) , O = ! 0 , M , _ , D , P , H = ! 1 ; return A . on ( "elementMouseover.point" , function ( e ) { g && d3 . select ( ".nv-chart-" + s + " .nv-series-" + e . seriesIndex + " .nv-point-" + e . pointIndex ) . classed ( "hover" , ! 0 ) } ) , A . on ( "elementMouseout.point" , function ( e ) { g && d3 . select ( ".nv-chart-" + s + " .nv-series-" + e . seriesIndex + " .nv-point-" + e . pointIndex ) . classed ( "hover" , ! 1 ) } ) , B . dispatch = A , B . x = function ( e ) { return arguments . length ? ( f = d3 . functor ( e ) , B ) : f } , B . y = function ( e ) { return arguments . length ? ( l = d3 . functor ( e ) , B ) : l } , B . size = function ( e ) { return arguments . length ? ( c = d3 . functor ( e ) , B ) : c } , B . margin = function ( e ) { return arguments . length ? ( t . top = typeof e . top != "undefined" ? e . top : t . top , t . right = typeof e . right != "undefined" ? e . right : t . right , t . bottom = typeof e . bottom != "undefined" ? e . bottom : t . bottom , t . left = typeof e . left != "undefined" ? e . left : t . left , B ) : t } , B . width = function ( e ) { return arguments . length ? ( n = e , B ) : n } , B . height = function ( e ) { return arguments . length ? ( r = e , B ) : r } , B . xScale = function ( e ) { return arguments . length ? ( o = e , B ) : o } , B . yScale = function ( e ) { return arguments . length ? ( u = e , B ) : u } , B . zScale = function ( e ) { return arguments . length ? ( a = e , B ) : a } , B . xDomain = function ( e ) { return arguments . length ? ( T = e , B ) : T } , B . yDomain = function ( e ) { return arguments . length ? ( N = e , B ) : N } , B . sizeDomain = function ( e ) { return arguments . length ? ( C = e , B ) : C } , B . sizeRange = function ( e ) { return arguments . length ? ( k = e , B ) : k } , B . forceX = function ( e ) { return arguments . length ? ( d = e , B ) : d } , B . forceY = function ( e ) { return arguments . length ? ( v = e , B ) : v } , B . forceSize = function ( e ) { return arguments . length ? ( m = e , B ) : m } , B . interactive = function ( e ) { return arguments . length ? ( g = e , B ) : g } , B . pointActive = function ( e ) { return arguments . length ? ( y = e , B ) : y } , B . padData = function ( e ) { return arguments . length ? ( b = e , B ) : b } , B . padDataOuter = function ( e ) { return arguments . length ? ( w = e , B ) : w } , B . clipEdge = function ( e ) { return arguments . length ? ( E = e , B ) : E } , B . clipVoronoi = function ( e ) { return arguments . length ? ( S = e , B ) : S } , B . useVoronoi = function ( e ) { return arguments . length ? ( O = e , O === ! 1 && ( S = ! 1 ) , B ) : O } , B . clipRadius = function ( e ) { return arguments . length ? ( x = e , B ) : x } , B . color = function ( t ) { return arguments . length ? ( i = e . utils . getColor ( t ) , B ) : i } , B . shape = function ( e ) { return arguments . length ? ( h = e , B ) : h } , B . onlyCircles = function ( e ) { return arguments . length ? ( p = e , B ) : p } , B . id = function ( e ) { return arguments . length ? ( s = e , B ) : s } , B . singlePoint = function ( e ) { return arguments . length ? ( L = e , B ) : L } , B } , e . models . s
) , O . append ( "g" ) . attr ( "class" , "nv-controlsWrap" ) , c && ( i . width ( N - E ) , M . select ( ".nv-legendWrap" ) . datum ( f ) . call ( i ) , o . top != i . height ( ) && ( o . top = i . height ( ) , C = ( a || parseInt ( p . style ( "height" ) ) || 400 ) - o . top - o . bottom ) , M . select ( ".nv-legendWrap" ) . attr ( "transform" , "translate(" + E + "," + - o . top + ")" ) ) ; if ( l ) { var _ = [ { key : "Stacked" , disabled : t . offset ( ) != "zero" } , { key : "Stream" , disabled : t . offset ( ) != "wiggle" } , { key : "Expanded" , disabled : t . offset ( ) != "expand" } ] ; s . width ( E ) . color ( [ "#444" , "#444" , "#444" ] ) , M . select ( ".nv-controlsWrap" ) . datum ( _ ) . call ( s ) , o . top != Math . max ( s . height ( ) , i . height ( ) ) && ( o . top = Math . max ( s . height ( ) , i . height ( ) ) , C = ( a || parseInt ( p . style ( "height" ) ) || 400 ) - o . top - o . bottom ) , M . select ( ".nv-controlsWrap" ) . attr ( "transform" , "translate(0," + - o . top + ")" ) } A . attr ( "transform" , "translate(" + o . left + "," + o . top + ")" ) , t . width ( N ) . height ( C ) ; var D = M . select ( ".nv-stackedWrap" ) . datum ( f ) ; D . call ( t ) , n . scale ( d ) . ticks ( N / 100 ) . tickSize ( - C , 0 ) , M . select ( ".nv-x.nv-axis" ) . attr ( "transform" , "translate(0," + C + ")" ) , M . select ( ".nv-x.nv-axis" ) . transition ( ) . duration ( 0 ) . call ( n ) , r . scale ( v ) . ticks ( t . offset ( ) == "wiggle" ? 0 : C / 36 ) . tickSize ( - N , 0 ) . setTickFormat ( t . offset ( ) == "expand" ? d3 . format ( "%" ) : m ) , M . select ( ".nv-y.nv-axis" ) . transition ( ) . duration ( 0 ) . call ( r ) , t . dispatch . on ( "areaClick.toggle" , function ( t ) { f . filter ( function ( e ) { return ! e . disabled } ) . length === 1 ? f = f . map ( function ( e ) { return e . disabled = ! 1 , e } ) : f = f . map ( function ( e , n ) { return e . disabled = n != t . seriesIndex , e } ) , g . disabled = f . map ( function ( e ) { return ! ! e . disabled } ) , w . stateChange ( g ) , x ( e ) } ) , i . dispatch . on ( "legendClick" , function ( t , n ) { t . disabled = ! t . disabled , f . filter ( function ( e ) { return ! e . disabled } ) . length || f . map ( function ( e ) { return e . disabled = ! 1 , e } ) , g . disabled = f . map ( function ( e ) { return ! ! e . disabled } ) , w . stateChange ( g ) , x ( e ) } ) , s . dispatch . on ( "legendClick" , function ( n , r ) { if ( ! n . disabled ) return ; _ = _ . map ( function ( e ) { return e . disabled = ! 0 , e } ) , n . disabled = ! 1 ; switch ( n . key ) { case "Stacked" : t . style ( "stack" ) ; break ; case "Stream" : t . style ( "stream" ) ; break ; case "Expanded" : t . style ( "expand" ) } g . style = t . style ( ) , w . stateChange ( g ) , x ( e ) } ) , w . on ( "tooltipShow" , function ( e ) { h && S ( e , T . parentNode ) } ) , w . on ( "changeState" , function ( n ) { typeof n . disabled != "undefined" && ( f . forEach ( function ( e , t ) { e . disabled = n . disabled [ t ] } ) , g . disabled = n . disabled ) , typeof n . style != "undefined" && t . style ( n . style ) , e . call ( x ) } ) } ) , x } var t = e . models . stackedArea ( ) , n = e . models . axis ( ) , r = e . models . axis ( ) , i = e . models . legend ( ) , s = e . models . legend ( ) , o = { top : 30 , right : 25 , bottom : 50 , left : 60 } , u = null , a = null , f = e . utils . defaultColor ( ) , l = ! 0 , c = ! 0 , h = ! 0 , p = function ( e , t , n , r , i ) { return "<h3>" + e + "</h3>" + "<p>" + n + " on " + t + "</p>" } , d , v , m = d3 . format ( ",.2f" ) , g = { style : t . style ( ) } , y = null , b = "No Data Available." , w = d3 . dispatch ( "tooltipShow" , "tooltipHide" , "stateChange" , "changeState" ) , E = 250 ; n . orient ( "bottom" ) . tickPadding ( 7 ) , r . orient ( "left" ) , t . scatter . pointActive ( function ( e ) { return ! ! Math . round ( t . y ( ) ( e ) * 100 ) } ) ; var S = function ( i , s ) { var o = i . pos [ 0 ] + ( s . offsetLeft || 0 ) , u = i . pos [ 1 ] + ( s . offsetTop || 0 ) , a = n . tickFormat ( ) ( t . x ( ) ( i . point , i . pointIndex ) ) , f = r . tickFormat ( ) ( t . y ( ) ( i . point , i . pointIndex ) ) , l = p ( i . series . key , a , f , i , x ) ; e . tooltip . show ( [ o , u ] , l , i . value < 0 ? "n" : "s" , null , s ) } ; return t . dispatch . on ( "tooltipShow" , function ( e ) { e . pos = [ e . pos [ 0 ] + o . left , e . pos [ 1 ] + o . top ] , w . tooltipShow ( e ) } ) , t . dispatch . on ( "tooltipHide" , function ( e ) { w . tooltipHide ( e ) } ) , w . on ( "tooltipHide" , function ( ) { h && e . tooltip . cleanup ( ) } ) , x . dispatch = w , x . stacked = t , x . legend = i , x . controls = s , x . xAxis = n , x . yAxis = r , d3 . rebind ( x , t , "x" , "y" , "size" , "xScale" , "yScale" , "xDomain" , "yDomain" , "sizeDomain" , "interactive" , "offset" , "order" , "style" , "clipEdge" , "forceX" , "forceY" , "forceSize" , "interpolate" ) , x . margin = function ( e ) { return arguments . length ? ( o . top = typeof e . top != "undefined" ? e . top : o . top , o . right = typeof e . right != "undefined" ? e . right : o . right , o . bottom = typeof e . bottom != "undefined" ? e . bottom : o . bottom , o . left = typeof e . left != "undefined" ? e . left : o . left , x ) : o } , x . width = function ( e ) { return arguments . length ? ( u = e , x ) : getWidth } , x . height = function ( e ) { return arguments . length ? ( a = e , x ) : getHeight } , x . color = function ( n ) { return arguments . length ? ( f = e . utils . getColor ( n ) , i . color ( f ) , t . color ( f ) , x ) : f } , x . showControls = function ( e ) { return arguments . length ? ( l = e , x ) : l } , x . showLegend = function ( e ) { return arguments . length ? ( c = e , x ) : c } , x . tooltip = fun