sunrise-votes 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/README.rdoc +2 -4
  2. data/Rakefile +0 -22
  3. data/app/controllers/manage/ballot_box/votes_controller.rb +4 -0
  4. data/app/views/manage/ballot_box/votes/show.html.erb +211 -81
  5. data/lib/generators/sunrise/votes/install_generator.rb +1 -1
  6. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/highcharts.js +170 -0
  7. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/highcharts.src.js +11428 -0
  8. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/modules/exporting.js +22 -0
  9. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/modules/exporting.src.js +711 -0
  10. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/themes/dark-blue.js +263 -0
  11. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/themes/dark-green.js +263 -0
  12. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/themes/gray.js +262 -0
  13. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/themes/grid.js +96 -0
  14. data/lib/generators/sunrise/votes/templates/javascripts/highcharts/themes/skies.js +89 -0
  15. data/lib/sunrise/votes/version.rb +1 -1
  16. metadata +33 -79
  17. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/excanvas.min.js +0 -35
  18. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/jquery.jqplot.css +0 -226
  19. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/jquery.jqplot.min.js +0 -30
  20. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.BezierCurveRenderer.js +0 -312
  21. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.BezierCurveRenderer.min.js +0 -30
  22. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.barRenderer.js +0 -702
  23. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.barRenderer.min.js +0 -30
  24. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.blockRenderer.js +0 -234
  25. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.blockRenderer.min.js +0 -30
  26. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.bubbleRenderer.js +0 -748
  27. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.bubbleRenderer.min.js +0 -30
  28. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasAxisLabelRenderer.js +0 -199
  29. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasAxisLabelRenderer.min.js +0 -30
  30. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasAxisTickRenderer.js +0 -238
  31. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasAxisTickRenderer.min.js +0 -30
  32. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasOverlay.js +0 -614
  33. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasOverlay.min.js +0 -30
  34. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasTextRenderer.js +0 -420
  35. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.canvasTextRenderer.min.js +0 -30
  36. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.categoryAxisRenderer.js +0 -634
  37. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.categoryAxisRenderer.min.js +0 -30
  38. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.ciParser.js +0 -115
  39. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.ciParser.min.js +0 -30
  40. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.cursor.js +0 -1002
  41. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.cursor.min.js +0 -30
  42. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.dateAxisRenderer.js +0 -439
  43. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.dateAxisRenderer.min.js +0 -30
  44. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.donutRenderer.js +0 -904
  45. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.donutRenderer.min.js +0 -30
  46. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.dragable.js +0 -218
  47. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.dragable.min.js +0 -30
  48. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.enhancedLegendRenderer.js +0 -199
  49. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.enhancedLegendRenderer.min.js +0 -30
  50. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.funnelRenderer.js +0 -932
  51. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.funnelRenderer.min.js +0 -30
  52. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.highlighter.js +0 -406
  53. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.highlighter.min.js +0 -30
  54. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.json2.js +0 -475
  55. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.json2.min.js +0 -30
  56. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.logAxisRenderer.js +0 -446
  57. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.logAxisRenderer.min.js +0 -30
  58. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.mekkoAxisRenderer.js +0 -607
  59. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.mekkoAxisRenderer.min.js +0 -30
  60. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.mekkoRenderer.js +0 -432
  61. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.mekkoRenderer.min.js +0 -30
  62. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.meterGaugeRenderer.js +0 -1142
  63. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.meterGaugeRenderer.min.js +0 -30
  64. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.ohlcRenderer.js +0 -372
  65. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.ohlcRenderer.min.js +0 -30
  66. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.pieRenderer.js +0 -797
  67. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.pieRenderer.min.js +0 -30
  68. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.pointLabels.js +0 -337
  69. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.pointLabels.min.js +0 -30
  70. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.trendline.js +0 -220
  71. data/lib/generators/sunrise/votes/templates/javascripts/ballot_box/plugins/jqplot.trendline.min.js +0 -30
@@ -2,10 +2,8 @@
2
2
 
3
3
  == Install
4
4
 
5
- Copy javascripts files, need for drow chars via jqPlot.
6
- jqPlot is a plotting and charting plugin for the jQuery Javascript framework.
7
- jqPlot produces beautiful line, bar and pie charts with many features.
8
- http://www.jqplot.com/index.php
5
+ Copy javascripts files, need for drow chars via Highcharts.
6
+ http://www.highcharts.com/
9
7
 
10
8
  rails generate sunrise:votes:install
11
9
 
data/Rakefile CHANGED
@@ -2,7 +2,6 @@
2
2
  require 'rake'
3
3
  require 'rake/testtask'
4
4
  require 'rake/rdoctask'
5
- require File.join(File.dirname(__FILE__), 'lib', 'sunrise', 'votes', 'version')
6
5
 
7
6
  desc 'Default: run unit tests.'
8
7
  task :default => :test
@@ -23,24 +22,3 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
23
22
  rdoc.rdoc_files.include('README')
24
23
  rdoc.rdoc_files.include('lib/**/*.rb')
25
24
  end
26
-
27
- begin
28
- require 'jeweler'
29
- Jeweler::Tasks.new do |s|
30
- s.name = "sunrise-votes"
31
- s.version = Sunrise::Votes::VERSION.dup
32
- s.summary = "Rails CMS"
33
- s.description = "Sunrise is a Aimbulance CMS"
34
- s.email = "galeta.igor@gmail.com"
35
- s.homepage = "https://github.com/galetahub/sunrise-votes"
36
- s.authors = ["Igor Galeta", "Pavlo Galeta"]
37
- s.files = FileList["[A-Z]*", "{app,config,lib}/**/*"]
38
- s.extra_rdoc_files = FileList["[A-Z]*"] - %w(Gemfile Rakefile)
39
-
40
- s.add_dependency('sunrise')
41
- end
42
-
43
- Jeweler::GemcutterTasks.new
44
- rescue LoadError
45
- puts "Jeweler not available. Install it with: gem install jeweler"
46
- end
@@ -20,6 +20,10 @@ class Manage::BallotBox::VotesController < Manage::BaseController
20
20
 
21
21
  def show
22
22
  respond_with(@voteable) do |format|
23
+ format.html do
24
+ @max_created_at = @voteable.votes.maximum(:created_at)
25
+ @min_created_at = @voteable.votes.minimum(:created_at)
26
+ end
23
27
  format.json { render :json => @voteable.votes.chart(params[:id]) }
24
28
  end
25
29
  end
@@ -1,18 +1,23 @@
1
1
  <%= content_for(:head) do %>
2
- <!--[if lt IE 9]><%= javascript_include_tag "ballot_box/excanvas.min" %><![endif]-->
3
- <%= javascript_include_tag "ballot_box/jquery.jqplot.min", "ballot_box/plugins/jqplot.json2.min" %>
4
- <%= javascript_include_tag "ballot_box/plugins/jqplot.cursor.min", "ballot_box/plugins/jqplot.pieRenderer.min" %>
5
- <%= javascript_include_tag "ballot_box/plugins/jqplot.highlighter.min", "ballot_box/plugins/jqplot.dateAxisRenderer.min" %>
6
- <%= stylesheet_link_tag "/javascripts/ballot_box/jquery.jqplot.css" %>
2
+ <%= javascript_include_tag "highcharts/highcharts", "highcharts/themes/gray", "highcharts/modules/exporting" %>
7
3
  <% end %>
8
4
 
9
5
  <div class="edit-bl">
10
6
  <div class="bot-bg">
11
7
  <div id="voteable_title" class="block-title"><%= @voteable.title %></div>
12
-
8
+
13
9
  <div class="edit-cont">
14
10
  <%= link_to t('manage.sunrise.votes.view'), manage_ballot_box_votes_path( voteable_scope(@voteable) ) %>
15
11
 
12
+ <% if @min_created_at %>
13
+ <div style="padding-top:15px;">
14
+ <div>MIN: <%= @min_created_at.strftime('%d.%m.%Y %H:%M') %></div>
15
+ <div>MAX: <%= @max_created_at.strftime('%d.%m.%Y %H:%M') %></div>
16
+ </div>
17
+ <% end %>
18
+ </div>
19
+
20
+ <div class="edit-cont">
16
21
  <div id="chart_dates" style="height:400px;width:800px;"></div>
17
22
  </div>
18
23
 
@@ -28,85 +33,210 @@
28
33
 
29
34
  <script type="text/javascript">
30
35
  $(document).ready(function(){
31
- var ajaxDataRenderer = function(url, plot, options) {
32
- var ret = null;
33
- $.ajax({
34
- // have to use synchronous here, else the function
35
- // will return before the data is fetched
36
- async: false,
37
- url: url,
38
- dataType:"json",
39
- success: function(data) {
40
- ret = data;
41
- }
42
- });
43
- return ret;
44
- };
45
-
46
- // The url for our json data
47
- var dates_url = window.location.href.replace('/charts', '/dates');
48
-
49
- var dates_plot = $.jqplot('chart_dates', dates_url, {
50
- title: $('#voteable_title').text() + " dates",
51
- dataRenderer: ajaxDataRenderer,
52
- dataRendererOptions: {
53
- unusedOptionalUrl: dates_url
54
- },
55
-
56
- axes:{
57
- xaxis:{
58
- renderer:$.jqplot.DateAxisRenderer,
59
- tickOptions:{
60
- formatString:'%b&nbsp;%#d'
36
+ /* DATES */
37
+ var dates_url = window.location.href.replace('/charts', '/dates_browsers');
38
+ var dates_chart = null;
39
+ var dates_options = {
40
+ chart: { renderTo: 'chart_dates' },
41
+ title: { text: $('#voteable_title').text() + " dates" },
42
+ subtitle: { text: 'Source: BallotBox' },
43
+
44
+ xAxis: {
45
+ type: 'datetime',
46
+ tickInterval: 7 * 24 * 3600 * 1000, // one week
47
+ tickWidth: 0,
48
+ gridLineWidth: 1,
49
+ labels: {
50
+ align: 'left',
51
+ x: 3,
52
+ y: -3
53
+ }
54
+ },
55
+
56
+ yAxis: [{ // left y axis
57
+ title: { text: null },
58
+ labels: {
59
+ align: 'left',
60
+ x: 3,
61
+ y: 16,
62
+ formatter: function() {
63
+ return Highcharts.numberFormat(this.value, 0);
64
+ }
65
+ },
66
+ showFirstLabel: false
67
+ }, { // right y axis
68
+ linkedTo: 0,
69
+ gridLineWidth: 0,
70
+ opposite: true,
71
+ title: {
72
+ text: null
73
+ },
74
+ labels: {
75
+ align: 'right',
76
+ x: -3,
77
+ y: 16,
78
+ formatter: function() {
79
+ return Highcharts.numberFormat(this.value, 0);
80
+ }
81
+ },
82
+ showFirstLabel: false
83
+ }],
84
+
85
+ legend: {
86
+ align: 'left',
87
+ verticalAlign: 'top',
88
+ y: 20,
89
+ floating: true,
90
+ borderWidth: 0
91
+ },
92
+
93
+ tooltip: {
94
+ shared: true,
95
+ crosshairs: true
96
+ },
97
+
98
+ plotOptions: {
99
+ series: {
100
+ cursor: 'pointer',
101
+ point: {
102
+ events: {
103
+ click: function() {
104
+ hs.htmlExpand(null, {
105
+ pageOrigin: {
106
+ x: this.pageX,
107
+ y: this.pageY
108
+ },
109
+ headingText: this.series.name,
110
+ maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) +':<br/' + '>'+
111
+ this.y +' votes',
112
+ width: 200
113
+ });
114
+ }
115
+ }
116
+ },
117
+ marker: {
118
+ lineWidth: 1
119
+ }
120
+ }
121
+ },
122
+
123
+ series: []
124
+ };
125
+
126
+ $.ajax({
127
+ url: dates_url, dataType: "json",
128
+ success: function(data) {
129
+ $.each(data, function(index, value) {
130
+ if (index == 0) {
131
+ value["lineWidth"] = 4;
132
+ value["marker"] = { radius: 4 };
61
133
  }
62
- }
63
- },
64
- highlighter: {
65
- show: true,
66
- sizeAdjust: 7.5
67
- },
68
- cursor: {
69
- show: false
134
+
135
+ $.each(value.data, function(position, item){
136
+ item[0] = Date.parse(item[0]);
137
+ });
138
+
139
+ dates_options.series.push( value );
140
+ });
141
+
142
+ dates_chart = new Highcharts.Chart(dates_options);
70
143
  }
71
144
  });
72
-
73
- var browsers_url = window.location.href.replace('/charts', '/browsers');
74
- var browsers_plot = $.jqplot('chart_browsers', browsers_url, {
75
- title: $('#voteable_title').text() + " browsers",
76
- dataRenderer: ajaxDataRenderer,
77
- dataRendererOptions: {
78
- unusedOptionalUrl: browsers_url
79
- },
80
-
81
- seriesDefaults: {
82
- // Make this a pie chart.
83
- renderer: $.jqplot.PieRenderer,
84
- rendererOptions: {
85
- // Put data labels on the pie slices.
86
- // By default, labels show the percentage of the slice.
87
- showDataLabels: true
88
- }
89
- },
90
-
91
- legend: { show:true, location: 'e' }
145
+
146
+ /* BROWSERS */
147
+ var browsers_chart = null;
148
+ var browsers_url = window.location.href.replace('/charts', '/browsers');
149
+ var browsers_options = {
150
+ chart: {
151
+ renderTo: 'chart_browsers',
152
+ plotBackgroundColor: null,
153
+ plotBorderWidth: null,
154
+ plotShadow: false
155
+ },
156
+ title: { text: $('#voteable_title').text() + " browsers" },
157
+ tooltip: {
158
+ formatter: function() {
159
+ return '<b>'+ this.point.name +'</b>: '+ this.point.y;
160
+ }
161
+ },
162
+ plotOptions: {
163
+ pie: {
164
+ allowPointSelect: true,
165
+ cursor: 'pointer',
166
+ dataLabels: {
167
+ enabled: true,
168
+ color: '#000000',
169
+ connectorColor: '#000000',
170
+ formatter: function() {
171
+ return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
172
+ }
173
+ }
174
+ }
175
+ },
176
+ series: [{
177
+ type: 'pie',
178
+ name: 'Browsers',
179
+ data: []
180
+ }]
181
+ };
182
+
183
+ $.ajax({
184
+ url: browsers_url, dataType: "json",
185
+ success: function(data) {
186
+ $.each(data, function(index, value) {
187
+ browsers_options.series[0].data = value;
188
+ });
189
+
190
+ browsers_chart = new Highcharts.Chart(browsers_options);
191
+ }
92
192
  });
93
-
94
- var platforms_url = window.location.href.replace('/charts', '/platforms');
95
- var platforms_plot = $.jqplot('chart_platforms', platforms_url, {
96
- title: $('#voteable_title').text() + " platforms",
97
- dataRenderer: ajaxDataRenderer,
98
- dataRendererOptions: {
99
- unusedOptionalUrl: platforms_url
100
- },
101
-
102
- seriesDefaults: {
103
- renderer: $.jqplot.PieRenderer,
104
- rendererOptions: {
105
- showDataLabels: true
106
- }
107
- },
108
-
109
- legend: { show:true, location: 'e' }
193
+
194
+ /* PLATFORMS */
195
+ var platforms_chart = null;
196
+ var platforms_url = window.location.href.replace('/charts', '/platforms');
197
+ var platforms_options = {
198
+ chart: {
199
+ renderTo: 'chart_platforms',
200
+ plotBackgroundColor: null,
201
+ plotBorderWidth: null,
202
+ plotShadow: false
203
+ },
204
+ title: { text: $('#voteable_title').text() + " platforms" },
205
+ tooltip: {
206
+ formatter: function() {
207
+ return '<b>'+ this.point.name +'</b>: '+ this.point.y;
208
+ }
209
+ },
210
+ plotOptions: {
211
+ pie: {
212
+ allowPointSelect: true,
213
+ cursor: 'pointer',
214
+ dataLabels: {
215
+ enabled: true,
216
+ color: '#000000',
217
+ connectorColor: '#000000',
218
+ formatter: function() {
219
+ return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
220
+ }
221
+ }
222
+ }
223
+ },
224
+ series: [{
225
+ type: 'pie',
226
+ name: 'Platforms',
227
+ data: []
228
+ }]
229
+ };
230
+
231
+ $.ajax({
232
+ url: platforms_url, dataType: "json",
233
+ success: function(data) {
234
+ $.each(data, function(index, value) {
235
+ platforms_options.series[0].data = value;
236
+ });
237
+
238
+ platforms_chart = new Highcharts.Chart(platforms_options);
239
+ }
110
240
  });
111
241
  });
112
242
  </script>
@@ -9,7 +9,7 @@ module Sunrise
9
9
  desc "Copy javascript chart files"
10
10
 
11
11
  def copy_javascripts
12
- directory "javascripts/ballot_box", "public/javascripts/ballot_box"
12
+ directory "javascripts/highcharts", "public/javascripts/highcharts"
13
13
  end
14
14
  end
15
15
  end
@@ -0,0 +1,170 @@
1
+ /*
2
+ Highcharts JS v2.1.7 (2011-10-19)
3
+
4
+ (c) 2009-2011 Torstein H?nsi
5
+
6
+ License: www.highcharts.com/license
7
+ */
8
+ (function(){function E(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function K(a,b){return parseInt(a,b||10)}function Ya(a){return typeof a==="string"}function Ga(a){return typeof a==="object"}function fa(a){return typeof a==="number"}function ib(a){return V.log(a)/V.LN10}function jb(a,b){for(var c=a.length;c--;)if(a[c]===b){a.splice(c,1);break}}function q(a){return a!==ra&&a!==null}function F(a,b,c){var d,e;if(Ya(b))q(c)?a.setAttribute(b,c):a&&a.getAttribute&&(e=a.getAttribute(b));else if(q(b)&&
9
+ Ga(b))for(d in b)a.setAttribute(d,b[d]);return e}function tb(a){return Object.prototype.toString.call(a)==="[object Array]"?a:[a]}function n(){var a=arguments,b,c,d=a.length;for(b=0;b<d;b++)if(c=a[b],typeof c!=="undefined"&&c!==null)return c}function C(a,b){if(Hb&&b&&b.opacity!==ra)b.filter="alpha(opacity="+b.opacity*100+")";E(a.style,b)}function W(a,b,c,d,e){a=G.createElement(a);b&&E(a,b);e&&C(a,{padding:0,border:X,margin:0});c&&C(a,c);d&&d.appendChild(a);return a}function ca(a,b){var c=function(){};
10
+ c.prototype=new a;E(c.prototype,b);return c}function mc(a,b,c,d){var e=sa.lang,f=isNaN(b=ya(b))?2:b,b=c===void 0?e.decimalPoint:c,d=d===void 0?e.thousandsSep:d,e=a<0?"-":"",c=String(K(a=ya(+a||0).toFixed(f))),g=c.length>3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+ya(a-c).toFixed(f).slice(2):"")}function nc(a){for(var b={left:a.offsetLeft,top:a.offsetTop},a=a.offsetParent;a;)b.left+=a.offsetLeft,b.top+=a.offsetTop,a!==G.body&&a!==G.documentElement&&
11
+ (b.left-=a.scrollLeft,b.top-=a.scrollTop),a=a.offsetParent;return b}function oc(){this.symbol=this.color=0}function zc(a,b,c,d,e,f,g){var h=g.x,g=g.y,i=h-a+c-25,j=g-b+d+10,m;i<7&&(i=c+h+15);i+a>c+e&&(i-=i+a-(c+e),j-=b,m=!0);j<5?(j=5,m&&g>=j&&g<=j+b&&(j=g+b-5)):j+b>d+f&&(j=d+f-b-5);return{x:i,y:j}}function pc(a,b){var c=a.length,d;for(d=0;d<c;d++)a[d].ss_i=d;a.sort(function(a,c){var d=b(a,c);return d===0?a.ss_i-c.ss_i:d});for(d=0;d<c;d++)delete a[d].ss_i}function ub(a){for(var b in a)a[b]&&a[b].destroy&&
12
+ a[b].destroy(),delete a[b]}function kb(a,b){vb=n(a,b.animation)}function wb(){var a=sa.global.useUTC;Ib=a?Date.UTC:function(a,c,d,e,f,g){return(new Date(a,c,n(d,1),n(e,0),n(f,0),n(g,0))).getTime()};Wb=a?"getUTCMinutes":"getMinutes";Xb=a?"getUTCHours":"getHours";Yb=a?"getUTCDay":"getDay";xb=a?"getUTCDate":"getDate";Jb=a?"getUTCMonth":"getMonth";Kb=a?"getUTCFullYear":"getFullYear";qc=a?"setUTCMinutes":"setMinutes";rc=a?"setUTCHours":"setHours";Zb=a?"setUTCDate":"setDate";sc=a?"setUTCMonth":"setMonth";
13
+ tc=a?"setUTCFullYear":"setFullYear"}function Lb(a){za||(za=W(Za));a&&za.appendChild(a);za.innerHTML=""}function lb(){}function yb(a,b){function c(a){function b(a,c){this.pos=a;this.minor=c;this.isNew=!0;c||this.addLabel()}function c(a){if(a)this.options=a,this.id=a.id;return this}function d(a,b,c,e){this.isNegative=b;this.options=a;this.x=c;this.stack=e;this.alignOptions={align:a.align||(M?b?"left":"right":"center"),verticalAlign:a.verticalAlign||(M?"middle":b?"bottom":"top"),y:n(a.y,M?4:b?14:-6),
14
+ x:n(a.x,M?b?-6:6:0)};this.textAlign=a.textAlign||(M?b?"right":"left":"center")}function e(){var a=[],b=[],c;Ca=Ha=null;F=[];l(Y,function(e){c=!1;l(["xAxis","yAxis"],function(a){if(e.isCartesian&&(a==="xAxis"&&p||a==="yAxis"&&!p)&&(e.options[a]===s.index||e.options[a]===ra&&s.index===0))e[a]=ja,F.push(e),c=!0});!e.visible&&o.ignoreHiddenSeries&&(c=!1);if(c){var f,g,h,i,j,k;if(!p){f=e.options.stacking;Tb=f==="percent";if(f)j=e.options.stack,i=e.type+n(j,""),k="-"+i,e.stackKey=i,g=a[i]||[],a[i]=g,h=
15
+ b[k]||[],b[k]=h;Tb&&(Ca=0,Ha=99)}e.isCartesian&&(l(e.data,function(a){var b=a.x,c=a.y,e=c<0,m=e?h:g,zb=e?k:i;Ca===null&&(Ca=Ha=a[$]);p?b>Ha?Ha=b:b<Ca&&(Ca=b):q(c)&&(f&&(m[b]=q(m[b])?m[b]+c:c),c=m?m[b]:c,a=n(a.low,c),Tb||(c>Ha?Ha=c:a<Ca&&(Ca=a)),f&&(v[zb]||(v[zb]={}),v[zb][b]||(v[zb][b]=new d(s.stackLabels,e,b,j)),v[zb][b].setTotal(c)))}),/(area|column|bar)/.test(e.type)&&!p&&(Ca>=0?(Ca=0,ia=!0):Ha<0&&(Ha=0,ka=!0)))}})}function f(a,b){var c,d;X=b?1:V.pow(10,Ia(V.log(a)/V.LN10));c=a/X;if(!b&&(b=[1,
16
+ 2,2.5,5,10],s.allowDecimals===!1||N))X===1?b=[1,2,5,10]:X<=0.1&&(b=[1/X]);for(d=0;d<b.length;d++)if(a=b[d],c<=(b[d]+(b[d+1]||b[d]))/2)break;a*=X;return a}function g(a){var b;b=a;X=n(X,V.pow(10,Ia(V.log(na)/V.LN10)));X<1&&(b=z(1/X)*10,b=z(a*b)/b);return b}function h(){var a,b,c,d,e=s.tickInterval,i=s.tickPixelInterval;a=s.maxZoom||(p&&!q(s.min)&&!q(s.max)?Ka(k.smallestInterval*5,Ha-Ca):null);t=r?T:O;S?(c=k[p?"xAxis":"yAxis"][s.linkedTo],d=c.getExtremes(),J=n(d.min,d.dataMin),L=n(d.max,d.dataMax)):
17
+ (J=n(C,s.min,Ca),L=n(Qa,s.max,Ha));N&&(J=ib(J),L=ib(L));L-J<a&&(d=(a-L+J)/2,J=Z(J-d,n(s.min,J-d),Ca),L=Ka(J+a,n(s.max,J+a),Ha));if(!ua&&!Tb&&!S&&q(J)&&q(L)){a=L-J||1;if(!q(s.min)&&!q(C)&&da&&(Ca<0||!ia))J-=a*da;if(!q(s.max)&&!q(Qa)&&ea&&(Ha>0||!ka))L+=a*ea}na=J===L?1:S&&!e&&i===c.options.tickPixelInterval?c.tickInterval:n(e,ua?1:(L-J)*i/t);!Mb&&!q(s.tickInterval)&&(na=f(na));ja.tickInterval=na;pa=s.minorTickInterval==="auto"&&na?na/5:s.minorTickInterval;if(Mb){P=[];var e=sa.global.useUTC,j=1E3/La,
18
+ m=6E4/La,ta=36E5/La,i=864E5/La;a=6048E5/La;d=2592E6/La;var Ua=31556952E3/La,v=[["second",j,[1,2,5,10,15,30]],["minute",m,[1,2,5,10,15,30]],["hour",ta,[1,2,3,4,6,8,12]],["day",i,[1,2]],["week",a,[1,2]],["month",d,[1,2,3,4,6]],["year",Ua,null]],w=v[6],l=w[1],u=w[2];for(c=0;c<v.length;c++)if(w=v[c],l=w[1],u=w[2],v[c+1]&&na<=(l*u[u.length-1]+v[c+1][1])/2)break;l===Ua&&na<5*l&&(u=[1,2,5]);v=f(na/l,u);u=new Date(J*La);u.setMilliseconds(0);l>=j&&u.setSeconds(l>=m?0:v*Ia(u.getSeconds()/v));if(l>=m)u[qc](l>=
19
+ ta?0:v*Ia(u[Wb]()/v));if(l>=ta)u[rc](l>=i?0:v*Ia(u[Xb]()/v));if(l>=i)u[Zb](l>=d?1:v*Ia(u[xb]()/v));l>=d&&(u[sc](l>=Ua?0:v*Ia(u[Jb]()/v)),b=u[Kb]());l>=Ua&&(b-=b%v,u[tc](b));if(l===a)u[Zb](u[xb]()-u[Yb]()+s.startOfWeek);c=1;b=u[Kb]();j=u.getTime()/La;m=u[Jb]();for(ta=u[xb]();j<L&&c<T;)P.push(j),l===Ua?j=Ib(b+c*v,0)/La:l===d?j=Ib(b,m+c*v)/La:!e&&(l===i||l===a)?j=Ib(b,m,ta+c*v*(l===i?1:7)):j+=l*v,c++;P.push(j);Da=s.dateTimeLabelFormats[w[0]]}else{c=g(Ia(J/na)*na);b=g($b(L/na)*na);P=[];for(c=g(c);c<=
20
+ b;)P.push(c),c=g(c+na)}if(!S){if(ua||p&&k.hasColumn){b=(ua?1:na)*0.5;if(ua||!q(n(s.min,C)))J-=b;if(ua||!q(n(s.max,Qa)))L+=b}b=P[0];c=P[P.length-1];s.startOnTick?J=b:J>b&&P.shift();s.endOnTick?L=c:L<c&&P.pop();Va||(Va={x:0,y:0});if(!Mb&&P.length>Va[$])Va[$]=P.length}}function i(){var a,b;U=J;ba=L;e();h();y=Ea;Ea=t/(L-J||1);if(!p)for(a in v)for(b in v[a])v[a][b].cum=v[a][b].total;if(!ja.isDirty)ja.isDirty=J!==U||L!==ba}function j(a){a=(new c(a)).render();W.push(a);return a}function m(){var a=s.title,
21
+ d=s.stackLabels,e=s.alternateGridColor,f=s.lineWidth,g,h,i=(g=k.hasRendered)&&q(U)&&!isNaN(U);h=F.length&&q(J)&&q(L);t=r?T:O;Ea=t/(L-J||1);H=r?B:Ma;if(h||S){if(pa&&!ua)for(h=J+(P[0]-J)%pa;h<=L;h+=pa)fa[h]||(fa[h]=new b(h,!0)),i&&fa[h].isNew&&fa[h].render(null,!0),fa[h].isActive=!0,fa[h].render();l(P,function(a,b){if(!S||a>=J&&a<=L)i&&R[a].isNew&&R[a].render(b,!0),R[a].isActive=!0,R[a].render(b)});e&&l(P,function(a,b){if(b%2===0&&a<L)la[a]||(la[a]=new c),la[a].options={from:a,to:P[b+1]!==ra?P[b+1]:
22
+ L,color:e},la[a].render(),la[a].isActive=!0});g||l((s.plotLines||[]).concat(s.plotBands||[]),function(a){W.push((new c(a)).render())})}l([R,fa,la],function(a){for(var b in a)a[b].isActive?a[b].isActive=!1:(a[b].destroy(),delete a[b])});f&&(g=B+(u?T:0)+x,h=Aa-Ma-(u?O:0)+x,g=I.crispLine([va,r?B:g,r?h:D,aa,r?wa-ca:g,r?h:Aa-Ma],f),Wa?Wa.animate({d:g}):Wa=I.path(g).attr({stroke:s.lineColor,"stroke-width":f,zIndex:7}).add());if(A)g=r?B:D,f=K(a.style.fontSize||12),g={low:g+(r?0:t),middle:g+t/2,high:g+(r?
23
+ t:0)}[a.align],f=(r?D+O:B)+(r?1:-1)*(u?-1:1)*Fa+(Ra===2?f:0),A[A.isNew?"attr":"animate"]({x:r?g:f+(u?T:0)+x+(a.x||0),y:r?f-(u?O:0)+x:g+(a.y||0)}),A.isNew=!1;if(d&&d.enabled){var j,ta,d=ja.stackTotalGroup;if(!d)ja.stackTotalGroup=d=I.g("stack-labels").attr({visibility:Pa,zIndex:6}).translate(B,D).add();for(j in v)for(ta in a=v[j],a)a[ta].render(d)}ja.isDirty=!1}function w(a){for(var b=W.length;b--;)W[b].id===a&&W[b].destroy()}var p=a.isX,u=a.opposite,r=M?!p:p,Ra=r?u?0:2:u?1:3,v={},s=Q(p?Nb:ac,[Ac,
24
+ Bc,uc,Cc][Ra],a),ja=this,A,Ab=s.type,Mb=Ab==="datetime",N=Ab==="logarithmic",x=s.offset||0,$=p?"x":"y",t,Ea,y,H=r?B:Ma,mb,nb,ob,G,Wa,Ca,Ha,F,C,Qa,L=null,J=null,U,ba,da=s.minPadding,ea=s.maxPadding,S=q(s.linkedTo),ia,ka,Tb,Ab=s.events,gb,W=[],na,pa,X,P,R={},fa={},la={},qa,xa,Fa,Da,ua=s.categories,Oa=s.labels.formatter||function(){var a=this.value;return Da?Ob(Da,a):na%1E6===0?a/1E6+"M":na%1E3===0?a/1E3+"k":!ua&&a>=1E3?mc(a,0):a},Ga=r&&s.labels.staggerLines,za=s.reversed,Ba=ua&&s.tickmarkPlacement===
25
+ "between"?0.5:0;b.prototype={addLabel:function(){var a=this.pos,b=s.labels,c=!(a===J&&!n(s.showFirstLabel,1)||a===L&&!n(s.showLastLabel,0)),d=ua&&r&&ua.length&&!b.step&&!b.staggerLines&&!b.rotation&&T/ua.length||!r&&T/2,e=ua&&q(ua[a])?ua[a]:a,f=this.label,a=Oa.call({isFirst:a===P[0],isLast:a===P[P.length-1],dateTimeLabelFormat:Da,value:N?V.pow(10,e):e}),d=d&&{width:Z(1,z(d-2*(b.padding||10)))+oa},d=E(d,b.style);f===ra?this.label=q(a)&&c&&b.enabled?I.text(a,0,0,b.useHTML).attr({align:b.align,rotation:b.rotation}).css(d).add(ob):
26
+ null:f&&f.attr({text:a}).css(d)},getLabelSize:function(){var a=this.label;return a?(this.labelBBox=a.getBBox())[r?"height":"width"]:0},render:function(a,b){var c=!this.minor,d=this.label,e=this.pos,f=s.labels,g=this.gridLine,h=c?s.gridLineWidth:s.minorGridLineWidth,i=c?s.gridLineColor:s.minorGridLineColor,j=c?s.gridLineDashStyle:s.minorGridLineDashStyle,m=this.mark,k=c?s.tickLength:s.minorTickLength,ta=c?s.tickWidth:s.minorTickWidth||0,v=c?s.tickColor:s.minorTickColor,l=c?s.tickPosition:s.minorTickPosition,
27
+ Ua=f.step,w=b&&Ta||Aa,p;p=r?mb(e+Ba,null,null,b)+H:B+x+(u?(b&&Sa||wa)-ca-B:0);w=r?w-Ma+x-(u?O:0):w-mb(e+Ba,null,null,b)-H;if(h){e=nb(e+Ba,h,b);if(g===ra){g={stroke:i,"stroke-width":h};if(j)g.dashstyle=j;if(c)g.zIndex=1;this.gridLine=g=h?I.path(e).attr(g).add(G):null}!b&&g&&e&&g.animate({d:e})}if(ta)l==="inside"&&(k=-k),u&&(k=-k),c=I.crispLine([va,p,w,aa,p+(r?0:-k),w+(r?k:0)],ta),m?m.animate({d:c}):this.mark=I.path(c).attr({stroke:v,"stroke-width":ta}).add(ob);if(d&&!isNaN(p)){p=p+f.x-(Ba&&r?Ba*Ea*
28
+ (za?-1:1):0);w=w+f.y-(Ba&&!r?Ba*Ea*(za?1:-1):0);q(f.y)||(w+=K(d.styles.lineHeight)*0.9-d.getBBox().height/2);Ga&&(w+=a/(Ua||1)%Ga*16);if(Ua)d[a%Ua?"hide":"show"]();d[this.isNew?"attr":"animate"]({x:p,y:w})}this.isNew=!1},destroy:function(){ub(this)}};c.prototype={render:function(){var a=this,b=a.options,c=b.label,d=a.label,e=b.width,f=b.to,g=b.from,h=b.value,i,j=b.dashStyle,m=a.svgElem,k=[],ta,v,s=b.color;v=b.zIndex;var l=b.events;N&&(g=ib(g),f=ib(f),h=ib(h));if(e){if(k=nb(h,e),b={stroke:s,"stroke-width":e},
29
+ j)b.dashstyle=j}else if(q(g)&&q(f))g=Z(g,J),f=Ka(f,L),i=nb(f),(k=nb(g))&&i?k.push(i[4],i[5],i[1],i[2]):k=null,b={fill:s};else return;if(q(v))b.zIndex=v;if(m)k?m.animate({d:k},null,m.onGetPath):(m.hide(),m.onGetPath=function(){m.show()});else if(k&&k.length&&(a.svgElem=m=I.path(k).attr(b).add(),l))for(ta in j=function(b){m.on(b,function(c){l[b].apply(a,[c])})},l)j(ta);if(c&&q(c.text)&&k&&k.length&&T>0&&O>0){c=Q({align:r&&i&&"center",x:r?!i&&4:10,verticalAlign:!r&&i&&"middle",y:r?i?16:10:i?6:-4,rotation:r&&
30
+ !i&&90},c);if(!d)a.label=d=I.text(c.text,0,0).attr({align:c.textAlign||c.align,rotation:c.rotation,zIndex:v}).css(c.style).add();i=[k[1],k[4],n(k[6],k[1])];k=[k[2],k[5],n(k[7],k[2])];ta=Ka.apply(V,i);v=Ka.apply(V,k);d.align(c,!1,{x:ta,y:v,width:Z.apply(V,i)-ta,height:Z.apply(V,k)-v});d.show()}else d&&d.hide();return a},destroy:function(){ub(this);jb(W,this)}};d.prototype={destroy:function(){ub(this)},setTotal:function(a){this.cum=this.total=a},render:function(a){var b=this.options.formatter.call(this);
31
+ this.label?this.label.attr({text:b,visibility:Ja}):this.label=k.renderer.text(b,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:Ja}).add(a)},setOffset:function(a,b){var c=this.isNegative,d=ja.translate(this.total),e=ja.translate(0),e=ya(d-e),f=k.xAxis[0].translate(this.x)+a,g=k.plotHeight,c={x:M?c?d:d-e:f,y:M?g-f-b:c?g-d-e:g-d,width:M?e:b,height:M?b:e};this.label&&this.label.align(this.alignOptions,null,c).attr({visibility:Pa})}};mb=function(a,b,c,
32
+ d,e){var f=1,g=0,h=d?y:Ea,d=d?U:J;h||(h=Ea);c&&(f*=-1,g=t);za&&(f*=-1,g-=f*t);b?(za&&(a=t-a),a=a/h+d,N&&e&&(a=V.pow(10,a))):(N&&e&&(a=ib(a)),a=f*(a-d)*h+g);return a};nb=function(a,b,c){var d,e,f,a=mb(a,null,null,c),g=c&&Ta||Aa,h=c&&Sa||wa,i,c=e=z(a+H);d=f=z(g-a-H);if(isNaN(a))i=!0;else if(r){if(d=D,f=g-Ma,c<B||c>B+T)i=!0}else if(c=B,e=h-ca,d<D||d>D+O)i=!0;return i?null:I.crispLine([va,c,d,aa,e,f],b||0)};M&&p&&za===ra&&(za=!0);E(ja,{addPlotBand:j,addPlotLine:j,adjustTickAmount:function(){if(Va&&!Mb&&
33
+ !ua&&!S){var a=qa,b=P.length;qa=Va[$];if(b<qa){for(;P.length<qa;)P.push(g(P[P.length-1]+na));Ea*=(b-1)/(qa-1);L=P[P.length-1]}if(q(a)&&qa!==a)ja.isDirty=!0}},categories:ua,getExtremes:function(){return{min:J,max:L,dataMin:Ca,dataMax:Ha,userMin:C,userMax:Qa}},getPlotLinePath:nb,getThreshold:function(a){J>a?a=J:L<a&&(a=L);return mb(a,0,1)},isXAxis:p,options:s,plotLinesAndBands:W,getOffset:function(){var a=F.length&&q(J)&&q(L),c=0,d=0,e=s.title,f=s.labels,g=[-1,1,1,-1][Ra],h;ob||(ob=I.g("axis").attr({zIndex:7}).add(),
34
+ G=I.g("grid").attr({zIndex:1}).add());xa=0;if(a||S)l(P,function(a){R[a]?R[a].addLabel():R[a]=new b(a);if(Ra===0||Ra===2||{1:"left",3:"right"}[Ra]===f.align)xa=Z(R[a].getLabelSize(),xa)}),Ga&&(xa+=(Ga-1)*16);else for(h in R)R[h].destroy(),delete R[h];if(e&&e.text){if(!A)A=ja.axisTitle=I.text(e.text,0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation||0,align:e.textAlign||{low:"left",middle:"center",high:"right"}[e.align]}).css(e.style).add(),A.isNew=!0;c=A.getBBox()[r?"height":"width"];d=n(e.margin,
35
+ r?5:10)}x=g*(s.offset||ma[Ra]);Fa=xa+(Ra!==2&&xa&&g*s.labels[r?"y":"x"])+d;ma[Ra]=Z(ma[Ra],Fa+c+g*x)},render:m,setCategories:function(b,c){ja.categories=a.categories=ua=b;l(F,function(a){a.translate();a.setTooltipPoints(!0)});ja.isDirty=!0;n(c,!0)&&k.redraw()},setExtremes:function(a,b,c,d){c=n(c,!0);ga(ja,"setExtremes",{min:a,max:b},function(){C=a;Qa=b;c&&k.redraw(d)})},setScale:i,setTickPositions:h,translate:mb,redraw:function(){$a.resetTracker&&$a.resetTracker();m();l(W,function(a){a.render()});
36
+ l(F,function(a){a.isDirty=!0})},removePlotBand:w,removePlotLine:w,reversed:za,stacks:v,destroy:function(){var a;Na(ja);for(a in v)ub(v[a]),v[a]=null;if(ja.stackTotalGroup)ja.stackTotalGroup=ja.stackTotalGroup.destroy();l([R,fa,la,W],function(a){ub(a)});l([Wa,ob,G,A],function(a){a&&a.destroy()});Wa=ob=G=A=null}});for(gb in Ab)ha(ja,gb,Ab[gb]);i()}function d(){var b={};return{add:function(c,d,e,f){b[c]||(d=I.text(d,0,0).css(a.toolbar.itemStyle).align({align:"right",x:-ca-20,y:D+30}).on("click",f).attr({align:"right",
37
+ zIndex:20}).add(),b[c]=d)},remove:function(a){Lb(b[a].element);b[a]=null}}}function e(a){function b(){var a=this.points||tb(this),c=a[0].series.xAxis,d=this.x,c=c&&c.options.type==="datetime",e=Ya(d)||c,f;f=e?['<span style="font-size: 10px">'+(c?Ob("%A, %b %e, %Y",d):d)+"</span>"]:[];l(a,function(a){f.push(a.point.tooltipFormatter(e))});return f.join("<br/>")}function c(a,b){o=u?a:(2*o+a)/3;v=u?b:(v+b)/2;s.translate(o,v);bc=ya(a-o)>1||ya(b-v)>1?function(){c(a,b)}:null}function d(){if(!u){var a=k.hoverPoints;
38
+ s.hide();l(h,function(a){a&&a.hide()});a&&l(a,function(a){a.setState()});k.hoverPoints=null;u=!0}}var e,f=a.borderWidth,g=a.crosshairs,h=[],i=a.style,j=a.shared,m=K(i.padding),w=f+m,u=!0,p,r,o=0,v=0;i.padding=0;var s=I.g("tooltip").attr({zIndex:8}).add(),n=I.rect(w,w,0,0,a.borderRadius,f).attr({fill:a.backgroundColor,"stroke-width":f}).add(s).shadow(a.shadow),A=I.text("",m+w,K(i.fontSize)+m+w,a.useHTML).attr({zIndex:1}).css(i).add(s);s.hide();return{shared:j,refresh:function(f){var i,v,o,N=0,q={},
39
+ t=[];o=f.tooltipPos;i=a.formatter||b;q=k.hoverPoints;j?(q&&l(q,function(a){a.setState()}),k.hoverPoints=f,l(f,function(a){a.setState(xa);N+=a.plotY;t.push(a.getLabelConfig())}),v=f[0].plotX,N=z(N)/f.length,q={x:f[0].category},q.points=t,f=f[0]):q=f.getLabelConfig();q=i.call(q);e=f.series;v=j?v:f.plotX;N=j?N:f.plotY;i=z(o?o[0]:M?T-N:v);v=z(o?o[1]:M?O-v:N);o=j||!f.series.isCartesian||db(i,v);q===!1||!o?d():(u&&(s.show(),u=!1),A.attr({text:q}),o=A.getBBox(),p=o.width+2*m,r=o.height+2*m,n.attr({width:p,
40
+ height:r,stroke:a.borderColor||f.color||e.color||"#606060"}),i=zc(p,r,B,D,T,O,{x:i,y:v}),c(z(i.x-w),z(i.y-w)));if(g){g=tb(g);for(i=g.length;i--;)if(v=f.series[i?"yAxis":"xAxis"],g[i]&&v)if(v=v.getPlotLinePath(f[i?"y":"x"],1),h[i])h[i].attr({d:v,visibility:Pa});else{o={"stroke-width":g[i].width||1,stroke:g[i].color||"#C0C0C0",zIndex:2};if(g[i].dashStyle)o.dashstyle=g[i].dashStyle;h[i]=I.path(v).attr(o).add()}}},hide:d,destroy:function(){l(h,function(a){a&&a.destroy()});l([n,A,s],function(a){a&&a.destroy()});
41
+ n=A=s=null}}}function f(a){function b(a){var c,d=vc&&G.width/G.body.scrollWidth-1,e,f,g,a=a||ka.event;if(!a.target)a.target=a.srcElement;c=a.touches?a.touches.item(0):a;if(a.type!=="mousemove"||ka.opera||d)Da=nc(H),e=Da.left,f=Da.top;Hb?(g=a.x,c=a.y):c.layerX===ra?(g=c.pageX-e,c=c.pageY-f):(g=a.layerX,c=a.layerY);d&&(g+=z((d+1)*e-e),c+=z((d+1)*f-f));return E(a,{chartX:g,chartY:c})}function c(a){var b={xAxis:[],yAxis:[]};l(da,function(c){var d=c.translate,e=c.isXAxis;b[e?"xAxis":"yAxis"].push({axis:c,
42
+ value:d((M?!e:e)?a.chartX-B:O-a.chartY+D,!0)})});return b}function d(){var a=k.hoverSeries,b=k.hoverPoint;if(b)b.onMouseOut();if(a)a.onMouseOut();eb&&eb.hide();cc=null}function f(){if(m){var a={xAxis:[],yAxis:[]},b=m.getBBox(),c=b.x-B,d=b.y-D;j&&(l(da,function(e){var f=e.translate,g=e.isXAxis,h=M?!g:g,i=f(h?c:O-d-b.height,!0,0,0,1),f=f(h?c+b.width:O-d,!0,0,0,1);a[g?"xAxis":"yAxis"].push({axis:e,min:Ka(i,f),max:Z(i,f)})}),ga(k,"selection",a,dc));m=m.destroy()}k.mouseIsDown=ec=j=!1;Na(G,Oa?"touchend":
43
+ "mouseup",f)}function g(a){var b=q(a.pageX)?a.pageX:a.page.x,a=q(a.pageX)?a.pageY:a.page.y;Da&&!db(b-Da.left-B,a-Da.top-D)&&d()}var h,i,j,m,w=o.zoomType,u=/x/.test(w),p=/y/.test(w),r=u&&!M||p&&M,n=p&&!M||u&&M;Pb=function(){Bb?(Bb.translate(B,D),M&&Bb.attr({width:k.plotWidth,height:k.plotHeight}).invert()):k.trackerGroup=Bb=I.g("tracker").attr({zIndex:9}).add()};Pb();if(a.enabled)k.tooltip=eb=e(a);(function(){H.onmousedown=function(a){a=b(a);!Oa&&a.preventDefault&&a.preventDefault();k.mouseIsDown=
44
+ ec=!0;h=a.chartX;i=a.chartY;ha(G,Oa?"touchend":"mouseup",f)};var e=function(c){if(!c||!(c.touches&&c.touches.length>1)){c=b(c);if(!Oa)c.returnValue=!1;var d=c.chartX,e=c.chartY,f=!db(d-B,e-D);Da||(Da=nc(H));Oa&&c.type==="touchstart"&&(F(c.target,"isTracker")?k.runTrackerClick||c.preventDefault():!lb&&!f&&c.preventDefault());f&&(d<B?d=B:d>B+T&&(d=B+T),e<D?e=D:e>D+O&&(e=D+O));if(ec&&c.type!=="touchstart"){if(j=Math.sqrt(Math.pow(h-d,2)+Math.pow(i-e,2)),j>10){if(pb&&(u||p)&&db(h-B,i-D))m||(m=I.rect(B,
45
+ D,r?1:T,n?1:O,0).attr({fill:o.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add());m&&r&&(d-=h,m.attr({width:ya(d),x:(d>0?0:d)+h}));m&&n&&(e-=i,m.attr({height:ya(e),y:(e>0?0:e)+i}))}}else if(!f){var g,e=k.hoverPoint,d=k.hoverSeries,l,w,A=wa,q=M?c.chartY:c.chartX-B;if(eb&&a.shared){g=[];l=Y.length;for(w=0;w<l;w++)if(Y[w].visible&&Y[w].tooltipPoints.length)c=Y[w].tooltipPoints[q],c._dist=ya(q-c.plotX),A=Ka(A,c._dist),g.push(c);for(l=g.length;l--;)g[l]._dist>A&&g.splice(l,1);if(g.length&&g[0].plotX!==
46
+ cc)eb.refresh(g),cc=g[0].plotX}if(d&&d.tracker&&(c=d.tooltipPoints[q])&&c!==e)c.onMouseOver()}return f||!pb}};H.onmousemove=e;ha(H,"mouseleave",d);ha(G,"mousemove",g);H.ontouchstart=function(a){if(u||p)H.onmousedown(a);e(a)};H.ontouchmove=e;H.ontouchend=function(){j&&d()};H.onclick=function(a){var d=k.hoverPoint,a=b(a);a.cancelBubble=!0;if(!j)if(d&&F(a.target,"isTracker")){var e=d.plotX,f=d.plotY;E(d,{pageX:Da.left+B+(M?T-f:e),pageY:Da.top+D+(M?O-e:f)});ga(d.series,"click",E(a,{point:d}));d.firePointEvent("click",
47
+ a)}else E(a,c(a)),db(a.chartX-B,a.chartY-D)&&ga(k,"click",a);j=!1}})();yb=setInterval(function(){bc&&bc()},32);E(this,{zoomX:u,zoomY:p,resetTracker:d,destroy:function(){if(k.trackerGroup)k.trackerGroup=Bb=k.trackerGroup.destroy();Na(G,"mousemove",g);H.onclick=H.onmousedown=H.onmousemove=H.ontouchstart=H.ontouchend=H.ontouchmove=null}})}function g(a){var b=a.type||o.type||o.defaultSeriesType,c=la[b],d=k.hasRendered;if(d)if(M&&b==="column")c=la.bar;else if(!M&&b==="bar")c=la.column;b=new c;b.init(k,
48
+ a);!d&&b.inverted&&(M=!0);if(b.isCartesian)pb=b.isCartesian;Y.push(b);return b}function h(){o.alignTicks!==!1&&l(da,function(a){a.adjustTickAmount()});Va=null}function i(a){var b=k.isDirtyLegend,c,d=k.isDirtyBox,e=Y.length,f=e,g=k.clipRect;for(kb(a,k);f--;)if(a=Y[f],a.isDirty&&a.options.stacking){c=!0;break}if(c)for(f=e;f--;)if(a=Y[f],a.options.stacking)a.isDirty=!0;l(Y,function(a){a.isDirty&&(a.cleanData(),a.getSegments(),a.options.legendType==="point"&&(b=!0))});if(b&&Cb.renderLegend)Cb.renderLegend(),
49
+ k.isDirtyLegend=!1;pb&&(Qb||(Va=null,l(da,function(a){a.setScale()})),h(),Db(),l(da,function(a){if(a.isDirty||d)a.redraw(),d=!0}));d&&(fc(),Pb(),g&&(Eb(g),g.animate({width:k.plotSizeX,height:k.plotSizeY})));l(Y,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});$a&&$a.resetTracker&&$a.resetTracker();ga(k,"redraw")}function j(){var b=a.xAxis||{},d=a.yAxis||{},e,b=tb(b);l(b,function(a,b){a.index=b;a.isX=!0});d=tb(d);l(d,function(a,b){a.index=b});da=b.concat(d);k.xAxis=[];k.yAxis=
50
+ [];da=qb(da,function(a){e=new c(a);k[e.isXAxis?"xAxis":"yAxis"].push(e);return e});h()}function m(b,c){ba=Q(a.title,b);ia=Q(a.subtitle,c);l([["title",b,ba],["subtitle",c,ia]],function(a){var b=a[0],c=k[b],d=a[1],a=a[2];c&&d&&(c=c.destroy());a&&a.text&&!c&&(k[b]=I.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:1}).css(a.style).add().align(a,!1,ea))})}function w(){R=o.renderTo;Fa=rb+gc++;Ya(R)&&(R=G.getElementById(R));R.innerHTML="";R.offsetWidth||(U=R.cloneNode(0),C(U,
51
+ {position:fb,top:"-9999px",display:""}),G.body.appendChild(U));qa=(U||R).offsetWidth;fa=(U||R).offsetHeight;k.chartWidth=wa=o.width||qa||600;k.chartHeight=Aa=o.height||(fa>19?fa:400);k.container=H=W(Za,{className:"highcharts-container"+(o.className?" "+o.className:""),id:Fa},E({position:wc,overflow:Ja,width:wa+oa,height:Aa+oa,textAlign:"left"},o.style),U||R);k.renderer=I=o.forExport?new Rb(H,wa,Aa,!0):new Sb(H,wa,Aa);var a,b;xc&&H.getBoundingClientRect&&(a=function(){C(H,{left:0,top:0});b=H.getBoundingClientRect();
52
+ C(H,{left:-(b.left-K(b.left))+oa,top:-(b.top-K(b.top))+oa})},a(),ha(ka,"resize",a),ha(k,"destroy",function(){Na(ka,"resize",a)}))}function N(){function a(){var c=o.width||R.offsetWidth,d=o.height||R.offsetHeight;if(c&&d){if(c!==qa||d!==fa)clearTimeout(b),b=setTimeout(function(){hc(c,d,!1)},100);qa=c;fa=d}}var b;ha(ka,"resize",a);ha(k,"destroy",function(){Na(ka,"resize",a)})}function x(){ga(k,"endResize",null,function(){Qb-=1})}function t(){var b=a.labels,c=a.credits,e;m();Cb=k.legend=new Vb;Db();
53
+ l(da,function(a){a.setTickPositions(!0)});h();Db();fc();pb&&l(da,function(a){a.render()});if(!k.seriesGroup)k.seriesGroup=I.g("series-group").attr({zIndex:3}).add();l(Y,function(a){a.translate();a.setTooltipPoints();a.render()});b.items&&l(b.items,function(){var a=E(b.style,this.style),c=K(a.left)+B,d=K(a.top)+D+12;delete a.left;delete a.top;I.text(this.html,c,d).attr({zIndex:2}).css(a).add()});if(!k.toolbar)k.toolbar=d();if(c.enabled&&!k.credits)e=c.href,k.credits=I.text(c.text,0,0).on("click",function(){if(e)location.href=
54
+ e}).attr({align:c.position.align,zIndex:8}).css(c.style).add().align(c.position);Pb();k.hasRendered=!0;U&&(R.appendChild(H),Lb(U))}function r(){var a,b=H&&H.parentNode;if(k!==null){ga(k,"destroy");Na(ka,"unload",r);Na(k);for(a=da.length;a--;)da[a]=da[a].destroy();for(a=Y.length;a--;)Y[a]=Y[a].destroy();l("title,subtitle,seriesGroup,clipRect,credits,tracker".split(","),function(a){var b=k[a];b&&(k[a]=b.destroy())});l([sb,Cb,eb,I,$a],function(a){a&&a.destroy&&a.destroy()});sb=Cb=eb=I=$a=null;if(H)H.innerHTML=
55
+ "",Na(H),b&&b.removeChild(H),H=null;clearInterval(yb);for(a in k)delete k[a];k=null}}function $(){!Fb&&ka==ka.top&&G.readyState!=="complete"?G.attachEvent("onreadystatechange",function(){G.detachEvent("onreadystatechange",$);G.readyState==="complete"&&$()}):(w(),ic(),jc(),l(a.series||[],function(a){g(a)}),k.inverted=M=n(M,a.chart.inverted),j(),k.render=t,k.tracker=$a=new f(a.tooltip),t(),ga(k,"load"),b&&b.apply(k,[k]),l(k.callbacks,function(a){a.apply(k,[k])}))}Nb=Q(Nb,sa.xAxis);ac=Q(ac,sa.yAxis);
56
+ sa.xAxis=sa.yAxis=null;var a=Q(sa,a),o=a.chart,A=o.margin,A=Ga(A)?A:[A,A,A,A],p=n(o.marginTop,A[0]),u=n(o.marginRight,A[1]),Ea=n(o.marginBottom,A[2]),y=n(o.marginLeft,A[3]),Qa=o.spacingTop,Wa=o.spacingRight,gb=o.spacingBottom,S=o.spacingLeft,ea,ba,ia,D,ca,Ma,B,ma,R,U,H,Fa,qa,fa,wa,Aa,Sa,Ta,sb,Ba,Xa,za,k=this,lb=(A=o.events)&&!!A.click,cb,db,eb,ec,hb,wb,kc,O,T,$a,Bb,Pb,Cb,ab,bb,Da,pb=o.showAxes,Qb=0,da=[],Va,Y=[],M,I,bc,yb,cc,fc,Db,ic,jc,hc,dc,Gb,Vb=function(){function a(b,c){var d=b.legendItem,e=
57
+ b.legendLine,g=b.legendSymbol,h=p.color,i=c?f.itemStyle.color:h,j=c?b.color:h,h=c?b.pointAttr[pa]:{stroke:h,fill:h};d&&d.css({fill:i});e&&e.attr({stroke:j});g&&g.attr(h)}function b(a,c,d){var e=a.legendItem,f=a.legendLine,g=a.legendSymbol,a=a.checkbox;e&&e.attr({x:c,y:d});f&&f.translate(c,d-4);g&&g.attr({x:c+g.xOff,y:d+g.yOff});if(a)a.x=c,a.y=d}function c(){l(j,function(a){var b=a.checkbox,c=$.alignAttr;b&&C(b,{left:c.translateX+a.legendItemWidth+b.x-40+oa,top:c.translateY+b.y-11+oa})})}function d(c){var e,
58
+ j,m,k,l=c.legendItem;k=c.series||c;var o=k.options,t=o&&o.borderWidth||0;if(!l){k=/^(bar|pie|area|column)$/.test(k.type);c.legendItem=l=I.text(f.labelFormatter.call(c),0,0).css(c.visible?w:p).on("mouseover",function(){c.setState(xa);l.css(u)}).on("mouseout",function(){l.css(c.visible?w:p);c.setState()}).on("click",function(){var a=function(){c.setVisible()};c.firePointEvent?c.firePointEvent("legendItemClick",null,a):ga(c,"legendItemClick",null,a)}).attr({zIndex:2}).add($);if(!k&&o&&o.lineWidth){var x=
59
+ {"stroke-width":o.lineWidth,zIndex:2};if(o.dashStyle)x.dashstyle=o.dashStyle;c.legendLine=I.path([va,-h-i,0,aa,-i,0]).attr(x).add($)}k?e=I.rect(j=-h-i,m=-11,h,12,2).attr({zIndex:3}).add($):o&&o.marker&&o.marker.enabled&&(e=I.symbol(c.symbol,j=-h/2-i,m=-4,o.marker.radius).attr({zIndex:3}).add($));if(e)e.xOff=j+t%2/2,e.yOff=m+t%2/2;c.legendSymbol=e;a(c,c.visible);if(o&&o.showCheckbox)c.checkbox=W("input",{type:"checkbox",checked:c.selected,defaultChecked:c.selected},f.itemCheckboxStyle,H),ha(c.checkbox,
60
+ "click",function(a){ga(c,"checkboxClick",{checked:a.target.checked},function(){c.select()})})}e=l.getBBox();j=c.legendItemWidth=f.itemWidth||h+i+e.width+r;N=e.height;if(g&&s-n+j>(B||wa-2*r-n))s=n,A+=N;q=A;b(c,s,A);g?s+=j:A+=N;z=B||Z(g?s-n:j,z)}function e(){s=n;A=o;q=z=0;$||($=I.g("legend").attr({zIndex:7}).add());j=[];l(y,function(a){var b=a.options;b.showInLegend&&(j=j.concat(b.legendType==="point"?a.data:a))});pc(j,function(a,b){return(a.options.legendIndex||0)-(b.options.legendIndex||0)});D&&j.reverse();
61
+ l(j,d);ab=B||z;bb=q-o+N;if(x||Ea){ab+=2*r;bb+=2*r;if(t){if(ab>0&&bb>0)t[t.isNew?"attr":"animate"](t.crisp(null,null,null,ab,bb)),t.isNew=!1}else t=I.rect(0,0,ab,bb,f.borderRadius,x||0).attr({stroke:f.borderColor,"stroke-width":x||0,fill:Ea||X}).add($).shadow(f.shadow),t.isNew=!0;t[j.length?"show":"hide"]()}for(var a=["left","right","top","bottom"],b,g=4;g--;)b=a[g],m[b]&&m[b]!=="auto"&&(f[g<2?"align":"verticalAlign"]=b,f[g<2?"x":"y"]=K(m[b])*(g%2?-1:1));j.length&&$.align(E(f,{width:ab,height:bb}),
62
+ !0,ea);Qb||c()}var f=k.options.legend;if(f.enabled){var g=f.layout==="horizontal",h=f.symbolWidth,i=f.symbolPadding,j,m=f.style,w=f.itemStyle,u=f.itemHoverStyle,p=f.itemHiddenStyle,r=K(m.padding),o=18,n=4+r+h+i,s,A,q,N=0,t,x=f.borderWidth,Ea=f.backgroundColor,$,z,B=f.width,y=k.series,D=f.reversed;e();ha(k,"endResize",c);return{colorizeItem:a,destroyItem:function(a){var b=a.checkbox;l(["legendItem","legendLine","legendSymbol"],function(b){a[b]&&a[b].destroy()});b&&Lb(a.checkbox)},renderLegend:e,destroy:function(){t&&
63
+ (t=t.destroy());$&&($=$.destroy())}}}};db=function(a,b){return a>=0&&a<=T&&b>=0&&b<=O};Gb=function(){ga(k,"selection",{resetSelection:!0},dc);k.toolbar.remove("zoom")};dc=function(a){var b=sa.lang,c=k.pointCount<100;k.toolbar.add("zoom",b.resetZoom,b.resetZoomTitle,Gb);!a||a.resetSelection?l(da,function(a){a.setExtremes(null,null,!1,c)}):l(a.xAxis.concat(a.yAxis),function(a){var b=a.axis;k.tracker[b.isXAxis?"zoomX":"zoomY"]&&b.setExtremes(a.min,a.max,!1,c)});i()};Db=function(){var b=a.legend,c=n(b.margin,
64
+ 10),d=b.x,e=b.y,f=b.align,g=b.verticalAlign,h;ic();if((k.title||k.subtitle)&&!q(p))(h=Z(k.title&&!ba.floating&&!ba.verticalAlign&&ba.y||0,k.subtitle&&!ia.floating&&!ia.verticalAlign&&ia.y||0))&&(D=Z(D,h+n(ba.margin,15)+Qa));b.enabled&&!b.floating&&(f==="right"?q(u)||(ca=Z(ca,ab-d+c+Wa)):f==="left"?q(y)||(B=Z(B,ab+d+c+S)):g==="top"?q(p)||(D=Z(D,bb+e+c+Qa)):g==="bottom"&&(q(Ea)||(Ma=Z(Ma,bb-e+c+gb))));pb&&l(da,function(a){a.getOffset()});q(y)||(B+=ma[3]);q(p)||(D+=ma[0]);q(Ea)||(Ma+=ma[2]);q(u)||(ca+=
65
+ ma[1]);jc()};hc=function(a,b,c){var d=k.title,e=k.subtitle;Qb+=1;kb(c,k);Ta=Aa;Sa=wa;k.chartWidth=wa=z(a);k.chartHeight=Aa=z(b);C(H,{width:wa+oa,height:Aa+oa});I.setSize(wa,Aa,c);T=wa-B-ca;O=Aa-D-Ma;Va=null;l(da,function(a){a.isDirty=!0;a.setScale()});l(Y,function(a){a.isDirty=!0});k.isDirtyLegend=!0;k.isDirtyBox=!0;Db();d&&d.align(null,null,ea);e&&e.align(null,null,ea);i(c);Ta=null;ga(k,"resize");vb===!1?x():setTimeout(x,vb&&vb.duration||500)};jc=function(){k.plotLeft=B=z(B);k.plotTop=D=z(D);k.plotWidth=
66
+ T=z(wa-B-ca);k.plotHeight=O=z(Aa-D-Ma);k.plotSizeX=M?O:T;k.plotSizeY=M?T:O;ea={x:S,y:Qa,width:wa-S-Wa,height:Aa-Qa-gb}};ic=function(){D=n(p,Qa);ca=n(u,Wa);Ma=n(Ea,gb);B=n(y,S);ma=[0,0,0,0]};fc=function(){var a=o.borderWidth||0,b=o.backgroundColor,c=o.plotBackgroundColor,d=o.plotBackgroundImage,e,f={x:B,y:D,width:T,height:O};e=a+(o.shadow?8:0);if(a||b)sb?sb.animate(sb.crisp(null,null,null,wa-e,Aa-e)):sb=I.rect(e/2,e/2,wa-e,Aa-e,o.borderRadius,a).attr({stroke:o.borderColor,"stroke-width":a,fill:b||
67
+ X}).add().shadow(o.shadow);c&&(Ba?Ba.animate(f):Ba=I.rect(B,D,T,O,0).attr({fill:c}).add().shadow(o.plotShadow));d&&(Xa?Xa.animate(f):Xa=I.image(d,B,D,T,O).add());o.plotBorderWidth&&(za?za.animate(za.crisp(null,B,D,T,O)):za=I.rect(B,D,T,O,0,o.plotBorderWidth).attr({stroke:o.plotBorderColor,"stroke-width":o.plotBorderWidth,zIndex:4}).add());k.isDirtyBox=!1};ha(ka,"unload",r);o.reflow!==!1&&ha(k,"load",N);if(A)for(cb in A)ha(k,cb,A[cb]);k.options=a;k.series=Y;k.addSeries=function(a,b,c){var d;a&&(kb(c,
68
+ k),b=n(b,!0),ga(k,"addSeries",{options:a},function(){d=g(a);d.isDirty=!0;k.isDirtyLegend=!0;b&&k.redraw()}));return d};k.animation=n(o.animation,!0);k.destroy=r;k.get=function(a){var b,c,d;for(b=0;b<da.length;b++)if(da[b].options.id===a)return da[b];for(b=0;b<Y.length;b++)if(Y[b].options.id===a)return Y[b];for(b=0;b<Y.length;b++){d=Y[b].data;for(c=0;c<d.length;c++)if(d[c].id===a)return d[c]}return null};k.getSelectedPoints=function(){var a=[];l(Y,function(b){a=a.concat(lc(b.data,function(a){return a.selected}))});
69
+ return a};k.getSelectedSeries=function(){return lc(Y,function(a){return a.selected})};k.hideLoading=function(){Ub(hb,{opacity:0},{duration:a.loading.hideDuration,complete:function(){C(hb,{display:X})}});kc=!1};k.isInsidePlot=db;k.redraw=i;k.setSize=hc;k.setTitle=m;k.showLoading=function(b){var c=a.loading;hb||(hb=W(Za,{className:"highcharts-loading"},E(c.style,{left:B+oa,top:D+oa,width:T+oa,height:O+oa,zIndex:10,display:X}),H),wb=W("span",null,c.labelStyle,hb));wb.innerHTML=b||a.lang.loading;kc||
70
+ (C(hb,{opacity:0,display:""}),Ub(hb,{opacity:c.style.opacity},{duration:c.showDuration}),kc=!0)};k.pointCount=0;k.counters=new oc;$()}var G=document,ka=window,V=Math,z=V.round,Ia=V.floor,$b=V.ceil,Z=V.max,Ka=V.min,ya=V.abs,S=V.cos,ma=V.sin,qa=V.PI,Gb=qa*2/360,Sa=navigator.userAgent,Hb=/msie/i.test(Sa)&&!ka.opera,Ta=G.documentMode===8,vc=/AppleWebKit/.test(Sa),xc=/Firefox/.test(Sa),Fb=!!G.createElementNS&&!!G.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,Dc=xc&&parseInt(Sa.split("Firefox/")[1],
71
+ 10)<4,Sb,Oa=G.documentElement.ontouchstart!==void 0,Vb={},gc=0,La=1,za,sa,Ob,vb,Ba,ra,Za="div",fb="absolute",wc="relative",Ja="hidden",rb="highcharts-",Pa="visible",oa="px",X="none",va="M",aa="L",yc="rgba(192,192,192,"+(Fb?1.0E-6:0.0020)+")",pa="",xa="hover",Ib,Wb,Xb,Yb,xb,Jb,Kb,qc,rc,Zb,sc,tc,y=ka.HighchartsAdapter,U=y||{},l=U.each,lc=U.grep,qb=U.map,Q=U.merge,ha=U.addEvent,Na=U.removeEvent,ga=U.fireEvent,Ub=U.animate,Eb=U.stop,la={};Ob=function(a,b,c){function d(a){return a.toString().replace(/^([0-9])$/,
72
+ "0$1")}if(!q(b)||isNaN(b))return"Invalid date";var a=n(a,"%Y-%m-%d %H:%M:%S"),b=new Date(b*La),e,f=b[Xb](),g=b[Yb](),h=b[xb](),i=b[Jb](),j=b[Kb](),m=sa.lang,l=m.weekdays,b={a:l[g].substr(0,3),A:l[g],d:d(h),e:h,b:m.shortMonths[i],B:m.months[i],m:d(i+1),y:j.toString().substr(2,2),Y:j,H:d(f),I:d(f%12||12),l:f%12||12,M:d(b[Wb]()),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:d(b.getSeconds())};for(e in b)a=a.replace("%"+e,b[e]);return c?a.substr(0,1).toUpperCase()+a.substr(1):a};oc.prototype={wrapColor:function(a){if(this.color>=
73
+ a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};Ba={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]===va&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d)c=[].concat(c).splice(0,f).concat(c),a.shift=!1;if(b.length)for(a=c.length;b.length<a;)d=[].concat(b).splice(b.length-f,f),e&&(d[f-6]=d[f-2],d[f-
74
+ 5]=d[f-1]),b=b.concat(d);h&&(b=b.concat(h),c=c.concat(i));return[b,c]},step:function(a,b,c,d){var e=[],f=a.length;if(c===1)e=d;else if(f===b.length&&c<1)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}};y&&y.init&&y.init(Ba);if(!y&&ka.jQuery){var ea=jQuery,l=function(a,b){for(var c=0,d=a.length;c<d;c++)if(b.call(a[c],a[c],c,a)===!1)return c},lc=ea.grep,qb=function(a,b){for(var c=[],d=0,e=a.length;d<e;d++)c[d]=b.call(a[d],a[d],d,a);return c},Q=function(){var a=
75
+ arguments;return ea.extend(!0,null,a[0],a[1],a[2],a[3])},ha=function(a,b,c){ea(a).bind(b,c)},Na=function(a,b,c){var d=G.removeEventListener?"removeEventListener":"detachEvent";G[d]&&!a[d]&&(a[d]=function(){});ea(a).unbind(b,c)},ga=function(a,b,c,d){var e=ea.Event(b),f="detached"+b;E(e,c);a[b]&&(a[f]=a[b],a[b]=null);ea(a).trigger(e);a[f]&&(a[b]=a[f],a[f]=null);d&&!e.isDefaultPrevented()&&d(e)},Ub=function(a,b,c){var d=ea(a);if(b.d)a.toD=b.d,b.d=1;d.stop();d.animate(b,c)},Eb=function(a){ea(a).stop()};
76
+ ea.extend(ea.easing,{easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}});var Ec=jQuery.fx.step._default,Fc=jQuery.fx.prototype.cur;ea.fx.step._default=function(a){var b=a.elem;b.attr?b.attr(a.prop,a.now):Ec.apply(this,arguments)};ea.fx.step.d=function(a){var b=a.elem;if(!a.started){var c=Ba.init(b,b.d,b.toD);a.start=c[0];a.end=c[1];a.started=!0}b.attr("d",Ba.step(a.start,a.end,a.pos,b.toD))};ea.fx.prototype.cur=function(){var a=this.elem;return a.attr?a.attr(this.prop):Fc.apply(this,arguments)}}y=
77
+ {enabled:!0,align:"center",x:0,y:15,style:{color:"#666",fontSize:"11px",lineHeight:"14px"}};sa={colors:"#4572A7,#AA4643,#89A54E,#80699B,#3D96AE,#DB843D,#92A8CD,#A47D7C,#B5CA92".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,June,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),
78
+ decimalPoint:".",resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0"},title:{text:"Chart title",align:"center",y:15,style:{color:"#3E576F",
79
+ fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},lineWidth:2,shadow:!0,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:Q(y,{enabled:!1,y:-6,formatter:function(){return this.y}}),showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},
80
+ labels:{style:{position:fb,color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,shadow:!1,style:{padding:"5px"},itemStyle:{cursor:"pointer",color:"#3E576F"},itemHoverStyle:{cursor:"pointer",color:"#000000"},itemHiddenStyle:{color:"#C0C0C0"},itemCheckboxStyle:{position:fb,width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0},loading:{hideDuration:100,
81
+ labelStyle:{fontWeight:"bold",position:wc,top:"1em"},showDuration:100,style:{position:fb,backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:2,borderRadius:5,shadow:!0,snap:Oa?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},toolbar:{itemStyle:{color:"#4572A7",cursor:"pointer"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",
82
+ y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var Nb={dateTimeLabelFormats:{second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:y,lineColor:"#C0D0E0",lineWidth:1,max:null,min:null,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,
83
+ tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},ac=Q(Nb,{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:y.style}}),Cc={labels:{align:"right",x:-8,y:null},
84
+ title:{rotation:270}},Bc={labels:{align:"left",x:8,y:null},title:{rotation:90}},uc={labels:{align:"center",x:0,y:14},title:{rotation:0}},Ac=Q(uc,{labels:{y:-5}}),ia=sa.plotOptions,y=ia.line;ia.spline=Q(y);ia.scatter=Q(y,{lineWidth:0,states:{hover:{lineWidth:0}}});ia.area=Q(y,{});ia.areaspline=Q(ia.area);ia.column=Q(y,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",
85
+ shadow:!1}},dataLabels:{y:null,verticalAlign:null}});ia.bar=Q(ia.column,{dataLabels:{align:"left",x:5,y:0}});ia.pie=Q(y,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}}});wb();var Fa=function(a){var b=[],c;(function(a){(c=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?
86
+ b=[K(c[1]),K(c[2]),K(c[3]),parseFloat(c[4],10)]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(b=[K(c[1],16),K(c[2],16),K(c[3],16),1])})(a);return{get:function(c){return b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a},brighten:function(a){if(fa(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=K(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},setOpacity:function(a){b[3]=a;return this}}};lb.prototype={init:function(a,b){this.element=
87
+ G.createElementNS("http://www.w3.org/2000/svg",b);this.renderer=a},animate:function(a,b,c){if(b=n(b,vb,!0)){b=Q(b);if(c)b.complete=c;Ub(this,a,b)}else this.attr(a),c&&c()},attr:function(a,b){var c,d,e,f,g=this.element,h=g.nodeName,i=this.renderer,j,m=this.shadows,l=this.htmlNode,n,x=this;Ya(a)&&q(b)&&(c=a,a={},a[c]=b);if(Ya(a))c=a,h==="circle"?c={x:"cx",y:"cy"}[c]||c:c==="strokeWidth"&&(c="stroke-width"),x=F(g,c)||this[c]||0,c!=="d"&&c!=="visibility"&&(x=parseFloat(x));else for(c in a){j=!1;d=a[c];
88
+ if(c==="d")d&&d.join&&(d=d.join(" ")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0"),this.d=d;else if(c==="x"&&h==="text"){for(e=0;e<g.childNodes.length;e++)f=g.childNodes[e],F(f,"x")===F(g,"x")&&F(f,"x",d);this.rotation&&F(g,"transform","rotate("+this.rotation+" "+d+" "+K(a.y||F(g,"y"))+")")}else if(c==="fill")d=i.color(d,g,c);else if(h==="circle"&&(c==="x"||c==="y"))c={x:"cx",y:"cy"}[c]||c;else if(c==="translateX"||c==="translateY"||c==="rotation"||c==="verticalAlign")this[c]=d,this.updateTransform(),j=!0;
89
+ else if(c==="stroke")d=i.color(d,g,c);else if(c==="dashstyle")if(c="stroke-dasharray",d=d&&d.toLowerCase(),d==="solid")d=X;else{if(d){d=d.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=d.length;e--;)d[e]=K(d[e])*a["stroke-width"];d=d.join(",")}}else c==="isTracker"?this[c]=d:c==="width"?d=K(d):c==="align"?(c=
90
+ "text-anchor",d={left:"start",center:"middle",right:"end"}[d]):c==="title"&&(e=G.createElementNS("http://www.w3.org/2000/svg","title"),e.appendChild(G.createTextNode(d)),g.appendChild(e));c==="strokeWidth"&&(c="stroke-width");vc&&c==="stroke-width"&&d===0&&(d=1.0E-6);this.symbolName&&/^(x|y|r|start|end|innerR)/.test(c)&&(n||(this.symbolAttr(a),n=!0),j=!0);if(m&&/^(width|height|visibility|x|y|d)$/.test(c))for(e=m.length;e--;)F(m[e],c,d);if((c==="width"||c==="height")&&h==="rect"&&d<0)d=0;c==="text"?
91
+ (this.textStr=d,this.added&&i.buildText(this)):j||F(g,c,d);if(l&&(c==="x"||c==="y"||c==="translateX"||c==="translateY"||c==="visibility")){e=l.length?l:[this];f=e.length;var t;for(t=0;t<f;t++)l=e[t],j=l.getBBox(),l=l.htmlNode,C(l,E(this.styles,{left:j.x+(this.translateX||0)+oa,top:j.y+(this.translateY||0)+oa})),c==="visibility"&&C(l,{visibility:d})}}return x},symbolAttr:function(a){var b=this;l("x,y,r,start,end,width,height,innerR".split(","),function(c){b[c]=n(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](z(b.x*
92
+ 2)/2,z(b.y*2)/2,b.r,{start:b.start,end:b.end,width:b.width,height:b.height,innerR:b.innerR})})},clip:function(a){return this.attr("clip-path","url("+this.renderer.url+"#"+a.id+")")},crisp:function(a,b,c,d,e){var f,g={},h={},i,a=a||this.strokeWidth||0;i=a%2/2;h.x=Ia(b||this.x||0)+i;h.y=Ia(c||this.y||0)+i;h.width=Ia((d||this.width||0)-2*i);h.height=Ia((e||this.height||0)-2*i);h.strokeWidth=a;for(f in h)this[f]!==h[f]&&(this[f]=g[f]=h[f]);return g},css:function(a){var b=this.element,b=a&&a.width&&b.nodeName===
93
+ "text",c,d="",e=function(a,b){return"-"+b.toLowerCase()};if(a&&a.color)a.fill=a.color;this.styles=a=E(this.styles,a);if(Hb&&!Fb)b&&delete a.width,C(this.element,a);else{for(c in a)d+=c.replace(/([A-Z])/g,e)+":"+a[c]+";";this.attr({style:d})}b&&this.added&&this.renderer.buildText(this);return this},on:function(a,b){var c=b;Oa&&a==="click"&&(a="touchstart",c=function(a){a.preventDefault();b()});this.element["on"+a]=c;return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},
94
+ invert:function(){this.inverted=!0;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.inverted,d=this.rotation,e=[];c&&(a+=this.attr("width"),b+=this.attr("height"));(a||b)&&e.push("translate("+a+","+b+")");c?e.push("rotate(90) scale(-1,1)"):d&&e.push("rotate("+d+" "+this.x+" "+this.y+")");e.length&&F(this.element,"transform",e.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,
95
+ b,c){a?(this.alignOptions=a,this.alignByTranslate=b,c||this.renderer.alignedObjects.push(this)):(a=this.alignOptions,b=this.alignByTranslate);var c=n(c,this.renderer),d=a.align,e=a.verticalAlign,f=(c.x||0)+(a.x||0),g=(c.y||0)+(a.y||0),h={};/^(right|center)$/.test(d)&&(f+=(c.width-(a.width||0))/{right:1,center:2}[d]);h[b?"translateX":"x"]=z(f);/^(bottom|middle)$/.test(e)&&(g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1));h[b?"translateY":"y"]=z(g);this[this.placed?"animate":"attr"](h);this.placed=
96
+ !0;this.alignAttr=h;return this},getBBox:function(){var a,b,c,d=this.rotation,e=d*Gb;try{a=E({},this.element.getBBox())}catch(f){a={width:0,height:0}}b=a.width;c=a.height;if(d)a.width=ya(c*ma(e))+ya(b*S(e)),a.height=ya(c*S(e))+ya(b*ma(e));return a},show:function(){return this.attr({visibility:Pa})},hide:function(){return this.attr({visibility:Ja})},add:function(a){var b=this.renderer,c=a||b,d=c.element||b.box,e=d.childNodes,f=this.element,g=F(f,"zIndex");this.parentInverted=a&&a.inverted;this.textStr!==
97
+ void 0&&b.buildText(this);if(a&&this.htmlNode){if(!a.htmlNode)a.htmlNode=[];a.htmlNode.push(this)}if(g)c.handleZ=!0,g=K(g);if(c.handleZ)for(c=0;c<e.length;c++)if(a=e[c],b=F(a,"zIndex"),a!==f&&(K(b)>g||!q(g)&&q(b)))return d.insertBefore(f,a),this;d.appendChild(f);this.added=!0;return this},destroy:function(){var a=this.element||{},b=this.shadows,c=a.parentNode,d,e;a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=null;Eb(this);if(this.clipPath)this.clipPath=this.clipPath.destroy();if(this.stops){for(e=
98
+ 0;e<this.stops.length;e++)this.stops[e]=this.stops[e].destroy();this.stops=null}c&&c.removeChild(a);b&&l(b,function(a){(c=a.parentNode)&&c.removeChild(a)});jb(this.renderer.alignedObjects,this);for(d in this)delete this[d];return null},empty:function(){for(var a=this.element,b=a.childNodes,c=b.length;c--;)a.removeChild(b[c])},shadow:function(a,b){var c=[],d,e,f=this.element,g=this.parentInverted?"(-1,-1)":"(1,1)";if(a){for(d=1;d<=3;d++)e=f.cloneNode(0),F(e,{isShadow:"true",stroke:"rgb(0, 0, 0)","stroke-opacity":0.05*
99
+ d,"stroke-width":7-2*d,transform:"translate"+g,fill:X}),b?b.element.appendChild(e):f.parentNode.insertBefore(e,f),c.push(e);this.shadows=c}return this}};var Rb=function(){this.init.apply(this,arguments)};Rb.prototype={Element:lb,init:function(a,b,c,d){var e=location,f;f=this.createElement("svg").attr({xmlns:"http://www.w3.org/2000/svg",version:"1.1"});a.appendChild(f.element);this.box=f.element;this.boxWrapper=f;this.alignedObjects=[];this.url=Hb?"":e.href.replace(/#.*?$/,"");this.defs=this.createElement("defs").add();
100
+ this.forExport=d;this.gradients=[];this.setSize(b,c,!1)},destroy:function(){var a,b=this.gradients,c=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();if(b){for(a=0;a<b.length;a++)this.gradients[a]=b[a].destroy();this.gradients=null}if(c)this.defs=c.destroy();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},buildText:function(a){for(var b=a.element,c=n(a.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,
101
+ '<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),d=b.childNodes,e=/style="([^"]+)"/,f=/href="([^"]+)"/,g=F(b,"x"),h=a.styles,i=h&&a.useHTML&&!this.forExport,j=a.htmlNode,m=h&&K(h.width),w=h&&h.lineHeight,q,x=d.length;x--;)b.removeChild(d[x]);m&&!a.added&&this.box.appendChild(b);l(c,function(c,d){var h,i=0,j,c=c.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");h=c.split("|||");l(h,function(c){if(c!==""||h.length===
102
+ 1){var l={},n=G.createElementNS("http://www.w3.org/2000/svg","tspan");e.test(c)&&F(n,"style",c.match(e)[1].replace(/(;| |^)color([ :])/,"$1fill$2"));f.test(c)&&(F(n,"onclick",'location.href="'+c.match(f)[1]+'"'),C(n,{cursor:"pointer"}));c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");n.appendChild(G.createTextNode(c));i?l.dx=3:l.x=g;if(!i){if(d){!Fb&&a.renderer.forExport&&C(n,{display:"block"});j=ka.getComputedStyle&&K(ka.getComputedStyle(q,null).getPropertyValue("line-height"));
103
+ if(!j||isNaN(j))j=w||q.offsetHeight||18;F(n,"dy",j)}q=n}F(n,l);b.appendChild(n);i++;if(m)for(var c=c.replace(/-/g,"- ").split(" "),t,x=[];c.length||x.length;)t=b.getBBox().width,l=t>m,!l||c.length===1?(c=x,x=[],c.length&&(n=G.createElementNS("http://www.w3.org/2000/svg","tspan"),F(n,{dy:w||16,x:g}),b.appendChild(n),t>m&&(m=t))):(n.removeChild(n.firstChild),x.unshift(c.pop())),c.length&&n.appendChild(G.createTextNode(c.join(" ").replace(/- /g,"-")))}})});if(i){if(!j)j=a.htmlNode=W("span",null,E(h,
104
+ {position:fb,top:0,left:0}),this.box.parentNode);j.innerHTML=a.textStr;for(x=d.length;x--;)d[x].style.visibility=Ja}},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=z(a[1])+b%2/2);a[2]===a[5]&&(a[2]=a[5]=z(a[2])+b%2/2);return a},path:function(a){return this.createElement("path").attr({d:a,fill:X})},circle:function(a,b,c){a=Ga(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,b,c,d,e,f){if(Ga(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;return this.symbol("arc",a||
105
+ 0,b||0,c||0,{innerR:d||0,start:e||0,end:f||0})},rect:function(a,b,c,d,e,f){if(Ga(a))b=a.y,c=a.width,d=a.height,e=a.r,f=a.strokeWidth,a=a.x;e=this.createElement("rect").attr({rx:e,ry:e,fill:X});return e.attr(e.crisp(f,a,b,Z(c,0),Z(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[n(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return q(a)?b.attr({"class":rb+a}):b},image:function(a,
106
+ b,c,d,e){var f={preserveAspectRatio:X};arguments.length>1&&E(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e){var f,g=this.symbols[a],g=g&&g(z(b),z(c),d,e),h=/^url\((.*?)\)$/,i;if(g)f=this.path(g),E(f,{symbolName:a,x:b,y:c,r:d}),e&&E(f,e);else if(h.test(a)){var j=function(a,b){a.attr({width:b[0],height:b[1]}).translate(-z(b[0]/
107
+ 2),-z(b[1]/2))};i=a.match(h)[1];a=Vb[i];f=this.image(i).attr({x:b,y:c});a?j(f,a):(f.attr({width:0,height:0}),W("img",{onload:function(){j(f,Vb[i]=[this.width,this.height])},src:i}))}else f=this.circle(b,c,d);return f},symbols:{square:function(a,b,c){c*=0.707;return[va,a-c,b-c,aa,a+c,b-c,a+c,b+c,a-c,b+c,"Z"]},triangle:function(a,b,c){return[va,a,b-1.33*c,aa,a+c,b+0.67*c,a-c,b+0.67*c,"Z"]},"triangle-down":function(a,b,c){return[va,a,b+1.33*c,aa,a-c,b-0.67*c,a+c,b-0.67*c,"Z"]},diamond:function(a,b,c){return[va,
108
+ a,b-c,aa,a+c,b,a,b+c,a-c,b,"Z"]},arc:function(a,b,c,d){var e=d.start,f=d.end-1.0E-6,g=d.innerR,h=S(e),i=ma(e),j=S(f),f=ma(f),d=d.end-e<qa?0:1;return[va,a+c*h,b+c*i,"A",c,c,0,d,1,a+c*j,b+c*f,aa,a+g*j,b+g*f,"A",g,g,0,d,0,a+g*h,b+g*i,"Z"]}},clipRect:function(a,b,c,d){var e=rb+gc++,f=this.createElement("clipPath").attr({id:e}).add(this.defs),a=this.rect(a,b,c,d,0).add(f);a.id=e;a.clipPath=f;return a},color:function(a,b,c){var d,e=/^rgba/;if(a&&a.linearGradient){var f=this,b=a.linearGradient,c=rb+gc++,
109
+ g,h,i;g=f.createElement("linearGradient").attr({id:c,gradientUnits:"userSpaceOnUse",x1:b[0],y1:b[1],x2:b[2],y2:b[3]}).add(f.defs);f.gradients.push(g);g.stops=[];l(a.stops,function(a){e.test(a[1])?(d=Fa(a[1]),h=d.get("rgb"),i=d.get("a")):(h=a[1],i=1);a=f.createElement("stop").attr({offset:a[0],"stop-color":h,"stop-opacity":i}).add(g);g.stops.push(a)});return"url("+this.url+"#"+c+")"}else return e.test(a)?(d=Fa(a),F(b,c+"-opacity",d.get("a")),d.get("rgb")):(b.removeAttribute(c+"-opacity"),a)},text:function(a,
110
+ b,c,d){var e=sa.chart.style,b=z(n(b,0)),c=z(n(c,0)),a=this.createElement("text").attr({x:b,y:c,text:a}).css({fontFamily:e.fontFamily,fontSize:e.fontSize});a.x=b;a.y=c;a.useHTML=d;return a}};Sb=Rb;if(!Fb)U=ca(lb,{init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ",fb,";"];(b==="shape"||b===Za)&&d.push("left:0;top:0;width:10px;height:10px;");Ta&&d.push("visibility: ",b===Za?Ja:Pa);c.push(' style="',d.join(""),'"/>');if(b)c=b===Za||b==="span"||b==="img"?c.join(""):a.prepVML(c),
111
+ this.element=W(c);this.renderer=a},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);Ta&&d.gVis===Ja&&C(c,{visibility:Ja});d.appendChild(c);this.added=!0;this.alignOnAdd&&this.updateTransform();return this},attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,i=this.renderer,j=this.symbolName,m,l,n=this.shadows,x=this;Ya(a)&&q(b)&&(c=a,a={},a[c]=b);if(Ya(a))c=a,x=c==="strokeWidth"||c==="stroke-width"?this.strokeweight:
112
+ this[c];else for(c in a){d=a[c];m=!1;if(j&&/^(x|y|r|start|end|width|height|innerR)/.test(c))l||(this.symbolAttr(a),l=!0),m=!0;else if(c==="d"){d=d||[];this.d=d.join(" ");e=d.length;for(m=[];e--;)m[e]=fa(d[e])?z(d[e]*10)-5:d[e]==="Z"?"x":d[e];d=m.join(" ")||"x";f.path=d;if(n)for(e=n.length;e--;)n[e].path=d;m=!0}else if(c==="zIndex"||c==="visibility"){if(Ta&&c==="visibility"&&h==="DIV"){f.gVis=d;m=f.childNodes;for(e=m.length;e--;)C(m[e],{visibility:d});d===Pa&&(d=null)}d&&(g[c]=d);m=!0}else if(/^(width|height)$/.test(c))this[c]=
113
+ d,this.updateClipping?(this[c]=d,this.updateClipping()):g[c]=d,m=!0;else if(/^(x|y)$/.test(c))this[c]=d,f.tagName==="SPAN"?this.updateTransform():g[{x:"left",y:"top"}[c]]=d;else if(c==="class")f.className=d;else if(c==="stroke")d=i.color(d,f,c),c="strokecolor";else if(c==="stroke-width"||c==="strokeWidth")f.stroked=d?!0:!1,c="strokeweight",this[c]=d,fa(d)&&(d+=oa);else if(c==="dashstyle")(f.getElementsByTagName("stroke")[0]||W(i.prepVML(["<stroke/>"]),null,null,f))[c]=d||"solid",this.dashstyle=d,
114
+ m=!0;else if(c==="fill")h==="SPAN"?g.color=d:(f.filled=d!==X?!0:!1,d=i.color(d,f,c),c="fillcolor");else if(c==="translateX"||c==="translateY"||c==="rotation"||c==="align")c==="align"&&(c="textAlign"),this[c]=d,this.updateTransform(),m=!0;else if(c==="text")this.bBox=null,f.innerHTML=d,m=!0;if(n&&c==="visibility")for(e=n.length;e--;)n[e].style[c]=d;m||(Ta?f[c]=d:F(f,c,d))}return x},clip:function(a){var b=this,c=a.members;c.push(b);b.destroyClip=function(){jb(c,b)};return b.css(a.getCSS(b.inverted))},
115
+ css:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=E(this.styles,a);C(this.element,a);return this},destroy:function(){this.destroyClip&&this.destroyClip();return lb.prototype.destroy.apply(this)},empty:function(){for(var a=this.element.childNodes,b=a.length,c;b--;)c=a[b],c.parentNode.removeChild(c)},getBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")a.style.position=fb;b=this.bBox={x:a.offsetLeft,
116
+ y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}return b},on:function(a,b){this.element["on"+a]=function(){var a=ka.event;a.target=a.srcElement;b(a)};return this},updateTransform:function(){if(this.added){var a=this,b=a.element,c=a.translateX||0,d=a.translateY||0,e=a.x||0,f=a.y||0,g=a.textAlign||"left",h={left:0,center:0.5,right:1}[g],i=g&&g!=="left";(c||d)&&a.css({marginLeft:c,marginTop:d});a.inverted&&l(b.childNodes,function(c){a.renderer.invertChild(c,b)});if(b.tagName==="SPAN"){var j,
117
+ m,c=a.rotation,n;j=0;var d=1,N=0,x;n=K(a.textWidth);var t=a.xCorr||0,r=a.yCorr||0,$=[c,g,b.innerHTML,a.textWidth].join(",");if($!==a.cTT)q(c)&&(j=c*Gb,d=S(j),N=ma(j),C(b,{filter:c?["progid:DXImageTransform.Microsoft.Matrix(M11=",d,", M12=",-N,", M21=",N,", M22=",d,", sizingMethod='auto expand')"].join(""):X})),j=b.offsetWidth,m=b.offsetHeight,j>n&&(C(b,{width:n+oa,display:"block",whiteSpace:"normal"}),j=n),n=z((K(b.style.fontSize)||12)*1.2),t=d<0&&-j,r=N<0&&-m,x=d*N<0,t+=N*n*(x?1-h:h),r-=d*n*(c?x?
118
+ h:1-h:1),i&&(t-=j*h*(d<0?-1:1),c&&(r-=m*h*(N<0?-1:1)),C(b,{textAlign:g})),a.xCorr=t,a.yCorr=r;C(b,{left:e+t,top:f+r});a.cTT=$}}else this.alignOnAdd=!0},shadow:function(a,b){var c=[],d,e=this.element,f=this.renderer,g,h=e.style,i,j=e.path;j&&typeof j.value!=="string"&&(j="x");if(a){for(d=1;d<=3;d++)i=['<shape isShadow="true" strokeweight="',7-2*d,'" filled="false" path="',j,'" coordsize="100,100" style="',e.style.cssText,'" />'],g=W(f.prepVML(i),null,{left:K(h.left)+1,top:K(h.top)+1}),i=['<stroke color="black" opacity="',
119
+ 0.05*d,'"/>'],W(f.prepVML(i),null,null,g),b?b.element.appendChild(g):e.parentNode.insertBefore(g,e),c.push(g);this.shadows=c}return this}}),y=function(){this.init.apply(this,arguments)},y.prototype=Q(Rb.prototype,{Element:U,isIE8:Sa.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d;this.alignedObjects=[];d=this.createElement(Za);a.appendChild(d.element);this.box=d.element;this.boxWrapper=d;this.setSize(b,c,!1);if(!G.namespaces.hcv)G.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),G.createStyleSheet().cssText=
120
+ "hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "},clipRect:function(a,b,c,d){var e=this.createElement();return E(e,{members:[],left:a,top:b,width:c,height:d,getCSS:function(a){var b=this.top,c=this.left,d=c+this.width,e=b+this.height,b={clip:"rect("+z(a?c:b)+"px,"+z(a?e:d)+"px,"+z(a?d:e)+"px,"+z(a?b:c)+"px)"};!a&&Ta&&E(b,{width:d+oa,height:e+oa});return b},updateClipping:function(){l(e.members,function(a){a.css(e.getCSS(a.inverted))})}})},
121
+ color:function(a,b,c){var d,e=/^rgba/;if(a&&a.linearGradient){var f,g,h=a.linearGradient,i,j,m,n;l(a.stops,function(a,b){e.test(a[1])?(d=Fa(a[1]),f=d.get("rgb"),g=d.get("a")):(f=a[1],g=1);b?(m=f,n=g):(i=f,j=g)});a=90-V.atan((h[3]-h[1])/(h[2]-h[0]))*180/qa;a=["<",c,' colors="0% ',i,",100% ",m,'" angle="',a,'" opacity="',n,'" o:opacity2="',j,'" type="gradient" focus="100%" />'];W(this.prepVML(a),null,null,b)}else if(e.test(a)&&b.tagName!=="IMG")return d=Fa(a),a=["<",c,' opacity="',d.get("a"),'"/>'],
122
+ W(this.prepVML(a),null,null,b),d.get("rgb");else{b=b.getElementsByTagName(c);if(b.length)b[0].opacity=1;return a}},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","<hcv:");return a},text:function(a,b,c){var d=sa.chart.style;return this.createElement("span").attr({text:a,
123
+ x:z(b),y:z(c)}).css({whiteSpace:"nowrap",fontFamily:d.fontFamily,fontSize:d.fontSize})},path:function(a){return this.createElement("shape").attr({coordsize:"100 100",d:a})},circle:function(a,b,c){return this.symbol("circle").attr({x:a,y:b,r:c})},g:function(a){var b;a&&(b={className:rb+a,"class":rb+a});return this.createElement(Za).attr(b)},image:function(a,b,c,d,e){var f=this.createElement("img").attr({src:a});arguments.length>1&&f.css({left:b,top:c,width:d,height:e});return f},rect:function(a,b,
124
+ c,d,e,f){if(Ga(a))b=a.y,c=a.width,d=a.height,e=a.r,f=a.strokeWidth,a=a.x;var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,Z(c,0),Z(d,0)))},invertChild:function(a,b){var c=b.style;C(a,{flip:"x",left:K(c.width)-10,top:K(c.height)-10,rotation:-90})},symbols:{arc:function(a,b,c,d){var e=d.start,f=d.end,g=S(e),h=ma(e),i=S(f),j=ma(f),d=d.innerR,m=0.07/c,l=d&&0.1/d||0;if(f-e===0)return["x"];else 2*qa-f+e<m?i=-m:f-e<l&&(i=S(e+l));return["wa",a-c,b-c,a+c,b+c,a+c*g,b+c*h,a+c*i,b+c*j,"at",a-d,b-d,
125
+ a+d,b+d,a+d*i,b+d*j,a+d*g,b+d*h,"x","e"]},circle:function(a,b,c){return["wa",a-c,b-c,a+c,b+c,a+c,b,a+c,b,"e"]},rect:function(a,b,c,d){if(!q(d))return[];var e=d.width,d=d.height,f=a+e,g=b+d,c=Ka(c,e,d);return[va,a+c,b,aa,f-c,b,"wa",f-2*c,b,f,b+2*c,f-c,b,f,b+c,aa,f,g-c,"wa",f-2*c,g-2*c,f,g,f,g-c,f-c,g,aa,a+c,g,"wa",a,g-2*c,a+2*c,g,a+c,g,a,g-c,aa,a,b+c,"wa",a,b,a+2*c,b+2*c,a,b+c,a+c,b,"x","e"]}}}),Sb=y;yb.prototype.callbacks=[];var Xa=function(){};Xa.prototype={init:function(a,b){var c=a.chart.counters,
126
+ d;this.series=a;this.applyOptions(b);this.pointAttr={};if(a.options.colorByPoint){d=a.chart.options.colors;if(!this.options)this.options={};this.color=this.options.color=this.color||d[c.color++];c.wrapColor(d.length)}a.chart.pointCount++;return this},applyOptions:function(a){var b=this.series;this.config=a;if(fa(a)||a===null)this.y=a;else if(Ga(a)&&!fa(a.length))E(this,a),this.options=a;else if(Ya(a[0]))this.name=a[0],this.y=a[1];else if(fa(a[0]))this.x=a[0],this.y=a[1];if(this.x===ra)this.x=b.autoIncrement()},
127
+ destroy:function(){var a=this,b=a.series,c=b.chart.hoverPoints,d;b.chart.pointCount--;c&&(a.setState(),jb(c,a));if(a===b.chart.hoverPoint)a.onMouseOut();Na(a);l("graphic,tracker,group,dataLabel,connector,shadowGroup".split(","),function(b){a[b]&&a[b].destroy()});a.legendItem&&a.series.chart.legend.destroyItem(a);for(d in a)a[d]=null},getLabelConfig:function(){return{x:this.category,y:this.y,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(a,
128
+ b){var c=this,d=c.series.chart,a=n(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=a;c.setState(a&&"select");b||l(d.getSelectedPoints(),function(a){if(a.selected&&a!==c)a.selected=!1,a.setState(pa),a.firePointEvent("unselect")})})},onMouseOver:function(){var a=this.series.chart,b=a.tooltip,c=a.hoverPoint;if(c&&c!==this)c.onMouseOut();this.firePointEvent("mouseOver");b&&!b.shared&&b.refresh(this);this.setState(xa);a.hoverPoint=this},onMouseOut:function(){this.firePointEvent("mouseOut");
129
+ this.setState();this.series.chart.hoverPoint=null},tooltipFormatter:function(a){var b=this.series;return['<span style="color:'+b.color+'">',this.name||b.name,"</span>: ",!a?"<b>x = "+(this.name||this.x)+",</b> ":"","<b>",!a?"y = ":"",this.y,"</b>"].join("")},update:function(a,b,c){var d=this,e=d.series,f=d.graphic,g=e.chart,b=n(b,!0);d.firePointEvent("update",{options:a},function(){d.applyOptions(a);Ga(a)&&(e.getAttribs(),f&&f.attr(d.pointAttr[e.state]));e.isDirty=!0;b&&g.redraw(c)})},remove:function(a,
130
+ b){var c=this,d=c.series,e=d.chart,f=d.data;kb(b,e);a=n(a,!0);c.firePointEvent("remove",null,function(){jb(f,c);c.destroy();d.isDirty=!0;a&&e.redraw()})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;(e.point.events[a]||d.options&&d.options.events&&d.options.events[a])&&this.importEvents();a==="click"&&e.allowPointSelect&&(c=function(a){d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});ga(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents){var a=Q(this.series.options.point,
131
+ this.options).events,b;this.events=a;for(b in a)ha(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a){var b=this.series,c=b.options.states,d=ia[b.type].marker&&b.options.marker,e=d&&!d.enabled,f=(d=d&&d.states[a])&&d.enabled===!1,g=b.stateMarkerGraphic,h=b.chart,i=this.pointAttr,a=a||pa;if(!(a===this.state||this.selected&&a!=="select"||c[a]&&c[a].enabled===!1||a&&(f||e&&!d.enabled))){if(this.graphic)this.graphic.attr(i[a]);else{if(a){if(!g)b.stateMarkerGraphic=g=h.renderer.circle(0,0,i[a].r).attr(i[a]).add(b.group);
132
+ g.translate(this.plotX,this.plotY)}if(g)g[a?"show":"hide"]()}this.state=a}}};var ba=function(){};ba.prototype={isCartesian:!0,type:"line",pointClass:Xa,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(a,b){var c,d;d=a.series.length;this.chart=a;b=this.setOptions(b);E(this,{index:d,options:b,name:b.name||"Series "+(d+1),state:pa,pointAttr:{},visible:b.visible!==!1,selected:b.selected===!0});d=b.events;for(c in d)ha(this,c,d[c]);if(d&&d.click||
133
+ b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;this.getColor();this.getSymbol();this.setData(b.data,!1)},autoIncrement:function(){var a=this.options,b=this.xIncrement,b=n(b,a.pointStart,0);this.pointInterval=n(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},cleanData:function(){var a=this.chart,b=this.data,c,d,e=a.smallestInterval,f,g;pc(b,function(a,b){return a.x-b.x});if(this.options.connectNulls)for(g=b.length-1;g>=0;g--)b[g].y===
134
+ null&&b[g-1]&&b[g+1]&&b.splice(g,1);for(g=b.length-1;g>=0;g--)if(b[g-1]&&(f=b[g].x-b[g-1].x,f>0&&(d===ra||f<d)))d=f,c=g;if(e===ra||d<e)a.smallestInterval=d;this.closestPoints=c},getSegments:function(){var a=-1,b=[],c=this.data;l(c,function(d,e){d.y===null?(e>a+1&&b.push(c.slice(a+1,e)),a=e):e===c.length-1&&b.push(c.slice(a+1,e+1))});this.segments=b},setOptions:function(a){var b=this.chart.options.plotOptions;return Q(b[this.type],b.series,a)},getColor:function(){var a=this.chart.options.colors,b=
135
+ this.chart.counters;this.color=this.options.color||a[b.color++]||"#0000ff";b.wrapColor(a.length)},getSymbol:function(){var a=this.chart.options.symbols,b=this.chart.counters;this.symbol=this.options.marker.symbol||a[b.symbol++];b.wrapSymbol(a.length)},addPoint:function(a,b,c,d){var e=this.data,f=this.graph,g=this.area,h=this.chart,a=(new this.pointClass).init(this,a);kb(d,h);if(f&&c)f.shift=c;if(g)g.shift=c,g.isArea=!0;b=n(b,!0);e.push(a);c&&e[0].remove(!1);this.getAttribs();this.isDirty=!0;b&&h.redraw()},
136
+ setData:function(a,b){var c=this,d=c.data,e=c.initialColor,f=c.chart,g=d&&d.length||0;c.xIncrement=null;if(q(e))f.counters.color=e;for(a=qb(tb(a||[]),function(a){return(new c.pointClass).init(c,a)});g--;)d[g].destroy();c.data=a;c.cleanData();c.getSegments();c.getAttribs();c.isDirty=!0;f.isDirtyBox=!0;n(b,!0)&&f.redraw(!1)},remove:function(a,b){var c=this,d=c.chart,a=n(a,!0);if(!c.isRemoving)c.isRemoving=!0,ga(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;a&&d.redraw(b)});
137
+ c.isRemoving=!1},translate:function(){for(var a=this.chart,b=this.options.stacking,c=this.xAxis.categories,d=this.yAxis,e=this.data,f=e.length;f--;){var g=e[f],h=g.x,i=g.y,j=g.low,m=d.stacks[(i<0?"-":"")+this.stackKey];g.plotX=this.xAxis.translate(h);if(b&&this.visible&&m&&m[h])j=m[h],h=j.total,j.cum=j=j.cum-i,i=j+i,b==="percent"&&(j=h?j*100/h:0,i=h?i*100/h:0),g.percentage=h?g.y*100/h:0,g.stackTotal=h;if(q(j))g.yBottom=d.translate(j,0,1,0,1);if(i!==null)g.plotY=d.translate(i,0,1,0,1);g.clientX=a.inverted?
138
+ a.plotHeight-g.plotX:g.plotX;g.category=c&&c[g.x]!==ra?c[g.x]:g.x}},setTooltipPoints:function(a){var b=this.chart,c=b.inverted,d=[],e=z((c?b.plotTop:b.plotLeft)+b.plotSizeX),f,g,h=[];if(a)this.tooltipPoints=null;l(this.segments,function(a){d=d.concat(a)});this.xAxis&&this.xAxis.reversed&&(d=d.reverse());l(d,function(a,b){f=d[b-1]?d[b-1]._high+1:0;for(g=a._high=d[b+1]?Ia((a.plotX+(d[b+1]?d[b+1].plotX:e))/2):e;f<=g;)h[c?e-f++:f++]=a});this.tooltipPoints=h},onMouseOver:function(){var a=this.chart,b=
139
+ a.hoverSeries;if(Oa||!a.mouseIsDown){if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&ga(this,"mouseOver");this.tracker&&this.tracker.toFront();this.setState(xa);a.hoverSeries=this}},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;if(d)d.onMouseOut();this&&a.events.mouseOut&&ga(this,"mouseOut");c&&!a.stickyTracking&&c.hide();this.setState();b.hoverSeries=null},animate:function(a){var b=this.chart,c=this.clipRect,d=this.options.animation;d&&!Ga(d)&&(d={});
140
+ if(a){if(!c.isAnimating)c.attr("width",0),c.isAnimating=!0}else c.animate({width:b.plotSizeX},d),this.animate=null},drawPoints:function(){var a,b=this.data,c=this.chart,d,e,f,g,h,i;if(this.options.marker.enabled)for(f=b.length;f--;)if(g=b[f],d=g.plotX,e=g.plotY,i=g.graphic,e!==ra&&!isNaN(e))a=g.pointAttr[g.selected?"select":pa],h=a.r,i?i.animate({x:d,y:e,r:h}):g.graphic=c.renderer.symbol(n(g.marker&&g.marker.symbol,this.symbol),d,e,h).attr(a).add(this.group)},convertAttribs:function(a,b,c,d){var e=
141
+ this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=n(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=ia[a.type].marker?a.options.marker:a.options,c=b.states,d=c[xa],e,f=a.color,g={stroke:f,fill:f},h=a.data,i=[],j,m=a.pointAttrToOptions,n;a.options.marker?(d.radius=d.radius||b.radius+2,d.lineWidth=d.lineWidth||b.lineWidth+1):d.color=d.color||Fa(d.color||f).brighten(d.brightness).get();i[pa]=a.convertAttribs(b,g);l([xa,"select"],function(b){i[b]=
142
+ a.convertAttribs(c[b],i[pa])});a.pointAttr=i;for(f=h.length;f--;){g=h[f];if((b=g.options&&g.options.marker||g.options)&&b.enabled===!1)b.radius=0;e=!1;if(g.options)for(n in m)q(b[m[n]])&&(e=!0);if(e){j=[];c=b.states||{};e=c[xa]=c[xa]||{};if(!a.options.marker)e.color=Fa(e.color||g.options.color).brighten(e.brightness||d.brightness).get();j[pa]=a.convertAttribs(b,i[pa]);j[xa]=a.convertAttribs(c[xa],i[xa],j[pa]);j.select=a.convertAttribs(c.select,i.select,j[pa])}else j=i;g.pointAttr=j}},destroy:function(){var a=
143
+ this,b=a.chart,c=a.clipRect,d=/\/5[0-9\.]+ (Safari|Mobile)\//.test(Sa),e,f;ga(a,"destroy");Na(a);a.legendItem&&a.chart.legend.destroyItem(a);l(a.data,function(a){a.destroy()});if(c&&c!==b.clipRect)a.clipRect=c.destroy();l(["area","graph","dataLabelsGroup","group","tracker"],function(b){a[b]&&(e=d&&b==="group"?"hide":"destroy",a[b][e]())});if(b.hoverSeries===a)b.hoverSeries=null;jb(b.series,a);for(f in a)delete a[f]},drawDataLabels:function(){if(this.options.dataLabels.enabled){var a,b,c=this.data,
144
+ d=this.options,e=d.dataLabels,f,g=this.dataLabelsGroup,h=this.chart,i=h.renderer,j=h.inverted,m=this.type,w;w=d.stacking;var z=m==="column"||m==="bar",x=e.verticalAlign===null,t=e.y===null;z&&(w?(x&&(e=Q(e,{verticalAlign:"middle"})),t&&(e=Q(e,{y:{top:14,middle:4,bottom:-6}[e.verticalAlign]}))):x&&(e=Q(e,{verticalAlign:"top"})));g?g.translate(h.plotLeft,h.plotTop):g=this.dataLabelsGroup=i.g("data-labels").attr({visibility:this.visible?Pa:Ja,zIndex:6}).translate(h.plotLeft,h.plotTop).add();w=e.color;
145
+ w==="auto"&&(w=null);e.style.color=n(w,this.color,"black");l(c,function(c){var l=c.barX,o=l&&l+c.barW/2||c.plotX||-999,w=n(c.plotY,-999),p=c.dataLabel,u=e.align,x=t?c.y>=0?-6:12:e.y;f=e.formatter.call(c.getLabelConfig());a=(j?h.plotWidth-w:o)+e.x;b=(j?h.plotHeight-o:w)+x;m==="column"&&(a+={left:-1,right:1}[u]*c.barW/2||0);j&&c.y<0&&(u="right",a-=10);if(p)j&&!e.y&&(b=b+K(p.styles.lineHeight)*0.9-p.getBBox().height/2),p.attr({text:f}).animate({x:a,y:b});else if(q(f))p=c.dataLabel=i.text(f,a,b).attr({align:u,
146
+ rotation:e.rotation,zIndex:1}).css(e.style).add(g),j&&!e.y&&p.attr({y:b+K(p.styles.lineHeight)*0.9-p.getBBox().height/2});if(z&&d.stacking&&p)o=c.barY,w=c.barW,c=c.barH,p.align(e,null,{x:j?h.plotWidth-o-c:l,y:j?h.plotHeight-l-w:o,width:j?c:w,height:j?w:c})})}},drawGraph:function(){var a=this,b=a.options,c=a.graph,d=[],e,f=a.area,g=a.group,h=b.lineColor||a.color,i=b.lineWidth,j=b.dashStyle,m,w=a.chart.renderer,q=a.yAxis.getThreshold(b.threshold||0),x=/^area/.test(a.type),t=[],r=[];l(a.segments,function(c){m=
147
+ [];l(c,function(d,e){a.getPointSpline?m.push.apply(m,a.getPointSpline(c,d,e)):(m.push(e?aa:va),e&&b.step&&m.push(d.plotX,c[e-1].plotY),m.push(d.plotX,d.plotY))});c.length>1?d=d.concat(m):t.push(c[0]);if(x){var e=[],f,g=m.length;for(f=0;f<g;f++)e.push(m[f]);g===3&&e.push(aa,m[1],m[2]);if(b.stacking&&a.type!=="areaspline")for(f=c.length-1;f>=0;f--)e.push(c[f].plotX,c[f].yBottom);else e.push(aa,c[c.length-1].plotX,q,aa,c[0].plotX,q);r=r.concat(e)}});a.graphPath=d;a.singlePoints=t;if(x)e=n(b.fillColor,
148
+ Fa(a.color).setOpacity(b.fillOpacity||0.75).get()),f?f.animate({d:r}):a.area=a.chart.renderer.path(r).attr({fill:e}).add(g);if(c)Eb(c),c.animate({d:d});else if(i){c={stroke:h,"stroke-width":i};if(j)c.dashstyle=j;a.graph=w.path(d).attr(c).add(g).shadow(b.shadow)}},render:function(){var a=this,b=a.chart,c,d,e=a.options,f=e.animation,g=f&&a.animate,f=g?f&&f.duration||500:0,h=a.clipRect,i=b.renderer;if(!h&&(h=a.clipRect=!b.hasRendered&&b.clipRect?b.clipRect:i.clipRect(0,0,b.plotSizeX,b.plotSizeY),!b.clipRect))b.clipRect=
149
+ h;if(!a.group)c=a.group=i.g("series"),b.inverted&&(d=function(){c.attr({width:b.plotWidth,height:b.plotHeight}).invert()},d(),ha(b,"resize",d),ha(a,"destroy",function(){Na(b,"resize",d)})),c.clip(a.clipRect).attr({visibility:a.visible?Pa:Ja,zIndex:e.zIndex}).translate(b.plotLeft,b.plotTop).add(b.seriesGroup);a.drawDataLabels();g&&a.animate(!0);a.drawGraph&&a.drawGraph();a.drawPoints();a.options.enableMouseTracking!==!1&&a.drawTracker();g&&a.animate();setTimeout(function(){h.isAnimating=!1;if((c=a.group)&&
150
+ h!==b.clipRect&&h.renderer)c.clip(a.clipRect=b.clipRect),h.destroy()},f);a.isDirty=!1},redraw:function(){var a=this.chart,b=this.group;b&&(a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight}),b.animate({translateX:a.plotLeft,translateY:a.plotTop}));this.translate();this.setTooltipPoints(!0);this.render()},setState:function(a){var b=this.options,c=this.graph,d=b.states,b=b.lineWidth,a=a||pa;if(this.state!==a)this.state=a,d[a]&&d[a].enabled===!1||(a&&(b=d[a].lineWidth||b+1),c&&!c.dashstyle&&
151
+ c.attr({"stroke-width":b},a?0:500))},setVisible:function(a,b){var c=this.chart,d=this.legendItem,e=this.group,f=this.tracker,g=this.dataLabelsGroup,h,i=this.data,j=c.options.chart.ignoreHiddenSeries;h=this.visible;h=(this.visible=a=a===ra?!h:a)?"show":"hide";if(e)e[h]();if(f)f[h]();else for(e=i.length;e--;)if(f=i[e],f.tracker)f.tracker[h]();if(g)g[h]();d&&c.legend.colorizeItem(this,a);this.isDirty=!0;this.options.stacking&&l(c.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});if(j)c.isDirtyBox=
152
+ !0;b!==!1&&c.redraw();ga(this,h)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===ra?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;ga(this,a?"select":"unselect")},drawTracker:function(){var a=this,b=a.options,c=[].concat(a.graphPath),d=c.length,e=a.chart,f=e.options.tooltip.snap,g=a.tracker,h=b.cursor,h=h&&{cursor:h},i=a.singlePoints,j;if(d)for(j=d+1;j--;)c[j]===va&&c.splice(j+1,0,c[j+1]-f,c[j+2],aa),(j&&c[j]===va||j===d)&&
153
+ c.splice(j,0,aa,c[j-2]+f,c[j-1]);for(j=0;j<i.length;j++)d=i[j],c.push(va,d.plotX-f,d.plotY,aa,d.plotX+f,d.plotY);g?g.attr({d:c}):a.tracker=e.renderer.path(c).attr({isTracker:!0,stroke:yc,fill:X,"stroke-width":b.lineWidth+2*f,visibility:a.visible?Pa:Ja,zIndex:b.zIndex||1}).on(Oa?"touchstart":"mouseover",function(){if(e.hoverSeries!==a)a.onMouseOver()}).on("mouseout",function(){if(!b.stickyTracking)a.onMouseOut()}).css(h).add(e.trackerGroup)}};y=ca(ba);la.line=y;y=ca(ba,{type:"area"});la.area=y;y=ca(ba,
154
+ {type:"spline",getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY,f=a[c-1],g=a[c+1],h,i,j,m;if(c&&c<a.length-1){a=f.plotY;j=g.plotX;var g=g.plotY,l;h=(1.5*d+f.plotX)/2.5;i=(1.5*e+a)/2.5;j=(1.5*d+j)/2.5;m=(1.5*e+g)/2.5;l=(m-i)*(j-d)/(j-h)+e-m;i+=l;m+=l;i>a&&i>e?(i=Z(a,e),m=2*e-i):i<a&&i<e&&(i=Ka(a,e),m=2*e-i);m>g&&m>e?(m=Z(g,e),i=2*e-m):m<g&&m<e&&(m=Ka(g,e),i=2*e-m);b.rightContX=j;b.rightContY=m}c?(b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||d,i||e,d,e],f.rightContX=f.rightContY=null):
155
+ b=[va,d,e];return b}});la.spline=y;y=ca(y,{type:"areaspline"});la.areaspline=y;var cb=ca(ba,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},init:function(){ba.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasColumn=!0;b.hasRendered&&l(b.series,function(b){if(b.type===a.type)b.isDirty=!0})},translate:function(){var a=this,b=a.chart,c=a.options,d=c.stacking,e=c.borderWidth,f=0,g=a.xAxis.reversed,h=a.xAxis.categories,i=
156
+ {},j,m;ba.prototype.translate.apply(a);l(b.series,function(b){if(b.type===a.type&&b.visible)b.options.stacking?(j=b.stackKey,i[j]===ra&&(i[j]=f++),m=i[j]):m=f++,b.columnIndex=m});var w=a.data,z=a.closestPoints,h=ya(w[1]?w[z].plotX-w[z-1].plotX:b.plotSizeX/(h&&h.length||1)),z=h*c.groupPadding,x=(h-2*z)/f,t=c.pointWidth,r=q(t)?(x-t)/2:x*c.pointPadding,y=Z(n(t,x-2*r),1),o=r+(z+((g?f-a.columnIndex:a.columnIndex)||0)*x-h/2)*(g?-1:1),A=a.yAxis.getThreshold(c.threshold||0),p=n(c.minPointLength,5);l(w,function(f){var g=
157
+ f.plotY,h=f.yBottom||A,i=f.plotX+o,j=$b(Ka(g,h)),m=$b(Z(g,h)-j),l=a.yAxis.stacks[(f.y<0?"-":"")+a.stackKey],n;d&&a.visible&&l&&l[f.x]&&l[f.x].setOffset(o,y);ya(m)<p&&(p&&(m=p,j=ya(j-A)>p?h-p:A-(g<=A?p:0)),n=j-3);E(f,{barX:i,barY:j,barW:y,barH:m});f.shapeType="rect";g=E(b.renderer.Element.prototype.crisp.apply({},[e,i,j,y,m]),{r:c.borderRadius});e%2&&(g.y-=1,g.height+=1);f.shapeArgs=g;f.trackerArgs=q(n)&&Q(f.shapeArgs,{height:Z(6,m+3),y:n})})},getSymbol:function(){},drawGraph:function(){},drawPoints:function(){var a=
158
+ this,b=a.options,c=a.chart.renderer,d,e;l(a.data,function(f){var g=f.plotY;if(g!==ra&&!isNaN(g)&&f.y!==null)d=f.graphic,e=f.shapeArgs,d?(Eb(d),d.animate(e)):f.graphic=c[f.shapeType](e).attr(f.pointAttr[f.selected?"select":pa]).add(a.group).shadow(b.shadow)})},drawTracker:function(){var a=this,b=a.chart,c=b.renderer,d,e,f=+new Date,g=a.options,h=g.cursor,i=h&&{cursor:h},j;l(a.data,function(h){e=h.tracker;d=h.trackerArgs||h.shapeArgs;delete d.strokeWidth;if(h.y!==null)e?e.attr(d):h.tracker=c[h.shapeType](d).attr({isTracker:f,
159
+ fill:yc,visibility:a.visible?Pa:Ja,zIndex:g.zIndex||1}).on(Oa?"touchstart":"mouseover",function(c){j=c.relatedTarget||c.fromElement;if(b.hoverSeries!==a&&F(j,"isTracker")!==f)a.onMouseOver();h.onMouseOver()}).on("mouseout",function(b){if(!g.stickyTracking&&(j=b.relatedTarget||b.toElement,F(j,"isTracker")!==f))a.onMouseOut()}).css(i).add(h.group||b.trackerGroup)})},animate:function(a){var b=this,c=b.data;if(!a)l(c,function(a){var c=a.graphic,a=a.shapeArgs;c&&(c.attr({height:0,y:b.yAxis.translate(0,
160
+ 0,1)}),c.animate({height:a.height,y:a.y},b.options.animation))}),b.animate=null},remove:function(){var a=this,b=a.chart;b.hasRendered&&l(b.series,function(b){if(b.type===a.type)b.isDirty=!0});ba.prototype.remove.apply(a,arguments)}});la.column=cb;y=ca(cb,{type:"bar",init:function(a){a.inverted=this.inverted=!0;cb.prototype.init.apply(this,arguments)}});la.bar=y;y=ca(ba,{type:"scatter",translate:function(){var a=this;ba.prototype.translate.apply(a);l(a.data,function(b){b.shapeType="circle";b.shapeArgs=
161
+ {x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){var a=this,b=a.options.cursor,c=b&&{cursor:b},d;l(a.data,function(b){(d=b.graphic)&&d.attr({isTracker:!0}).on("mouseover",function(){a.onMouseOver();b.onMouseOver()}).on("mouseout",function(){if(!a.options.stickyTracking)a.onMouseOut()}).css(c)})},cleanData:function(){}});la.scatter=y;y=ca(Xa,{init:function(){Xa.prototype.init.apply(this,arguments);var a=this,b;E(a,{visible:a.visible!==!1,name:n(a.name,"Slice")});b=function(){a.slice()};
162
+ ha(a,"select",b);ha(a,"unselect",b);return a},setVisible:function(a){var b=this.series.chart,c=this.tracker,d=this.dataLabel,e=this.connector,f=this.shadowGroup,g;g=(this.visible=a=a===ra?!this.visible:a)?"show":"hide";this.group[g]();if(c)c[g]();if(d)d[g]();if(e)e[g]();if(f)f[g]();this.legendItem&&b.legend.colorizeItem(this,a)},slice:function(a,b,c){var d=this.series.chart,e=this.slicedTranslation;kb(c,d);n(b,!0);a=this.sliced=q(a)?a:!this.sliced;a={translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:
163
+ d.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}});y=ca(ba,{type:"pie",isCartesian:!1,pointClass:y,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var a=this;l(a.data,function(b){var c=b.graphic,b=b.shapeArgs,d=-qa/2;c&&(c.attr({r:0,start:d,end:d}),c.animate({r:b.r,start:b.start,end:b.end},a.options.animation))});a.animate=null},translate:function(){var a=
164
+ 0,b=-0.25,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f=c.center.concat([c.size,c.innerSize||0]),g=this.chart,h=g.plotWidth,i=g.plotHeight,j,m,n,q=this.data,x=2*qa,t,r=Ka(h,i),y,o,A,p=c.dataLabels.distance,f=qb(f,function(a,b){return(y=/%$/.test(a))?[h,i,r,r][b]*K(a)/100:a});this.getX=function(a,b){n=V.asin((a-f[1])/(f[2]/2+p));return f[0]+(b?-1:1)*S(n)*(f[2]/2+p)};this.center=f;l(q,function(b){a+=b.y});l(q,function(c){t=a?c.y/a:0;j=z(b*x*1E3)/1E3;b+=t;m=z(b*x*1E3)/1E3;c.shapeType="arc";c.shapeArgs=
165
+ {x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:j,end:m};n=(m+j)/2;c.slicedTranslation=qb([S(n)*d+g.plotLeft,ma(n)*d+g.plotTop],z);o=S(n)*f[2]/2;A=ma(n)*f[2]/2;c.tooltipPos=[f[0]+o*0.7,f[1]+A*0.7];c.labelPos=[f[0]+o+S(n)*p,f[1]+A+ma(n)*p,f[0]+o+S(n)*e,f[1]+A+ma(n)*e,f[0]+o,f[1]+A,p<0?"center":n<x/4?"left":"right",n];c.percentage=t*100;c.total=a});this.setTooltipPoints()},render:function(){this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();this.drawDataLabels();this.options.animation&&
166
+ this.animate&&this.animate();this.isDirty=!1},drawPoints:function(){var a=this.chart,b=a.renderer,c,d,e,f=this.options.shadow,g,h;l(this.data,function(i){d=i.graphic;h=i.shapeArgs;e=i.group;g=i.shadowGroup;if(f&&!g)g=i.shadowGroup=b.g("shadow").attr({zIndex:4}).add();if(!e)e=i.group=b.g("point").attr({zIndex:5}).add();c=i.sliced?i.slicedTranslation:[a.plotLeft,a.plotTop];e.translate(c[0],c[1]);g&&g.translate(c[0],c[1]);d?d.animate(h):i.graphic=b.arc(h).attr(E(i.pointAttr[pa],{"stroke-linejoin":"round"})).add(i.group).shadow(f,
167
+ g);i.visible===!1&&i.setVisible(!1)})},drawDataLabels:function(){var a=this.data,b,c=this.chart,d=this.options.dataLabels,e=n(d.connectorPadding,10),f=n(d.connectorWidth,1),g,h,i=n(d.softConnector,!0),j=d.distance,m=this.center,q=m[2]/2,m=m[1],z=j>0,x=[[],[]],t,r,y,o,A=2,p;if(d.enabled){ba.prototype.drawDataLabels.apply(this);l(a,function(a){a.dataLabel&&x[a.labelPos[7]<qa/2?0:1].push(a)});x[1].reverse();o=function(a,b){return b.y-a.y};for(a=x[0][0]&&x[0][0].dataLabel&&K(x[0][0].dataLabel.styles.lineHeight);A--;){var u=
168
+ [],G=[],E=x[A],F=E.length,C;for(p=m-q-j;p<=m+q+j;p+=a)u.push(p);y=u.length;if(F>y){h=[].concat(E);h.sort(o);for(p=F;p--;)h[p].rank=p;for(p=F;p--;)E[p].rank>=y&&E.splice(p,1);F=E.length}for(p=0;p<F;p++){b=E[p];h=b.labelPos;b=9999;for(r=0;r<y;r++)g=ya(u[r]-h[1]),g<b&&(b=g,C=r);if(C<p&&u[p]!==null)C=p;else for(y<F-p+C&&u[p]!==null&&(C=y-F+p);u[C]===null;)C++;G.push({i:C,y:u[C]});u[C]=null}G.sort(o);for(p=0;p<F;p++){b=E[p];h=b.labelPos;g=b.dataLabel;r=G.pop();t=h[1];y=b.visible===!1?Ja:Pa;C=r.i;r=r.y;
169
+ if(t>r&&u[C+1]!==null||t<r&&u[C-1]!==null)r=t;t=this.getX(C===0||C===u.length-1?t:r,A);g.attr({visibility:y,align:h[6]})[g.moved?"animate":"attr"]({x:t+d.x+({left:e,right:-e}[h[6]]||0),y:r+d.y});g.moved=!0;if(z&&f)g=b.connector,h=i?[va,t+(h[6]==="left"?5:-5),r,"C",t,r,2*h[2]-h[4],2*h[3]-h[5],h[2],h[3],aa,h[4],h[5]]:[va,t+(h[6]==="left"?5:-5),r,aa,h[2],h[3],aa,h[4],h[5]],g?(g.animate({d:h}),g.attr("visibility",y)):b.connector=g=this.chart.renderer.path(h).attr({"stroke-width":f,stroke:d.connectorColor||
170
+ b.color||"#606060",visibility:y,zIndex:3}).translate(c.plotLeft,c.plotTop).add()}}}},drawTracker:cb.prototype.drawTracker,getSymbol:function(){}});la.pie=y;ka.Highcharts={Chart:yb,dateFormat:Ob,pathAnim:Ba,getOptions:function(){return sa},hasRtlBug:Dc,numberFormat:mc,Point:Xa,Color:Fa,Renderer:Sb,seriesTypes:la,setOptions:function(a){sa=Q(sa,a);wb();return sa},Series:ba,addEvent:ha,createElement:W,discardElement:Lb,css:C,each:l,extend:E,map:qb,merge:Q,pick:n,extendClass:ca,product:"Highcharts",version:"2.1.7"}})();