2015-11-11 16:19:06 +01:00
! function ( t ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = t ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , t ) ; else { var e ; "undefined" != typeof window ? e = window : "undefined" != typeof global ? e = global : "undefined" != typeof self && ( e = self ) , e . mermaidAPI = t ( ) } } ( function ( ) { var define , module , exports ; return function t ( e , n , r ) { function i ( u , o ) { if ( ! n [ u ] ) { if ( ! e [ u ] ) { var s = "function" == typeof require && require ; if ( ! o && s ) return s ( u , ! 0 ) ; if ( a ) return a ( u , ! 0 ) ; var c = new Error ( "Cannot find module '" + u + "'" ) ; throw c . code = "MODULE_NOT_FOUND" , c } var l = n [ u ] = { exports : { } } ; e [ u ] [ 0 ] . call ( l . exports , function ( t ) { var n = e [ u ] [ 1 ] [ t ] ; return i ( n ? n : t ) } , l , l . exports , t , e , n , r ) } return n [ u ] . exports } for ( var a = "function" == typeof require && require , u = 0 ; u < r . length ; u ++ ) i ( r [ u ] ) ; return i } ( { 1 : [ function ( ) { } , { } ] , 2 : [ function ( t , e , n ) { ( function ( t ) { function e ( t , e ) { for ( var n = 0 , r = t . length - 1 ; r >= 0 ; r -- ) { var i = t [ r ] ; "." === i ? t . splice ( r , 1 ) : ".." === i ? ( t . splice ( r , 1 ) , n ++ ) : n && ( t . splice ( r , 1 ) , n -- ) } if ( e ) for ( ; n -- ; n ) t . unshift ( ".." ) ; return t } function r ( t , e ) { if ( t . filter ) return t . filter ( e ) ; for ( var n = [ ] , r = 0 ; r < t . length ; r ++ ) e ( t [ r ] , r , t ) && n . push ( t [ r ] ) ; return n } var i = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/ , a = function ( t ) { return i . exec ( t ) . slice ( 1 ) } ; n . resolve = function ( ) { for ( var n = "" , i = ! 1 , a = arguments . length - 1 ; a >= - 1 && ! i ; a -- ) { var u = a >= 0 ? arguments [ a ] : t . cwd ( ) ; if ( "string" != typeof u ) throw new TypeError ( "Arguments to path.resolve must be strings" ) ; u && ( n = u + "/" + n , i = "/" === u . charAt ( 0 ) ) } return n = e ( r ( n . split ( "/" ) , function ( t ) { return ! ! t } ) , ! i ) . join ( "/" ) , ( i ? "/" : "" ) + n || "." } , n . normalize = function ( t ) { var i = n . isAbsolute ( t ) , a = "/" === u ( t , - 1 ) ; return t = e ( r ( t . split ( "/" ) , function ( t ) { return ! ! t } ) , ! i ) . join ( "/" ) , t || i || ( t = "." ) , t && a && ( t += "/" ) , ( i ? "/" : "" ) + t } , n . isAbsolute = function ( t ) { return "/" === t . charAt ( 0 ) } , n . join = function ( ) { var t = Array . prototype . slice . call ( arguments , 0 ) ; return n . normalize ( r ( t , function ( t ) { if ( "string" != typeof t ) throw new TypeError ( "Arguments to path.join must be strings" ) ; return t } ) . join ( "/" ) ) } , n . relative = function ( t , e ) { function r ( t ) { for ( var e = 0 ; e < t . length && "" === t [ e ] ; e ++ ) ; for ( var n = t . length - 1 ; n >= 0 && "" === t [ n ] ; n -- ) ; return e > n ? [ ] : t . slice ( e , n - e + 1 ) } t = n . resolve ( t ) . substr ( 1 ) , e = n . resolve ( e ) . substr ( 1 ) ; for ( var i = r ( t . split ( "/" ) ) , a = r ( e . split ( "/" ) ) , u = Math . min ( i . length , a . length ) , o = u , s = 0 ; u > s ; s ++ ) if ( i [ s ] !== a [ s ] ) { o = s ; break } for ( var c = [ ] , s = o ; s < i . length ; s ++ ) c . push ( ".." ) ; return c = c . concat ( a . slice ( o ) ) , c . join ( "/" ) } , n . sep = "/" , n . delimiter = ":" , n . dirname = function ( t ) { var e = a ( t ) , n = e [ 0 ] , r = e [ 1 ] ; return n || r ? ( r && ( r = r . substr ( 0 , r . length - 1 ) ) , n + r ) : "." } , n . basename = function ( t , e ) { var n = a ( t ) [ 2 ] ; return e && n . substr ( - 1 * e . length ) === e && ( n = n . substr ( 0 , n . length - e . length ) ) , n } , n . extname = function ( t ) { return a ( t ) [ 3 ] } ; var u = "b" === "ab" . substr ( - 1 ) ? function ( t , e , n ) { return t . substr ( e , n ) } : function ( t , e , n ) { return 0 > e && ( e = t . length + e ) , t . substr ( e , n ) } } ) . call ( this , t ( "_process" ) ) } , { _process : 3 } ] , 3 : [ function ( t , e ) { function n ( ) { } var r = e . exports = { } ; r . nextTick = function ( ) { var t = "undefined" != typeof window && window . setImmediate , e = "undefined" != typeof window && window . MutationObserver , n = "undefined" != typeof window && window . postMessage && window . addEventListener ; if ( t ) return function ( t ) { return window . setImmediate ( t ) } ; var r = [ ] ; if ( e ) { var i = document . createElement ( "div" ) , a = new MutationObserver ( function ( ) { var t = r . slice ( ) ; r . length = 0 , t . forEach ( function ( t ) { t ( ) } ) } ) ; return a . observe ( i , { attributes : ! 0 } ) , function ( t ) { r . length || i . setAttribute ( "yes" , "no" ) , r . push ( t ) } } return n ? ( window . addEventListener ( "message" , function ( t ) { var e = t . source ; if ( ( e === window || null === e ) && "process-tick" === t . data && ( t . stopPropagation ( ) , r . length > 0 ) ) { var n = r . shift ( ) ; n ( ) } } , ! 0 ) , function ( t ) { r . push ( t ) , window . postMessage ( "process-tick" , "*" ) } ) : function ( t ) { setTimeout ( t , 0 ) } } ( ) , r . title = "browser" , r . browser = ! 0 , r . env = { } , r . argv = [ ] , r . on = n , r . addListener = n , r . once = n , r . off = n , r . removeListener = n , r . removeAllListeners = n , r . emit = n , r . binding = function ( ) { throw new Error ( "process.binding is not supported" ) } , r . cwd = function ( ) { return "/" } , r . chdir = function ( ) { throw new Error ( "process.chdir is not supported" ) } } , { } ] , 4 : [ function ( t , e ) { ! function ( ) { function t ( t ) { return t && ( t . ownerDocument || t . document || t ) . documentElement } function n ( t ) { return t && ( t . ownerDocument && t . o
2015-10-19 22:08:17 +02:00
2015-11-11 16:19:06 +01:00
} return function ( o ) { function s ( t ) { for ( var e = 0 , n = y . length , r = t [ 1 ] , i = 0 ; n > i ; ++ i ) for ( var a , u = 1 , o = y [ i ] , s = o . length , c = o [ 0 ] ; s > u ; ++ u ) a = o [ u ] , c [ 1 ] <= r ? a [ 1 ] > r && tt ( c , a , t ) > 0 && ++ e : a [ 1 ] <= r && tt ( c , a , t ) < 0 && -- e , c = a ; return 0 !== e } function c ( a , o , s , c ) { var l = 0 , h = 0 ; if ( null == a || ( l = i ( a , s ) ) !== ( h = i ( o , s ) ) || u ( a , o ) < 0 ^ s > 0 ) { do c . point ( 0 === l || 3 === l ? t : n , l > 1 ? r : e ) ; while ( ( l = ( l + s + 4 ) % 4 ) !== h ) } else c . point ( o [ 0 ] , o [ 1 ] ) } function l ( i , a ) { return i >= t && n >= i && a >= e && r >= a } function h ( t , e ) { l ( t , e ) && o . point ( t , e ) } function f ( ) { S . point = p , y && y . push ( m = [ ] ) , k = ! 0 , A = ! 1 , x = w = 0 / 0 } function d ( ) { g && ( p ( v , _ ) , b && A && M . rejoin ( ) , g . push ( M . buffer ( ) ) ) , S . point = h , A && o . lineEnd ( ) } function p ( t , e ) { t = Math . max ( - Io , Math . min ( Io , t ) ) , e = Math . max ( - Io , Math . min ( Io , e ) ) ; var n = l ( t , e ) ; if ( y && m . push ( [ t , e ] ) , k ) v = t , _ = e , b = n , k = ! 1 , n && ( o . lineStart ( ) , o . point ( t , e ) ) ; else if ( n && A ) o . point ( t , e ) ; else { var r = { a : { x : x , y : w } , b : { x : t , y : e } } ; C ( r ) ? ( A || ( o . lineStart ( ) , o . point ( r . a . x , r . a . y ) ) , o . point ( r . b . x , r . b . y ) , n || o . lineEnd ( ) , E = ! 1 ) : n && ( o . lineStart ( ) , o . point ( t , e ) , E = ! 1 ) } x = t , w = e , A = n } var g , y , m , v , _ , b , x , w , A , k , E , D = o , M = Ie ( ) , C = $e ( t , e , n , r ) , S = { point : h , lineStart : f , lineEnd : d , polygonStart : function ( ) { o = M , g = [ ] , y = [ ] , E = ! 0 } , polygonEnd : function ( ) { o = D , g = nu . merge ( g ) ; var e = s ( [ t , r ] ) , n = E && e , i = g . length ; ( n || i ) && ( o . polygonStart ( ) , n && ( o . lineStart ( ) , c ( null , null , 1 , o ) , o . lineEnd ( ) ) , i && Te ( g , a , e , c , o ) , o . polygonEnd ( ) ) , g = y = m = null } } ; return S } } function qe ( t ) { var e = 0 , n = Bu / 3 , r = on ( t ) , i = r ( e , n ) ; return i . parallels = function ( t ) { return arguments . length ? r ( e = t [ 0 ] * Bu / 180 , n = t [ 1 ] * Bu / 180 ) : [ e / Bu * 180 , n / Bu * 180 ] } , i } function We ( t , e ) { function n ( t , e ) { var n = Math . sqrt ( a - 2 * i * Math . sin ( e ) ) / i ; return [ n * Math . sin ( t *= i ) , u - n * Math . cos ( t ) ] } var r = Math . sin ( t ) , i = ( r + Math . sin ( e ) ) / 2 , a = 1 + r * ( 2 * i - r ) , u = Math . sqrt ( a ) / i ; return n . invert = function ( t , e ) { var n = u - e ; return [ Math . atan2 ( t , n ) / i , nt ( ( a - ( t * t + n * n ) * i * i ) / ( 2 * i ) ) ] } , n } function Ge ( ) { function t ( t , e ) { Po += i * t - r * e , r = t , i = e } var e , n , r , i ; $o . point = function ( a , u ) { $o . point = t , e = r = a , n = i = u } , $o . lineEnd = function ( ) { t ( e , n ) } } function He ( t , e ) { Ro > t && ( Ro = t ) , t > Uo && ( Uo = t ) , jo > e && ( jo = e ) , e > Yo && ( Yo = e ) } function Ve ( ) { function t ( t , e ) { u . push ( "M" , t , "," , e , a ) } function e ( t , e ) { u . push ( "M" , t , "," , e ) , o . point = n } function n ( t , e ) { u . push ( "L" , t , "," , e ) } function r ( ) { o . point = t } function i ( ) { u . push ( "Z" ) } var a = Xe ( 4.5 ) , u = [ ] , o = { point : t , lineStart : function ( ) { o . point = e } , lineEnd : r , polygonStart : function ( ) { o . lineEnd = i } , polygonEnd : function ( ) { o . lineEnd = r , o . point = t } , pointRadius : function ( t ) { return a = Xe ( t ) , o } , result : function ( ) { if ( u . length ) { var t = u . join ( "" ) ; return u = [ ] , t } } } ; return o } function Xe ( t ) { return "m0," + t + "a" + t + "," + t + " 0 1,1 0," + - 2 * t + "a" + t + "," + t + " 0 1,1 0," + 2 * t + "z" } function Ze ( t , e ) { ko += t , Eo += e , ++ Do } function Ke ( ) { function t ( t , r ) { var i = t - e , a = r - n , u = Math . sqrt ( i * i + a * a ) ; Mo += u * ( e + t ) / 2 , Co += u * ( n + r ) / 2 , So += u , Ze ( e = t , n = r ) } var e , n ; qo . point = function ( r , i ) { qo . point = t , Ze ( e = r , n = i ) } } function Qe ( ) { qo . point = Ze } function Je ( ) { function t ( t , e ) { var n = t - r , a = e - i , u = Math . sqrt ( n * n + a * a ) ; Mo += u * ( r + t ) / 2 , Co += u * ( i + e ) / 2 , So += u , u = i * t - r * e , To += u * ( r + t ) , Fo += u * ( i + e ) , Bo += 3 * u , Ze ( r = t , i = e ) } var e , n , r , i ; qo . point = function ( a , u ) { qo . point = t , Ze ( e = r = a , n = i = u ) } , qo . lineEnd = function ( ) { t ( e , n ) } } function tn ( t ) { function e ( e , n ) { t . moveTo ( e + u , n ) , t . arc ( e , n , u , 0 , Lu ) } function n ( e , n ) { t . moveTo ( e , n ) , o . point = r } function r ( e , n ) { t . lineTo ( e , n ) } function i ( ) { o . point = e } function a ( ) { t . closePath ( ) } var u = 4.5 , o = { point : e , lineStart : function ( ) { o . point = n } , lineEnd : i , polygonStart : function ( ) { o . lineEnd = a } , polygonEnd : function ( ) { o . lineEnd = i , o . point = e } , pointRadius : function ( t ) { return u = t , o } , result : w } ; return o } function en ( t ) { function e ( t ) { return ( o ? r : n ) ( t ) } function n ( e ) { return an ( e , function ( n , r ) { n = t ( n , r ) , e . point ( n [ 0 ] , n [ 1 ] ) } ) } function r ( e ) { function n ( n , r ) { n = t ( n , r ) , e . point ( n [ 0 ] , n [ 1 ] ) } function r ( ) { _ = 0 / 0 , k . point = a , e . lineStart ( ) } function a ( n , r ) { var a = ge ( [ n , r ] ) , u = t ( n , r ) ; i ( _ , b , v , x , w , A , _ = u [ 0 ] , b = u [ 1 ] , v = n , x = a [ 0 ] , w = a [ 1 ] , A = a [ 2 ] , o , e ) , e . point ( _ , b ) } function u ( ) { k . point = n , e . lineEnd ( ) } function s ( ) { r ( ) , k . point = c , k . lineEnd = l } function c ( t , e ) { a ( h = t , f = e ) , d = _ , p = b , g = x , y = w , m = A , k . point = a } function l ( ) { i ( _ , b , v , x , w , A , d , p , h , g , y , m , o , e ) , k . lineEnd = u , u ( ) } var h , f , d , p , g , y , m , v , _ , b , x , w , A , k = { point : n , lineStart : r , lineEnd : u , polygonStart : function ( ) { e . polygonStart ( ) , k . lineStart = s } , polygonEnd : function ( ) { e . polygonEnd ( ) , k . lineStart = r } } ; return k } function i ( e , n , r , o , s , c , l , h , f , d , p , g , y , m ) { var v = l - e , _ = h -
e ) : r } , e . defined = function ( t ) { return arguments . length ? ( i = t , e ) : i } , e . interpolate = function ( t ) { return arguments . length ? ( u = "function" == typeof t ? a = t : ( a = Cs . get ( t ) || ga ) . key , e ) : u } , e . tension = function ( t ) { return arguments . length ? ( o = t , e ) : o } , e } function ga ( t ) { return t . join ( "L" ) } function ya ( t ) { return ga ( t ) + "Z" } function ma ( t ) { for ( var e = 0 , n = t . length , r = t [ 0 ] , i = [ r [ 0 ] , "," , r [ 1 ] ] ; ++ e < n ; ) i . push ( "H" , ( r [ 0 ] + ( r = t [ e ] ) [ 0 ] ) / 2 , "V" , r [ 1 ] ) ; return n > 1 && i . push ( "H" , r [ 0 ] ) , i . join ( "" ) } function va ( t ) { for ( var e = 0 , n = t . length , r = t [ 0 ] , i = [ r [ 0 ] , "," , r [ 1 ] ] ; ++ e < n ; ) i . push ( "V" , ( r = t [ e ] ) [ 1 ] , "H" , r [ 0 ] ) ; return i . join ( "" ) } function _a ( t ) { for ( var e = 0 , n = t . length , r = t [ 0 ] , i = [ r [ 0 ] , "," , r [ 1 ] ] ; ++ e < n ; ) i . push ( "H" , ( r = t [ e ] ) [ 0 ] , "V" , r [ 1 ] ) ; return i . join ( "" ) } function ba ( t , e ) { return t . length < 4 ? ga ( t ) : t [ 1 ] + Aa ( t . slice ( 1 , - 1 ) , ka ( t , e ) ) } function xa ( t , e ) { return t . length < 3 ? ga ( t ) : t [ 0 ] + Aa ( ( t . push ( t [ 0 ] ) , t ) , ka ( [ t [ t . length - 2 ] ] . concat ( t , [ t [ 1 ] ] ) , e ) ) } function wa ( t , e ) { return t . length < 3 ? ga ( t ) : t [ 0 ] + Aa ( t , ka ( t , e ) ) } function Aa ( t , e ) { if ( e . length < 1 || t . length != e . length && t . length != e . length + 2 ) return ga ( t ) ; var n = t . length != e . length , r = "" , i = t [ 0 ] , a = t [ 1 ] , u = e [ 0 ] , o = u , s = 1 ; if ( n && ( r += "Q" + ( a [ 0 ] - 2 * u [ 0 ] / 3 ) + "," + ( a [ 1 ] - 2 * u [ 1 ] / 3 ) + "," + a [ 0 ] + "," + a [ 1 ] , i = t [ 1 ] , s = 2 ) , e . length > 1 ) { o = e [ 1 ] , a = t [ s ] , s ++ , r += "C" + ( i [ 0 ] + u [ 0 ] ) + "," + ( i [ 1 ] + u [ 1 ] ) + "," + ( a [ 0 ] - o [ 0 ] ) + "," + ( a [ 1 ] - o [ 1 ] ) + "," + a [ 0 ] + "," + a [ 1 ] ; for ( var c = 2 ; c < e . length ; c ++ , s ++ ) a = t [ s ] , o = e [ c ] , r += "S" + ( a [ 0 ] - o [ 0 ] ) + "," + ( a [ 1 ] - o [ 1 ] ) + "," + a [ 0 ] + "," + a [ 1 ] } if ( n ) { var l = t [ s ] ; r += "Q" + ( a [ 0 ] + 2 * o [ 0 ] / 3 ) + "," + ( a [ 1 ] + 2 * o [ 1 ] / 3 ) + "," + l [ 0 ] + "," + l [ 1 ] } return r } function ka ( t , e ) { for ( var n , r = [ ] , i = ( 1 - e ) / 2 , a = t [ 0 ] , u = t [ 1 ] , o = 1 , s = t . length ; ++ o < s ; ) n = a , a = u , u = t [ o ] , r . push ( [ i * ( u [ 0 ] - n [ 0 ] ) , i * ( u [ 1 ] - n [ 1 ] ) ] ) ; return r } function Ea ( t ) { if ( t . length < 3 ) return ga ( t ) ; var e = 1 , n = t . length , r = t [ 0 ] , i = r [ 0 ] , a = r [ 1 ] , u = [ i , i , i , ( r = t [ 1 ] ) [ 0 ] ] , o = [ a , a , a , r [ 1 ] ] , s = [ i , "," , a , "L" , Sa ( Fs , u ) , "," , Sa ( Fs , o ) ] ; for ( t . push ( t [ n - 1 ] ) ; ++ e <= n ; ) r = t [ e ] , u . shift ( ) , u . push ( r [ 0 ] ) , o . shift ( ) , o . push ( r [ 1 ] ) , Ta ( s , u , o ) ; return t . pop ( ) , s . push ( "L" , r ) , s . join ( "" ) } function Da ( t ) { if ( t . length < 4 ) return ga ( t ) ; for ( var e , n = [ ] , r = - 1 , i = t . length , a = [ 0 ] , u = [ 0 ] ; ++ r < 3 ; ) e = t [ r ] , a . push ( e [ 0 ] ) , u . push ( e [ 1 ] ) ; for ( n . push ( Sa ( Fs , a ) + "," + Sa ( Fs , u ) ) , -- r ; ++ r < i ; ) e = t [ r ] , a . shift ( ) , a . push ( e [ 0 ] ) , u . shift ( ) , u . push ( e [ 1 ] ) , Ta ( n , a , u ) ; return n . join ( "" ) } function Ma ( t ) { for ( var e , n , r = - 1 , i = t . length , a = i + 4 , u = [ ] , o = [ ] ; ++ r < 4 ; ) n = t [ r % i ] , u . push ( n [ 0 ] ) , o . push ( n [ 1 ] ) ; for ( e = [ Sa ( Fs , u ) , "," , Sa ( Fs , o ) ] , -- r ; ++ r < a ; ) n = t [ r % i ] , u . shift ( ) , u . push ( n [ 0 ] ) , o . shift ( ) , o . push ( n [ 1 ] ) , Ta ( e , u , o ) ; return e . join ( "" ) } function Ca ( t , e ) { var n = t . length - 1 ; if ( n ) for ( var r , i , a = t [ 0 ] [ 0 ] , u = t [ 0 ] [ 1 ] , o = t [ n ] [ 0 ] - a , s = t [ n ] [ 1 ] - u , c = - 1 ; ++ c <= n ; ) r = t [ c ] , i = c / n , r [ 0 ] = e * r [ 0 ] + ( 1 - e ) * ( a + i * o ) , r [ 1 ] = e * r [ 1 ] + ( 1 - e ) * ( u + i * s ) ; return Ea ( t ) } function Sa ( t , e ) { return t [ 0 ] * e [ 0 ] + t [ 1 ] * e [ 1 ] + t [ 2 ] * e [ 2 ] + t [ 3 ] * e [ 3 ] } function Ta ( t , e , n ) { t . push ( "C" , Sa ( Ss , e ) , "," , Sa ( Ss , n ) , "," , Sa ( Ts , e ) , "," , Sa ( Ts , n ) , "," , Sa ( Fs , e ) , "," , Sa ( Fs , n ) ) } function Fa ( t , e ) { return ( e [ 1 ] - t [ 1 ] ) / ( e [ 0 ] - t [ 0 ] ) } function Ba ( t ) { for ( var e = 0 , n = t . length - 1 , r = [ ] , i = t [ 0 ] , a = t [ 1 ] , u = r [ 0 ] = Fa ( i , a ) ; ++ e < n ; ) r [ e ] = ( u + ( u = Fa ( i = a , a = t [ e + 1 ] ) ) ) / 2 ; return r [ e ] = u , r } function La ( t ) { for ( var e , n , r , i , a = [ ] , u = Ba ( t ) , o = - 1 , s = t . length - 1 ; ++ o < s ; ) e = Fa ( t [ o ] , t [ o + 1 ] ) , pu ( e ) < Tu ? u [ o ] = u [ o + 1 ] = 0 : ( n = u [ o ] / e , r = u [ o + 1 ] / e , i = n * n + r * r , i > 9 && ( i = 3 * e / Math . sqrt ( i ) , u [ o ] = i * n , u [ o + 1 ] = i * r ) ) ; for ( o = - 1 ; ++ o <= s ; ) i = ( t [ Math . min ( s , o + 1 ) ] [ 0 ] - t [ Math . max ( 0 , o - 1 ) ] [ 0 ] ) / ( 6 * ( 1 + u [ o ] * u [ o ] ) ) , a . push ( [ i || 0 , u [ o ] * i || 0 ] ) ; return a } function Oa ( t ) { return t . length < 3 ? ga ( t ) : t [ 0 ] + Aa ( t , La ( t ) ) } function Ia ( t ) { for ( var e , n , r , i = - 1 , a = t . length ; ++ i < a ; ) e = t [ i ] , n = e [ 0 ] , r = e [ 1 ] - Iu , e [ 0 ] = n * Math . cos ( r ) , e [ 1 ] = n * Math . sin ( r ) ; return t } function Na ( t ) { function e ( e ) { function s ( ) { g . push ( "M" , o ( t ( m ) , h ) , l , c ( t ( y . reverse ( ) ) , h ) , "Z" ) } for ( var f , d , p , g = [ ] , y = [ ] , m = [ ] , v = - 1 , _ = e . length , b = Mt ( n ) , x = Mt ( i ) , w = n === r ? function ( ) { return d } : Mt ( r ) , A = i === a ? function ( ) { return p } : Mt ( a ) ; ++ v < _ ; ) u . call ( this , f = e [ v ] , v ) ? ( y . push ( [ d = + b . call ( this , f , v ) , p = + x . call ( this , f , v ) ] ) , m . push ( [ + w . call ( this , f , v ) , + A . call ( this , f , v ) ] ) ) : y . length && ( s ( ) , y = [ ] , m = [ ] ) ; return y . length && s ( ) , g . length ? g . join ( "" ) : null } var n = Sn , r = Sn , i = 0 , a = Tn , u = Se , o = ga , s = o . key , c = o , l = "L" , h = . 7 ; return e . x = function ( t ) { return arguments . length ? ( n = r = t , e ) : r } , e . x0 = function ( t ) { return arguments . length ? ( n = t , e ) : n } , e . x1 = function ( t ) { return arguments . length ? ( r = t , e ) : r } , e . y = function ( t ) { return arguments . length ? ( i = a = t , e ) : a } , e . y0 = function ( t ) { return arguments
to = a , eo || ( no = clearTimeout ( no ) , eo = 1 , io ( Bt ) ) } , nu . timer . flush = function ( ) { Lt ( ) , Ot ( ) } , nu . round = function ( t , e ) { return e ? Math . round ( t * ( e = Math . pow ( 10 , e ) ) ) / e : Math . round ( t ) } ; var ao = [ "y" , "z" , "a" , "f" , "p" , "n" , "µ" , "m" , "" , "k" , "M" , "G" , "T" , "P" , "E" , "Z" , "Y" ] . map ( Nt ) ; nu . formatPrefix = function ( t , e ) { var n = 0 ; return t && ( 0 > t && ( t *= - 1 ) , e && ( t = nu . round ( t , It ( t , e ) ) ) , n = 1 + Math . floor ( 1e-12 + Math . log ( t ) / Math . LN10 ) , n = Math . max ( - 24 , Math . min ( 24 , 3 * Math . floor ( ( n - 1 ) / 3 ) ) ) ) , ao [ 8 + n / 3 ] } ; var uo = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i , oo = nu . map ( { b : function ( t ) { return t . toString ( 2 ) } , c : function ( t ) { return String . fromCharCode ( t ) } , o : function ( t ) { return t . toString ( 8 ) } , x : function ( t ) { return t . toString ( 16 ) } , X : function ( t ) { return t . toString ( 16 ) . toUpperCase ( ) } , g : function ( t , e ) { return t . toPrecision ( e ) } , e : function ( t , e ) { return t . toExponential ( e ) } , f : function ( t , e ) { return t . toFixed ( e ) } , r : function ( t , e ) { return ( t = nu . round ( t , It ( t , e ) ) ) . toFixed ( Math . max ( 0 , Math . min ( 20 , It ( t * ( 1 + 1e-15 ) , e ) ) ) ) } } ) , so = nu . time = { } , co = Date ; jt . prototype = { getDate : function ( ) { return this . _ . getUTCDate ( ) } , getDay : function ( ) { return this . _ . getUTCDay ( ) } , getFullYear : function ( ) { return this . _ . getUTCFullYear ( ) } , getHours : function ( ) { return this . _ . getUTCHours ( ) } , getMilliseconds : function ( ) { return this . _ . getUTCMilliseconds ( ) } , getMinutes : function ( ) { return this . _ . getUTCMinutes ( ) } , getMonth : function ( ) { return this . _ . getUTCMonth ( ) } , getSeconds : function ( ) { return this . _ . getUTCSeconds ( ) } , getTime : function ( ) { return this . _ . getTime ( ) } , getTimezoneOffset : function ( ) { return 0 } , valueOf : function ( ) { return this . _ . valueOf ( ) } , setDate : function ( ) { lo . setUTCDate . apply ( this . _ , arguments ) } , setDay : function ( ) { lo . setUTCDay . apply ( this . _ , arguments ) } , setFullYear : function ( ) { lo . setUTCFullYear . apply ( this . _ , arguments ) } , setHours : function ( ) { lo . setUTCHours . apply ( this . _ , arguments ) } , setMilliseconds : function ( ) { lo . setUTCMilliseconds . apply ( this . _ , arguments ) } , setMinutes : function ( ) { lo . setUTCMinutes . apply ( this . _ , arguments ) } , setMonth : function ( ) { lo . setUTCMonth . apply ( this . _ , arguments ) } , setSeconds : function ( ) { lo . setUTCSeconds . apply ( this . _ , arguments ) } , setTime : function ( ) { lo . setTime . apply ( this . _ , arguments ) } } ; var lo = Date . prototype ; so . year = Ut ( function ( t ) { return t = so . day ( t ) , t . setMonth ( 0 , 1 ) , t } , function ( t , e ) { t . setFullYear ( t . getFullYear ( ) + e ) } , function ( t ) { return t . getFullYear ( ) } ) , so . years = so . year . range , so . years . utc = so . year . utc . range , so . day = Ut ( function ( t ) { var e = new co ( 2e3 , 0 ) ; return e . setFullYear ( t . getFullYear ( ) , t . getMonth ( ) , t . getDate ( ) ) , e } , function ( t , e ) { t . setDate ( t . getDate ( ) + e ) } , function ( t ) { return t . getDate ( ) - 1 } ) , so . days = so . day . range , so . days . utc = so . day . utc . range , so . dayOfYear = function ( t ) { var e = so . year ( t ) ; return Math . floor ( ( t - e - 6e4 * ( t . getTimezoneOffset ( ) - e . getTimezoneOffset ( ) ) ) / 864e5 ) } , [ "sunday" , "monday" , "tuesday" , "wednesday" , "thursday" , "friday" , "saturday" ] . forEach ( function ( t , e ) { e = 7 - e ; var n = so [ t ] = Ut ( function ( t ) { return ( t = so . day ( t ) ) . setDate ( t . getDate ( ) - ( t . getDay ( ) + e ) % 7 ) , t } , function ( t , e ) { t . setDate ( t . getDate ( ) + 7 * Math . floor ( e ) ) } , function ( t ) { var n = so . year ( t ) . getDay ( ) ; return Math . floor ( ( so . dayOfYear ( t ) + ( n + e ) % 7 ) / 7 ) - ( n !== e ) } ) ; so [ t + "s" ] = n . range , so [ t + "s" ] . utc = n . utc . range , so [ t + "OfYear" ] = function ( t ) { var n = so . year ( t ) . getDay ( ) ; return Math . floor ( ( so . dayOfYear ( t ) + ( n + e ) % 7 ) / 7 ) } } ) , so . week = so . sunday , so . weeks = so . sunday . range , so . weeks . utc = so . sunday . utc . range , so . weekOfYear = so . sundayOfYear ; var ho = { "-" : "" , _ : " " , 0 : "0" } , fo = /^\s*\d+/ , po = /^%/ ; nu . locale = function ( t ) { return { numberFormat : Pt ( t ) , timeFormat : $t ( t ) } } ; var go = nu . locale ( { decimal : "." , thousands : "," , grouping : [ 3 ] , currency : [ "$" , "" ] , dateTime : "%a %b %e %X %Y" , date : "%m/%d/%Y" , time : "%H:%M:%S" , periods : [ "AM" , "PM" ] , days : [ "Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ] , shortDays : [ "Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" ] , months : [ "January" , "February" , "March" , "April" , "May" , "June" , "July" , "August" , "September" , "October" , "November" , "December" ] , shortMonths : [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ] } ) ; nu . format = go . numberFormat , nu . geo = { } , ce . prototype = { s : 0 , t : 0 , add : function ( t ) { le ( t , this . t , yo ) , le ( yo . s , this . s , this ) , this . s ? this . t += yo . t : this . s = yo . t } , reset : function ( ) { this . s = this . t = 0 } , valueOf : function ( ) { return this . s } } ; var yo =
2015-10-19 22:08:17 +02:00
2015-11-11 16:19:06 +01:00
} ) , ei ( o , xi ) , ei ( o , function ( t ) { t . r -= h } ) } return ki ( o , s / 2 , c / 2 , e ? 1 : 1 / Math . max ( 2 * o . r / s , 2 * o . r / c ) ) , u } var e , n = nu . layout . hierarchy ( ) . sort ( mi ) , r = 0 , i = [ 1 , 1 ] ; return t . size = function ( e ) { return arguments . length ? ( i = e , t ) : i } , t . radius = function ( n ) { return arguments . length ? ( e = null == n || "function" == typeof n ? n : + n , t ) : e } , t . padding = function ( e ) { return arguments . length ? ( r = + e , t ) : r } , Jr ( t , n ) } , nu . layout . tree = function ( ) { function t ( t , i ) { var l = u . call ( this , t , i ) , h = l [ 0 ] , f = e ( h ) ; if ( ei ( f , n ) , f . parent . m = - f . z , ti ( f , r ) , c ) ti ( h , a ) ; else { var d = h , p = h , g = h ; ti ( h , function ( t ) { t . x < d . x && ( d = t ) , t . x > p . x && ( p = t ) , t . depth > g . depth && ( g = t ) } ) ; var y = o ( d , p ) / 2 - d . x , m = s [ 0 ] / ( p . x + o ( p , d ) / 2 + y ) , v = s [ 1 ] / ( g . depth || 1 ) ; ti ( h , function ( t ) { t . x = ( t . x + y ) * m , t . y = t . depth * v } ) } return l } function e ( t ) { for ( var e , n = { A : null , children : [ t ] } , r = [ n ] ; null != ( e = r . pop ( ) ) ; ) for ( var i , a = e . children , u = 0 , o = a . length ; o > u ; ++ u ) r . push ( ( a [ u ] = i = { _ : a [ u ] , parent : e , children : ( i = a [ u ] . children ) && i . slice ( ) || [ ] , A : null , a : null , z : 0 , m : 0 , c : 0 , s : 0 , t : null , i : u } ) . a = i ) ; return n . children [ 0 ] } function n ( t ) { var e = t . children , n = t . parent . children , r = t . i ? n [ t . i - 1 ] : null ; if ( e . length ) { Ti ( t ) ; var a = ( e [ 0 ] . z + e [ e . length - 1 ] . z ) / 2 ; r ? ( t . z = r . z + o ( t . _ , r . _ ) , t . m = t . z - a ) : t . z = a } else r && ( t . z = r . z + o ( t . _ , r . _ ) ) ; t . parent . A = i ( t , r , t . parent . A || n [ 0 ] ) } function r ( t ) { t . _ . x = t . z + t . parent . m , t . m += t . parent . m } function i ( t , e , n ) { if ( e ) { for ( var r , i = t , a = t , u = e , s = i . parent . children [ 0 ] , c = i . m , l = a . m , h = u . m , f = s . m ; u = Ci ( u ) , i = Mi ( i ) , u && i ; ) s = Mi ( s ) , a = Ci ( a ) , a . a = t , r = u . z + h - i . z - c + o ( u . _ , i . _ ) , r > 0 && ( Si ( Fi ( u , t , n ) , t , r ) , c += r , l += r ) , h += u . m , c += i . m , f += s . m , l += a . m ; u && ! Ci ( a ) && ( a . t = u , a . m += h - l ) , i && ! Mi ( s ) && ( s . t = i , s . m += c - f , n = t ) } return n } function a ( t ) { t . x *= s [ 0 ] , t . y = t . depth * s [ 1 ] } var u = nu . layout . hierarchy ( ) . sort ( null ) . value ( null ) , o = Di , s = [ 1 , 1 ] , c = null ; return t . separation = function ( e ) { return arguments . length ? ( o = e , t ) : o } , t . size = function ( e ) { return arguments . length ? ( c = null == ( s = e ) ? a : null , t ) : c ? null : s } , t . nodeSize = function ( e ) { return arguments . length ? ( c = null == ( s = e ) ? null : a , t ) : c ? s : null } , Jr ( t , u ) } , nu . layout . cluster = function ( ) { function t ( t , a ) { var u , o = e . call ( this , t , a ) , s = o [ 0 ] , c = 0 ; ei ( s , function ( t ) { var e = t . children ; e && e . length ? ( t . x = Li ( e ) , t . y = Bi ( e ) ) : ( t . x = u ? c += n ( t , u ) : 0 , t . y = 0 , u = t ) } ) ; var l = Oi ( s ) , h = Ii ( s ) , f = l . x - n ( l , h ) / 2 , d = h . x + n ( h , l ) / 2 ; return ei ( s , i ? function ( t ) { t . x = ( t . x - s . x ) * r [ 0 ] , t . y = ( s . y - t . y ) * r [ 1 ] } : function ( t ) { t . x = ( t . x - f ) / ( d - f ) * r [ 0 ] , t . y = ( 1 - ( s . y ? t . y / s . y : 1 ) ) * r [ 1 ] } ) , o } var e = nu . layout . hierarchy ( ) . sort ( null ) . value ( null ) , n = Di , r = [ 1 , 1 ] , i = ! 1 ; return t . separation = function ( e ) { return arguments . length ? ( n = e , t ) : n } , t . size = function ( e ) { return arguments . length ? ( i = null == ( r = e ) , t ) : i ? null : r } , t . nodeSize = function ( e ) { return arguments . length ? ( i = null != ( r = e ) , t ) : i ? r : null } , Jr ( t , e ) } , nu . layout . treemap = function ( ) { function t ( t , e ) { for ( var n , r , i = - 1 , a = t . length ; ++ i < a ; ) r = ( n = t [ i ] ) . value * ( 0 > e ? 0 : e ) , n . area = isNaN ( r ) || 0 >= r ? 0 : r } function e ( n ) { var a = n . children ; if ( a && a . length ) { var u , o , s , c = h ( n ) , l = [ ] , f = a . slice ( ) , p = 1 / 0 , g = "slice" === d ? c . dx : "dice" === d ? c . dy : "slice-dice" === d ? 1 & n . depth ? c . dy : c . dx : Math . min ( c . dx , c . dy ) ; for ( t ( f , c . dx * c . dy / n . value ) , l . area = 0 ; ( s = f . length ) > 0 ; ) l . push ( u = f [ s - 1 ] ) , l . area += u . area , "squarify" !== d || ( o = r ( l , g ) ) <= p ? ( f . pop ( ) , p = o ) : ( l . area -= l . pop ( ) . area , i ( l , g , c , ! 1 ) , g = Math . min ( c . dx , c . dy ) , l . length = l . area = 0 , p = 1 / 0 ) ; l . length && ( i ( l , g , c , ! 0 ) , l . length = l . area = 0 ) , a . forEach ( e ) } } function n ( e ) { var r = e . children ; if ( r && r . length ) { var a , u = h ( e ) , o = r . slice ( ) , s = [ ] ; for ( t ( o , u . dx * u . dy / e . value ) , s . area = 0 ; a = o . pop ( ) ; ) s . push ( a ) , s . area += a . area , null != a . z && ( i ( s , a . z ? u . dx : u . dy , u , ! o . length ) , s . length = s . area = 0 ) ; r . forEach ( n ) } } function r ( t , e ) { for ( var n , r = t . area , i = 0 , a = 1 / 0 , u = - 1 , o = t . length ; ++ u < o ; ) ( n = t [ u ] . area ) && ( a > n && ( a = n ) , n > i && ( i = n ) ) ; return r *= r , e *= e , r ? Math . max ( e * i * p / r , r / ( e * a * p ) ) : 1 / 0 } function i ( t , e , n , r ) { var i , a = - 1 , u = t . length , o = n . x , c = n . y , l = e ? s ( t . area / e ) : 0 ; if ( e == n . dx ) { for ( ( r || l > n . dy ) && ( l = n . dy ) ; ++ a < u ; ) i = t [ a ] , i . x = o , i . y = c , i . dy = l , o += i . dx = Math . min ( n . x + n . dx - o , l ? s ( i . area / l ) : 0 ) ; i . z = ! 0 , i . dx += n . x + n . dx - o , n . y += l , n . dy -= l } else { for ( ( r || l > n . dx ) && ( l = n . dx ) ; ++ a < u ; ) i = t [ a ] , i . x = o , i . y = c , i . dx = l , c += i . dy = Math . min ( n . y + n . dy - c , l ? s ( i . area / l ) : 0 ) ; i . z = ! 1 , i . dy += n . y + n . dy - c , n . x += l , n . dx -= l } } function a ( r ) { var i = u || o ( r ) , a = i [ 0 ] ; return a . x = 0 , a . y = 0 , a . dx = c [ 0 ] , a . dy = c [ 1 ] , u && o . revalue ( a ) , t ( [ a ] , a . dx * a . dy / a . value ) , ( u ? n : e ) ( a ) , f && ( u = i ) , i } var u , o = nu . layout . hierarchy ( ) , s = Math . round , c = [ 1 , 1 ] , l = null , h = Ni , f = ! 1 , d = "squarify" , p = . 5 * ( 1 +
2015-10-19 22:08:17 +02:00
2015-11-11 16:19:06 +01:00
function n ( t , e , n ) { var o = e . nodes ( ) . filter ( function ( t ) { return ! a . isSubgraph ( e , t ) } ) , s = t . selectAll ( "g.node" ) . data ( o , function ( t ) { return t } ) . classed ( "update" , ! 0 ) ; return s . selectAll ( "*" ) . remove ( ) , s . enter ( ) . append ( "g" ) . attr ( "class" , "node" ) . style ( "opacity" , 0 ) , s . each ( function ( t ) { var o = e . node ( t ) , s = u . select ( this ) , c = s . append ( "g" ) . attr ( "class" , "label" ) , l = i ( c , o ) , h = n [ o . shape ] , f = r . pick ( l . node ( ) . getBBox ( ) , "width" , "height" ) ; o . elem = this , o . id && s . attr ( "id" , o . id ) , o . labelId && c . attr ( "id" , o . labelId ) , a . applyClass ( s , o [ "class" ] , ( s . classed ( "update" ) ? "update " : "" ) + "node" ) , r . has ( o , "width" ) && ( f . width = o . width ) , r . has ( o , "height" ) && ( f . height = o . height ) , f . width += o . paddingLeft + o . paddingRight , f . height += o . paddingTop + o . paddingBottom , c . attr ( "transform" , "translate(" + ( o . paddingLeft - o . paddingRight ) / 2 + "," + ( o . paddingTop - o . paddingBottom ) / 2 + ")" ) ; var d = h ( u . select ( this ) , f , o ) ; a . applyStyle ( d , o . style ) ; var p = d . node ( ) . getBBox ( ) ; o . width = p . width , o . height = p . height } ) , a . applyTransition ( s . exit ( ) , e ) . style ( "opacity" , 0 ) . remove ( ) , s } var r = t ( "./lodash" ) , i = t ( "./label/add-label" ) , a = t ( "./util" ) , u = t ( "./d3" ) ; e . exports = n } , { "./d3" : 11 , "./label/add-label" : 22 , "./lodash" : 25 , "./util" : 31 } ] , 11 : [ function ( t , e ) { e . exports = window . d3 } , { } ] , 12 : [ function ( t , e ) { var n ; if ( t ) try { n = t ( "dagre" ) } catch ( r ) { } n || ( n = window . dagre ) , e . exports = n } , { dagre : 33 } ] , 13 : [ function ( t , e ) { var n ; if ( t ) try { n = t ( "graphlib" ) } catch ( r ) { } n || ( n = window . graphlib ) , e . exports = n } , { graphlib : 63 } ] , 14 : [ function ( t , e ) { e . exports = { node : t ( "./intersect-node" ) , circle : t ( "./intersect-circle" ) , ellipse : t ( "./intersect-ellipse" ) , polygon : t ( "./intersect-polygon" ) , rect : t ( "./intersect-rect" ) } } , { "./intersect-circle" : 15 , "./intersect-ellipse" : 16 , "./intersect-node" : 18 , "./intersect-polygon" : 19 , "./intersect-rect" : 20 } ] , 15 : [ function ( t , e ) { function n ( t , e , n ) { return r ( t , e , e , n ) } var r = t ( "./intersect-ellipse" ) ; e . exports = n } , { "./intersect-ellipse" : 16 } ] , 16 : [ function ( t , e ) { function n ( t , e , n , r ) { var i = t . x , a = t . y , u = i - r . x , o = a - r . y , s = Math . sqrt ( e * e * o * o + n * n * u * u ) , c = Math . abs ( e * n * u / s ) ; r . x < i && ( c = - c ) ; var l = Math . abs ( e * n * o / s ) ; return r . y < a && ( l = - l ) , { x : i + c , y : a + l } } e . exports = n } , { } ] , 17 : [ function ( t , e ) { function n ( t , e , n , i ) { var a , u , o , s , c , l , h , f , d , p , g , y , m , v , _ ; return a = e . y - t . y , o = t . x - e . x , c = e . x * t . y - t . x * e . y , d = a * n . x + o * n . y + c , p = a * i . x + o * i . y + c , 0 !== d && 0 !== p && r ( d , p ) || ( u = i . y - n . y , s = n . x - i . x , l = i . x * n . y - n . x * i . y , h = u * t . x + s * t . yy + l , f = u * e . x + s * e . y + l , 0 !== h && 0 !== f && r ( h , f ) || ( g = a * s - u * o , 0 === g ) ) ? void 0 : ( y = Math . abs ( g / 2 ) , m = o * l - s * c , v = 0 > m ? ( m - y ) / g : ( m + y ) / g , m = u * c - a * l , _ = 0 > m ? ( m - y ) / g : ( m + y ) / g , { x : v , y : _ } ) } function r ( t , e ) { return t * e > 0 } e . exports = n } , { } ] , 18 : [ function ( t , e ) { function n ( t , e ) { return t . intersect ( e ) } e . exports = n } , { } ] , 19 : [ function ( t , e ) { function n ( t , e , n ) { var i = t . x , a = t . y , u = [ ] , o = Number . POSITIVE _INFINITY , s = Number . POSITIVE _INFINITY ; e . forEach ( function ( t ) { o = Math . min ( o , t . x ) , s = Math . min ( s , t . y ) } ) ; for ( var c = i - t . width / 2 - o , l = a - t . height / 2 - s , h = 0 ; h < e . length ; h ++ ) { var f = e [ h ] , d = e [ h < e . length - 1 ? h + 1 : 0 ] , p = r ( t , n , { x : c + f . x , y : l + f . y } , { x : c + d . x , y : l + d . y } ) ; p && u . push ( p ) } return u . length ? ( u . length > 1 && u . sort ( function ( t , e ) { var r = t . x - n . x , i = t . y - n . y , a = Math . sqrt ( r * r + i * i ) , u = e . x - n . x , o = e . y - n . y , s = Math . sqrt ( u * u + o * o ) ; return s > a ? - 1 : a === s ? 0 : 1 } ) , u [ 0 ] ) : ( console . log ( "NO INTERSECTION FOUND, RETURN NODE CENTER" , t ) , t ) } var r = t ( "./intersect-line" ) ; e . exports = n } , { "./intersect-line" : 17 } ] , 20 : [ function ( t , e ) { function n ( t , e ) { var n , r , i = t . x , a = t . y , u = e . x - i , o = e . y - a , s = t . width / 2 , c = t . height / 2 ; return Math . abs ( o ) * s > Math . abs ( u ) * c ? ( 0 > o && ( c = - c ) , n = 0 === o ? 0 : c * u / o , r = c ) : ( 0 > u && ( s = - s ) , n = s , r = 0 === u ? 0 : s * o / u ) , { x : i + n , y : a + r } } e . exports = n } , { } ] , 21 : [ function ( t , e ) { function n ( t , e ) { var n = t . append ( "foreignObject" ) . attr ( "width" , "100000" ) , i = n . append ( "xhtml:div" ) , a = e . label ; switch ( typeof a ) { case "function" : i . insert ( a ) ; break ; case "object" : i . insert ( function ( ) { return a } ) ; break ; default : i . html ( a ) } r . applyStyle ( i , e . labelStyle ) , i . style ( "display" , "inline-block" ) , i . style ( "white-space" , "nowrap" ) ; var u , o ; return i . each ( function ( ) { u = this . clientWidth , o = this . clientHeight } ) , n . attr ( "width" , u ) . attr ( "height" , o ) , n } var r = t ( "../util" ) ; e . exports = n } , { "../util" : 31 } ] , 22 : [ function ( t , e ) { function n ( t , e , n ) { var u = e . label , o = t . append ( "g" ) ; "svg" === e . labelType ? a ( o , e ) : "string" != typeof u || "html" === e . labelType ? i ( o , e ) : r ( o , e ) ; var s , c = o . node ( ) . getBBox ( ) ; switch ( n ) { case "top" : s = - e . height / 2 ; break ; case "bottom" : s =
y . each ( e , function ( t ) { var e = - 1 ; y . each ( t , function ( t ) { var s = r ( t ) ; if ( s . length ) { s = y . sortBy ( s , function ( t ) { return o [ t ] } ) ; for ( var c = ( s . length - 1 ) / 2 , l = Math . floor ( c ) , h = Math . ceil ( c ) ; h >= l ; ++ l ) { var f = s [ l ] ; a [ t ] === t && e < o [ f ] && ! u ( n , t , f ) && ( a [ f ] = t , a [ t ] = i [ t ] = i [ f ] , e = o [ f ] ) } } } ) } ) , { root : i , align : a } } function s ( t , e , n , r , i ) { function a ( t ) { y . has ( l , t ) || ( l [ t ] = ! 0 , o [ t ] = y . reduce ( s . inEdges ( t ) , function ( t , e ) { return a ( e . v ) , Math . max ( t , o [ e . v ] + s . edge ( e ) ) } , 0 ) ) } function u ( e ) { if ( 2 !== l [ e ] ) { l [ e ] ++ ; var n = t . node ( e ) , r = y . reduce ( s . outEdges ( e ) , function ( t , e ) { return u ( e . w ) , Math . min ( t , o [ e . w ] - s . edge ( e ) ) } , Number . POSITIVE _INFINITY ) ; r !== Number . POSITIVE _INFINITY && n . borderType !== h && ( o [ e ] = Math . max ( o [ e ] , r ) ) } } var o = { } , s = c ( t , e , n , i ) , l = { } ; y . each ( s . nodes ( ) , a ) ; var h = i ? "borderLeft" : "borderRight" ; return y . each ( s . nodes ( ) , u ) , y . each ( r , function ( t ) { o [ t ] = o [ n [ t ] ] } ) , o } function c ( t , e , n , r ) { var i = new m , a = t . graph ( ) , u = p ( a . nodesep , a . edgesep , r ) ; return y . each ( e , function ( e ) { var r ; y . each ( e , function ( e ) { var a = n [ e ] ; if ( i . setNode ( a ) , r ) { var o = n [ r ] , s = i . edge ( o , a ) ; i . setEdge ( o , a , Math . max ( u ( t , e , r ) , s || 0 ) ) } r = e } ) } ) , i } function l ( t , e ) { return y . min ( e , function ( e ) { var n = y . min ( e , function ( e , n ) { return e - g ( t , n ) / 2 } ) , r = y . max ( e , function ( e , n ) { return e + g ( t , n ) / 2 } ) ; return r - n } ) } function h ( t , e ) { var n = y . min ( e ) , r = y . max ( e ) ; y . each ( [ "u" , "d" ] , function ( i ) { y . each ( [ "l" , "r" ] , function ( a ) { var u , o = i + a , s = t [ o ] ; s !== e && ( u = "l" === a ? n - y . min ( s ) : r - y . max ( s ) , u && ( t [ o ] = y . mapValues ( s , function ( t ) { return t + u } ) ) ) } ) } ) } function f ( t , e ) { return y . mapValues ( t . ul , function ( n , r ) { if ( e ) return t [ e . toLowerCase ( ) ] [ r ] ; var i = y . sortBy ( y . pluck ( t , r ) ) ; return ( i [ 1 ] + i [ 2 ] ) / 2 } ) } function d ( t ) { var e , i = v . buildLayerMatrix ( t ) , a = y . merge ( n ( t , i ) , r ( t , i ) ) , u = { } ; y . each ( [ "u" , "d" ] , function ( n ) { e = "u" === n ? i : y . values ( i ) . reverse ( ) , y . each ( [ "l" , "r" ] , function ( r ) { "r" === r && ( e = y . map ( e , function ( t ) { return y . values ( t ) . reverse ( ) } ) ) ; var i = y . bind ( "u" === n ? t . predecessors : t . successors , t ) , c = o ( t , e , a , i ) , l = s ( t , e , c . root , c . align , "r" === r ) ; "r" === r && ( l = y . mapValues ( l , function ( t ) { return - t } ) ) , u [ n + r ] = l } ) } ) ; var c = l ( t , u ) ; return h ( u , c ) , f ( u , t . graph ( ) . align ) } function p ( t , e , n ) { return function ( r , i , a ) { var u , o = r . node ( i ) , s = r . node ( a ) , c = 0 ; if ( c += o . width / 2 , y . has ( o , "labelpos" ) ) switch ( o . labelpos . toLowerCase ( ) ) { case "l" : u = - o . width / 2 ; break ; case "r" : u = o . width / 2 } if ( u && ( c += n ? u : - u ) , u = 0 , c += ( o . dummy ? e : t ) / 2 , c += ( s . dummy ? e : t ) / 2 , c += s . width / 2 , y . has ( s , "labelpos" ) ) switch ( s . labelpos . toLowerCase ( ) ) { case "l" : u = s . width / 2 ; break ; case "r" : u = - s . width / 2 } return u && ( c += n ? u : - u ) , u = 0 , c } } function g ( t , e ) { return t . node ( e ) . width } var y = t ( "../lodash" ) , m = t ( "../graphlib" ) . Graph , v = t ( "../util" ) ; e . exports = { positionX : d , findType1Conflicts : n , findType2Conflicts : r , addConflict : a , hasConflict : u , verticalAlignment : o , horizontalCompaction : s , alignCoordinates : h , findSmallestWidthAlignment : l , balance : f } } , { "../graphlib" : 39 , "../lodash" : 42 , "../util" : 61 } ] , 56 : [ function ( t , e ) { "use strict" ; function n ( t ) { t = a . asNonCompoundGraph ( t ) , r ( t ) , i . each ( u ( t ) , function ( e , n ) { t . node ( n ) . x = e } ) } function r ( t ) { var e = a . buildLayerMatrix ( t ) , n = t . graph ( ) . ranksep , r = 0 ; i . each ( e , function ( e ) { var a = i . max ( i . map ( e , function ( e ) { return t . node ( e ) . height } ) ) ; i . each ( e , function ( e ) { t . node ( e ) . y = r + a / 2 } ) , r += a + n } ) } var i = t ( "../lodash" ) , a = t ( "../util" ) , u = t ( "./bk" ) . positionX ; e . exports = n } , { "../lodash" : 42 , "../util" : 61 , "./bk" : 55 } ] , 57 : [ function ( t , e ) { "use strict" ; function n ( t ) { var e = new o ( { directed : ! 1 } ) , n = t . nodes ( ) [ 0 ] , u = t . nodeCount ( ) ; e . setNode ( n , { } ) ; for ( var c , l ; r ( e , t ) < u ; ) c = i ( e , t ) , l = e . hasNode ( c . v ) ? s ( t , c ) : - s ( t , c ) , a ( e , t , l ) ; return e } function r ( t , e ) { function n ( r ) { u . each ( e . nodeEdges ( r ) , function ( i ) { var a = i . v , u = r === a ? i . w : a ; t . hasNode ( u ) || s ( e , i ) || ( t . setNode ( u , { } ) , t . setEdge ( r , u , { } ) , n ( u ) ) } ) } return u . each ( t . nodes ( ) , n ) , t . nodeCount ( ) } function i ( t , e ) { return u . min ( e . edges ( ) , function ( n ) { return t . hasNode ( n . v ) !== t . hasNode ( n . w ) ? s ( e , n ) : void 0 } ) } function a ( t , e , n ) { u . each ( t . nodes ( ) , function ( t ) { e . node ( t ) . rank += n } ) } var u = t ( "../lodash" ) , o = t ( "../graphlib" ) . Graph , s = t ( "./util" ) . slack ; e . exports = n } , { "../graphlib" : 39 , "../lodash" : 42 , "./util" : 60 } ] , 58 : [ function ( t , e ) { "use strict" ; function n ( t ) { switch ( t . graph ( ) . ranker ) { case "network-simplex" : i ( t ) ; break ; case "tight-tree" : r ( t ) ; break ; case "longest-path" : c ( t ) ; break ; default : i ( t ) } } function r ( t ) { u ( t ) , o ( t ) } function i ( t ) { s ( t ) } var a = t ( "./util" ) , u = a . longestPath , o = t ( " . / feasible - tree
for ( var o = a . length , s = e [ n ] ; o -- ; ) if ( a [ o ] == s ) return void ( t [ n ] = u [ o ] ) ; var c = t [ n ] , l = i ? i ( c , s , n , t , e ) : E , h = l === E ; h && ( l = s , Kn ( s ) && ( So ( s ) || zi ( s ) ) ? l = So ( c ) ? c : Kn ( c ) ? te ( c ) : [ ] : Ui ( s ) || Ei ( s ) ? l = Ei ( c ) ? Vi ( c ) : Ui ( c ) ? c : { } : h = ! 1 ) , a . push ( s ) , u . push ( l ) , h ? t [ n ] = r ( l , s , i , a , u ) : ( l === l ? l !== c : c === c ) && ( t [ n ] = l ) } function ze ( t ) { return function ( e ) { return null == e ? E : e [ t ] } } function qe ( t ) { var e = t + "" ; return t = fr ( t ) , function ( n ) { return Oe ( n , t , e ) } } function We ( t , e ) { for ( var n = t ? e . length : 0 ; n -- ; ) { var r = e [ n ] ; if ( r != i && Qn ( r ) ) { var i = r ; fu . call ( t , r , 1 ) } } return t } function Ge ( t , e ) { return t + mu ( Eu ( ) * ( e - t + 1 ) ) } function He ( t , e , n , r , i ) { return i ( t , function ( t , i , a ) { n = r ? ( r = ! 1 , t ) : e ( n , t , i , a ) } ) , n } function Ve ( t , e , n ) { var r = - 1 , i = t . length ; e = null == e ? 0 : + e || 0 , 0 > e && ( e = - e > i ? 0 : i + e ) , n = n === E || n > i ? i : + n || 0 , 0 > n && ( n += i ) , i = e > n ? 0 : n - e >>> 0 , e >>>= 0 ; for ( var a = Ua ( i ) ; ++ r < i ; ) a [ r ] = t [ r + e ] ; return a } function Xe ( t , e ) { var n ; return Iu ( t , function ( t , r , i ) { return n = e ( t , r , i ) , ! n } ) , ! ! n } function Ze ( t , e ) { var n = t . length ; for ( t . sort ( e ) ; n -- ; ) t [ n ] = t [ n ] . value ; return t } function Ke ( t , e , n ) { var r = Yn ( ) , i = - 1 ; e = se ( e , function ( t ) { return r ( t ) } ) ; var a = Re ( t , function ( t ) { var n = se ( e , function ( e ) { return e ( t ) } ) ; return { criteria : n , index : ++ i , value : t } } ) ; return Ze ( a , function ( t , e ) { return h ( t , e , n ) } ) } function Qe ( t , e ) { var n = 0 ; return Iu ( t , function ( t , r , i ) { n += + e ( t , r , i ) || 0 } ) , n } function Je ( t , e ) { var n = - 1 , r = zn ( ) , i = t . length , u = r == a , o = u && i >= U , s = o ? gn ( ) : null , c = [ ] ; s ? ( r = Kt , u = ! 1 ) : ( o = ! 1 , s = e ? [ ] : c ) ; t : for ( ; ++ n < i ; ) { var l = t [ n ] , h = e ? e ( l , n , t ) : l ; if ( u && l === l ) { for ( var f = s . length ; f -- ; ) if ( s [ f ] === h ) continue t ; e && s . push ( h ) , c . push ( l ) } else r ( s , h , 0 ) < 0 && ( ( e || o ) && s . push ( h ) , c . push ( l ) ) } return c } function tn ( t , e ) { for ( var n = - 1 , r = e . length , i = Ua ( r ) ; ++ n < r ; ) i [ n ] = t [ e [ n ] ] ; return i } function en ( t , e , n , r ) { for ( var i = t . length , a = r ? i : - 1 ; ( r ? a -- : ++ a < i ) && e ( t [ a ] , a , t ) ; ) ; return n ? Ve ( t , r ? 0 : a , r ? a + 1 : i ) : Ve ( t , r ? a + 1 : 0 , r ? i : a ) } function nn ( t , e ) { var n = t ; n instanceof K && ( n = n . value ( ) ) ; for ( var r = - 1 , i = e . length ; ++ r < i ; ) { var a = e [ r ] ; n = a . func . apply ( a . thisArg , ce ( [ n ] , a . args ) ) } return n } function rn ( t , e , n ) { var r = 0 , i = t ? t . length : r ; if ( "number" == typeof e && e === e && Tu >= i ) { for ( ; i > r ; ) { var a = r + i >>> 1 , u = t [ a ] ; ( n ? e >= u : e > u ) && null !== u ? r = a + 1 : i = a } return i } return an ( t , e , Ma , n ) } function an ( t , e , n , r ) { e = n ( e ) ; for ( var i = 0 , a = t ? t . length : 0 , u = e !== e , o = null === e , s = e === E ; a > i ; ) { var c = mu ( ( i + a ) / 2 ) , l = n ( t [ c ] ) , h = l !== E , f = l === l ; if ( u ) var d = f || r ; else d = o ? f && h && ( r || null != l ) : s ? f && ( r || h ) : null == l ? ! 1 : r ? e >= l : e > l ; d ? i = c + 1 : a = c } return wu ( a , Su ) } function un ( t , e , n ) { if ( "function" != typeof t ) return Ma ; if ( e === E ) return t ; switch ( n ) { case 1 : return function ( n ) { return t . call ( e , n ) } ; case 3 : return function ( n , r , i ) { return t . call ( e , n , r , i ) } ; case 4 : return function ( n , r , i , a ) { return t . call ( e , n , r , i , a ) } ; case 5 : return function ( n , r , i , a , u ) { return t . call ( e , n , r , i , a , u ) } } return function ( ) { return t . apply ( e , arguments ) } } function on ( t ) { var e = new au ( t . byteLength ) , n = new du ( e ) ; return n . set ( new du ( t ) ) , e } function sn ( t , e , n ) { for ( var r = n . length , i = - 1 , a = xu ( t . length - r , 0 ) , u = - 1 , o = e . length , s = Ua ( o + a ) ; ++ u < o ; ) s [ u ] = e [ u ] ; for ( ; ++ i < r ; ) s [ n [ i ] ] = t [ i ] ; for ( ; a -- ; ) s [ u ++ ] = t [ i ++ ] ; return s } function cn ( t , e , n ) { for ( var r = - 1 , i = n . length , a = - 1 , u = xu ( t . length - i , 0 ) , o = - 1 , s = e . length , c = Ua ( u + s ) ; ++ a < u ; ) c [ a ] = t [ a ] ; for ( var l = a ; ++ o < s ; ) c [ l + o ] = e [ o ] ; for ( ; ++ r < i ; ) c [ l + n [ r ] ] = t [ a ++ ] ; return c } function ln ( t , e ) { return function ( n , r , i ) { var a = e ? e ( ) : { } ; if ( r = Yn ( r , i , 3 ) , So ( n ) ) for ( var u = - 1 , o = n . length ; ++ u < o ; ) { var s = n [ u ] ; t ( a , s , r ( s , u , n ) , n ) } else Iu ( n , function ( e , n , i ) { t ( a , e , r ( e , n , i ) , i ) } ) ; return a } } function hn ( t ) { return mi ( function ( e , n ) { var r = - 1 , i = null == e ? 0 : n . length , a = i > 2 ? n [ i - 2 ] : E , u = i > 2 ? n [ 2 ] : E , o = i > 1 ? n [ i - 1 ] : E ; for ( "function" == typeof a ? ( a = un ( a , o , 5 ) , i -= 2 ) : ( a = "function" == typeof o ? o : E , i -= a ? 1 : 0 ) , u && Jn ( n [ 0 ] , n [ 1 ] , u ) && ( a = 3 > i ? E : a , i = 1 ) ; ++ r < i ; ) { var s = n [ r ] ; s && t ( e , s , a ) } return e } ) } function fn ( t , e ) { return function ( n , r ) { var i = n ? Yu ( n ) : 0 ; if ( ! nr ( i ) ) return t ( n , r ) ; for ( var a = e ? i : - 1 , u = hr ( n ) ; ( e ? a -- : ++ a < i ) && r ( u [ a ] , a , u ) !== ! 1 ; ) ; return n } } function dn ( t ) { return function ( e , n , r ) { for ( var i = hr ( e ) , a = r ( e ) , u = a . length , o = t ? u : - 1 ; t ? o -- : ++ o < u ; ) { var s = a [ o ] ; if ( n ( i [ s ] , s , i ) === ! 1 ) break } return e } } function pn ( t , e ) { function n ( ) { var i = this && this !== ne && this instanceof n ? r : t ; return i . apply ( e , arguments ) } var r = mn ( t ) ; return n } function gn ( t ) { return yu && lu ? new Zt ( t ) : null } function yn ( t ) { return function ( e ) { for ( var n = - 1 , r = ka ( la ( e ) ) , i = r . length , a = "" ; ++ n < i ; ) a = t ( a , r [ n ] , n ) ; return a } } f
2015-10-19 22:08:17 +02:00
2015-11-11 16:19:06 +01:00
} } ) , Jo = mi ( function ( t , e ) { return function ( n ) { return Zn ( t , n , e ) } } ) , ts = In ( "ceil" ) , es = In ( "floor" ) , ns = bn ( Ai , Du ) , rs = bn ( Wi , Mu ) , is = In ( "round" ) ; return e . prototype = n . prototype , v . prototype = Ou ( n . prototype ) , v . prototype . constructor = v , K . prototype = Ou ( n . prototype ) , K . prototype . constructor = K , Wt . prototype [ "delete" ] = Gt , Wt . prototype . get = Ht , Wt . prototype . has = Vt , Wt . prototype . set = Xt , Zt . prototype . push = Qt , pi . Cache = Wt , e . after = li , e . ary = hi , e . assign = Fo , e . at = eo , e . before = fi , e . bind = yo , e . bindAll = mo , e . bindKey = vo , e . callback = Ea , e . chain = Yr , e . chunk = pr , e . compact = gr , e . constant = Da , e . countBy = no , e . create = Xi , e . curry = _o , e . curryRight = bo , e . debounce = di , e . defaults = Bo , e . defaultsDeep = Lo , e . defer = xo , e . delay = wo , e . difference = zu , e . drop = yr , e . dropRight = mr , e . dropRightWhile = vr , e . dropWhile = _r , e . fill = br , e . filter = Kr , e . flatten = wr , e . flattenDeep = Ar , e . flow = Ao , e . flowRight = ko , e . forEach = ao , e . forEachRight = uo , e . forIn = No , e . forInRight = Po , e . forOwn = Ro , e . forOwnRight = jo , e . functions = Zi , e . groupBy = oo , e . indexBy = so , e . initial = Er , e . intersection = Gu , e . invert = Ji , e . invoke = co , e . keys = Uo , e . keysIn = ta , e . map = ti , e . mapKeys = Yo , e . mapValues = $o , e . matches = Ca , e . matchesProperty = Sa , e . memoize = pi , e . merge = To , e . method = Qo , e . methodOf = Jo , e . mixin = Ta , e . modArgs = Eo , e . negate = gi , e . omit = zo , e . once = yi , e . pairs = ea , e . partial = Do , e . partialRight = Mo , e . partition = lo , e . pick = qo , e . pluck = ei , e . property = La , e . propertyOf = Oa , e . pull = Cr , e . pullAt = Hu , e . range = Ia , e . rearg = Co , e . reject = ni , e . remove = Sr , e . rest = Tr , e . restParam = mi , e . set = ra , e . shuffle = ii , e . slice = Fr , e . sortBy = oi , e . sortByAll = po , e . sortByOrder = si , e . spread = vi , e . take = Br , e . takeRight = Lr , e . takeRightWhile = Or , e . takeWhile = Ir , e . tap = $r , e . throttle = _i , e . thru = zr , e . times = Na , e . toArray = Hi , e . toPlainObject = Vi , e . transform = ia , e . union = Zu , e . uniq = Nr , e . unzip = Pr , e . unzipWith = Rr , e . values = aa , e . valuesIn = ua , e . where = ci , e . without = Ku , e . wrap = bi , e . xor = jr , e . zip = Qu , e . zipObject = Ur , e . zipWith = Ju , e . backflow = ko , e . collect = ti , e . compose = ko , e . each = ao , e . eachRight = uo , e . extend = Fo , e . iteratee = Ea , e . methods = Zi , e . object = Ur , e . select = Kr , e . tail = Tr , e . unique = Nr , Ta ( e , e ) , e . add = Ra , e . attempt = Ko , e . camelCase = Wo , e . capitalize = ca , e . ceil = ts , e . clone = xi , e . cloneDeep = wi , e . deburr = la , e . endsWith = ha , e . escape = fa , e . escapeRegExp = da , e . every = Zr , e . find = ro , e . findIndex = qu , e . findKey = Oo , e . findLast = io , e . findLastIndex = Wu , e . findLastKey = Io , e . findWhere = Qr , e . first = xr , e . floor = es , e . get = Ki , e . gt = Ai , e . gte = ki , e . has = Qi , e . identity = Ma , e . includes = Jr , e . indexOf = kr , e . inRange = oa , e . isArguments = Ei , e . isArray = So , e . isBoolean = Di , e . isDate = Mi , e . isElement = Ci , e . isEmpty = Si , e . isEqual = Ti , e . isError = Fi , e . isFinite = Bi , e . isFunction = Li , e . isMatch = Ii , e . isNaN = Ni , e . isNative = Pi , e . isNull = Ri , e . isNumber = ji , e . isObject = Oi , e . isPlainObject = Ui , e . isRegExp = Yi , e . isString = $i , e . isTypedArray = zi , e . isUndefined = qi , e . kebabCase = Go , e . last = Dr , e . lastIndexOf = Mr , e . lt = Wi , e . lte = Gi , e . max = ns , e . min = rs , e . noConflict = Fa , e . noop = Ba , e . now = go , e . pad = pa , e . padLeft = Ho , e . padRight = Vo , e . parseInt = ga , e . random = sa , e . reduce = ho , e . reduceRight = fo , e . repeat = ya , e . result = na , e . round = is , e . runInContext = k , e . size = ai , e . snakeCase = Xo , e . some = ui , e . sortedIndex = Vu , e . sortedLastIndex = Xu , e . startCase = Zo , e . startsWith = ma , e . sum = ja , e . template = va , e . trim = _a , e . trimLeft = ba , e . trimRight = xa , e . trunc = wa , e . unescape = Aa , e . uniqueId = Pa , e . words = ka , e . all = Zr , e . any = ui , e . contains = Jr , e . eq = Ti , e . detect = ro , e . foldl = ho , e . foldr = fo , e . head = xr , e . include = Jr , e . inject = ho , Ta ( e , function ( ) { var t = { } ; return Fe ( e , function ( n , r ) { e . prototype [ r ] || ( t [ r ] = n ) } ) , t } ( ) , ! 1 ) , e . sample = ri , e . prototype . sample = function ( t ) { return this . _ _chain _ _ || null != t ? this . thru ( function ( e ) { return ri ( e , t ) } ) : ri ( this . value ( ) ) } , e . VERSION = D , ee ( [ "bind" , "bindKey" , "curry" , "curryRight" , "partial" , "partialRight" ] , function ( t ) { e [ t ] . placeholder = e } ) , ee ( [ "drop" , "take" ] , function ( t , e ) { K . prototype [ t ] = function ( n ) { var r = this . _ _filtered _ _ ; if ( r && ! e ) return new K ( this ) ; n = null == n ? 1 : xu ( mu ( n ) || 0 , 0 ) ; var i = this . clone ( ) ; return r ? i . _ _takeCount _ _ = wu ( i . _ _takeCount _ _ , n ) : i . _ _views _ _ . push ( { size : n , type : t + ( i . _ _dir _ _ < 0 ? "Right" : "" ) } ) , i } , K . prototype [ t + "Right" ] = function ( e ) { return this . reverse ( ) [ t ] ( e ) . reverse ( ) } } ) , ee ( [ "filter" , "map" , "takeWhile" ] , function ( t , e ) { var n = e + 1 , r = n != $ ; K . prototype [ t ] = function ( t , e ) { var i = this . clone ( ) ; return i . _ _iteratees _ _ . push ( { iteratee : Yn ( t , e , 1 ) , type : n } ) , i . _ _filtered _ _ = i . _ _filtered _ _ || r , i } } ) , ee ( [ "first" , " la
r . _d . setTime ( + r . _d + i ) , n . updateOffset ( r , ! 1 ) , r ) : Ft ( t ) . local ( ) } function Ut ( t ) { return 15 * - Math . round ( t . _d . getTimezoneOffset ( ) / 15 ) } function Yt ( t , e ) { var r , i = this . _offset || 0 ; return null != t ? ( "string" == typeof t && ( t = Rt ( t ) ) , Math . abs ( t ) < 16 && ( t = 60 * t ) , ! this . _isUTC && e && ( r = Ut ( this ) ) , this . _offset = t , this . _isUTC = ! 0 , null != r && this . add ( r , "m" ) , i !== t && ( ! e || this . _changeInProgress ? re ( this , Qt ( t - i , "m" ) , 1 , ! 1 ) : this . _changeInProgress || ( this . _changeInProgress = ! 0 , n . updateOffset ( this , ! 0 ) , this . _changeInProgress = null ) ) , this ) : this . _isUTC ? i : Ut ( this ) } function $t ( t , e ) { return null != t ? ( "string" != typeof t && ( t = - t ) , this . utcOffset ( t , e ) , this ) : - this . utcOffset ( ) } function zt ( t ) { return this . utcOffset ( 0 , t ) } function qt ( t ) { return this . _isUTC && ( this . utcOffset ( 0 , t ) , this . _isUTC = ! 1 , t && this . subtract ( Ut ( this ) , "m" ) ) , this } function Wt ( ) { return this . _tzm ? this . utcOffset ( this . _tzm ) : "string" == typeof this . _i && this . utcOffset ( Rt ( this . _i ) ) , this } function Gt ( t ) { return t = t ? Ft ( t ) . utcOffset ( ) : 0 , ( this . utcOffset ( ) - t ) % 60 === 0 } function Ht ( ) { return this . utcOffset ( ) > this . clone ( ) . month ( 0 ) . utcOffset ( ) || this . utcOffset ( ) > this . clone ( ) . month ( 5 ) . utcOffset ( ) } function Vt ( ) { if ( "undefined" != typeof this . _isDSTShifted ) return this . _isDSTShifted ; var t = { } ; if ( p ( t , this ) , t = Ct ( t ) , t . _a ) { var e = t . _isUTC ? c ( t . _a ) : Ft ( t . _a ) ; this . _isDSTShifted = this . isValid ( ) && _ ( t . _a , e . toArray ( ) ) > 0 } else this . _isDSTShifted = ! 1 ; return this . _isDSTShifted } function Xt ( ) { return ! this . _isUTC } function Zt ( ) { return this . _isUTC } function Kt ( ) { return this . _isUTC && 0 === this . _offset } function Qt ( t , e ) { var n , r , i , a = t , u = null ; return Nt ( t ) ? a = { ms : t . _milliseconds , d : t . _days , M : t . _months } : "number" == typeof t ? ( a = { } , e ? a [ e ] = t : a . milliseconds = t ) : ( u = Mr . exec ( t ) ) ? ( n = "-" === u [ 1 ] ? - 1 : 1 , a = { y : 0 , d : v ( u [ lr ] ) * n , h : v ( u [ hr ] ) * n , m : v ( u [ fr ] ) * n , s : v ( u [ dr ] ) * n , ms : v ( u [ pr ] ) * n } ) : ( u = Cr . exec ( t ) ) ? ( n = "-" === u [ 1 ] ? - 1 : 1 , a = { y : Jt ( u [ 2 ] , n ) , M : Jt ( u [ 3 ] , n ) , d : Jt ( u [ 4 ] , n ) , h : Jt ( u [ 5 ] , n ) , m : Jt ( u [ 6 ] , n ) , s : Jt ( u [ 7 ] , n ) , w : Jt ( u [ 8 ] , n ) } ) : null == a ? a = { } : "object" == typeof a && ( "from" in a || "to" in a ) && ( i = ee ( Ft ( a . from ) , Ft ( a . to ) ) , a = { } , a . ms = i . milliseconds , a . M = i . months ) , r = new It ( a ) , Nt ( t ) && o ( t , "_locale" ) && ( r . _locale = t . _locale ) , r } function Jt ( t , e ) { var n = t && parseFloat ( t . replace ( "," , "." ) ) ; return ( isNaN ( n ) ? 0 : n ) * e } function te ( t , e ) { var n = { milliseconds : 0 , months : 0 } ; return n . months = e . month ( ) - t . month ( ) + 12 * ( e . year ( ) - t . year ( ) ) , t . clone ( ) . add ( n . months , "M" ) . isAfter ( e ) && -- n . months , n . milliseconds = + e - + t . clone ( ) . add ( n . months , "M" ) , n } function ee ( t , e ) { var n ; return e = jt ( e , t ) , t . isBefore ( e ) ? n = te ( t , e ) : ( n = te ( e , t ) , n . milliseconds = - n . milliseconds , n . months = - n . months ) , n } function ne ( t , e ) { return function ( n , r ) { var i , a ; return null === r || isNaN ( + r ) || ( rt ( e , "moment()." + e + "(period, number) is deprecated. Please use moment()." + e + "(number, period)." ) , a = n , n = r , r = a ) , n = "string" == typeof n ? + n : n , i = Qt ( n , r ) , re ( this , i , t ) , this } } function re ( t , e , r , i ) { var a = e . _milliseconds , u = e . _days , o = e . _months ; i = null == i ? ! 0 : i , a && t . _d . setTime ( + t . _d + a * r ) , u && B ( t , "Date" , F ( t , "Date" ) + u * r ) , o && K ( t , F ( t , "Month" ) + o * r ) , i && n . updateOffset ( t , u || o ) } function ie ( t , e ) { var n = t || Ft ( ) , r = jt ( n , this ) . startOf ( "day" ) , i = this . diff ( r , "days" , ! 0 ) , a = - 6 > i ? "sameElse" : - 1 > i ? "lastWeek" : 0 > i ? "lastDay" : 1 > i ? "sameDay" : 2 > i ? "nextDay" : 7 > i ? "nextWeek" : "sameElse" ; return this . format ( e && e [ a ] || this . localeData ( ) . calendar ( a , this , Ft ( n ) ) ) } function ae ( ) { return new g ( this ) } function ue ( t , e ) { var n ; return e = C ( "undefined" != typeof e ? e : "millisecond" ) , "millisecond" === e ? ( t = y ( t ) ? t : Ft ( t ) , + this > + t ) : ( n = y ( t ) ? + t : + Ft ( t ) , n < + this . clone ( ) . startOf ( e ) ) } function oe ( t , e ) { var n ; return e = C ( "undefined" != typeof e ? e : "millisecond" ) , "millisecond" === e ? ( t = y ( t ) ? t : Ft ( t ) , + t > + this ) : ( n = y ( t ) ? + t : + Ft ( t ) , + this . clone ( ) . endOf ( e ) < n ) } function se ( t , e , n ) { return this . isAfter ( t , n ) && this . isBefore ( e , n ) } function ce ( t , e ) { var n ; return e = C ( e || "millisecond" ) , "millisecond" === e ? ( t = y ( t ) ? t : Ft ( t ) , + this === + t ) : ( n = + Ft ( t ) , + this . clone ( ) . startOf ( e ) <= n && n <= + this . clone ( ) . endOf ( e ) ) } function le ( t , e , n ) { var r , i , a = jt ( t , this ) , u = 6e4 * ( a . utcOffset ( ) - this . utcOffset ( ) ) ; return e = C ( e ) , "year" === e || "month" === e || "quarter" === e ? ( i = he ( this , a ) , "quarter" === e ? i /= 3 : "year" === e && ( i /= 12 ) ) : ( r = this - a , i = "second" === e ? r / 1e3 : "minute" === e ? r / 6e4 : "hour" === e ? r / 36e5 : "day" === e ? ( r - u ) / 864e5 : "week" === e ? ( r - u ) / 6048e5 : r ) , n ? i : m ( i ) } function he ( t , e ) { var n , r , i = 12 * ( e . year ( ) - t . year ( ) ) + ( e . month ( ) - t . mo
t . append ( "defs" ) . append ( "marker" ) . attr ( "id" , "aggregationStart" ) . attr ( "class" , "extension" ) . attr ( "refX" , 0 ) . attr ( "refY" , 7 ) . attr ( "markerWidth" , 190 ) . attr ( "markerHeight" , 240 ) . attr ( "orient" , "auto" ) . append ( "path" ) . attr ( "d" , "M 18,7 L9,13 L1,7 L9,1 Z" ) , t . append ( "defs" ) . append ( "marker" ) . attr ( "id" , "aggregationEnd" ) . attr ( "refX" , 19 ) . attr ( "refY" , 7 ) . attr ( "markerWidth" , 20 ) . attr ( "markerHeight" , 28 ) . attr ( "orient" , "auto" ) . append ( "path" ) . attr ( "d" , "M 18,7 L9,13 L1,7 L9,1 Z" ) , t . append ( "defs" ) . append ( "marker" ) . attr ( "id" , "dependencyStart" ) . attr ( "class" , "extension" ) . attr ( "refX" , 0 ) . attr ( "refY" , 7 ) . attr ( "markerWidth" , 190 ) . attr ( "markerHeight" , 240 ) . attr ( "orient" , "auto" ) . append ( "path" ) . attr ( "d" , "M 5,7 L9,13 L1,7 L9,1 Z" ) , t . append ( "defs" ) . append ( "marker" ) . attr ( "id" , "dependencyEnd" ) . attr ( "refX" , 19 ) . attr ( "refY" , 7 ) . attr ( "markerWidth" , 20 ) . attr ( "markerHeight" , 28 ) . attr ( "orient" , "auto" ) . append ( "path" ) . attr ( "d" , "M 18,7 L9,13 L14,7 L9,1 Z" ) } , m = 0 , v = function ( t , e , n ) { var r = function ( t ) { switch ( t ) { case c . relationType . AGGREGATION : return "aggregation" ; case c . relationType . EXTENSION : return "extension" ; case c . relationType . COMPOSITION : return "composition" ; case c . relationType . DEPENDENCY : return "dependency" } } , i = e . points , a = h . svg . line ( ) . x ( function ( t ) { return t . x } ) . y ( function ( t ) { return t . y } ) . interpolate ( "basis" ) , u = t . append ( "path" ) . attr ( "d" , a ( i ) ) . attr ( "id" , "edge" + m ) . attr ( "class" , "relation" ) , o = window . location . protocol + "//" + window . location . host + window . location . pathname + window . location . search ; o = o . replace ( /\(/g , "\\(" ) , o = o . replace ( /\)/g , "\\)" ) , "none" !== n . relation . type1 && u . attr ( "marker-start" , "url(" + o + "#" + r ( n . relation . type1 ) + "Start)" ) , "none" !== n . relation . type2 && u . attr ( "marker-end" , "url(" + o + "#" + r ( n . relation . type2 ) + "End)" ) , console . warn ( e ) ; var s , l , f = e . points . length ; if ( f % 2 !== 0 ) { var d = e . points [ Math . floor ( f / 2 ) ] , g = e . points [ Math . ceil ( f / 2 ) ] ; s = ( d . x + g . x ) / 2 , l = ( d . y + g . y ) / 2 } else { var y = e . points [ Math . floor ( f / 2 ) ] ; s = y . x , l = y . y } if ( "undefined" != typeof n . title ) { var v = t . append ( "g" ) . attr ( "class" , "classLabel" ) , _ = v . append ( "text" ) . attr ( "class" , "label" ) . attr ( "x" , s ) . attr ( "y" , l ) . attr ( "fill" , "red" ) . attr ( "text-anchor" , "middle" ) . text ( n . title ) ; window . label = _ ; var b = _ . node ( ) . getBBox ( ) ; console . log ( b ) , v . insert ( "rect" , ":first-child" ) . attr ( "class" , "box" ) . attr ( "x" , b . x - p . padding / 2 ) . attr ( "y" , b . y - p . padding / 2 ) . attr ( "width" , b . width + 2 * p . padding / 2 ) . attr ( "height" , b . height + 2 * p . padding / 2 ) } m ++ } , _ = function ( t , e ) { f . info ( "Rendering class " + e ) ; var n = function ( t , e , n ) { var r = t . append ( "tspan" ) . attr ( "x" , p . padding ) . text ( e ) ; n || r . attr ( "dy" , p . textHeight ) } , r = "classId" + d , i = { id : r , label : e . id , width : 0 , height : 0 } , a = t . append ( "g" ) . attr ( "id" , r ) . attr ( "class" , "classGroup" ) , u = a . append ( "text" ) . attr ( "x" , p . padding ) . attr ( "y" , p . textHeight + p . padding ) . text ( e . id ) , o = u . node ( ) . getBBox ( ) . height , s = a . append ( "line" ) . attr ( "x1" , 0 ) . attr ( "y1" , p . padding + o + p . dividerMargin / 2 ) . attr ( "y2" , p . padding + o + p . dividerMargin / 2 ) , c = a . append ( "text" ) . attr ( "x" , p . padding ) . attr ( "y" , o + p . dividerMargin + p . textHeight ) . attr ( "fill" , "white" ) . attr ( "class" , "classText" ) , h = ! 0 , g = ! 0 , y = ! 1 , m = void 0 ; try { for ( var v , _ = e . members [ Symbol . iterator ] ( ) ; ! ( g = ( v = _ . next ( ) ) . done ) ; g = ! 0 ) { var b = v . value ; n ( c , b , h ) , h = ! 1 } } catch ( x ) { y = ! 0 , m = x } finally { try { ! g && _ [ "return" ] && _ [ "return" ] ( ) } finally { if ( y ) throw m } } var w = c . node ( ) . getBBox ( ) , A = a . append ( "line" ) . attr ( "x1" , 0 ) . attr ( "y1" , p . padding + o + 3 * p . dividerMargin / 2 + w . height ) . attr ( "y2" , p . padding + o + 3 * p . dividerMargin / 2 + w . height ) , k = a . append ( "text" ) . attr ( "x" , p . padding ) . attr ( "y" , o + 2 * p . dividerMargin + w . height + p . textHeight ) . attr ( "fill" , "white" ) . attr ( "class" , "classText" ) ; h = ! 0 ; var E = ! 0 , D = ! 1 , M = void 0 ; try { for ( var C , S = e . methods [ Symbol . iterator ] ( ) ; ! ( E = ( C = S . next ( ) ) . done ) ; E = ! 0 ) { var T = C . value ; n ( k , T , h ) , h = ! 1 } } catch ( x ) { D = ! 0 , M = x } finally { try { ! E && S [ "return" ] && S [ "return" ] ( ) } finally { if ( D ) throw M } } var F = a . node ( ) . getBBox ( ) ; return a . insert ( "rect" , ":first-child" ) . attr ( "x" , 0 ) . attr ( "y" , 0 ) . attr ( "width" , F . width + 2 * p . padding ) . attr ( "height" , F . height + p . padding + . 5 * p . dividerMargin ) , s . attr ( "x2" , F . width + 2 * p . padding ) , A . attr ( "x2" , F . width + 2 * p . padding ) , i . width = F . width + 2 * p . padding , i . height = F . height + p . padding + . 5 * p . dividerMargin , l . set ( r , i ) , d ++ , i } ; e . exports . setConf = function ( t ) { var e = Object . keys ( t ) ; e . forEach ( function ( e ) { p [ e ] = t [ e ] } ) } , e . exports . draw = function ( t , e ) { s . y
2015-11-05 19:40:42 +00:00
2015-11-11 16:19:06 +01:00
} , topState : function ( t ) { return t = this . conditionStack . length - 1 - Math . abs ( t || 0 ) , t >= 0 ? this . conditionStack [ t ] : "INITIAL" } , pushState : function ( t ) { this . begin ( t ) } , stateStackSize : function ( ) { return this . conditionStack . length } , options : { "case-insensitive" : ! 0 } , performAction : function ( t , e , n , r ) { switch ( n ) { case 0 : return 9 ; case 1 : return 10 ; case 2 : return 4 ; case 3 : return 12 ; case 4 : return 13 ; case 5 : return 6 ; case 6 : return "INVALID" } } , rules : [ /^(?:[\n]+)/i , /^(?:showInfo\b)/i , /^(?:info\b)/i , /^(?:say\b)/i , /^(?::[^#\n;]+)/i , /^(?:$)/i , /^(?:.)/i ] , conditions : { INITIAL : { rules : [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] , inclusive : ! 0 } } } ; return t } ( ) ; return r . lexer = i , t . prototype = r , r . Parser = t , new t } ( ) ; "undefined" != typeof t && "undefined" != typeof n && ( n . parser = i , n . Parser = i . Parser , n . parse = function ( ) { return i . parse . apply ( i , arguments ) } , n . main = function ( e ) { e [ 1 ] || ( console . log ( "Usage: " + e [ 0 ] + " FILE" ) , r . exit ( 1 ) ) ; var i = t ( "fs" ) . readFileSync ( t ( "path" ) . normalize ( e [ 1 ] ) , "utf8" ) ; return n . parser . parse ( i ) } , "undefined" != typeof e && t . main === e && n . main ( r . argv . slice ( 1 ) ) ) } ) . call ( this , t ( "_process" ) ) } , { _process : 3 , fs : 1 , path : 2 } ] , 144 : [ function ( t , e ) { "use strict" ; function n ( t ) { if ( t && t . _ _esModule ) return t ; var e = { } ; if ( null != t ) for ( var n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) ; return e [ "default" ] = t , e } var r , i = t ( "../../logger" ) , a = n ( i ) , u = new a . Log ; if ( t ) try { r = t ( "dagre-d3" ) } catch ( o ) { u . debug ( "Could not load dagre-d3" ) } r || ( r = window . dagreD3 ) , e . exports = r } , { "../../logger" : 156 , "dagre-d3" : 5 } ] , 145 : [ function ( t , e , n ) { "use strict" ; function r ( t ) { if ( t && t . _ _esModule ) return t ; var e = { } ; if ( null != t ) for ( var n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) ; return e [ "default" ] = t , e } var i = t ( "../../logger" ) , a = r ( i ) , u = t ( "./graphDb" ) , o = t ( "./parser/flow" ) , s = t ( "./parser/dot" ) , c = t ( "../../d3" ) , l = t ( "./dagre-d3" ) , h = new a . Log , f = { } ; e . exports . setConf = function ( t ) { var e , n = Object . keys ( t ) ; for ( e = 0 ; e < n . length ; e ++ ) f [ n [ e ] ] = t [ n [ e ] ] } , n . addVertices = function ( t , e ) { var n = Object . keys ( t ) , r = function ( t , e ) { var n ; for ( n = 0 ; n < e . length ; n ++ ) "undefined" != typeof e [ n ] && ( t = t + e [ n ] + ";" ) ; return t } ; n . forEach ( function ( n ) { var i , a = t [ n ] , u = "" ; a . classes . length > 0 && ( u = a . classes . join ( " " ) ) ; var o = "" ; o = r ( o , a . styles ) , i = "undefined" == typeof a . text ? a . id : a . text ; var s = "" ; f . htmlLabels ? ( s = "html" , i = i . replace ( /fa:fa[\w\-]+/g , function ( t ) { return '<i class="fa ' + t . substring ( 3 ) + '"></i>' } ) ) : ( i = i . replace ( /<br>/g , "\n" ) , s = "text" ) ; var c = 0 , l = "" ; switch ( a . type ) { case "round" : c = 5 , l = "rect" ; break ; case "square" : l = "rect" ; break ; case "diamond" : l = "question" ; break ; case "odd" : l = "rect_left_inv_arrow" ; break ; case "odd_right" : l = "rect_left_inv_arrow" ; break ; case "circle" : l = "circle" ; break ; case "ellipse" : l = "ellipse" ; break ; case "group" : l = "rect" , i = "" ; break ; default : l = "rect" } e . setNode ( a . id , { labelType : s , shape : l , label : i , rx : c , ry : c , "class" : u , style : o , id : a . id } ) } ) } , n . addEdges = function ( t , e ) { var n , r , i = 0 ; "undefined" != typeof t . defaultStyle && ( r = t . defaultStyle . toString ( ) . replace ( /,/g , ";" ) ) , t . forEach ( function ( t ) { i ++ , n = "arrow_open" === t . type ? "none" : "normal" ; var a = "" ; if ( "undefined" != typeof t . style ) t . style . forEach ( function ( t ) { a = a + t + ";" } ) ; else switch ( t . stroke ) { case "normal" : a = "fill:none" , "undefined" != typeof r && ( a = r ) ; break ; case "dotted" : a = "stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;" ; break ; case "thick" : a = "stroke: #333; stroke-width: 3.5px;fill:none" } if ( "undefined" == typeof t . text ) "undefined" == typeof t . style ? e . setEdge ( t . start , t . end , { style : a , arrowhead : n } , i ) : e . setEdge ( t . start , t . end , { style : a , arrowheadStyle : "fill: #333" , arrowhead : n } , i ) ; else { var u = t . text . replace ( /<br>/g , "\n" ) ; "undefined" == typeof t . style ? f . htmlLabels ? e . setEdge ( t . start , t . end , { labelType : "html" , style : a , labelpos : "c" , label : '<span style="background:#e8e8e8">' + t . text + "</span>" , arrowheadStyle : "fill: #333" , arrowhead : n } , i ) : e . setEdge ( t . start , t . end , { labelType : "text" , style : "stroke: #333; stroke-width: 1.5px;fill:none" , labelpos : "c" , label : u , arrowheadStyle : "fill: #333" , arrowhead : n } , i ) : e . setEdge ( t . start , t . end , { labelType : "text" , style : a , arrowheadStyle : "fill: #333" , label : u , arrowhead : n } , i ) } } ) } , n . getClasses = function ( t , e ) { var n ; u . clear ( ) , n = e ? s . parser : o . parser , n . yy = u , n . parse ( t ) ; var r = u . getClasses ( ) ; return "undefined" == typeof r [ "default" ] && ( r [ "default" ] = { id : "default" } , r [ "default" ] . styles = [ ] , r [ "default" ] .
n . parse = function ( ) { return i . parse . apply ( i , arguments ) } , n . main = function ( e ) { e [ 1 ] || ( console . log ( "Usage: " + e [ 0 ] + " FILE" ) , r . exit ( 1 ) ) ; var i = t ( "fs" ) . readFileSync ( t ( "path" ) . normalize ( e [ 1 ] ) , "utf8" ) ; return n . parser . parse ( i ) } , "undefined" != typeof e && t . main === e && n . main ( r . argv . slice ( 1 ) ) ) } ) . call ( this , t ( "_process" ) ) } , { _process : 3 , fs : 1 , path : 2 } ] , 148 : [ function ( t , e , n ) { ( function ( r ) { "use strict" ; var i = function ( ) { function t ( ) { this . yy = { } } var e = function ( t , e , n , r ) { for ( n = n || { } , r = t . length ; r -- ; n [ t [ r ] ] = e ) ; return n } , n = [ 1 , 4 ] , r = [ 1 , 3 ] , i = [ 1 , 5 ] , a = [ 1 , 8 , 9 , 10 , 11 , 13 , 18 , 30 , 46 , 71 , 72 , 73 , 74 , 75 , 81 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , u = [ 2 , 2 ] , o = [ 1 , 12 ] , s = [ 1 , 13 ] , c = [ 1 , 14 ] , l = [ 1 , 15 ] , h = [ 1 , 31 ] , f = [ 1 , 33 ] , d = [ 1 , 22 ] , p = [ 1 , 34 ] , g = [ 1 , 24 ] , y = [ 1 , 25 ] , m = [ 1 , 26 ] , v = [ 1 , 27 ] , _ = [ 1 , 28 ] , b = [ 1 , 38 ] , x = [ 1 , 40 ] , w = [ 1 , 35 ] , A = [ 1 , 39 ] , k = [ 1 , 45 ] , E = [ 1 , 44 ] , D = [ 1 , 36 ] , M = [ 1 , 37 ] , C = [ 1 , 41 ] , S = [ 1 , 42 ] , T = [ 1 , 43 ] , F = [ 1 , 8 , 9 , 10 , 11 , 13 , 18 , 30 , 32 , 46 , 71 , 72 , 73 , 74 , 75 , 81 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , B = [ 1 , 53 ] , L = [ 1 , 52 ] , O = [ 1 , 54 ] , I = [ 1 , 72 ] , N = [ 1 , 80 ] , P = [ 1 , 81 ] , R = [ 1 , 66 ] , j = [ 1 , 65 ] , U = [ 1 , 85 ] , Y = [ 1 , 84 ] , $ = [ 1 , 82 ] , z = [ 1 , 83 ] , q = [ 1 , 73 ] , W = [ 1 , 68 ] , G = [ 1 , 67 ] , H = [ 1 , 63 ] , V = [ 1 , 75 ] , X = [ 1 , 76 ] , Z = [ 1 , 77 ] , K = [ 1 , 78 ] , Q = [ 1 , 79 ] , J = [ 1 , 70 ] , tt = [ 1 , 69 ] , et = [ 8 , 9 , 11 ] , nt = [ 8 , 9 , 11 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 ] , rt = [ 1 , 115 ] , it = [ 8 , 9 , 10 , 11 , 13 , 15 , 18 , 36 , 38 , 40 , 42 , 46 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 81 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , at = [ 8 , 9 , 10 , 11 , 12 , 13 , 15 , 16 , 17 , 18 , 30 , 32 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 46 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 71 , 72 , 73 , 74 , 75 , 78 , 81 , 83 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , ut = [ 1 , 117 ] , ot = [ 1 , 118 ] , st = [ 8 , 9 , 10 , 11 , 13 , 18 , 30 , 32 , 46 , 71 , 72 , 73 , 74 , 75 , 81 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , ct = [ 8 , 9 , 10 , 11 , 12 , 13 , 15 , 16 , 17 , 18 , 30 , 32 , 37 , 39 , 41 , 43 , 46 , 50 , 51 , 52 , 53 , 54 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 71 , 72 , 73 , 74 , 75 , 78 , 81 , 83 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , lt = [ 13 , 18 , 46 , 81 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , ht = [ 13 , 18 , 46 , 49 , 65 , 81 , 85 , 87 , 88 , 90 , 91 , 93 , 94 , 95 , 96 , 97 ] , ft = [ 1 , 191 ] , dt = [ 1 , 188 ] , pt = [ 1 , 195 ] , gt = [ 1 , 192 ] , yt = [ 1 , 189 ] , mt = [ 1 , 196 ] , vt = [ 1 , 186 ] , _t = [ 1 , 187 ] , bt = [ 1 , 190 ] , xt = [ 1 , 193 ] , wt = [ 1 , 194 ] , At = [ 1 , 211 ] , kt = [ 8 , 9 , 11 , 85 ] , Et = [ 8 , 9 , 10 , 11 , 46 , 71 , 80 , 81 , 83 , 85 , 87 , 88 , 89 , 90 , 91 ] , Dt = { trace : function ( ) { } , yy : { } , symbols _ : { error : 2 , mermaidDoc : 3 , graphConfig : 4 , document : 5 , line : 6 , statement : 7 , SEMI : 8 , NEWLINE : 9 , SPACE : 10 , EOF : 11 , GRAPH : 12 , DIR : 13 , FirstStmtSeperator : 14 , TAGEND : 15 , TAGSTART : 16 , UP : 17 , DOWN : 18 , ending : 19 , endToken : 20 , spaceList : 21 , spaceListNewline : 22 , verticeStatement : 23 , separator : 24 , styleStatement : 25 , linkStyleStatement : 26 , classDefStatement : 27 , classStatement : 28 , clickStatement : 29 , subgraph : 30 , text : 31 , end : 32 , vertex : 33 , link : 34 , alphaNum : 35 , SQS : 36 , SQE : 37 , PS : 38 , PE : 39 , "(-" : 40 , "-)" : 41 , DIAMOND _START : 42 , DIAMOND _STOP : 43 , alphaNumStatement : 44 , alphaNumToken : 45 , MINUS : 46 , linkStatement : 47 , arrowText : 48 , TESTSTR : 49 , "--" : 50 , ARROW _POINT : 51 , ARROW _CIRCLE : 52 , ARROW _CROSS : 53 , ARROW _OPEN : 54 , "-." : 55 , DOTTED _ARROW _POINT : 56 , DOTTED _ARROW _CIRCLE : 57 , DOTTED _ARROW _CROSS : 58 , DOTTED _ARROW _OPEN : 59 , "==" : 60 , THICK _ARROW _POINT : 61 , THICK _ARROW _CIRCLE : 62 , THICK _ARROW _CROSS : 63 , THICK _ARROW _OPEN : 64 , PIPE : 65 , textToken : 66 , STR : 67 , commentText : 68 , commentToken : 69 , keywords : 70 , STYLE : 71 , LINKSTYLE : 72 , CLASSDEF : 73 , CLASS : 74 , CLICK : 75 , textNoTags : 76 , textNoTagsToken : 77 , DEFAULT : 78 , stylesOpt : 79 , HEX : 80 , NUM : 81 , commentStatement : 82 , PCT : 83 , style : 84 , COMMA : 85 , styleComponent : 86 , ALPHA : 87 , COLON : 88 , UNIT : 89 , BRKT : 90 , DOT : 91 , graphCodeTokens : 92 , PUNCTUATION : 93 , UNICODE _TEXT : 94 , PLUS : 95 , EQUALS : 96 , MULT : 97 , TAG _START : 98 , TAG _END : 99 , QUOTE : 100 , $accept : 0 , $end : 1 } , terminals _ : { 2 : "error" , 8 : "SEMI" , 9 : "NEWLINE" , 10 : "SPACE" , 11 : "EOF" , 12 : "GRAPH" , 13 : "DIR" , 15 : "TAGEND" , 16 : "TAGSTART" , 17 : "UP" , 18 : "DOWN" , 30 : "subgraph" , 32 : "end" , 36 : "SQS" , 37 : "SQE" , 38 : "PS" , 39 : "PE" , 40 : "(-" , 41 : "-)" , 42 : "DIAMOND_START" , 43 : "DIAMOND_STOP" , 46 : "MINUS" , 49 : "TESTSTR" , 50 : "--" , 51 : "ARROW_POINT" , 52 : "ARROW_CIRCLE" , 53 : "ARROW_CROSS" , 54 : "ARROW_OPEN" , 55 : "-." , 56 : "DOTTED_ARROW_POINT" , 57 : "DOTTED_ARROW_CIRCLE" , 58 : "DOTTED_ARROW_CROSS" , 59 : "DOTTED_ARROW_OPEN" , 60 : "==" , 61 : "THICK_ARROW_POINT" , 62 : "THICK_ARROW_CIRCLE" , 63 : "THICK_ARROW_CROSS" , 64 : "THICK_ARROW_OPEN" , 65 : "PIPE" , 67 : "STR" , 71 : "STYLE" , 72 : "LINKSTYLE" , 73 : "CLASSDEF" , 74 : "CLASS" , 75 : "CLICK" , 78 : "DEFAULT" , 80 : "HEX" , 81 : "NUM" , 83 : "PCT" , 85 : "COMMA" , 87 : "ALPHA" , 88 : "COLON" , 89 : "UNIT" , 90 : "BRKT" , 91 : "DOT" , 93 : "PUNCTUATION" , 94 : "UNICODE_TEXT" , 95 : "PLUS" , 96 : "EQUALS" , 97 : "
conditions : { string : { rules : [ 2 , 3 ] , inclusive : ! 1 } , INITIAL : { rules : [ 0 , 1 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 , 69 ] , inclusive : ! 0 } } } ; return t } ( ) ; return Dt . lexer = Mt , t . prototype = Dt , Dt . Parser = t , new t } ( ) ; "undefined" != typeof t && "undefined" != typeof n && ( n . parser = i , n . Parser = i . Parser , n . parse = function ( ) { return i . parse . apply ( i , arguments ) } , n . main = function ( e ) { e [ 1 ] || ( console . log ( "Usage: " + e [ 0 ] + " FILE" ) , r . exit ( 1 ) ) ; var i = t ( "fs" ) . readFileSync ( t ( "path" ) . normalize ( e [ 1 ] ) , "utf8" ) ; return n . parser . parse ( i ) } , "undefined" != typeof e && t . main === e && n . main ( r . argv . slice ( 1 ) ) ) } ) . call ( this , t ( "_process" ) ) } , { _process : 3 , fs : 1 , path : 2 } ] , 149 : [ function ( t , e , n ) { ( function ( e ) { "use strict" ; function r ( t ) { if ( t && t . _ _esModule ) return t ; var e = { } ; if ( null != t ) for ( var n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) ; return e [ "default" ] = t , e } var i = t ( "../../logger" ) , a = r ( i ) , u = t ( "moment" ) , o = new a . Log , s = "" , c = "" , l = [ ] , h = [ ] , f = "" ; n . clear = function ( ) { l = [ ] , h = [ ] , f = "" , c = "" , m = 0 , d = void 0 , p = void 0 , x = [ ] } , n . setDateFormat = function ( t ) { s = t } , n . getDateFormat = function ( ) { return s } , n . setTitle = function ( t ) { c = t } , n . getTitle = function ( ) { return c } , n . addSection = function ( t ) { f = t , l . push ( t ) } , n . getTasks = function ( ) { for ( var t = A ( ) , e = 10 , n = 0 ; ! t && e > n ; ) t = A ( ) , n ++ ; return h = x } ; var d , p , g = function ( t , e , r ) { r = r . trim ( ) ; var i = /^after\s+([\d\w\-]+)/ , a = i . exec ( r . trim ( ) ) ; if ( null !== a ) { var s = n . findTaskById ( a [ 1 ] ) ; if ( "undefined" == typeof s ) { var c = new Date ; return c . setHours ( 0 , 0 , 0 , 0 ) , c } return s . endTime } return u ( r , e . trim ( ) , ! 0 ) . isValid ( ) ? u ( r , e . trim ( ) , ! 0 ) . toDate ( ) : ( o . debug ( "Invalid date:" + r ) , o . debug ( "With date format:" + e . trim ( ) ) , new Date ) } , y = function ( t , e , n ) { if ( n = n . trim ( ) , u ( n , e . trim ( ) , ! 0 ) . isValid ( ) ) return u ( n , e . trim ( ) ) . toDate ( ) ; var r = u ( t ) , i = /^([\d]+)([wdhms])/ , a = i . exec ( n . trim ( ) ) ; if ( null !== a ) { switch ( a [ 2 ] ) { case "s" : r . add ( a [ 1 ] , "seconds" ) ; break ; case "m" : r . add ( a [ 1 ] , "minutes" ) ; break ; case "h" : r . add ( a [ 1 ] , "hours" ) ; break ; case "d" : r . add ( a [ 1 ] , "days" ) ; break ; case "w" : r . add ( a [ 1 ] , "weeks" ) } return r . toDate ( ) } return r . toDate ( ) } , m = 0 , v = function ( t ) { return "undefined" == typeof t ? ( m += 1 , "task" + m ) : t } , _ = function ( t , e ) { var r ; r = ":" === e . substr ( 0 , 1 ) ? e . substr ( 1 , e . length ) : e ; for ( var i = r . split ( "," ) , a = { } , u = n . getDateFormat ( ) , o = ! 0 ; o ; ) o = ! 1 , i [ 0 ] . match ( /^\s*active\s*$/ ) && ( a . active = ! 0 , i . shift ( 1 ) , o = ! 0 ) , i [ 0 ] . match ( /^\s*done\s*$/ ) && ( a . done = ! 0 , i . shift ( 1 ) , o = ! 0 ) , i [ 0 ] . match ( /^\s*crit\s*$/ ) && ( a . crit = ! 0 , i . shift ( 1 ) , o = ! 0 ) ; var s ; for ( s = 0 ; s < i . length ; s ++ ) i [ s ] = i [ s ] . trim ( ) ; switch ( i . length ) { case 1 : a . id = v ( ) , a . startTime = t . endTime , a . endTime = y ( a . startTime , u , i [ 0 ] ) ; break ; case 2 : a . id = v ( ) , a . startTime = g ( void 0 , u , i [ 0 ] ) , a . endTime = y ( a . startTime , u , i [ 1 ] ) ; break ; case 3 : a . id = v ( i [ 0 ] ) , a . startTime = g ( void 0 , u , i [ 1 ] ) , a . endTime = y ( a . startTime , u , i [ 2 ] ) } return a } , b = function ( t , e ) { var n ; n = ":" === e . substr ( 0 , 1 ) ? e . substr ( 1 , e . length ) : e ; for ( var r = n . split ( "," ) , i = { } , a = ! 0 ; a ; ) a = ! 1 , r [ 0 ] . match ( /^\s*active\s*$/ ) && ( i . active = ! 0 , r . shift ( 1 ) , a = ! 0 ) , r [ 0 ] . match ( /^\s*done\s*$/ ) && ( i . done = ! 0 , r . shift ( 1 ) , a = ! 0 ) , r [ 0 ] . match ( /^\s*crit\s*$/ ) && ( i . crit = ! 0 , r . shift ( 1 ) , a = ! 0 ) ; var u ; for ( u = 0 ; u < r . length ; u ++ ) r [ u ] = r [ u ] . trim ( ) ; switch ( r . length ) { case 1 : i . id = v ( ) , i . startTime = { type : "prevTaskEnd" , id : t } , i . endTime = { data : r [ 0 ] } ; break ; case 2 : i . id = v ( ) , i . startTime = { type : "getStartDate" , startData : r [ 0 ] } , i . endTime = { data : r [ 1 ] } ; break ; case 3 : i . id = v ( r [ 0 ] ) , i . startTime = { type : "getStartDate" , startData : r [ 1 ] } , i . endTime = { data : r [ 2 ] } } return i } , x = [ ] , w = { } ; n . addTask = function ( t , e ) { var n = { section : f , type : f , processed : ! 1 , raw : { data : e } , task : t } , r = b ( p , e ) ; n . raw . startTime = r . startTime , n . raw . endTime = r . endTime , n . id = r . id , n . prevTaskId = p , n . active = r . active , n . done = r . done , n . crit = r . crit ; var i = x . push ( n ) ; p = n . id , w [ n . id ] = i - 1 } , n . findTaskById = function ( t ) { var e = w [ t ] ; return x [ e ] } , n . addTaskOrg = function ( t , e ) { var n = { section : f , type : f , description : t , task : t } , r = _ ( d , e ) ; n . startTime = r . startTime , n . endTime = r . endTime , n . id = r . id , n . active = r . active , n . done = r . done , n . crit = r . crit , d = n , h . push ( n ) } ; var A = function ( ) { var t , e = n . getDateFormat ( ) , r = function ( t ) { var r = x [ t ] , i = "" ; switch ( x [ t ] . raw . startTime . type ) { case "prevTaskEnd" : var a = n . findTaskById ( r . prevTaskId ) ; r . startTime = a . endTime ; break ; case "getStartDate" : i = g ( void 0 , e , x [ t ] . raw
inclusive : ! 0 } } } ; return t } ( ) ; return g . lexer = y , t . prototype = g , g . Parser = t , new t } ( ) ; "undefined" != typeof t && "undefined" != typeof n && ( n . parser = i , n . Parser = i . Parser , n . parse = function ( ) { return i . parse . apply ( i , arguments ) } , n . main = function ( e ) { e [ 1 ] || ( console . log ( "Usage: " + e [ 0 ] + " FILE" ) , r . exit ( 1 ) ) ; var i = t ( "fs" ) . readFileSync ( t ( "path" ) . normalize ( e [ 1 ] ) , "utf8" ) ; return n . parser . parse ( i ) } , "undefined" != typeof e && t . main === e && n . main ( r . argv . slice ( 1 ) ) ) } ) . call ( this , t ( "_process" ) ) } , { _process : 3 , fs : 1 , path : 2 } ] , 153 : [ function ( t , e , n ) { ( function ( e ) { "use strict" ; function r ( t ) { if ( t && t . _ _esModule ) return t ; var e = { } ; if ( null != t ) for ( var n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) ; return e [ "default" ] = t , e } var i = t ( "../../logger" ) , a = r ( i ) , u = { } , o = [ ] , s = [ ] , c = [ ] , l = new a . Log ; n . addActor = function ( t , e , n ) { u [ t ] = { name : e , description : n } , o . push ( t ) } , n . addMessage = function ( t , e , n , r ) { s . push ( { from : t , to : e , message : n , answer : r } ) } , n . addSignal = function ( t , e , n , r ) { l . debug ( "Adding message from=" + t + " to=" + e + " message=" + n + " type=" + r ) , s . push ( { from : t , to : e , message : n , type : r } ) } , n . getMessages = function ( ) { return s } , n . getActors = function ( ) { return u } , n . getActor = function ( t ) { return u [ t ] } , n . getActorKeys = function ( ) { return Object . keys ( u ) } , n . clear = function ( ) { u = { } , s = [ ] } , n . LINETYPE = { SOLID : 0 , DOTTED : 1 , NOTE : 2 , SOLID _CROSS : 3 , DOTTED _CROSS : 4 , SOLID _OPEN : 5 , DOTTED _OPEN : 6 , LOOP _START : 10 , LOOP _END : 11 , ALT _START : 12 , ALT _ELSE : 13 , ALT _END : 14 , OPT _START : 15 , OPT _END : 16 } , n . ARROWTYPE = { FILLED : 0 , OPEN : 1 } , n . PLACEMENT = { LEFTOF : 0 , RIGHTOF : 1 , OVER : 2 } , n . addNote = function ( t , e , r ) { var i = { actor : t , placement : e , message : r } , a = [ ] . concat ( t , t ) ; c . push ( i ) , s . push ( { from : a [ 0 ] , to : a [ 1 ] , message : r , type : n . LINETYPE . NOTE , placement : e } ) } , n . parseError = function ( t , n ) { e . mermaidAPI . parseError ( t , n ) } , n . apply = function ( t ) { if ( t instanceof Array ) t . forEach ( function ( t ) { n . apply ( t ) } ) ; else switch ( t . type ) { case "addActor" : n . addActor ( t . actor , t . actor , t . actor ) ; break ; case "addNote" : n . addNote ( t . actor , t . placement , t . text ) ; break ; case "addMessage" : n . addSignal ( t . from , t . to , t . msg , t . signalType ) ; break ; case "loopStart" : n . addSignal ( void 0 , void 0 , t . loopText , t . signalType ) ; break ; case "loopEnd" : n . addSignal ( void 0 , void 0 , void 0 , t . signalType ) ; break ; case "optStart" : n . addSignal ( void 0 , void 0 , t . optText , t . signalType ) ; break ; case "optEnd" : n . addSignal ( void 0 , void 0 , void 0 , t . signalType ) ; break ; case "altStart" : n . addSignal ( void 0 , void 0 , t . altText , t . signalType ) ; break ; case "else" : n . addSignal ( void 0 , void 0 , t . altText , t . signalType ) ; break ; case "altEnd" : n . addSignal ( void 0 , void 0 , void 0 , t . signalType ) } } } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { "../../logger" : 156 } ] , 154 : [ function ( t , e , n ) { "use strict" ; function r ( t ) { if ( t && t . _ _esModule ) return t ; var e = { } ; if ( null != t ) for ( var n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) ; return e [ "default" ] = t , e } var i = t ( "../../logger" ) , a = r ( i ) , u = t ( "./parser/sequenceDiagram" ) . parser ; u . yy = t ( "./sequenceDb" ) ; var o = t ( "./svgDraw" ) , s = t ( "../../d3" ) , c = new a . Log , l = { diagramMarginX : 50 , diagramMarginY : 10 , actorMargin : 50 , width : 150 , height : 65 , boxMargin : 10 , boxTextMargin : 5 , noteMargin : 10 , messageMargin : 35 , mirrorActors : ! 1 , bottomMarginAdj : 1 } ; n . bounds = { data : { startx : void 0 , stopx : void 0 , starty : void 0 , stopy : void 0 } , verticalPos : 0 , list : [ ] , init : function ( ) { this . list = [ ] , this . data = { startx : void 0 , stopx : void 0 , starty : void 0 , stopy : void 0 } , this . verticalPos = 0 } , updateVal : function ( t , e , n , r ) { t [ e ] = "undefined" == typeof t [ e ] ? n : r ( n , t [ e ] ) } , updateLoops : function ( t , e , r , i ) { var a = this , u = 0 ; this . list . forEach ( function ( o ) { u ++ ; var s = a . list . length - u + 1 ; a . updateVal ( o , "startx" , t - s * l . boxMargin , Math . min ) , a . updateVal ( o , "starty" , e - s * l . boxMargin , Math . min ) , a . updateVal ( o , "stopx" , r + s * l . boxMargin , Math . max ) , a . updateVal ( o , "stopy" , i + s * l . boxMargin , Math . max ) , a . updateVal ( n . bounds . data , "startx" , t - s * l . boxMargin , Math . min ) , a . updateVal ( n . bounds . data , "starty" , e - s * l . boxMargin , Math . min ) , a . updateVal ( n . bounds . data , "stopx" , r + s * l . boxMargin , Math . max ) , a . updateVal ( n . bounds . data , "stopy" , i + s * l . boxMargin , Math . max ) } ) } , insert : function ( t , e , r , i ) { var a , u , o , s ; a = Math . min ( t , r ) , o = Math . max ( t , r ) , u = Math . min ( e , i ) , s = Math . max ( e , i ) , this . updateVal ( n . bounds . data , "startx" , a , Math . min ) , this . updateVal ( n . bounds . data , "starty" , u , Math . min ) , t