Skip to content

Instantly share code, notes, and snippets.

@soumyasankarduttagit
Created November 29, 2019 08:19
Show Gist options
  • Save soumyasankarduttagit/ad24a739bf636eeef0a35697d5e12b0f to your computer and use it in GitHub Desktop.
Save soumyasankarduttagit/ad24a739bf636eeef0a35697d5e12b0f to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.3
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.3
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
*/
(function(Jb,Kb){"object"===typeof module&&module.exports?module.exports=Jb.document?Kb(Jb):function(f){if(!f.document)throw Error("Window with document not present");return Kb(f,!0)}:Jb.FusionCharts=Kb(Jb,!0)})("undefined"!==typeof window?window:this,function(Jb,Kb){"undefined"===typeof Jb&&"object"===typeof window&&(Jb=window);(function(f){if(!f.FusionCharts||!f.FusionCharts.version){var m=f.document,C=f.navigator,n={window:f},E=n.modules={},F=n.interpreters={},K=Object.prototype.toString,a=/msie/i.test(C.userAgent)&&
!f.opera,O=/loaded|complete/,d=!1,l=function(){var a=n.ready;n.ready=!0;n.raiseEvent&&(n.readyNotified=!0,n.raiseEvent("ready",{version:n.core.version,now:!a},n.core));n.readyNow=!a},N=function(a,d){var t,q;if(d instanceof Array)for(t=0;t<d.length;t+=1)"object"!==typeof d[t]?a[t]=d[t]:("object"!==typeof a[t]&&(a[t]=d[t]instanceof Array?[]:{}),N(a[t],d[t]));else for(t in d)"object"===typeof d[t]?(q=K.call(d[t]),"[object Object]"===q?("object"!==typeof a[t]&&(a[t]={}),N(a[t],d[t])):"[object Array]"===
q?(a[t]instanceof Array||(a[t]=[]),N(a[t],d[t])):a[t]=d[t]):a[t]=d[t];return a};n.extend=function(a,d,t,q){var c;t&&a.prototype&&(a=a.prototype);if(!0===q)N(a,d);else for(c in d)a[c]=d[c];return a};n.uniqueId=function(){return"chartobject-"+(n.uniqueId.lastId+=1)};n.uniqueId.lastId=0;n.policies={options:{chartTypeSourcePath:["typeSourcePath",""],product:["product","v3"],insertMode:["insertMode","replace"],safeMode:["safeMode",!0],overlayButton:["overlayButton",void 0],containerBackgroundColor:["containerBackgroundColor",
"#ffffff"],containerBackgroundOpacity:["containerBackgroundOpacity",1],containerClassName:["containerClassName","fusioncharts-container"],chartType:["type",void 0],baseChartMessageFont:["baseChartMessageFont","Verdana,sans"],baseChartMessageFontSize:["baseChartMessageFontSize","10"],baseChartMessageColor:["baseChartMessageColor","#666666"],baseChartMessageImageHAlign:["baseChartMessageImageHAlign","middle"],baseChartMessageImageVAlign:["baseChartMessageImageVAlign","middle"],baseChartMessageImageAlpha:["baseChartMessageImageAlpha",
100],baseChartMessageImageScale:["baseChartMessageImageScale",100],dataLoadStartMessage:["dataLoadStartMessage","Retrieving data. Please wait."],dataLoadErrorMessage:["dataLoadErrorMessage","Error in loading data."],dataInvalidMessage:["dataInvalidMessage","Invalid data."],dataEmptyMessage:["dataEmptyMessage","No data to display."],typeNotSupportedMessage:["typeNotSupportedMessage","Chart type not supported."],browserNotSupportedMessage:["browserNotSupportedMessage","This browser is not supported."],
loadMessage:["loadMessage","Loading chart. Please wait."],renderErrorMessage:["renderErrorMessage","Unable to render chart."]},attributes:{lang:["lang","EN"],id:["id",void 0]},width:["width","400"],height:["height","300"],src:["swfUrl",""]};F.stat="swfUrl id width height debugMode registerWithJS backgroundColor scaleMode lang detectFlashVersion autoInstallRedirect".split(" ");n.parsePolicies=function(a,d,t){var q,c,A;for(c in d)if(n.policies[c]instanceof Array)A=t[d[c][0]],a[c]=void 0===A?d[c][1]:
A;else for(q in"object"!==typeof a[c]&&(a[c]={}),d[c])A=t[d[c][q][0]],a[c][q]=void 0===A?d[c][q][1]:A};n.parseCommands=function(a,d,t){var q,c;"string"===typeof d&&(d=F[d]||[]);q=0;for(c=d.length;q<c;q++)a[d[q]]=t[q];return a};n.registrars={module:function(){return n.core.apply(n.core,arguments)}};n.core=function(a){if(!(this instanceof n.core)){if(1===arguments.length&&a instanceof Array&&"private"===a[0]){if(E[a[1]])return;E[a[1]]={};a[3]instanceof Array&&(n.core.version[a[1]]=a[3]);return"function"===
typeof a[2]?a[2].call(n,E[a[1]]):n}if(1===arguments.length&&"string"===typeof a)return n.core.items[a];n.raiseError&&n.raiseError(this,"25081840","run","",new SyntaxError('Use the "new" keyword while creating a new FusionCharts object'))}var d={};this.__state={};1===arguments.length&&"object"===typeof arguments[0]?d=arguments[0]:n.parseCommands(d,F.stat,arguments);1<arguments.length&&"object"===typeof arguments[arguments.length-1]&&(delete d[F.stat[arguments.length-1]],n.extend(d,arguments[arguments.length-
1]));this.id="undefined"===typeof d.id?this.id=n.uniqueId():d.id;this.args=d;n.core.items[this.id]instanceof n.core&&n.raiseWarning(this,"06091847","param","",Error('A FusionCharts object with the specified id "'+this.id+'" already exists. Renaming it to '+(this.id=n.uniqueId())));n.parsePolicies(this,n.policies,d);this.attributes.id=this.id;this.resizeTo&&this.resizeTo(d.width,d.height,!0);this.chartType&&this.chartType(d.type||d.swfUrl,!0);n.raiseEvent("beforeInitialize",d,this);n.core.items[this.id]=
this;n.core.defaultOptions=n.core.options;n.raiseEvent("initialized",d,this);return this};n.core.prototype={};n.core.prototype.constructor=n.core;n.extend(n.core,{id:"FusionCharts",version:["3","11","3"],items:{},options:{},getObjectReference:function(a){return n.core.items[a].ref},register:function(a){return n.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&n.registrars[a].apply(n.core,Array.prototype.slice.call(arguments,1))},get:function(a){return n.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&
n.registrars[a].apply(n.core,Array.prototype.slice.call(arguments,1))}});FusionCharts=f.FusionCharts=n.core;f.FusionMaps&&f.FusionMaps.legacy&&(n.core(["private","modules.core.geo",f.FusionMaps.legacy,f.FusionMaps.version]),d=!0);O.test(m.readyState)||m.loaded?(n.ready=!0,setTimeout(l,1)):function(){function N(){arguments.callee.done||(arguments.callee.done=!0,t&&clearTimeout(t),d||(f.FusionMaps&&f.FusionMaps.legacy&&n.core(["private","modules.core.geo",f.FusionMaps.legacy,f.FusionMaps.version]),
f.FusionMaps=n.core),setTimeout(l,1))}function v(){O.test(m.readyState)?N():t=setTimeout(v,10)}var t,q;m.addEventListener?m.addEventListener("DOMContentLoaded",N,!1):m.attachEvent&&f.attachEvent("onLoad",N);if(a)try{"https:"===f.location.protocol?m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="//:">\x3c/script>'):m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="javascript:void(0)">\x3c/script>'),q=m.getElementById("__ie_onload_fusioncharts"),q.onreadystatechange=
function(){"complete"==this.readyState&&N()}}catch(c){}/WebKit/i.test(C.userAgent)&&(t=setTimeout(v,10));f.onload=function(a){return function(){N();a&&a.call&&a.call(f)}}(f.onload)}();f.FusionMaps=n.core}})(Jb);FusionCharts.register("module",["private","modules.mantle.errormanager",function(){var f=this,m=f.window,C={type:"TypeException",range:"ValueRangeException",impl:"NotImplementedException",param:"ParameterException",run:"RuntimeException",comp:"DesignTimeError",undefined:"UnspecifiedException"},
n=function(F,n,a,O,d,l){var N="#"+n+" "+(F?F.id:"unknown-source")+O+" "+l+" >> ";d instanceof Error?(d.name=C[a],d.module="FusionCharts"+O,d.level=l,d.message=N+d.message,N=d.message,m.setTimeout(function(){throw d;},0)):N+=d;n={id:n,nature:C[a],source:"FusionCharts"+O,message:N};f.raiseEvent(l,n,F);if("function"===typeof m["FC_"+l])m["FC_"+l](n)},E;f.raiseError=function(f,m,a,O,d){n(f,m,a,O,d,"Error")};f.raiseWarning=function(f,m,a,O,d){n(f,m,a,O,d,"Warning")};E={outputHelpers:{text:function(f,m){E.outputTo("#"+
f.eventId+" ["+(f.sender.id||f.sender).toString()+'] fired "'+f.eventType+'" event. '+("error"===f.eventType||"warning"===f.eventType?m.message:""))},event:function(f,m){this.outputTo(f,m)},verbose:function(f,m){E.outputTo(f.eventId,f.sender.id,f.eventType,m)}},outputHandler:function(m,n){"function"!==typeof E.outputTo?f.core["debugger"].outputFailed=!0:(f.core["debugger"].outputFailed=!1,E.currentOutputHelper(m,n))},currentOutputHelper:void 0,outputTo:void 0,enabled:!1};E.currentOutputHelper=E.outputHelpers.text;
f.extend(f.core,{"debugger":{syncStateWithCharts:!0,outputFormat:function(f){return f&&"function"===typeof f.toLowerCase&&"function"===typeof E.outputHelpers[f=f.toLowerCase()]?(E.currentOutputHelper=E.outputHelpers[f],!0):!1},outputTo:function(m){"function"===typeof m?E.outputTo=m:null===m&&(f.core["debugger"].enable(!1),delete E.outputTo)},enable:function(m,n,a){var O;"object"===typeof m&&1===arguments.length&&(O=m,m=O.state,n=O.outputTo,a=O.outputFormat);"function"===typeof m&&("string"!==typeof n||
2!==arguments.length&&!O||(a=n),n=m,m=!0);if("boolean"===typeof m&&m!==E.enabled)f.core[(E.enabled=m)?"addEventListener":"removeEventListener"]("*",E.outputHandler);"function"===typeof n&&(E.outputTo=n);f.core["debugger"].outputFormat(a);return E.enabled},enableFirebugLite:function(){var n;m.console&&m.console.firebug?f.core["debugger"].enable(m.console.log,"verbose"):((n=m.document.getElementsByTagName("html"))&&n[0].setAttribute("debug","true"),f.loadScript("https://getfirebug.com/firebug-lite.js#overrideConsole=false,startOpened=true",
function(){f.core["debugger"].enable(m.console.log,"verbose")},"{ startOpened: true }",!0,!0))}},debugMode:{enabled:function(){m.setTimeout(function(){throw Error("Deprecated! Please use FusionCharts.debugger.enable instead.");},0);return f.core["debugger"].enable.apply(f.core["debugger"],arguments)}}},!1)}]);FusionCharts.register("module",["private","modules.mantle.eventmanager",function(){var f=this,m=f.window,C=f.core,n=Object.prototype.toString,E=n.call([]),F=function(a,d,l,t){try{a[0].call(d,
l,t||{})}catch(q){setTimeout(function(){throw q;},0)}},K=function(a,d,l){if(a instanceof Array)for(var t=0,q;t<a.length;t+=1){if(a[t][1]===d.sender||void 0===a[t][1])q=a[t][1]===d.sender?d.sender:f.core,F(a[t],q,d,l),!0===d.detached&&(a.splice(t,1),--t,d.detached=!1);if(!0===d.cancelled)break}},a={unpropagator:function(){return!1===(this.cancelled=!0)},detacher:function(){return!1===(this.detached=!0)},undefaulter:function(){return!1===(this.prevented=!0)},listeners:{},lastEventId:0,addListener:function(d,
l,v){var t,q;if(n.call(d)===E){t=[];for(q=0;q<d.length;q+=1)t.push(a.addListener(d[q],l,v));return t}if("string"!==typeof d)f.raiseError(v||f.core,"03091549","param","::EventTarget.addListener",Error("Unspecified Event Type"));else if("function"!==typeof l)f.raiseError(v||f.core,"03091550","param","::EventTarget.addListener",Error("Invalid Event Listener"));else return d=d.toLowerCase(),a.listeners[d]instanceof Array||(a.listeners[d]=[]),a.listeners[d].push([l,v]),l},removeListener:function(d,l,v){var t;
if("function"!==typeof l)f.raiseError(v||f.core,"03091560","param","::EventTarget.removeListener",Error("Invalid Event Listener"));else if(d instanceof Array)for(t=0;t<d.length;t+=1)a.removeListener(d[t],l,v);else if("string"!==typeof d)f.raiseError(v||f.core,"03091559","param","::EventTarget.removeListener",Error("Unspecified Event Type"));else if(d=d.toLowerCase(),d=a.listeners[d],d instanceof Array)for(t=0;t<d.length;t+=1)d[t][0]===l&&d[t][1]===v&&(d.splice(t,1),--t)},triggerEvent:function(d,l,
v,t,q,c){if("string"!==typeof d)f.raiseError(l,"03091602","param","::EventTarget.dispatchEvent",Error("Invalid Event Type"));else{d=d.toLowerCase();var A={eventType:d,eventId:a.lastEventId+=1,sender:l||Error("Orphan Event"),cancelled:!1,stopPropagation:this.unpropagator,prevented:!1,preventDefault:this.undefaulter,detached:!1,detachHandler:this.detacher};K(a.listeners[d],A,v);K(a.listeners["*"],A,v);switch(A.prevented){case !0:if("function"===typeof c)try{c.call(t||l||m,A,v||{})}catch(O){setTimeout(function(){throw O;
},0)}break;default:if("function"===typeof q)try{q.call(t||l||m,A,v||{})}catch(O){setTimeout(function(){throw O;},0)}}return!0}}},O=f.raiseEvent=function(d,l,v,t,q,c){return a.triggerEvent(d,v,l,t,q,c)},d=f.legacyEventList={},l={};f.disposeEvents=function(d){var l,v;for(l in a.listeners)for(v=0;v<a.listeners[l].length;v+=1)a.listeners[l][v][1]===d&&a.listeners[l].splice(v,1)};f.raiseEventWithLegacy=function(a,l,v,t,q,c,A){var f=d[a];O(a,l,v,q,c,A);f&&"function"===typeof m[f]&&setTimeout(function(){m[f].apply(q||
m,t)},0)};f.raiseEventGroup=function(a,d,v,t,q,c,A){var f=t.id,e=a+f;l[e]?(clearTimeout(l[e]),delete l[e]):f&&e?l[e]=setTimeout(function(){O(d,v,t,q,c,A);delete l[e]},0):O(d,v,t,q,c,A)};f.addEventListener=function(d,l){return a.addListener(d,l)};f.removeEventListener=function(d,l){return a.removeListener(d,l)};f.extend(C,{addEventListener:function(d,l){return a.addListener(d,l)},removeEventListener:function(d,l){return a.removeListener(d,l)},ready:function(a,d,l){f.ready?(C.ready=function(a,q){"function"===
typeof a&&setTimeout(function(){a.call(q||C,d||C)},0)},C.ready(a,l)):"function"===typeof a&&C.addEventListener("ready",function(){C.ready(a,d,l)});return this}});C.on=C.addEventListener;f.extend(C.prototype,{addEventListener:function(d,l){return a.addListener(d,l,this)},removeEventListener:function(d,l){return a.removeListener(d,l,this)}});C.prototype.on=C.prototype.addEventListener;f.policies.options.events=["events",{}];f.addEventListener("beforeInitialize",function(a){a=a.sender;var d=a.options.events,
l;if(d)for(l in d)"function"===typeof d[l]&&a.addEventListener(l,d[l])});f.ready&&!f.readyNotified&&(f.readyNotified=!0,f.raiseEvent("ready",{version:f.core.version,now:f.readyNow},f.core))}]);FusionCharts.register("module",["private","modules.mantle.ajax",function(){var f=this,m=f.window,C=parseFloat(m.navigator.appVersion.split("MSIE")[1]),n=5.5<=C&&7>=C?!0:!1,E=/mozilla/i.test(m.navigator.userAgent),F="file:"===m.location.protocol,K=m.ActiveXObject,a=(!K||!F)&&m.XMLHttpRequest,O={objects:0,xhr:0,
requests:0,success:0,failure:0,idle:0},d=function(){var l;if(a)return d=function(){O.xhr++;return new a},d();try{l=new K("Msxml2.XMLHTTP"),d=function(){O.xhr++;return new K("Msxml2.XMLHTTP")}}catch(f){try{l=new K("Microsoft.XMLHTTP"),d=function(){O.xhr++;return new K("Microsoft.XMLHTTP")}}catch(m){l=!1}}return l};f.core.ajax={stats:function(a){return a?O[a]:f.extend({},O)},headers:{"If-Modified-Since":"Sat, 29 Oct 1994 19:43:31 GMT","X-Requested-With":"XMLHttpRequest","X-Requested-By":"FusionCharts",
Accept:"text/plain, */*","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}};C=f.ajax=function(a,d){this.onSuccess=a;this.onError=d;this.open=!1;O.objects++;O.idle++};f.extend(C.prototype,{headers:f.core.ajax.headers,transact:function(a,N,ba,v){var t=this,q=t.xmlhttp,c=t.headers,A=t.onError,P=t.onSuccess;a="POST"===a;var e,r=Object.prototype.hasOwnProperty,G;-1!==N.search(/^(http:\/\/|https:\/\/)/)&&m.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(N)[2]?delete c["X-Requested-By"]:
!r.call(c,"X-Requested-By")&&(c["X-Requested-By"]="FusionCharts");if(!q||n||E)q=d(),t.xmlhttp=q;q.onreadystatechange=function(){try{4===q.readyState&&(!q.status&&F||200<=q.status&&300>q.status||304===q.status||1223===q.status||0===q.status?(P&&P(q.responseText,t,v,N),O.success++):A&&(A(Error("XmlHttprequest Error"),t,v,N),O.failure++),O.idle--,t.open=!1)}catch(a){A&&A(a,t,v,N),m.FC_DEV_ENVIRONMENT&&setTimeout(function(){throw a;},0),O.failure++}};try{q.open(a?"POST":"GET",N,!0);q.overrideMimeType&&
q.overrideMimeType("text/plain");if(a)if("string"===typeof ba)e=ba;else{e=[];for(G in ba)e.push(G+"="+(ba[G]+"").replace(/\=/g,"%3D").replace(/\&/g,"%26"));e=e.join("&")}else e=null;for(G in c)q.setRequestHeader(G,c[G]);q.send(e);O.requests++;O.idle++;t.open=!0}catch(w){f.raiseError(f.core,"1110111515A","run","XmlHttprequest Error",w.message)}return q},get:function(a,d){return this.transact("GET",a,void 0,d)},post:function(a,d,f){return this.transact("POST",a,d,f)},abort:function(){var a=this.xmlhttp;
this.open=!1;return a&&"function"===typeof a.abort&&a.readyState&&0!==a.readyState&&a.abort()},dispose:function(){this.open&&this.abort();delete this.onError;delete this.onSuccess;delete this.xmlhttp;delete this.open;O.objects--;return null}})}]);FusionCharts.register("module",["private","modules.mantle.runtime;1.1",function(){var f=this,m=f.window,C=/(^|[\/\\])(fusioncharts\.js)([\?#].*)?$/ig,n=/[\\\"<>;&]/,E=/^[^\S]*?(sf|f|ht)(tp|tps):\/\//i,F={},K={},a={},O={},d=f.purgeDOM=function(a){var l=a.attributes,
t,q;if(l)for(t=l.length-1;0<=t;--t)q=l[t].name,"function"===typeof a[q]&&(a[q]=null);if(l=a.childNodes)for(l=l.length,t=0;t<l;t+=1)d(a.childNodes[t])},l=function(a,d,t){var q,c;for(q in a)if(a[q]instanceof Array)d[a[q][0]]=t[q];else for(c in a[q])d[a[q][c][0]]=t[q][c]},N=/^(FusionCharts|FusionWidgets|FusionMaps)/;f.getScriptBaseUri=function(a){var d=m.document.getElementsByTagName("script"),t=d.length,q,c;for(c=0;c<t;c+=1)if(q=d[c].getAttribute("src"),void 0!==q&&null!==q&&null!==q.match(a))return q.replace(a,
"$1")};f.core.options.scriptBaseUri=function(){var a=f.getScriptBaseUri(C);return void 0===a?(f.raiseError(FusionCharts,"1603111624","run",">GenericRuntime~scriptBaseUri","Unable to locate FusionCharts script source location (URL)."),""):a}();f.isXSSSafe=function(a,d){return d&&null!==E.exec(a)?!1:null===n.exec(a)};f.xssEncode=function(a){return null===a||void 0===a||"function"!==typeof a.toString?"":a=a.toString().replace(/&/g,"&amp;").replace(/\'/g,"&#39;").replace(/\"/g,"&quot;").replace(/</g,
"&lt;").replace(/>/g,"&gt;")};f.loadScript=function(d,l,t,q,c){if(!d)return!1;var A=l&&l.success||l,P=l&&l.failure,e,r=f.hcLib,G=r.priorityList,w=r.schedular.addJob,L={type:"script",success:!1},I=function(){O[e]=clearTimeout(O[e]);L.success?A&&A(d,e):P&&P(d,e);f.raiseEvent("externalresourceload",L,f.core)};c=c?"":f.core.options.scriptBaseUri;e=c+d;f.isXSSSafe(e,!1)||(e="function"===typeof m.encodeURIComponent?m.encodeURIComponent(e):m.escape(e));L.path=c;L.src=e;L.file=d;if(!0===a[e]&&q)return L.success=
!0,L.notReloaded=!0,"function"===typeof l&&(l(),f.raiseEvent("externalresourceload",L,f.core)),!0;if(F[e]&&q)return!1;F[e]=!0;K[e]&&K[e].parentNode&&K[e].parentNode.removeChild(K[e]);l=K[e]=m.document.createElement("script");l.type="text/javascript";l.src=e;t&&(l["\v"==="v"?"text":"innerHTML"]=t);"function"===typeof A&&(a[e]=!1,O[e]=clearTimeout(O[e]),l.onload=function(){a[e]=!0;L.success=!0;w(I,void 0,void 0,G.render)},l.onerror=function(){a[e]=!1;F[e]=!1;w(I,void 0,void 0,G.render)},l.onreadystatechange=
function(){if("complete"===this.readyState||"loaded"===this.readyState)a[e]=!0,L.success=!0,w(I,void 0,void 0,G.render)});m.document.getElementsByTagName("head")[0].appendChild(l);"function"===typeof P&&(O[e]=setTimeout(function(){a[e]||I()},f.core.options.html5ResourceLoadTimeout||15E3));return!0};f.capitalizeString=function(a,d){return a?a.replace(d?/(^|\s)([a-z])/g:/(^|\s)([a-z])/,function(a,q,c){return q+c.toUpperCase()}):a};f.extend(f.core,{clone:function(a,d){var t=typeof a,q,c=f.extend({},
this.args,!1,!1);l(f.policies,c,this);l(f.renderer.getRendererPolicy(this.options.renderer),c,this);delete c.id;delete c.animate;delete c.stallLoad;q=c.link;c=f.extend({},c,!1,!1);c.link=q;switch(t){case "object":f.extend(c,a);break;case "boolean":d=a}return d?c:new f.core(c)},isActive:function(){if(!this.ref||m.document.getElementById(this.id)!==this.ref)return!1;try{return N.test(this.ref.signature())}catch(a){return!1}},chartType:function(a,d){var t=this.src,q=!0===d,c=this.options,A;"string"===
typeof a&&(d="object"===typeof d?d:{},t=a.replace(/[\?\#][\s\S]*$/g,""),A=null!==t.match(/\.swf\s*?$/ig),t=t.replace(/\.swf\s*?$/ig,""),c.chartType=t.replace(/^[\s\S]*\//ig,"").replace(/^fcmap_/i,""),c.chartTypeSourcePath=-1===t.indexOf("/")?d.chartTypeSourcePath||this.options.chartTypeSourcePath||f.core.options.chartTypeSourcePath||"":t.replace(/[^\/]*?$/ig,""),this.src=((f.core.options.scriptBaseUri||"")+(c.chartTypeSourcePath||f.core.options.chartTypeSourcePath||"")).replace(/\/\s*$/g,"")+"/"+
c.chartType.replace(/\.swf\s*?$/ig,"")+".swf",A&&(f.raiseWarning(this,"08101320181","comp","FusionCharts#chartType",'Chart type has ".swf" in alias and as such has been deprecated. Please use chart type alias.'),c.chartTypeSourcePath=f.core.options.chartTypeSourcePath||""),void 0!==d.dataSource&&null!==d.dataSource?this.setChartData(d.dataSource,d.dataFormat,d.dataConfiguration):this.isActive()&&!q&&this.render());return(c.chartType||"").toLowerCase()}},!0);m.getChartFromId=function(a){f.raiseWarning(this,
"11133001041","comp","GenericRuntime~getObjectFromId()",'Use of deprecated getChartFromId() or getMapFromId(). Replace with "FusionCharts()" or FusionCharts.items[].');return f.core.items[a]instanceof f.core?f.core.items[a].ref:m.swfobject&&m.swfobject.getObjectById(a)};m.getMapFromId=m.getChartFromId}]);FusionCharts.register("module",["private","api.printmanager",function(){var f=this;f.extend(f.core,{printManager:{configure:function(){f.raiseWarning(f.core,"28141714","impl",".printManager.configure",
"PrintManager is deprecated")},isReady:function(){f.raiseWarning(f.core,"28141714","impl",".printManager.isReady","PrintManager is deprecated");return!1},enabled:function(){f.raiseWarning(f.core,"28141714","impl",".printManager.enabled","PrintManager is deprecated");return!1},managedPrint:function(){f.raiseWarning(f.core,"28141714","impl",".printManager.managedPrint","PrintManager is deprecated")}}},!1)}]);FusionCharts.register("module",["private","modules.interface.renderer",function(){var f=this,
m=f.window,C=m.document,n=function(){f.raiseError(this,"25081845","run","::RendererManager",Error("No active renderer"))},E=f.FusionChartsDOMInsertModes={REPLACE:"replace",APPEND:"append",PREPEND:"prepend"},F={undefined:{render:n,remove:n,update:n,resize:n,config:n,policies:{}}},K={},a=function(a){return function(){var q=this.ref;if(void 0===q||null===q||"function"!==typeof q[a])f.raiseError(this,"25081617","run","#"+a+"()","ExternalInterface call failed. Check whether chart has been rendered.");
else return q[a].apply(q,arguments)}},O=function(a,q){return"function"===typeof a[q]?function(){return a[q].apply(a,arguments)}:a[q]},d=function(a,q){var c=C.getElementById(a),d=q.id||q.getAttribute("id"),l,e;if(null===c)return!1;if(a===d)return!0;d=q.getElementsByTagName("*");l=0;for(e=d.length;l<e;l++)if(d[l]===c)return!1;return!0},l=/[^\%\d]*$/ig,N=function(){var a=function(q){var c=q.parentNode;if(9===c.nodeType)return!1;var d="display";m.getComputedStyle?d=m.getComputedStyle(q)[d]:q.currentStyle&&
(d=q.currentStyle[d]);return"none"===d?!0:c?a(c):!1};return a}(),ba=function(){var a={},q,c=function(){var d=0,l=parseInt(f.core.options.visibilityTrackingInterval,10)||300,e,r,G,w,O;for(e in a)if(d+=1,r=a[e].chart,G=a[e].container,w=a[e].insertMode,O=a[e].callback,r.disposed||!N(G))delete a[e],--d,!r.disposed&&r.renderChart.call(r,G,w,O);q=d?setTimeout(c,l):clearTimeout(q)};return function(d,l,e,r){a[d.id]={chart:d,container:l,insertMode:e,callback:r};q||(q=setTimeout(c,parseInt(f.core.options.visibilityTrackingInterval,
10)||300))}}(),v;f.policies.options.containerElementId=["renderAt",void 0];f.policies.options.renderer=["renderer",void 0];f.policies.options.containerElementType=["containerElementType",void 0];f.policies.options.visibilityTrackingInterval=300;f.normalizeCSSDimension=function(a,q,c){a=void 0===a?c.offsetWidth||parseFloat(c.style.width):a;q=void 0===q?c.offsetHeight||parseFloat(c.style.height):q;var d={},l=c.style,e;l.width=a=a.toString?a.toString():"0";l.height=q=q.toString?q.toString():"0";if((d.widthIsRelative=
a.match(/^\s*\d*\.?\d*\%\s*$/)&&!a.match(/^\s*0\%\s*$/))&&0===c.offsetWidth)for(e=c;e=e.offsetParent;)if(0<e.offsetWidth){a=(e.offsetWidth*parseFloat(a.match(/\d*/)[0])/100).toString();break}if((d.heightIsRelative=q.match(/^\s*\d*\.?\d*\%\s*$/)&&!q.match(/^\s*0\%\s*$/))&&20>=c.offsetHeight)for(e=c;e=e.offsetParent;)if(0<e.offsetHeight){q=(e.offsetHeight*parseFloat(q.match(/\d*/)[0])/100).toString();break}d.width=a.replace?a.replace(/^\s*(\d*\.?\d*)\s*$/ig,"$1px"):a;d.height=q.replace?q.replace(/^\s*(\d*\.?\d*)\s*$/ig,
"$1px"):q;l.width=d.width;l.height=d.height;d.pixelWidth=d.widthIsRelative?c.offsetWidth:parseInt(d.width,10)||0;d.pixelHeight=d.heightIsRelative?c.offsetHeight:parseInt(d.height,10)||0;return d};v=f.renderer={register:function(a,q){if(!a||"function"!==typeof a.toString)throw Error("#03091436 ~renderer.register() Invalid value for renderer name.");a=a.toString().toLowerCase();if(void 0!==F[a])return f.raiseError(f.core,"03091438","param","::RendererManager>register",'Duplicate renderer name specified in "name"'),
!1;F[a]=q;return!0},userSetDefault:!1,setDefault:function(a){if(!a||"function"!==typeof a.toString)return f.raiseError(f.core,"25081731","param","::RendererManager>setDefault",'Invalid renderer name specified in "name"'),!1;if(void 0===F[a=a.toString().toLowerCase()])return f.raiseError(f.core,"25081733","range","::RendererManager>setDefault","The specified renderer does not exist."),!1;this.userSetDefault=!1;f.policies.options.renderer=["renderer",a];return!0},notifyRender:function(a){var q=f.core.items[a&&
a.id];q&&(!1!==a.success||a.silent)||f.raiseError(f.core.items[a.id],"25081850","run","::RendererManager",Error("There was an error rendering the chart. Enable FusionCharts JS debugger for more information."));if(q.ref=a.ref)a.ref.FusionCharts=f.core.items[a.id];f.raiseEvent("internal.DOMElementCreated",{},q)},protectedMethods:{options:!0,attributes:!0,src:!0,ref:!0,constructor:!0,signature:!0,link:!0,addEventListener:!0,removeEventListener:!0},getRenderer:function(a){return F[a]},getRendererPolicy:function(a){a=
F[a].policies;return"object"===typeof a?a:{}},currentRendererName:function(){return f.policies.options.renderer[1]},update:function(a){K[a.id].update.apply(a,Array.prototype.slice.call(arguments,1))},render:function(a){K[a.id].render.apply(a,Array.prototype.slice.call(arguments,1))},remove:function(a){K[a.id].remove.apply(a,Array.prototype.slice.call(arguments,1))},resize:function(a){K[a.id].resize.apply(a,Array.prototype.slice.call(arguments,1))},config:function(a){K[a.id].config.apply(a,Array.prototype.slice.call(arguments,
1))},dispose:function(a){K[a.id].dispose.apply(a,Array.prototype.slice.call(arguments,1))}};f.addEventListener("beforeInitialize",function(a){a=a.sender;var q=a.options.renderer.toLowerCase(),c;"string"===typeof a.options.renderer&&void 0===F[q]&&(a.options.renderer=f.policies.options.renderer[1]);a.options.renderer=q;K[a.id]=F[a.options.renderer];!0!==K[a.id].initialized&&"function"===typeof K[a.id].init&&(K[a.id].init(),K[a.id].initialized=!0);f.parsePolicies(a,K[a.id].policies||{},a.args);for(c in K[a.id].prototype)a[c]=
K[a.id].prototype[c];for(c in K[a.id].events)a.addEventListener(c,K[a.id].events[c])});f.addEventListener(["rendered","dataloaderror","nodatatodisplay","rendercancelled"],function(a,q){var c=a.sender;c instanceof f.core&&c.__state&&c.__state.rendering&&(f.raiseEvent("internal.rendered",q,c),delete c.__state.rendering)});f.addEventListener("loaded",function(d){var q=d.sender;d=d.sender.ref;var c,A;if(void 0!==d&&null!==d&&"function"===typeof d.getExternalInterfaceMethods){try{c=d.getExternalInterfaceMethods(),
c="string"===typeof c?c.split(","):[]}catch(l){c=[],f.raiseError(q,"13111126041","run","RendererManager^Loaded",Error("Error while retrieving data from the chart-object."+(l.message&&0<=l.message.indexOf("NPObject")?" Possible cross-domain security restriction.":"")))}for(d=0;d<c.length;d+=1)A=c[d],void 0===q[A]&&(q[A]=a(A));if(q.ref)for(A in c=v.protectedMethods,d=v.getRenderer(q.options.renderer).protectedMethods,q)if(d&&!c[A]&&!d[A]&&void 0===q.ref[A])try{q.ref[A]=O(q,A)}catch(l){}}});f.legacyEventList.resized=
"FC_Resized";f.extend(f.core.prototype,{render:function(a,q,c){var d=f.hcLib;c?"function"!==typeof c&&(c=void 0):"function"===typeof q?(c=q,q=void 0):q||"function"!==typeof a||(c=a,a=void 0);void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=C.getElementById(a));if(void 0===a||null===a)return f.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;N(a)?ba(this,a,q,c):this.args.asyncRender?d.schedular.addJob(this.renderChart,this,
[a,q,c],d.priorityList.render):this.renderChart.call(this,a,q,c);return this},renderChart:function(a,q,c){var A=this,l,e,r;if(!this.disposed){if((r=m[this.id])&&r.FusionCharts&&r.FusionCharts===this||(r=this.ref)&&r.FusionCharts&&r.FusionCharts===this)f.renderer.dispose(this),r===m[this.id]&&(m[this.id]=void 0);void 0!==m[this.id]&&f.raiseError(this,"25081843","comp",".render",Error("#25081843:IECompatibility() Chart Id is same as a JavaScript variable name. Variable naming error. Please use unique name forchart JS variable, chart-id and container id."));
c?"function"!==typeof c&&(c=void 0):"function"===typeof q?(c=q,q=void 0):q||"function"!==typeof a||(c=a,a=void 0);q=(q||this.options.insertMode).toLowerCase()||E.REPLACE;void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=C.getElementById(a));if(void 0===a||null===a)return f.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;if(d(this.id,a))return f.raiseError(this,"05102109","run",".render()",Error("A duplicate object already exists with the specific Id: "+
this.id)),this;l=C.createElement(this.options.containerElementType||"span");l.setAttribute("id",this.id);if("append"!==q&&"prepend"!==q)for(;a.hasChildNodes();)a.removeChild(a.firstChild);"prepend"===q&&a.firstChild?a.insertBefore(l,a.firstChild):a.appendChild(l);this.options.containerElement=a;this.options.containerElementId=a.id;if(q=l.style)q.position="relative",q.textAlign="left",q.lineHeight="normal",q.display="inline-block",q.zoom="1",q["vertical-align"]="middle",q.fontWeight="normal",q.fontVariant=
"normal",q.fontStyle="normal",q.textDecoration="none",q["*DISPLAY"]="inline",q.padding="0",q.margin="0",q.border="none",q.direction="ltr";this.options.containerClassName&&(l.className=this.options.containerClassName);q=f.normalizeCSSDimension(this.width,this.height,l);this.__state.renderedWidth=q.pixelWidth;this.__state.renderedHeight=q.pixelHeight;this.__state.rendering=!0;f.raiseEvent("beforeRender",e={container:a,width:this.width,height:this.height,renderer:this.options.renderer},this,void 0,function(a,
e){!0!==this.disposed&&f.renderer.render(A,l,function(){f.renderer.notifyRender.apply(this,arguments);if(c)try{c.call(a.sender,e.container)}catch(r){setTimeout(function(){throw r;})}})},function(){f.raiseEvent("renderCancelled",e,A)});return this}},remove:function(){f.renderer.remove(this);return this},resizeTo:function(a,q,c){var d=this,O=d.width,e=d.height,r=d.__state;(d.apiInstance&&d.apiInstance.config||{}).resize=!0;"object"===typeof a&&(c=q,q=a.h,a=a.w);a=null===a||void 0===a?O:a.toString().replace(l,
"");q=null===q||void 0===q?e:q.toString().replace(l,"");!0!==c?f.raiseEvent("beforeresize",{currentWidth:O,currentHeight:e,newWidth:a,newHeight:q},d,void 0,function(){d.width=a;d.height=q;f.renderer.resize(d,{width:a,height:q});f.raiseEventWithLegacy("resized",{width:d.width,height:d.height,prevWidth:O,prevHeight:e,pixelWidth:d.ref&&d.ref.offsetWidth||0,pixelHeight:d.ref&&d.ref.offsetHeight||0,originalWidth:r.renderedWidth,originalHeight:r.renderedHeight},d,[d.id,d.width,d.height])},function(){f.raiseEvent("resizecancelled",
{currentWidth:O,currentHeight:e,cancelledTargetWidth:a,cancelledTargetHeight:q},d)}):(d.width=a,d.height=q);return this},dispose:function(){var a=this,d={};f.raiseEvent("beforeDispose",d,a,void 0,function(){f.renderer.dispose(a);f.raiseEvent("disposed",d,a);f.disposeEvents(a);delete f.core.items[a.id];for(var c in a)a.hasOwnProperty(c)&&delete a[c];a.disposed=!0},function(){f.raiseEvent("disposeCancelled",d,a)})},configure:function(a,d){var c;a&&("string"===typeof a?(c={},c[a]=d):c=a,f.renderer.config(this,
c))}});f.extend(f.core,{setCurrentRenderer:function(){var a=v.setDefault.apply(v,arguments);v.userSetDefault=!0;return a},getCurrentRenderer:function(){return v.currentRendererName.apply(v,arguments)},render:function(a,d){return a instanceof f.core?(a.render(d),a):(new f.core(a)).render(d)}},!1)}]);FusionCharts.register("module",["private","modules.interface.transcoder",function(){var f=this,m=f.window,C=f.transcoders={},n={},E={},F=/url$/i,K=f._interactiveCharts={selectscatter:[!0,!1],dragcolumn2d:[!0,
!0],dragarea:[!0,!0],dragline:[!0,!0],dragnode:[!0,!0]},a=function(a,c,A,t){var e=A.obj;A=A.args;A.dataSource=a;A.xmlHttpRequestObject=c;A.source="XmlHttpRequest";A.url=t;f.raiseEvent("dataLoadRequestCompleted",A,e,void 0,d,l)},O=function(a,c,d){var l=d.obj;d=d.args;d.error=a;d.httpStatus=c.xhr&&c.xhr.status?c.xhr.status:-1;d.xmlHttpRequestObject=c;f.raiseEvent("dataLoadError",d,l);"function"===typeof m.FC_DataLoadError&&m.FC_DataLoadError(l.id,d)},d=function(a,c){a.sender.setChartData(c.dataSource,
c.dataFormat,c.config,c.successcallback,c.silent)},l=function(a,c){f.raiseEvent("dataLoadCancelled",c,a.sender);c.xmlHttpRequestObject.abort()},N=function(d,c){var A=d.sender,l=A.__state,e=c.url;A.options.dataSource=c.url;l.dhmXhrObj||(l.dhmXhrObj=new f.ajax(a,O));l.dhmXhrObj.get("function"===typeof m.decodeURIComponent?m.decodeURIComponent(e):m.unescape(e),{obj:A,args:c})},ba=function(a,c){var d=a.sender,l=d.__state;f.raiseEvent("dataLoadRequestCancelled",c,d);l&&l.dhmXhrObj&&l.dhmXhrObj.abort()},
v=function(a,c){var d=a.sender,l=d.__state,e=d.id;n[e]=c;E[e]&&delete E[e];E[e]={};l.dataReady=void 0;l.dataAvailable=!0;!0!==c.silent&&(!0!==d.options.safeMode||!0!==l.rendering||d.isActive()?(delete l.args,f.renderer.update(d,c)):(l.updatePending=c,f.raiseWarning(d,"23091255","run","::DataHandler~update","Renderer update was postponed due to async loading.")));f.raiseEvent("dataUpdated",c,d,void 0,c.successcallback)},t=function(a,c){f.raiseEvent("dataUpdateCancelled",c,a.sender,void 0,c.failurecallback)};
f.dataFormats={};f.policies.options.dataSource=["dataSource",void 0];f.policies.options.dataFormat=["dataFormat",void 0];f.policies.options.dataConfiguration=["dataConfiguration",void 0];f.policies.options.showDataLoadingMessage=["showDataLoadingMessage",!1];f.addDataHandler=function(a,c){if("string"!==typeof a||void 0!==C[a.toLowerCase()])f.raiseError(f.core,"03091606","param","::DataManager.addDataHandler",Error("Invalid Data Handler Name"));else{var d={},l=a.toLowerCase();C[l]=c;c.name=a;d["set"+
a+"Data"]=function(c,d,l){return this.setChartData(c,a,d,l)};c.transportable&&(d["set"+a+"Url"]=function(c,d,l){return this.setChartDataUrl(c,a,d,l)},f.dataFormats[a+"URL"]=l+"Url");d["get"+a+"Data"]=function(){return this.getChartData(a)};f.dataFormats[a]=l;f.extend(f.core,d,!0)}};f.extend(f.core.prototype,{setChartDataUrl:function(a,c,d,l,e){if(void 0===c||null===c||"function"!==typeof c.toString)c=this.options.dataFormat,f.raiseWarning(this,"03091609","param","FusionCharts#setChartDataUrl","Invalid Data Format. Reverting to current data format - "+
c);c=c.toString().toLowerCase();c=F.test(c)?c.slice(0,-3):c;f.raiseEvent("dataLoadRequested",{source:"XmlHttpRequest",url:a,dataFormat:c,silent:!!e,config:d,successcallback:l},this,void 0,N,ba)},setChartData:function(a,c,d,l,e){var r=this.options,G,w;if(void 0===c||null===c||"function"!==typeof c.toString)c=r.dataFormat,f.raiseWarning(this,"03091610","param","FusionCharts#setChartData","Invalid Data Format. Reverting to current data format - "+c);c=c.toString().toLowerCase();F.test(c)?this.setChartDataUrl(a,
c,d,l,e):(r.dataSource=a,G=c,r.dataFormat=c,w=C[G],"undefined"===typeof w?f.raiseError(f.core,"03091611","param","FusionCharts#setChartData",Error("Data Format not recognized")):(c=(c=f.renderer&&f.renderer.getRenderer(r.renderer||f.renderer.currentRendererName()))&&c.dataFormat,d=c===G?w.passthrough?w.passthrough(a,d,r.chartType):{data:a}:w.encode(a,this,d||r.dataConfiguration)||{},d["native"]=c===G,d.format=d["native"]?c:"xml",d.dataFormat=G,d.dataSource=a,d.silent=!!e,"function"===typeof l&&(d.successcallback=
l),f.raiseEvent("beforeDataUpdate",d,this,void 0,v,t)))},getChartData:function(a,c){var d=this.options,l=this.id,e;if(void 0===a||"function"!==typeof a.toString||void 0===(e=C[a=a.toString().toLowerCase()]))f.raiseError(this,"25081543","param","::transcoder~getChartData()",Error('Unrecognized data-format specified in "format"'));else return E[l][a]&&(E[l][a]=null),E[l][a]?d=E[l][a]:n[l]?(a===n[l].format?E[l][a]=n[l]:(E[l].xml||(E[l].xml="xml"===n[l].format?n[l]:C[n[l].format].encode(n[l].data,this,
d.dataConfiguration)),E[l][a]||(E[l][a]=e.decode(E[l].xml.data,this,d.dataConfiguration))),d=E[l][a]):d={error:Error("Data not defined")},!0===!!c?d:d.data},dataReady:function(a){return a?this.__state.dataAvailable:this.__state.dataReady}});f.extend(f.core,{transcodeData:function(a,c,d,l,e){if(c&&"function"===typeof c.toString&&d&&"function"===typeof d.toString&&void 0!==C[d=d.toString().toLowerCase()]&&void 0!==C[c=c.toString().toLowerCase()])return a=C[c].encode(a,this,e),c=C[d].decode(a.data,this,
e,c),c.error instanceof Error||(c.error=a.error),l?c:c.data;f.raiseError(this,"14090217","param",".transcodeData()",Error("Unrecognized data-format specified during transcoding."))}},!1);f.getRenderer&&!f.getRenderer("flash")||f.addEventListener("DataLoadRequested",function(a){var c=a.sender;c.options&&"flash"===c.options.renderer&&c.options.useLegacyXMLTransport&&a.preventDefault()});f.addEventListener("beforeInitialize",function(a){a=a.sender;var c=a.options,d=c.dataSource,l=f.renderer&&f.renderer.getRenderer(c.renderer);
delete n[a.id];E[a.id]={};if(void 0!==d&&null!==d){a.__state.dataSetDuringConstruction=!0;if("string"!==typeof c.dataFormat)switch(typeof d){case "function":d=c.dataSource=d.call(a,c.dataConfiguration);c.dataFormat="JSON";break;case "string":c.dataFormat=/^\s*?\{[\s\S]*\}\s*?$/g.test(a.options.dataFormat)?"JSON":"XML";break;case "object":c.dataFormat="JSON"}c.dataFormat&&c.dataFormat.toString&&(a.__state.dataFetchDuringConstruction=F.test(c.dataFormat.toString()));a.setChartData(d,c.dataFormat,void 0,
void 0,!0)}else l&&(a.__state.dataSetDuringConstruction=!1,f.raiseWarning(a,"1810131922A","param",":dataHandler~event:beforeInitialize","Data source was not defined during construction, hence set to blank renderer default - "+l.dataFormat),a.setChartData("",l.dataFormat,void 0,void 0,!0),a.__state.dataAvailable=!1)});f.addEventListener("beforeDispose",function(a){var c=a.sender;delete n[a.sender.id];delete E[a.sender.id];c&&c.__state&&c.__state.dhmXhrObj&&c.__state.dhmXhrObj.abort()});f.addEventListener("disposed",
function(a){delete E[a.sender.id]});f.addEventListener("loaded",function(a){a=a.sender;var c=a.__state.updatePending;a instanceof f.core&&void 0!==c&&(delete a.__state.updatePending,f.renderer.update(a,c))});f.addEventListener("dataUpdated",function(a,c){var d=a.sender,l=d.__state;l.rendering&&(l.dataFetchDuringConstruction||l.updatePending)&&(delete l.dataFetchDuringConstruction,delete l.updatePending,f.renderer.update(d,c))});f.addEventListener(["dataLoadError","dataInvalid"],function(a){a.sender.__state.dataAvailable=
!1});f.addEventListener("loaded",function(a){a=a.sender;var c=a.__state,d,l,e;e=function(a,c){return function(e){return!1===e?c.apply(this):this.ref.getUpdatedXMLData?f.core.transcodeData(this.ref.getUpdatedXMLData(),"xml",a):this.getData?this.getData(a):c.apply(this)}};if(a.chartType&&K[a.chartType()]&&K[a.chartType()][0]){for(d in f.transcoders)l=f.transcoders[d].name,l="get"+l+"Data",a[l]=e(d,a.constructor.prototype[l]),a[l]._dynamicdatarouter=!0;c.dynamicDataRoutingEnabled=!0}else if(c.dynamicDataRoutingEnabled){for(d in f.transcoders)l=
f.transcoders[d].name,l="get"+l+"Data",a.hasOwnProperty(l)&&a[l]._dynamicdatarouter&&delete a[l];c.dynamicDataRoutingEnabled=!1}})}]);"object"!==typeof JSON&&(JSON={});(function(){function f(a){return 10>a?"0"+a:a}function m(d){E.lastIndex=0;return E.test(d)?'"'+d.replace(E,function(d){var f=a[d];return"string"===typeof f?f:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function C(a,l){var f,n,v,t,q=F,c,A=l[a];A&&"object"===typeof A&&"function"===typeof A.toJSON&&(A=A.toJSON(a));
"function"===typeof O&&(A=O.call(l,a,A));switch(typeof A){case "string":return m(A);case "number":return isFinite(A)?String(A):"null";case "boolean":case "null":return String(A);case "object":if(!A)return"null";F+=K;c=[];if("[object Array]"===Object.prototype.toString.apply(A)){t=A.length;for(f=0;f<t;f+=1)c[f]=C(f,A)||"null";v=0===c.length?"[]":F?"[\n"+F+c.join(",\n"+F)+"\n"+q+"]":"["+c.join(",")+"]";F=q;return v}if(O&&"object"===typeof O)for(t=O.length,f=0;f<t;f+=1)"string"===typeof O[f]&&(n=O[f],
(v=C(n,A))&&c.push(m(n)+(F?": ":":")+v));else for(n in A)Object.prototype.hasOwnProperty.call(A,n)&&(v=C(n,A))&&c.push(m(n)+(F?": ":":")+v);v=0===c.length?"{}":F?"{\n"+F+c.join(",\n"+F)+"\n"+q+"}":"{"+c.join(",")+"}";F=q;return v}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":
null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var n=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,E=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,F,K,a={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},O;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,
l,f){var m;K=F="";if("number"===typeof f)for(m=0;m<f;m+=1)K+=" ";else"string"===typeof f&&(K=f);if((O=l)&&"function"!==typeof l&&("object"!==typeof l||"number"!==typeof l.length))throw Error("JSON.stringify");return C("",{"":a})});"function"!==typeof JSON.parse&&(JSON.parse=function(a,l){function f(a,d){var q,c,A=a[d];if(A&&"object"===typeof A)for(q in A)Object.prototype.hasOwnProperty.call(A,q)&&(c=f(A,q),void 0!==c?A[q]=c:delete A[q]);return l.call(a,d,A)}var O;a=String(a);n.lastIndex=0;n.test(a)&&
(a=a.replace(n,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return O=eval("("+a+")"),"function"===typeof l?f({"":O},""):O;throw new SyntaxError("JSON.parse");})})();FusionCharts.register("module",["private","modules.data.json",function(){var f=this,m=f.window,C=m.document,n=f.xssEncode,
E,F,K=function(a){var f,d;for(f in a)a.hasOwnProperty(f)&&(d=f.toLowerCase(),f!==d&&(a[d]=a[f],delete a[f]),"object"===typeof a[d]&&"data"!==d&&K(a[d]))};void 0===m.JSON&&f.raiseError(this,"1113062012","run","JSONDataHandler",Error("Could not find library support for JSON parsing."));f.policies.options.allowIESafeXMLParsing=["_allowIESafeXMLParsing",!0];E=function(){var a={set:!0,trendlines:!0,vtrendlines:!0,line:{trendlines:!0,vtrendlines:!0},data:!0,dataset:!0,lineset:!0,categories:!0,category:!0,
tasks:!0,linkeddata:!0,application:!0,definition:!0,axis:!0,connectors:!0,connector:{connectors:!0},trendset:!0,row:{rows:!0},column:{columns:!0},label:{labels:!0},color:{colorrange:!0},dial:{dials:!0},pointer:{pointers:!0},point:{trendpoints:!0},process:{processes:!0},task:{tasks:!0},milestone:{milestones:!0},datacolumn:{datatable:!0},text:{datacolumn:!0},item:{legend:!0},alert:{alerts:!0},groups:{annotations:!0},items:{groups:!0,data:!0},shapes:!0,shape:{shapes:!0},entitydef:!0,entity:{entitydef:!0}},
O={chart:"linkedchart",map:"linkedmap",set:"data",vline:{chart:"data",graph:"data",dataset:"data",categories:"category",linkedchart:"data"},apply:{application:"application"},style:{definition:"definition"},marker:{application:"application",definition:"definition",data:"items"},entity:{entitydef:"entitydef",data:"data"},shape:{shapes:"shapes"},connector:{connectors:{chart:"connector",linkedchart:"connector",map:"connectors",linkedmap:"connectors"}},annotationgroup:{annotations:"groups"},annotation:{groups:"items"}},
d={vline:{vline:"true"}},l={chart:!0,map:!0,graph:!0},n={dataset:"data",categories:"category"},F={target:"target",value:"value"},v={styles:{definition:!0,application:!0},chart:{value:!0,target:!0},graph:{value:!0,target:!0},linkedchart:{value:!0,target:!0},markers:{definition:!0,application:!0,shapes:!0,connectors:!0,data:!0},map:{entitydef:!0,data:!0},linkedmap:{entitydef:!0,data:!0}},t,q,c;t={append:function(c,d,e,r){!a[e]||!0!==a[e]&&!0!==a[e][r]?d[e]=c:(d[e]instanceof Array||(d[e]=[]),d[e].push(c))},
child:function(a,c,e,r){var q,w,m,I,E,aa;for(q=0;q<c.length;q+=1)switch(m=c[q],w=m.nodeName.toLowerCase(),m.nodeType){case 1:I=t.attr(m.attributes);aa=l[w];!0===aa&&(E=I,I={},I[w]=E);aa=d[w];"object"===typeof aa&&f.extend(I,aa);if(aa=O[w])if("object"===typeof aa&&"object"===typeof aa[e])for(E in E=void 0,aa[e]){if(r[E]){w=aa[e][E];break}}else"object"===typeof aa&&"string"===typeof aa[e]?w=aa[e]:"string"===typeof aa&&(w=aa);m.childNodes.length&&((aa=v[e])&&aa[w]?t.child(a,m.childNodes,w,r):t.child(I,
m.childNodes,w,r));(aa=v[e])&&aa[w]||t.append(I,a,w,e);break;case 3:if(aa=F[e])w=aa,I=m.data,t.append(I,a,w,e);aa=n[e];"string"===typeof aa&&r.chart&&parseInt(r.chart.compactdatamode,10)&&(w=aa,I=m.data,a[w]=a[w]?a[w]+I:I)}},attr:function(a){var d,e={};if(!a||!a.length)return e;for(d=0;d<a.length;d+=1)"xml"===c&&(a[d].value?a[d].value=a[d].value.replace(/</g,"&lt;").replace(/>/g,"&gt;"):a[d].nodeValue&&(a[d].nodeValue=a[d].nodeValue.replace(/</g,"&lt;").replace(/>/g,"&gt;"))),e[a[d].nodeName.toLowerCase()]=
a[d].value||a[d].nodeValue;return e}};q=function(a){var c={},e,d,l,w,O,v,n,N,U;if("object"!==typeof a&&a&&"function"!==typeof a.toString)return q.errorObject=new TypeError("xml2json.parse()"),c;a=a.toString().replace(/<\!--[\s\S]*?--\x3e/g,"").replace(/<\?xml[\s\S]*?\?>/ig,"").replace(/&(?!([^;\n\r]+?;))/g,"&amp;$1");a=a.replace(/^\s\s*/,"");for(var F=/\s/,ba=a.length;F.test(a.charAt(--ba)););a=a.slice(0,ba+1);if(!a)return c;try{m.DOMParser?e=(new m.DOMParser).parseFromString(a,"text/xml"):C.body&&
f.core.options.allowIESafeXMLParsing?(d=C.createElement("xml"),d.innerHTML=a,C.body.appendChild(d),e=d.XMLDocument,C.body.removeChild(d)):(e=new m.ActiveXObject("Microsoft.XMLDOM"),e.async="false",e.loadXML(a));if(!(e&&e.childNodes&&1===e.childNodes.length&&(l=e.childNodes[0])&&l.nodeName&&(w=l.nodeName.toLowerCase()))||"chart"!==w&&"map"!==w&&"graph"!==w)return q.errorObject=new TypeError("xml2json.parse()"),c;if("graph"===w){O=e.createElement("chart");for(U=(n=l.attributes)&&n.length||0;U--;)O.setAttribute(n[U].name,
n[U].value),n.removeNamedItem(n[U].name);if(U=(N=l.childNodes)&&N.length||0)--U,v=l.removeChild(N[U]),O.appendChild(v);for(;U--;)v=l.removeChild(N[U]),O.insertBefore(v,O.firstChild);e.replaceChild(O,l);l=O}}catch(J){q.errorObject=J}l?(l.attributes&&(c[w]=t.attr(l.attributes)),l.childNodes&&t.child(c,l.childNodes,w,c),delete q.errorObject):q.errorObject=new TypeError("xml2json.parse()");return c};return function(a){delete q.errorObject;c=arguments[arguments.length-1];return{data:q(a),error:q.errorObject}}}();
F=function(){var a,f;a={items:{explode:{data:"set",groups:{annotations:"annotationgroup"},items:{groups:"annotation"}},text:{chart:{target:"target",value:"value"},graph:{target:"target",value:"value"}},dsv:{dataset:{data:"dataset"},categories:{category:"categories"}},attr:{chart:{chart:"chart"},graph:{graph:"graph"},map:{map:"map"},linkedmap:{map:"map"},linkedchart:{chart:"chart"}},group:{styles:{definition:"style",application:"apply"},map:{data:"entity",entitydef:"entity"},markers:{definition:"marker",
application:"marker",shapes:"shape",connectors:"connector",items:"marker"}},tag:{markers:{items:"data"}}},qualify:function(a,l,f){return"object"===typeof this.items[a][f]?this.items[a][f][l]:this.items[a][f]}};f=function(d,l,m,F){var v="",t="",q="",c="",A,P,e;l&&"function"===typeof l.toLowerCase&&(l=l.toLowerCase());if(void 0===m&&d[l])for(A in d[l])P=A.toLowerCase(),"compactdatamode"===P&&(F.applyDSV=1==d[l][A]);if(d instanceof Array)for(A=0;A<d.length;A+=1)q="string"===typeof d[A]?q+n(d[A]):q+f(d[A],
l,m,F);else{for(A in d)P=A.toLowerCase().replace(/[`~!@#$%^&*()|+\=?;:'", <>\{\}\[\]\\\/]/gi,""),d[A]instanceof Array&&(e=a.qualify("group",P,l))?(q=a.qualify("tag",P,l)||P,t+="<"+q+">"+f(d[A],e,l,F)+"</"+q+">"):"object"===typeof d[A]?(e=a.qualify("attr",P,l))?(c=f(d[A],e,l,F).replace(/\s*\/\>/ig,""),l=P):t+=f(d[A],P,l,F):F.applyDSV&&(e=a.qualify("dsv",P,l))?t+=d[A]:(e=a.qualify("text",P,l))?(q=a.qualify("tag",P,l)||e,t+="<"+q+">"+d[A]+"</"+q+">"):"vline"===P&&d[A]?l="vline":v+=" "+P+'="'+n(d[A]).toString().replace(/\"/ig,
"&quot;")+'"';if(e=a.qualify("explode",m,l))l=e;q=l;q=(""!==c?c:"<"+q)+v+(""!==t?">"+t+"</"+q+">":" />")}return q};return function(a){delete f.errorObject;if(a&&"string"===typeof a)try{a=JSON.parse(a)}catch(l){f.errorObject=l}return{data:f(a,a&&a.graph?"graph":a&&a.map?"map":"chart",void 0,{}),error:f.errorObject}}}();f.addDataHandler("JSON",{encode:F,decode:E,passthrough:function(a,f,d){f={data:{}};d=!!/zoomscatter/ig.test(d);if(!a)return f;if("string"!==typeof a)try{a=JSON.stringify(a)}catch(l){return f.error=
l,f}try{d?(f.data=JSON.parse(a),K(f.data)):f.data=JSON.parse(a.replace(/"([^"]+)"[\s]*:/g,function(a,d){return'"'+d.toLowerCase()+'":'}))}catch(l){console.log(l),f.error=l}return f},transportable:!0})}]);FusionCharts.register("module",["private","modules.data.xml",function(){var f=function(f){return{data:f,error:void 0}};this.addDataHandler("XML",{encode:f,decode:f,transportable:!0})}]);FusionCharts.register("module",["private","modules.data.csv",function(){var f=this,m=f.window,C=f.core,n=m.parseInt,
E=m.parseFloat,F=function(a){return a},K;K=function(a){this.data=[];this.columnCount=this.rowCount=0;this.configure(a)};K.decodeLiterals=function(a,f){return void 0!==a&&null!==a&&a.toString?a.replace("{tab}","\t").replace("{quot}",'"').replace("{apos}","'"):f};K.prototype.set=function(a,f,d){var l;if(this.rowCount<=a){for(l=this.rowCount;l<=a;l+=1)this.data[l]=[];this.rowCount=a+1}this.columnCount<=f&&(this.columnCount=f+1);this.data[a][f]=d};K.prototype.setRow=function(a,f){var d;if(this.rowCount<=
a){for(d=this.rowCount;d<=a;d+=1)this.data[d]=[];this.rowCount=a+1}this.columnCount<f.length&&(this.columnCount=f.length);this.data[a]=f};K.prototype.get=function(a,f){var d=this.data;return d[a]&&d[a][f]};K.prototype.configure=function(a){var f=K.decodeLiterals;this.delimiter=f(a.delimiter,",");this.qualifier=f(a.qualifier,'"');this.eolCharacter=f(a.eolCharacter,"\r\n");this.numberFormatted=!!n(a.numberFormatted,0)};K.prototype.clear=function(){this.data=[];this.columnCount=this.rowCount=0};K.prototype.toString=
function(){var a,f,d="";for(a=0;a<this.rowCount;a+=1)f=this.qualifier+this.data[a].join(this.qualifier+this.delimiter+this.qualifier)+this.qualifier,d+='""'===f?this.eolCharacter:f+this.eolCharacter;0<this.rowCount&&(d=d.slice(0,d.length-2));return d};f.addDataHandler("CSV",{encode:function(a,m){f.raiseError(m,"0604111215","run","::CSVDataHandler.encode()","FusionCharts CSV data-handler only supports encoding of data.");throw Error("FeatureNotSupportedException()");},decode:function(a,f){var d=C.transcodeData(a,
"xml","json")||{},l=f.jsVars,m=l&&l.instanceAPI,n=m&&m.components,v,t,q,c,A,P,e=d.chart||d.map||d.graph||{},r=!!e.exporterrorcolumns,G=d.categories&&d.categories[0]&&d.categories[0].category||[],w=d.map&&!d.chart||l&&l.instanceAPI&&"geo"===l.instanceAPI.defaultSeriesType,L=!1,I=!1,fa=!1,aa=!1,U=!1,T=F,ca={},J,ia,B,wa,Ja,sa,ha,ga,Y,za;q=0;var hb=-1,Na;v=new K({separator:e.exportdataseparator,qualifier:e.exportdataqualifier,numberFormatted:e.exportdataformattedval});C.formatNumber&&v.numberFormatted&&
(T=function(a,c){return C.formatNumber(a,e,c)});if(w)for(t in ca.geo=!0,G=(w=n&&l.instanceAPI.components.dataset&&l.instanceAPI.components.dataset[0])&&w.components.data||[],v.setRow(0,["Id"," Short Name","Long Name","Value","Formatted Value"]),l=0,G)I=G[t],za=I.config,w=za.cleanValue,!0!==I.hidden&&v.setRow(++l,[t,za.shortLabel,za.label,null===w?"":w,za.formattedValue]);else if(void 0!==(J=d.dials&&d.dials.dial||d.pointers&&d.pointers.pointer||d.value))if(ca.gauge=!0,"string"===typeof J)v.set(0,
0,T(J)),ca.singlevalue=!0,"string"===typeof d.target&&(v.set(0,1,T(d.target)),ca.bullet=!0);else for(v.setRow(0,["Id","Value"]),ca.multivalue=!0,l=0,P=1,A=J.length;l<A;l+=1,P+=1)v.setRow(P,[P,T(J[l].value)]);else if(J=d.dataset||!(d.data instanceof Array)&&[]){ca.multiseries=!0;q=1;if(ia=d.lineset)J=J.concat(ia),ca.lineset=!0;if(B=d.axis)J=J.concat(B),ca.multiaxis=!0;w=m.defaultDatasetType&&m.defaultDatasetType.toLowerCase();"dragnode"!==w&&"dragcolumn"!==w&&"dragline"!==w&&"dragarea"!==w||!m.getJSONData||
(J=m.getJSONData().dataset);sa=J.length;Ja=G.length;if(!(sa=J.length)){for(l=0;l<Ja;l+=1)ha=G[l],v.set(l+1,0,ha.label||ha.name);ca.multilevel=!0}for(l=0;l<sa;l+=1)for(ga=J,ga[l].dataset?(ga=ga[l].dataset,c=0,wa=ga.length):(ga=J,c=l,wa=c+1);c<wa&&!L&&!fa;c+=1)if(U=ga[c],hb++,!(n&&n.dataset&&n.dataset[hb]&&!1===n.dataset[hb].visible)){Na=(w=n&&n.dataset&&n.dataset[hb])&&w.config&&w.config.parentYAxis;v.set(0,q,U.seriesname);"string"===typeof U.data&&(ca.compactdata=!0,U.data=U.data.split(e.dataseparator||
"|"));P=A=0;for(Y=U.data&&U.data.length||0;A<Y||A<Ja;A+=1){ha=G[A];t=P+1;w=U.data&&U.data[P]||{};if(void 0!==w.x&&void 0!==w.y){L=ca.xy=!0;break}if(void 0!==w.open||void 0!==w.high||void 0!==w.close||void 0!==w.low){aa=ca.ohlc=!0;break}if(void 0!==w.rowid&&void 0!==w.columnid){fa=ca.heatmap=!0;break}if(A<Ja&&!ha.vline){v.set(t,0,ha.label||ha.name);ha=E(w?w.value:"");ha=isNaN(ha)?"":T(ha,Na);v.set(t,q,ha);if(I||r||w.errorvalue)I||v.set(0,q+1,"Error"),za=1,v.set(t,q+1,T(w.errorvalue));P+=1}}za&&(q+=
za,za=0);q+=1}ia&&(J=J.slice(0,-ia.length));B&&(J=J.slice(0,-B.length))}else if(J=d.data){v.set(0,1,e.yaxisname||"Value");ca.singleseries=!0;U="1"==e.showsumatend;l=0;for(Ja=J.length;l<Ja;l+=1)w=J[l],w.vline||(ha=E(w.value?w.value:""),v.setRow(l+1,[w.label||w.name,isNaN(ha)?"":(q+=ha,T(ha))]));U&&(ca.summation=!0,v.setRow(l+1,[e.sumlabel||"Total",T(q)]))}if(aa)for(v.clear(),v.setRow(0,["Open","Close","High","Low"]),l=0,t=1,J=d.dataset,wa=J.length;l<wa;l+=1)for(A=0,U=J[l]&&J[l].data||[],sa=U.length;A<
sa;A+=1,t+=1)w=U[A]||{},v.setRow(A+1,[T(w.open),T(w.close),T(w.high),T(w.low)]);else if(L)for(v.clear(),I=!1,za=0,v.setRow(0,["Series","x","y"]),l=0,t=1,J=d.dataset,wa=J.length;l<wa;l+=1){if(!(n&&n.dataset&&n.dataset[l]&&!1===n.dataset[l].visible))for(w=m.defaultDatasetType&&m.defaultDatasetType.toLowerCase(),"dragnode"===w&&m.getJSONData&&(J=m.getJSONData().dataset),A=0,U=J[l]&&J[l].data||[],sa=U.length;A<sa;A+=1,t+=1){w=U[A]||{};ha=[J[l].seriesname,T(w.x),T(w.y)];void 0!==w.z&&(ha.push(T(w.z)),
za||(v.set(0,3,"z"),za=1));if(I||r||void 0!==w.errorvalue||void 0!==w.horizontalerrorvalue||void 0!==w.verticalerrorvalue)d=T(w.errorvalue),ha.push(w.errorvalue,void 0===w.horizontalerrorvalue?d:T(w.horizontalerrorvalue),void 0===w.verticalerrorvalue?d:T(w.verticalerrorvalue)),I||(v.set(0,za+3,"Error"),v.set(0,za+4,"Horizontal Error"),v.set(0,za+5,"Vertical Error")),I=ca.error=!0;v.setRow(t,ha)}}else if(fa){v.clear();r={};L={};l=0;A=1;G=d.rows&&d.rows.row||[];for(m=G.length;l<m;l+=1,A+=1)ha=G[l],
ha.id&&(r[ha.id.toLowerCase()]=A,v.set(A,0,ha.label||ha.id));l=0;A=1;G=d.columns&&d.columns.column||[];for(m=G.length;l<m;l+=1,A+=1)ha=G[l],ha.id&&(L[ha.id.toLowerCase()]=A,v.set(0,A,ha.label||ha.id));U=d.dataset&&d.dataset[0]&&d.dataset[0].data||[];n=n&&n.dataset&&n.dataset[0]&&n.dataset[0].components&&n.dataset[0].components.data||[];l=0;for(m=U.length;l<m;l+=1)w=U[l],t=w.rowid.toLowerCase(),q=w.columnid.toLowerCase(),n[l]&&!1===n[l].visible||(r[t]||(r[t]=v.rowCount,v.set(v.rowCount,0,w.rowid)),
L[q]||(L[q]=v.columnCount,v.set(0,v.columnCount,w.columnid)),v.set(r[t],L[q],T(w.value)))}J=G=ia=B=null;0<v.rowCount&&void 0===v.get(0,0)&&v.set(0,0,e.xaxisname||"Label");return{data:v.toString(),error:void 0,predictedFormat:ca}},transportable:!1});C.addEventListener("Loaded",function(a){a=a.sender;"javascript"!==a.options.renderer||a.getDataAsCSV||(a.getDataAsCSV=a.ref.getDataAsCSV=a.getCSVData)})}]);FusionCharts.register("module",["private","modules.renderer.js",function(){var f=this,m=f.window,
C=m.document,n=f.core.options,E=/msie/i.test(m.navigator.userAgent)&&!m.opera,F=!(!m.SVGAngle&&!C.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),K=function(){},a=f.hcLib={cmdQueue:[]},O=a.moduleCmdQueue={base:[],charts:[],powercharts:[],widgets:[],maps:[]},d=a.moduleDependencies={},l=a.moduleMeta={base:"fusioncharts.js",charts:"fusioncharts.charts.js",powercharts:"fusioncharts.powercharts.js",widgets:"fusioncharts.widgets.js",maps:"fusioncharts.maps.js"},N={},
ba=a.getMetaSentence=function(){var a={};return function(c){c=c&&c.replace(/(^\s*)|(\s*$)/g,"")||"";return a[c]||(a[c]={key:c,subject:c.replace(/[^\/]*?$/ig,""),predicate:c.replace(/^.*\//ig,"")})}}(),v=a.getDependentModuleName=function(a){var c=[],e,l;a=ba(a).predicate;for(e in d)void 0!==(l=d[e][a])&&(c[l]=e);return c},t=a.hasModule=function(a){var c,e;if(a instanceof Array){c=0;for(e=a.length;c<e;c+=1)if(!f.modules["modules.renderer.js-"+ba(a[c]).predicate])return!1;return!0}return!!f.modules["modules.renderer.js-"+
ba(a).predicate]},q=a.loadModule=function(a,c,e,d){a instanceof Array||(a=[a]);var q=a.length,A=0,m;m=function(){if(A>=q)c&&c();else{var v=a[A],O=v&&v.match(/[^\/]*$/i)[0],n=l[v];A+=1;if(v){if(t(O)){m();return}if(N[O]){f.raiseError(d||f.core,"1112201445A","run","JavaScriptRenderer~loadModule() ","required resources are absent or blocked from loading.");e&&e(O);return}}else e&&e(O);v=f.core.options["html5"+f.capitalizeString(O)+"Src"];f.loadScript(void 0===v?n:v,{success:function(){t(O)?m():e&&e(O)},
failure:e&&function(){e(O)}},void 0,!0)}};m()},c=a.executeWaitingCommands=function(a){for(var c;c=a.shift();)"object"===typeof c&&K[c.cmd].apply(c.obj,c.args)},A=function(a){delete a.sender.jsVars._reflowData;a.sender.jsVars._reflowData={};delete a.sender.jsVars._reflowClean},P=function(){var a=function(){};a.prototype={LoadDataErrorText:"Error in loading data.",XMLLoadingText:"Retrieving data. Please wait",InvalidXMLText:"Invalid data.",ChartNoDataText:"No data to display.",ReadingDataText:"Reading data. Please wait",
ChartNotSupported:"Chart type not supported.",PBarLoadingText:"",LoadingText:"Loading chart. Please wait",RenderChartErrorText:"Unable to render chart."};return a.prototype.constructor=a}(),e=a.getContainerBackgroundColor=function(c){c=c.chartInstance;var e=c.options,d=e.containerBackgroundColor,e=e.containerBackgroundOpacity,l=c.jsVars.transparent;void 0!==l&&null!==l?e=c.jsVars.transparent?0:1:(e=parseFloat(e),0>e?e=0:1<e&&(e=1));d||(d="#ffffff");if(E&&!F)return e?d:"transparent";d=d.replace(/^#?([a-f0-9]+)/ig,
"$1");d=a.graphics.HEXtoRGB(d);d[3]=e.toString();return"rgba("+d.join(",")+")"};a.injectModuleDependency=function(c,e,w){var l=!1,q=ba(c).subject;c=ba(c).predicate;e=void 0===e?c:ba(e).predicate;d[c]||(d[c]={},O[c]||(O[c]=[],a.moduleMeta[c]=q+n.html5ScriptNamePrefix+(e&&e.replace&&e.replace(/^[\s\S]*\//ig,"").replace(/\?/g,"%3F").replace(/\#/g,"%23").replace(/\:/g,"%3A")||"")+n.html5ScriptNameSuffix),l=!0);d[c][e]=w||0;return l};a.needsModule=function(c,e){c=ba(c).predicate;e=ba(e).predicate;return void 0!==
(a.moduleDependencies[c]&&a.moduleDependencies[c][e])};a.cleanupWaitingCommands=function(a){for(var c=a.chartType(),c=v(c),e,d=[],l;e=c.shift();){for(e=O[e]||[];l=e.shift();)"object"===typeof l&&l.obj!==a&&d.push(l);e.concat(d);d=[]}};f.extend(f.core.options,{html5ScriptNameSuffix:".js",html5ScriptNamePrefix:"fusioncharts."});f.extend(K,{dataFormat:"json",ready:!1,policies:{jsVars:{},options:{showChartLoadingMessage:["showChartLoadingMessage",!0]}},init:function(){t("base")?K.ready=!0:q("base",function(){K.ready=
!0;c(a.cmdQueue)},void 0,f.core)},render:function(c){var d=c,w=this.jsVars.msgStore;d&&this.options.showChartLoadingMessage&&(d.innerHTML='<small style="display: inline-block; *zoom:1; *display:inline; width: 100%; font-family: Verdana,sans; font-size: 10px; color: #666666; text-align: center; padding-top: '+(parseInt(d.style.height,10)/2-5)+'px">'+(w.PBarLoadingText||w.LoadingText)+"</small>",d.style.backgroundColor=e(this));a.cmdQueue.push({cmd:"render",obj:this,args:arguments})},update:function(){a.cmdQueue.push({cmd:"update",
obj:this,args:arguments})},resize:function(){a.cmdQueue.push({cmd:"resize",obj:this,args:arguments})},dispose:function(){var c=a.cmdQueue,e,d;e=0;for(d=c.length;e<d;e+=1)c[e].obj===this&&(c.splice(e,1),--d,--e)},load:function(){a.cmdQueue.push({cmd:"load",obj:this,args:arguments})},config:function(a,c){var e,d=this.jsVars,l=d.msgStore,d=d.cfgStore,q=this.options,f;f={LoadingText:"loadMessage",ChartNotSupported:"typeNotSupportedMessage",RenderChartErrorText:"renderErrorMessage",XMLLoadingText:"dataLoadStartMessage",
ChartNoDataText:"dataEmptyMessage",LoadDataErrorText:"dataLoadErrorMessage",InvalidXMLText:"dataInvalidMessage"};"string"===typeof a&&1<arguments.length&&(e=a,a={},a[e]=c);for(e in a)void 0!==l[e]?l[e]=a[e]:d[e.toLowerCase()]=a[e],f[e]?q[f[e]]=a[e]:q[e]=a[e]},protectedMethods:{},events:{beforeInitialize:function(c){var e=c.sender;c=e.jsVars;var d;c.fcObj=e;c.msgStore=c.msgStore||new P;c.cfgStore=c.cfgStore||{};c.previousDrawCount=-1;c.drawCount=0;c._reflowData={};e.addEventListener("beforeRender",
function(c){c.sender.jsVars.smartLabel=new a.SmartLabelManager(e.id,C.body||C.getElementsByTagName("body")[0]);c.detachHandler()});c.userModules instanceof Array||(d=c.userModules,c.userModules=[],"string"===typeof d&&(c.userModules=c.userModules.concat(d.split(","))));a.chartAPI&&a.chartAPI[void 0]||(c.needsLoaderCall=!0)},initialized:function(a){a=a.sender;var c=a.jsVars;c.needsLoaderCall&&(delete c.needsLoaderCall,K.load.call(a))},beforeDataUpdate:A,beforeDispose:function(a){var c=a.sender.jsVars;
c.smartLabel&&!c.smartLabel.disposed&&c.smartLabel.dispose();A.apply(this,arguments)},beforeRender:function(a){var c=a.sender.jsVars;delete c.drLoadAttempted;delete c.waitingModule;delete c.waitingModuleError;A.apply(this,arguments)},dataLoadRequested:function(a){a=a.sender;var c=a.jsVars;delete c.loadError;a.ref&&a.options.showDataLoadingMessage?c.hcObj&&!c.hasNativeMessage&&c.hcObj.showLoading?c.hcObj.showMessage(c.msgStore.XMLLoadingText):a.ref.showChartMessage?a.ref.showChartMessage("XMLLoadingText"):
c.stallLoad=!0:c.stallLoad=!0},dataLoadRequestCompleted:function(a){delete a.sender.jsVars.stallLoad},dataLoadError:function(a){var c=a.sender,e=c.jsVars,d=c.args,l=c.options;delete e.stallLoad;e.loadError=!0;c._chartMessageImageStyle={imageHAlign:d.dataLoadErrorMessageImageHAlign||l.baseChartMessageImageHAlign,imageVAlign:d.dataLoadErrorMessageImageVAlign||l.baseChartMessageImageVAlign,imageAlpha:d.dataLoadErrorMessageImageAlpha||l.baseChartMessageImageAlpha,imageScale:d.dataLoadErrorMessageImageScale||
l.baseChartMessageImageScale};c._chartMessageStyle={color:d.dataLoadErrorMessageColor||l.baseChartMessageColor,fontFamily:d.dataLoadErrorMessageFont||l.baseChartMessageFont,fontSize:d.dataLoadErrorMessageFontSize||l.baseChartMessageFontSize};c.apiInstance.setChartMessage&&(c.apiInstance.setChartMessage(l.dataLoadErrorMessage,c),c.apiInstance.drawChartMessage());c.__state.dataFetchDuringConstruction&&delete c.__state.dataFetchDuringConstruction;A.apply(this,arguments)}},_call:function(a,c,e){a.apply(e||
m,c||[])}});f.extend(K.prototype,{getSWFHTML:function(){f.raiseWarning(this,"11090611381","run","JavaScriptRenderer~getSWFHTML()","getSWFHTML() is not supported for JavaScript charts.")},addVariable:function(){f.raiseWarning(this,"11090611381","run","JavaScriptRenderer~addVariable()",'Use of deprecated "addVariable()". Replace with "configure()".');f.core.prototype.configure.apply(this,arguments)},getXML:function(){f.raiseWarning(this,"11171116291","run","JavaScriptRenderer~getXML()",'Use of deprecated "getXML()". Replace with "getXMLData()".');
return this.getXMLData.apply(this,arguments)},setDataXML:function(){f.raiseWarning(this,"11171116292","run","JavaScriptRenderer~setDataXML()",'Use of deprecated "setDataXML()". Replace with "setXMLData()".');return this.setXMLData.apply(this,arguments)},setDataURL:function(){f.raiseWarning(this,"11171116293","run","JavaScriptRenderer~setDataURL()",'Use of deprecated "SetDataURL()". Replace with "setXMLUrl()".');return this.setXMLUrl.apply(this,arguments)},hasRendered:function(){return!(!this.jsVars.hcObj||
!this.jsVars.hcObj.hasRendered)},setTransparent:function(a){var c;if(c=this.jsVars)"boolean"!==typeof a&&null!==a&&(a=!0),c.transparent=null===a?!1:!0===a?!0:!1}});f.extend(f.core,{_fallbackJSChartWhenNoFlash:function(){m.swfobject.hasFlashPlayerVersion(f.core.options.requiredFlashPlayerVersion)||f.renderer.setDefault("javascript")},_enableJSChartsForSelectedBrowsers:function(a){void 0!==a&&null!==a&&f.renderer.setDefault((new RegExp(a)).test(m.navigator.userAgent)?"javascript":"flash")},_doNotLoadExternalScript:function(a){var c,
e;for(c in a)e=c.toLowerCase(),l[e]&&(N[e]=!!a[c])},_preloadJSChartModule:function(){throw"NotImplemented()";}});f.renderer.register("javascript",K);F||E?f.renderer.setDefault("javascript"):m.swfobject&&m.swfobject.hasFlashPlayerVersion&&!m.swfobject.hasFlashPlayerVersion(f.core.options.requiredFlashPlayerVersion)&&(f.raiseWarning(f.core,"1204111846","run","JSRenderer","Switched to JavaScript as default rendering due to absence of required Flash Player."),f.renderer.setDefault("javascript"))}]);FusionCharts.register("module",
["private","modules.renderer.polyfill",function(){"function"!=typeof Object.create&&(Object.create=function(){function f(){}var m=Object.prototype.hasOwnProperty;return function(C){var n,E,F;if("object"!=typeof C)throw new TypeError("Object prototype may only be an Object or null");f.prototype=C;F=new f;f.prototype=null;if(1<arguments.length)for(E in n=Object(arguments[1]),n)m.call(n,E)&&(F[E]=n[E]);return F}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(f,m){var C,n,E;if(null==this)throw new TypeError('"this" is null or not defined');
n=Object(this);E=n.length>>>0;if(0===E)return-1;C=+m||0;Infinity===Math.abs(C)&&(C=0);if(C>=E)return-1;for(C=Math.max(0<=C?C:E-Math.abs(C),0);C<E;){if(C in n&&n[C]===f)return C;C++}return-1});Array.prototype.forEach||(Array.prototype.forEach=function(f,m){var C,n,E,F,K;if(null==this)throw new TypeError(" this is null or not defined");E=Object(this);F=E.length>>>0;if("function"!==typeof f)throw new TypeError(f+" is not a function");1<arguments.length&&(C=m);for(n=0;n<F;)n in E&&(K=E[n],f.call(C,K,
n,E)),n++});Array.prototype.indexOf||(Array.prototype.indexOf=function(f,m){var C;if(null==this)throw new TypeError('"this" is null or not defined');var n=Object(this),E=n.length>>>0;if(0===E)return-1;C=+m||0;Infinity===Math.abs(C)&&(C=0);if(C>=E)return-1;for(C=Math.max(0<=C?C:E-Math.abs(C),0);C<E;){if(C in n&&n[C]===f)return C;C++}return-1});"function"!=typeof Object.create&&(Object.create=function(){function f(){}var m=Object.prototype.hasOwnProperty;return function(C){var n,E,F;if("object"!=typeof C)throw TypeError("Object prototype may only be an Object or null");
f.prototype=C;n=new f;f.prototype=null;if(1<arguments.length)for(F in E=Object(arguments[1]),E)m.call(E,F)&&(n[F]=E[F]);return n}}());Function.prototype.bind||(Function.prototype.bind=function(f){if("function"!==typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var m=Array.prototype.slice.call(arguments,1),C=this,n=function(){},E=function(){return C.apply(this instanceof n?this:f,m.concat(Array.prototype.slice.call(arguments)))};this.prototype&&
(n.prototype=this.prototype);E.prototype=new n;return E});Array.prototype.reduce||(Array.prototype.reduce=function(f){if(null==this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!==typeof f)throw new TypeError(f+" is not a function");var m=Object(this),C=m.length>>>0,n=0,E;if(2==arguments.length)E=arguments[1];else{for(;n<C&&!(n in m);)n++;if(n>=C)throw new TypeError("Reduce of empty array with no initial value");E=m[n++]}for(;n<C;n++)n in m&&(E=f(E,m[n],n,
m));return E});Object.keys||(Object.keys=function(){var f=Object.prototype.hasOwnProperty,m=!{toString:null}.propertyIsEnumerable("toString"),C="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),n=C.length;return function(E){if("object"!==typeof E&&("function"!==typeof E||null===E))throw new TypeError("Object.keys called on non-object");var F=[],K;for(K in E)f.call(E,K)&&F.push(K);if(m)for(K=0;K<n;K++)f.call(E,C[K])&&F.push(C[K]);return F}}())}]);
FusionCharts&&FusionCharts.register("module",["private","vendor.svgdecanvo",function(){var f=this.window,m=this.hcLib;(function(f){var m=f.document,E={},F={},K;K=function(a,f,d,l,m,n,v){var t={svg:"",context:"",callBack:"",imageArr:[],canvas:"",dimention:{}};if(!(this instanceof K))throw"This function should be used as class";this._getStore=function(a){return"undefined"!=typeof t[a]?t[a]:!1};this._setStore=function(a,c){"undefined"!=typeof t[a]&&(t[a]=c)};this._setStore("dimention",{x:d,y:l,width:m,
height:n});a&&this.setSVG(a);f&&this.setContext(f);v&&this.setCallback(v);this.drawOnCanvas()};K.prototype.setContext=function(a){var f;if(a.getContext&&a.getContext("2d"))f=a.getContext("2d"),this._setStore("canvas",a),this._setStore("context",f);else throw"Please provide valid canvas";};K.prototype.getContext=function(){return this._getStore("context")};K.prototype.setSVG=function(a){if("undefined"!=typeof a.documentElement)this._setStore("svg",a);else if("<"==a.substr(0,1))a=F.StrToDom(a),this._setStore("svg",
a);else throw"Please provide valid SVG";};K.prototype.getSVG=function(){return this._getStore("svg")};K.prototype.setCallback=function(a){"function"===typeof a&&this._setStore("callBack",a)};K.prototype.getCallback=function(){return this._getStore("callBack")};K.prototype.drawOnCanvas=function(a,f,d,l,m,n,v){var t,q,c,A;a&&this.setSVG(a);f&&this.setContext(f);v&&this.setCallback(v);f=f||this._getStore("canvas");c=this._getStore("dimention");v=this.getCallback();t=this.getContext();(a=this.getSVG())&&
t&&(A=F.getSvgDimention(a),q=A.width,f=A.height,d=d||c.x||0,l=l||c.y||0,m=m||c.width||q,n=n||c.height||f,q=A.width?m/q:1,f=A.height?n/f:1,F.startTransform("translate("+d+","+l+") scale("+q+","+f+")",t),t.save(),t.fillStyle="#ffffff",t.fillRect(0,0,m,n),t.restore(),F.storeImagesInArr(this),F.drawNodes([a],[],this,t,function(){"function"===typeof v&&v();F.resetTransform(t)}))};E.common=function(a,f,d,l,m){var n=a.childNodes,v,t=function(){a.attributes&&l.restore();m&&m()};for(v in f)f.hasOwnProperty(v)&&
"class"!=f[v].name&&"id"!=f[v].name&&"transform"!=f[v].name&&"clip-path"!=f[v].name&&"object"==typeof f[v]&&a.attributes&&!a.attributes[f[v].name]&&a.setAttribute([f[v].name],f[v].value);if(a.attributes&&a.attributes.style)for(v in styleArr=a.attributes.style.value.replace(/;$/,"").split(";"),styleArr)if(styleArr.hasOwnProperty(v)&&(styleName=styleArr[v].split(":")[0].trim(),!a.attributes[styleName]||"undefined"==a.attributes[styleName].value))try{a.setAttribute(styleName,styleArr[v].split(":")[1].trim())}catch(q){}a.attributes&&
(l.save(),a.attributes.transform&&F.startTransform(a.attributes.transform.value,l),a.attributes["clip-path"]&&F.applyClip(a.attributes["clip-path"].value,l,d));if(0===n.length||1===n.length&&!n[0].tagName)if("undefined"!==typeof a.tagName)if(f="draw"+a.tagName,E[f])if(a.attributes.display&&"none"==a.attributes.display.value)t();else E[f](a,l,d,"draw",t);else t();else t();else F.drawNodes(n,"svg"==a.tagName?[]:a.attributes,d,l,t)};E.drawtext=function(a,f,d,l,m){this.drawtspan(a,f,d,l,m)};E.drawtspan=
function(a,O,d,l,N){var E=a.innerHTML||a.textContent,v=a.attributes.x?a.attributes.x.value:0,t=a.attributes.y?a.attributes.y.value:0,q=a.attributes.dx?a.attributes.dx.value:0,c=a.attributes.dy?a.attributes.dy.value:0,A="serief",P="normal",e="16px",r=[],G;m.getElementsByTagName("body")[0]&&(G=f.getComputedStyle(m.getElementsByTagName("body")[0],null),G.getPropertyValue("font-family")&&(A=G.getPropertyValue("font-family")),G.getPropertyValue("font-weight")&&(P=G.getPropertyValue("font-weight")),G.getPropertyValue("font-size")&&
(e=G.getPropertyValue("font-size")));A=a.attributes["font-family"]?a.attributes["font-family"].value:A;P=a.attributes["font-weight"]?a.attributes["font-weight"].value:P;G=a.attributes["text-anchor"]?a.attributes["text-anchor"].value:"start";e=a.attributes["font-size"]?a.attributes["font-size"].value:e;v=Number(v)+Number(q);t=Number(t)+Number(c);E=E.trim();G="middle"==G?"center":G;O.save();O.font=P+" "+e+" "+A;O.textAlign=G;if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)F.applyFillEffect(a,
O,d,r),O.fillText(E,v,t),F.endFillEffect(a,O);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)F.applyStrokeEffect(a,O,d,r),O.strokeText(E,v,t),F.endStrokeEffect(a,O)}O.restore();"function"===typeof N&&N()};E.drawcircle=function(a,f,d,l,m){var n=Number(a.attributes.cx.value),v=Number(a.attributes.cy.value),t=Number(a.attributes.r.value),q=[];f.beginPath();f.arc(n,v,t,0,2*Math.PI);F.bBoxFromPoint([n,1*n+1*t,1*n-1*t],[v,1*v+1*t,1*v-1*t],q);if("draw"===l){if(!a.attributes.fill||
a.attributes.fill&&"none"!=a.attributes.fill.value)F.applyFillEffect(a,f,d,q),f.fill(),F.endFillEffect(a,f);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)F.applyStrokeEffect(a,f,d,q),f.stroke(),F.endStrokeEffect(a,f)}f.closePath();"function"===typeof m&&m()};E.drawrect=function(a,f,d,l,m){var n=Number(a.attributes.x.value),v=Number(a.attributes.y.value),t=a.attributes.rx?Number(a.attributes.rx.value):0,q=a.attributes.ry?Number(a.attributes.ry.value):0,c=Number(a.attributes.height.value),
A=Number(a.attributes.width.value),P=[];F.bBoxFromPoint([n,n+A],[v,v+c],P);f.beginPath();f.moveTo(n+t,v);f.lineTo(n+A-t,v);f.quadraticCurveTo(n+A,v,n+A,v+q);f.lineTo(n+A,v+c-q);f.quadraticCurveTo(n+A,v+c,n+A-t,v+c);f.lineTo(n+t,v+c);f.quadraticCurveTo(n,v+c,n,v+c-q);f.lineTo(n,v+q);f.quadraticCurveTo(n,v,n+t,v);if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)F.applyFillEffect(a,f,d,P),f.fill(),F.endFillEffect(a,f);if(!a.attributes.stroke||a.attributes.stroke&&
"none"!=a.attributes.stroke.value)F.applyStrokeEffect(a,f,d,P),f.stroke(),F.endStrokeEffect(a,f)}f.closePath();"function"===typeof m&&m()};E.drawellipse=function(a,f,d,l,m){var n=Number(a.attributes.cx.value),v=Number(a.attributes.cy.value),t=Number(a.attributes.rx.value),q=Number(a.attributes.ry.value),c=.5522848*t,A=.5522848*q,P=n+t,e=v+q,r=[];f.beginPath();f.moveTo(n-t,v);f.bezierCurveTo(n-t,v-A,n-c,v-q,n,v-q);f.bezierCurveTo(n+c,v-q,P,v-A,P,v);f.bezierCurveTo(P,v+A,n+c,e,n,e);f.bezierCurveTo(n-
c,e,n-t,v+A,n-t,v);F.bBoxFromPoint([n+t,n-t],[v+q,v-q],r);if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)F.applyFillEffect(a,f,d,r),f.fill(),F.endFillEffect(a,f);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)F.applyStrokeEffect(a,f,d,r),f.stroke(),F.endStrokeEffect(a,f)}f.closePath();"function"===typeof m&&m()};E.drawimage=function(a,f,d,l,m){var n=a.attributes.x?Number(a.attributes.x.value):0,v=a.attributes.y?Number(a.attributes.y.value):
0,t=a.attributes.height?Number(a.attributes.height.value):0,q=a.attributes.width?Number(a.attributes.width.value):0,c,A=d._getStore("imageArr");f.save();a.attributes.opacity&&(f.globalAlpha=a.attributes.opacity.value);a.attributes["xlink:href"]?(c=a.attributes["xlink:href"].value,"complete"===A[c].status?(f.drawImage(A[c].obj,n,v,q,t),f.globalAlpha=1,f.restore(),"function"===typeof m&&m()):"error"===A[c].status?(f.globalAlpha=1,f.restore(),"function"===typeof m&&m()):"progress"===A[c].status?(A[c].callback=
function(){f.drawImage(A[c].obj,n,v,q,t);f.globalAlpha=1;f.restore();"function"===typeof m&&m()},A[c].errCallback=function(){f.globalAlpha=1;f.restore();"function"===typeof m&&m()}):(f.globalAlpha=1,f.restore(),"function"===typeof m&&m())):(f.globalAlpha=1,f.restore(),"function"===typeof m&&m())};E.drawpath=function(a,f,d,l,m){var n=a.attributes.d.value.match(/[a-z][^a-z"]*/ig),v=[],t,q,c,A=0,P=0,e;f.beginPath();for(t in n)if(n.hasOwnProperty(t))switch(q=n[t].substring(0,1),c=F.getArgsAsArray(n[t].substring(1,
n[t].length)),q){case "M":A=Number(c[0]);P=Number(c[1]);f.moveTo(A,P);break;case "m":A+=Number(c[0]);P+=Number(c[1]);f.moveTo(A,P);break;case "L":for(e=0;c[e];e+=2)F.bBoxFromPoint([A,c[e]],[P,c[e+1]],v),A=Number(c[e]),P=Number(c[e+1]),f.lineTo(A,P);break;case "l":for(e=0;c[e];e+=2)F.bBoxFromPoint([A,1*A+1*c[e]],[P,1*P+1*c[e+1]],v),A+=Number(c[e]),P+=Number(c[e+1]),f.lineTo(A,P);break;case "V":for(e=0;c[e];e+=1)F.bBoxFromPoint([A],[P,c[e]],v),P=Number(c[e]),f.lineTo(A,P);break;case "v":for(e=0;c[e];e+=
1)F.bBoxFromPoint([A],[P,1*P+1*c[e]],v),P+=Number(c[e]),f.lineTo(A,P);break;case "H":for(e=0;c[e];e+=1)F.bBoxFromPoint([A,c[e]],[P],v),A=Number(c[e]),f.lineTo(A,P);break;case "h":for(e=0;c[e];e+=1)F.bBoxFromPoint([A,1*A+1*c[e]],[P],v),A+=Number(c[e]),f.lineTo(A,P);break;case "Q":for(e=0;c[e];e+=4)F.qBezierBBox(A,P,c[e],c[e+1],c[e+2],c[e+3],v),f.quadraticCurveTo(Number(c[e]),Number(c[e+1]),Number(c[e+2]),Number(c[e+3])),A=Number(c[e+2]),P=Number(c[e+3]);break;case "q":for(e=0;c[e];e+=4)F.qBezierBBox(A,
P,A+1*c[e],P+1*c[e+1],1*A+1*c[e+2],1*P+1*c[e+3],v),f.quadraticCurveTo(A+1*c[e],P+1*c[e+1],A+=Number(c[e+2]),P+=Number(c[e+3]));break;case "C":for(e=0;c[e];e+=6)F.cBezierBBox(A,P,c[e],c[e+1],c[e+2],c[e+3],c[e+4],c[e+5],v),f.bezierCurveTo(c[e],c[e+1],c[e+2],c[e+3],c[e+4],c[e+5]),A=Number(c[e+4]),P=Number(c[e+5]);break;case "c":for(e=0;c[e];e+=6)F.cBezierBBox(A,P,A+1*c[e],1*P+1*c[e+1],A+1*c[e+2],1*P+1*c[e+3],A+1*c[e+4],1*P+1*c[e+5],v),f.bezierCurveTo(A+Number(c[e]),P+Number(c[e+1]),A+Number(c[e+2]),
P+Number(c[e+3]),A+=Number(c[e+4]),P+=Number(c[e+5]));break;case "a":case "A":for(e=0;c[e];e+=7){var r=Number(c[e]),G=Number(c[e+1]),w,L,I,E,C,U,K,ca,J,ia,B,wa,Ja,sa;w=Math.PI/180*Number(c[e+2]);L=Number(c[e+3]);I=Number(c[e+4]);E=Number(c[e+5]);C=Number(c[e+6]);U=Math.cos(w)*(A-E)/2+Math.sin(w)*(P-C)/2;K=-Math.sin(w)*(A-E)/2+Math.cos(w)*(P-C)/2;r=0>r?-r:r;G=0>G?-G:G;wa=Math.pow(U,2)/Math.pow(r,2)+Math.pow(K,2)/Math.pow(G,2);1<wa&&(r*=Math.sqrt(wa),G*=Math.sqrt(wa));wa=r>G?r:G;Ja=r>G?1:r/G;sa=r>G?
G/r:1;L=(L==I?-1:1)*Math.sqrt((Math.pow(r,2)*Math.pow(G,2)-Math.pow(r,2)*Math.pow(K,2)-Math.pow(G,2)*Math.pow(U,2))/(Math.pow(r,2)*Math.pow(K,2)+Math.pow(G,2)*Math.pow(U,2)));isNaN(L)&&(L=0);ca=L*r*K/G;J=-L*G*U/r;ia=ca*Math.cos(w)-J*Math.sin(w)+(A+E)/2;B=ca*Math.sin(w)+J*Math.cos(w)+(P+C)/2;L=F.angleBetweenVectors(1,0,(U-ca)/r,(K-J)/G);U=F.angleBetweenVectors((U-ca)/r,(K-J)/G,(-U-ca)/r,(-K-J)/G);0===I&&0<U&&(U-=Math.PI/180*360);1==I&&0>U&&(U+=Math.PI/180*360);if(0===r&&0===G){f.lineTo(E,C);break}f.save();
r=F.combineTransformMatrix([[1,0,ia,0,1,B],[Math.cos(w),Math.sin(w),0,Math.sin(w),Math.cos(w),0],[Ja,0,0,0,sa,0]]);f.transform(r[0],r[3],r[1],r[4],r[2],r[5]);f.arc(0,0,wa,L,L+U,1-I);f.restore();F.arcBBox(0,0,wa,L,L+U,1-I,[r[0],r[3],r[1],r[4],r[2],r[5]],v);"A"==q?(A=Number(c[e+5]),P=Number(c[e+6])):(A+=Number(c[e+5]),P+=Number(c[e+6]))}break;case "Z":case "z":f.closePath()}if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)F.applyFillEffect(a,f,d,v),f.fill(),F.endFillEffect(a,
f);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)F.applyStrokeEffect(a,f,d,v),f.stroke(),F.endStrokeEffect(a,f);m()}};F.drawNodes=function(a,f,d,l,m){var n=a.length,v=-1,t=0,q=0,c=function(){var A;v+=1;v<n?(A=a[v],A.tagName&&"defs"===A.tagName&&(v+=1,A=a[v]),A.attributes&&(A.attributes.dy&&(q=A.attributes.dy.value=1*A.attributes.dy.value+1*q),A.attributes.dx&&(t=A.attributes.dx.value=1*A.attributes.dx.value+1*t)),E.common(A,f,d,l,c)):m&&m()};c()};F.getSvgDimention=
function(a){var f={width:0,height:0};node=a.childNodes&&a.childNodes[0]&&a.childNodes[0].attributes;f.width=Number(node.width&&node.width.value||0);f.height=Number(node.height&&node.height.value||0);return f};F.storeImagesInArr=function(a){var f=a.getSVG(),d,l;d=a._getStore("imageArr");a=f.getElementsByTagName("image");for(l in a)a.hasOwnProperty(l)&&a[l].attributes&&a[l].attributes["xlink:href"]&&(f=a[l].attributes["xlink:href"].value,d[f]||(d[f]=[],d[f].status="progress",d[f].callback=null,d[f].obj=
new Image,d[f].obj.onload=function(a){return function(){var f=d[a].callback;f?(d[a].status="complete",f()):d[a].status="complete"}}(f),d[f].obj.onerror=function(a){return function(){var f=d[a].errCallback;f?(d[a].status="error",f()):d[a].status="error"}}(f),d[f].obj.src=f))};F.startTransform=function(a,f){var d=a.match(/[^\s][a-z,0-9.\-(\s]+\)/gi),l,m;for(m in d)d.hasOwnProperty(m)&&(-1<d[m].indexOf("matrix")&&(l=F.stringToArgs(d[m]),f.transform(l[0],l[1],l[2],l[3],l[4],l[5])),-1<d[m].indexOf("translate")&&
(l=F.stringToArgs(d[m]),f.translate(l[0]||0,l[1]||0)),-1<d[m].indexOf("rotate")&&(l=F.stringToArgs(d[m]),3==l.length?(f.translate(l[1],l[2]),f.rotate(Math.PI/180*l[0]),f.translate(-l[1],-l[2])):f.rotate(Math.PI/180*l[0])),-1<d[m].indexOf("scale")&&(l=F.stringToArgs(d[m]),1==l.length?f.scale(l[0]||1,l[0]||1):f.scale(l[0]||1,l[1]||1)),-1<d[m].indexOf("skewX")&&(l=F.stringToArgs(d[m]),f.transform(1,0,Math.tan(Math.PI/180*l[0]),1,0,0)),-1<d[m].indexOf("skewY")&&(l=F.stringToArgs(d[m]),f.transform(1,Math.tan(Math.PI/
180*l[0]),0,1,0,0)))};F.resetTransform=function(a){a.setTransform(1,0,0,1,0,0)};F.stringToArgs=function(a){a=/\(([^\)]+)/.exec(a)[1];return F.getArgsAsArray(a)};F.getArgsAsArray=function(a){var f;a=a.trim().split(/[\s,]+/);for(f=0;f<a.length;f++)a[f].trim(),0===a[f].length&&a.splice(f,1);return a};F.applyFillEffect=function(a,f,d,l){f.globalAlpha=a.attributes["fill-opacity"]&&"none"!=a.attributes["fill-opacity"].value?a.attributes["fill-opacity"].value:1;a.attributes.fill&&-1<a.attributes.fill.value.indexOf("url(")?
(a=F.getFillStyleById(/url\(.*#([^\)'"]+)/.exec(a.attributes.fill.value)[1],f,d,l),f.fillStyle=a):f.fillStyle=a.attributes.fill?a.attributes.fill.value:"#000000"};F.endFillEffect=function(a,f){f.globalAlpha=1};F.applyStrokeEffect=function(a,f,d,l){a.attributes["stroke-opacity"]&&"none"!=a.attributes["stroke-opacity"].value&&(f.globalAlpha=a.attributes["stroke-opacity"].value);a.attributes["stroke-width"]&&(f.lineWidth=a.attributes["stroke-width"].value,0===a.attributes["stroke-width"].value&&(f.globalAlpha=
0));a.attributes["stroke-linecap"]&&"none"!=a.attributes["stroke-linecap"].value&&(f.lineCap=a.attributes["stroke-linecap"].value);a.attributes["stroke-linejoin"]&&"none"!=a.attributes["stroke-linejoin"].value&&(f.lineJoin=a.attributes["stroke-linejoin"].value);a.attributes["stroke-dasharray"]&&"none"!=a.attributes["stroke-dasharray"].value&&f.setLineDash&&f.setLineDash(F.getArgsAsArray(a.attributes["stroke-dasharray"].value));f.strokeStyle=a.attributes.stroke?a.attributes.stroke.value:"#000000"};
F.endStrokeEffect=function(a,f){a.attributes["stroke-opacity"]&&"none"!=a.attributes["stroke-opacity"].value&&(f.globalAlpha=1,f.setLineDash&&f.setLineDash([]),f.lineWidth=1);f.globalAlpha=1};F.applyClip=function(a,f,d){var l=d.getSVG(),m,n;if(-1!==a.indexOf("url(")){a=/url\(.*#([^\)'"]+)/.exec(a)[1];l=l.getElementById(a);l.attributes&&(f.save(),l.attributes.transform&&F.startTransform(l.attributes.transform.value,f));a=l.childNodes;for(m in a)a.hasOwnProperty(m)&&a[m].tagName&&a[m].constructor!==
Array&&(n="draw"+a[m].tagName,a[m].attributes&&(f.save(),a[m].attributes.transform&&F.startTransform(a[m].attributes.transform.value,f)),E[n]&&(E[n](a[m],f,d,"clip"),f.closePath()),a[m].attributes&&f.restore());l.attributes&&f.restore();f.clip()}};F.getFillStyleById=function(a,f,d,l){a=d.getSVG().getElementById(a);return"linearGradient"==a.tagName?F.getLinearGradient(a,f,l):"radialGradient"==a.tagName?F.getRadialGradient(a,f,l):"#FFFFFF"};F.getLinearGradient=function(a,f,d){var l=a.attributes.x1?
F.getPercentValue(a.attributes.x1.value,d.xMax-d.xMin,d.xMin):0,m=a.attributes.y1?F.getPercentValue(a.attributes.y1.value,d.yMax-d.yMin,d.yMin):0,n=a.attributes.x2?F.getPercentValue(a.attributes.x2.value,d.xMax-d.xMin,d.xMin):0;d=a.attributes.y2?F.getPercentValue(a.attributes.y2.value,d.yMax-d.yMin,d.yMin):0;var v;linGrad=f.createLinearGradient(l,m,n,d);a=a.childNodes;for(v in a)a.hasOwnProperty(v)&&a[v].attributes&&a[v].attributes["stop-color"]&&(f=F.toRGB(a[v].attributes["stop-color"].value),l=
a[v].attributes["stop-opacity"]?a[v].attributes["stop-opacity"].value:1,f.status?linGrad.addColorStop(F.getPercentValue(a[v].attributes.offset.value,1,0),"rgba("+f.r+","+f.g+","+f.b+","+Number(l)+")"):linGrad.addColorStop(F.getPercentValue(a[v].attributes.offset.value,1,0),a[v].attributes["stop-color"].value));return linGrad};F.getRadialGradient=function(a,f,d){var l=a.attributes.cx?F.getPercentValue(a.attributes.cx.value,d.xMax-d.xMin,d.xMin):d.xMin+.5*(d.xMax-d.xMin),m=a.attributes.cy?F.getPercentValue(a.attributes.cy.value,
d.yMax-d.yMin,d.yMin):d.yMin+.5*(d.yMax-d.yMin),n=a.attributes.fx?F.getPercentValue(a.attributes.fx.value,d.xMax-d.xMin,d.xMin):d.xMin+.5*(d.xMax-d.xMin),v=a.attributes.fy?F.getPercentValue(a.attributes.fy.value,d.yMax-d.yMin,d.yMin):d.yMin+.5*(d.yMax-d.yMin);d=a.attributes.r?F.getPercentValue(a.attributes.r.value,(d.yMax-d.yMin+d.xMax-d.xMin)/2,0):F.getPercentValue("50%",(d.yMax-d.yMin+d.xMax-d.xMin)/2,0);var t;f=f.createRadialGradient(n,v,0,l,m,d);a=a.childNodes;for(t in a)a.hasOwnProperty(t)&&
a[t].attributes&&a[t].attributes["stop-color"]&&(l=F.toRGB(a[t].attributes["stop-color"].value),m=a[t].attributes["stop-opacity"]?a[t].attributes["stop-opacity"].value:1,l.status?f.addColorStop(F.getPercentValue(a[t].attributes.offset.value,1,0),"rgba("+l.r+","+l.g+","+l.b+","+Number(m)+")"):f.addColorStop(F.getPercentValue(a[t].attributes.offset.value,1,0),a[t].attributes["stop-color"].value));return f};F.getPercentValue=function(a,f,d){return-1!=a.indexOf("%")?(a=/(\d.*)%/.exec(a)[1],100<a&&(a=
100),a*f/100+1*d):1<a?a:a*f+1*d};F.bBoxFromPoint=function(a,f,d){"undefined"!==typeof d.xMin&&(a.push(d.xMin,d.xMax),f.push(d.yMin,d.yMax));d.xMin=Math.min.apply(this,a);d.xMax=Math.max.apply(this,a);d.yMin=Math.min.apply(this,f);d.yMax=Math.max.apply(this,f)};F.arcBBox=function(a,f,d,l,m,n,v,t){var q,c,A;v instanceof Array&&(a=a*v[0]+a*v[2]+v[4],f=f*v[1]+f*v[3]+v[5]);A=function(a,c,d){a=(a+2*Math.PI)%(2*Math.PI);c=(c+2*Math.PI)%(2*Math.PI);if(a<=c)return a<=d&&d<=c?!0:!1;if(a>=c)return a>=d&&d>=
c?!1:!0};v=l%(2*Math.PI);q=m%(2*Math.PI);n&&(v=m%(2*Math.PI),q=l%(2*Math.PI));n=a+d*Math.cos(v);l=f+d*Math.sin(v);c=a+d*Math.cos(q);m=f+d*Math.sin(q);n=[n,c];l=[l,m];A(v,q,0)&&(n.push(1*a+1*d),l.push(f));A(v,q,.5*Math.PI)&&(n.push(a),l.push(1*f+1*d));A(v,q,Math.PI)&&(n.push(a-1*d),l.push(f));A(v,q,1.5*Math.PI)&&(n.push(a),l.push(f-1*d));a=Math.max.apply(this,n);f=Math.min.apply(this,n);d=Math.max.apply(this,l);v=Math.min.apply(this,l);"undefined"!==typeof t.xMin?(t.xMin=Math.min(f,t.xMin),t.xMax=
Math.max(a,t.xMax),t.yMin=Math.min(v,t.yMin),t.yMax=Math.max(d,t.yMax)):(t.xMin=f,t.xMax=a,t.yMin=v,t.yMax=d)};F.qBezierBBox=function(a,f,d,l,m,n,v){var t=1*a-2*d+1*m,q=1*f-2*l+1*n;0===t||0===q?(l=Math.max(a,m),a=Math.min(a,m),m=Math.max(f,n),f=Math.min(f,n)):(t=(a-d)/t,q=(f-l)/q,d=a*Math.pow(1-t,2)+2*d*(1-t)*t+m*Math.pow(t,2),q=f*Math.pow(1-q,2)+2*l*(1-q)*q+n*Math.pow(q,2),l=Math.max(a,m,d),a=Math.min(a,m,d),m=Math.max(f,n,q),f=Math.min(f,n,q));"undefined"!==typeof v.xMin?(v.xMin=Math.min(a,v.xMin),
v.xMax=Math.max(l,v.xMax),v.yMin=Math.min(f,v.yMin),v.yMax=Math.max(m,v.yMax)):(v.xMin=a,v.xMax=l,v.yMin=f,v.yMax=m)};F.cBezierBBox=function(a,f,d,l,m,n,v,t,q){var c,A,F,e,r,G,w;null===m&&null===n&&(d=a+2/3*(d-a),m=f+2/3*(l-f),l=d+1/3*(v-a),n=m+1/3*(t-f));w=function(a,c,e,d,f){return a*Math.pow(1-f,3)+3*c*f*Math.pow(1-f,2)+3*e*f*f*(1-f)+d*f*f*f};F=3*v-9*m+9*d-3*a;e=6*a-12*d+6*m;r=Math.pow(e,2)-4*F*(3*d-3*a);A=c=a;v<c&&(c=v);v>A&&(A=v);0<=r&&(G=(-e+Math.sqrt(r))/(2*F),0<G&&1>G&&(G=w(a,d,m,v,G),G<c&&
(c=G),G>A&&(A=G)),F=(-e-Math.sqrt(r))/(2*F),0<F&&1>F&&(G=w(a,d,m,v,F),G<c&&(c=G),G>A&&(A=G)));F=3*t-9*n+9*l-3*f;e=6*f-12*l+6*n;r=Math.pow(e,2)-4*F*(3*l-3*f);d=a=f;t<a&&(a=t);t>d&&(d=t);0<=r&&(G=(-e+Math.sqrt(r))/(2*F),0<G&&1>G&&(m=w(f,l,n,t,G),m<a&&(a=m),m>d&&(d=m)),F=(-e-Math.sqrt(r))/(2*F),0<F&&1>F&&(m=w(f,l,n,t,F),m<a&&(a=m),m>d&&(d=m)));"undefined"!==typeof q.xMin?(q.xMin=Math.min(c,q.xMin),q.xMax=Math.max(A,q.xMax),q.yMin=Math.min(a,q.yMin),q.yMax=Math.max(d,q.yMax)):(q.xMin=c,q.xMax=A,q.yMin=
a,q.yMax=d)};F.combineTransformMatrix=function(a){var f=a.length-1,d;if(0>=f)return a[0];d=a[0];for(i=1;i<=f;i++)d[0]=d[0]*a[i][0]+d[1]*a[i][3],d[1]=d[0]*a[i][1]+d[1]*a[i][4],d[2]=d[0]*a[i][2]+d[1]*a[i][5]+1*d[2],d[3]=d[3]*a[i][0]+d[4]*a[i][3],d[4]=d[3]*a[i][1]+d[4]*a[i][4],d[5]=d[3]*a[i][2]+d[4]*a[i][5]+1*d[5];return d};F.angleBetweenVectors=function(a,f,d,l){return(a*l<f*d?-1:1)*Math.acos((a*d+f*l)/(Math.sqrt(Math.pow(a,2)+Math.pow(f,2))*Math.sqrt(Math.pow(d,2)+Math.pow(l,2))))};F.toRGB=function(a){var f=
{r:0,g:0,b:0,status:0},d,l;d=function(a){for(l in a)a.hasOwnProperty(l)&&(0>a[l]||isNaN(a[l])?a[l]=0:255<a[l]&&(a[l]=255));return f={r:a[0],g:a[1],b:a[2],status:1}};a=a.trim();a.match(/^rgb\(|^rgba\(/i)?(a=/\(\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})/.exec(a),d([parseInt(a[1]),parseInt(a[2]),parseInt(a[3])])):a.match(/^#/)&&(a=/(\w{2})(\w{2})(\w{2})/.exec(a),d([parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]));return f};F.StrToDom=function(a){var m;f.DOMParser?(m=new DOMParser,m=m.parseFromString(a,
"text/xml")):(m=new ActiveXObject("Microsoft.XMLDOM"),m.async=!1,m.loadXML(a));return m};f.SvgDeCanvo=K})(this.window||window);f.SvgDeCanvo&&(m.SvgDeCanvo=f.SvgDeCanvo,f.SvgDeCanvo=void 0)}]);FusionCharts.register("module",["private","modules.renderer.js-lib-attr",function(){var f={},m=this.hcLib||(this.hcLib={}),C=Math.max,n=m.attrTypeNum=1,E=m.attrTypeBool=2;m.parseConfiguration=function(F,C,a,O,d,l){var N=m.attribDefs||f,ba,v,t,q=1,c;O=O||f;l=l||f;d=d||{};for(ba in F)if(!O[ba]&&((v=F[ba])||!1===
v||0===v))switch(t=(c=l[ba]||N[ba])&&c.type,t){case n:v=Number(v);isNaN(v)||(C[ba]=v);break;case E:v=Number(v);isNaN(v)||(C[ba]=!!v);break;default:C[ba]=v}if(a)for(ba in C)void 0===C[ba]&&(c=l[ba]||N[ba])&&c.pAttr&&(C[ba]=a[c.pAttr]);for(;q;)for(ba in q=0,C)void 0===C[ba]&&(c=l[ba]||N[ba])&&(c.attr?void 0!==(v=C[c.attr])&&(C[ba]=v,q+=1):c.parser&&void 0!==(v=c.parser(C,a,d))&&(C[ba]=v,q+=1))};m.setAttribDefs=function(f,n){var a=m.attribDefs,E,d;"string"===typeof f?(E={},E[f]=n):E=f;for(d in E)a[d]||
(a[d]=E[d])};m.hasAttribDefs=function(f){return!!m.attribDefs[f]};m.attribDefs={setBorderWidth:{type:n,pAttr:"plotborderthickness"},plotborderthickness:{type:n,pAttr:"plotborderthickness"},showBorderEffect:{parser:function(f,m){return 1===+m.showplotborder&&.1===m.plotborderthickness?1:0}},alphaanimation:{type:n},showplotborder:{type:n,pAttr:"showplotborder"},zeroplanethickness:{type:n},showzeroplaneontop:{type:n},usemessagelog:{type:n},showtooltip:{type:n,pAttr:"showtooltip"},seriesnameintooltip:{type:n},
plothovereffect:{type:n,attr:"anchorhovereffect"},anchorhovereffect:{type:n,attr:"showhovereffect"},showhovereffect:{type:n},linethickness:{type:n,pAttr:"linethickness"},dashed:{type:n,pAttr:"linedashed"},linedashed:{type:n,attr:"plotborderdashed"},plotborderdashed:{type:n,pAttr:"plotborderdashed"},linedashlen:{type:n,pAttr:"linedashlen"},linedashgap:{type:n,pAttr:"linedashgap"},anchoralpha:{pAttr:"anchoralpha"},anchorsides:{type:n,pAttr:"anchorsides"},anchorradius:{type:n,pAttr:"anchorradius"},anchorbgalpha:{pAttr:"anchorbgalpha"},
anchorbgcolor:{pAttr:"anchorbgcolor"},anchorbordercolor:{pAttr:"anchorbordercolor"},anchorstartangle:{type:n,pAttr:"anchorstartangle"},anchorimageurl:{pAttr:"anchorimageurl"},anchorimagescale:{type:n,pAttr:"anchorimagescale"},anchorimagealpha:{pAttr:"anchorimagealpha"},anchorimagepadding:{type:n,pAttr:"anchorimagepadding"},anchorborderthickness:{type:n,pAttr:"anchorborderthickness"},anchorshadow:{type:n,pAttr:"anchorshadow"},valuepadding:{type:n,pAttr:"valuepadding"},valueposition:{pAttr:"valueposition"},
plotfillangle:{type:n,pAttr:"plotfillangle"},useplotgradientcolor:{type:n},rotatevalues:{type:n,pAttr:"rotatevalues"},includeinlegend:{type:n},connectnulldata:{type:n},plotfillalpha:{pAttr:"plotfillalpha"},alpha:{pAttr:"linealpha"},linealpha:{pAttr:"plotfillalpha"},showvalues:{type:n,pAttr:"showvalues"},showpercentvalues:{type:n,parser:function(f){return f.isstacked&&f.stack100percent?1:0}},showpercentintooltip:{type:n,parser:function(f){return f.isstacked&&f.stack100percent?1:0}},stack100percent:{type:n,
attr:"usepercentdistribution"},drawfullareaborder:{type:n},use3dlineshift:{type:n},parentyaxis:{type:n},radarborderthickness:{type:n},radarborderradius:{type:n},gaugeoriginx:{type:n},hasgaugeoriginx:{attr:"gaugeoriginx"},gaugeoriginy:{type:n},hasgaugeoriginy:{attr:"gaugeoriginy"},gaugeradius:{type:n},hasgaugeradius:{attr:"gaugeradius"},showgaugeborder:{type:n},setAdaptiveMin:{type:n},adjustDiv:{type:n},axisNameWidth:{type:n},rotateAxisName:{type:n},useEllipsesWhenOverflow:{type:n},showZeroPlane:{type:n},
zeroPlaneAlpha:{type:n},showZeroPlaneValue:{type:n},zeroPlaneOnTop:{type:n},trendlineThickness:{type:n},showTrendlinesOnTop:{type:n},trendlinesAreDashed:{type:n},trendlinesDashLen:{type:n},trendlinesDashGap:{type:n},showTrendlines:{type:n},showTrendlineLabels:{type:n},showLabels:{type:n},rotateLabels:{type:n},slantLabel:{type:n},showAxisValues:{type:n},showTooltip:{type:n},maxLabelHeight:{type:n},useroundedges:{type:n,pAttr:"useroundedges"},placevaluesinside:{type:n},plotpaddingpercent:{type:n},use3dlighting:{type:n,
pAttr:"use3dlighting"},usedataplotcolorforlabels:{type:n},plotspacepercent:{type:n,parser:function(f){return C(f.plotspacepercent%100,0)}},ratio:{pAttr:"plotfillratio"},base:{type:n},showMinorDivLineValues:{type:n},numMinorDivLines:{type:n},majorTMNumber:{type:n},majorTMHeight:{type:n},showTickMarks:{type:n},majorTMThickness:{type:n},adjustTM:{type:E},minorTMNumber:{type:n},minorTMThickness:{type:n},tickMarkDistance:{type:n},placeTicksInside:{type:n},placeValuesInside:{type:n},axisValuePadding:{type:n},
gridLineWidth:{type:n},showRadarBorder:{type:n},radarBorderThickness:{type:n},maxcolwidth:{type:n,parser:function(f){return Math.abs(f.maxcolwidth)}},maxbarheight:{type:n,parser:function(f){return Math.abs(f.maxbarheight)}},plotborderalpha:{parser:function(f,m){return m.plotborderalpha||f.plotfillalpha}},autoscale:{type:n},plotborderdashlen:{type:n,pAttr:"plotborderdashlen"},plotborderdashgap:{type:n,pAttr:"plotborderdashgap"},plotfillratio:{pAttr:"plotfillratio"},drawverticaljoins:{type:n,pAttr:"drawverticaljoins"},
useforwardsteps:{type:n,pAttr:"useforwardsteps"},minimizetendency:{type:n},usepercentdistribution:{type:n},stepatmiddle:{type:n}}}]);FusionCharts.register("module",["private","modules.renderer.js-lib",function(){var f=this,m=f.window,C,n=m.document,E=m.navigator,F=!(!m.SVGAngle&&!n.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),K=/msie/i.test(E.userAgent)&&!m.opera,a=m.parseFloat,O=/\s+/g,d=/^#?/,l=/^rgba/i,N=/[#\s]/ig,ba=/\{br\}\s*/ig,v=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,
t=Math.abs,q=Math.pow,c=Math.round,A=q(2,-24),P=Object.prototype.toString,e="ontouchstart"in n,E=e&&!(E.maxTouchPoints||E.msMaxTouchPoints),r="http://www.fusioncharts.com?BS=FCHSEvalMark&utm_source=FCS_trial&pver="+escape(f.core.version),G=!/fusioncharts\.com$/i.test(m.location.hostname);C=Math;var w=C.max,L=C.min,I=m.Image,fa={pageX:0,pageY:0},aa="createTouch"in n,U=aa&&!(m.navigator.maxTouchPoints||m.navigator.msMaxTouchPoints),T=f.hcLib||(f.hcLib={}),ca=T.SvgDeCanvo,J=function(b){var k=b.data,
h=k.chart,z=h.components.paper,p=b.state,g=Na(hb(b.originalEvent)),a=g.target||g.originalTarget||g.srcElement||g.relatedTarget||g.fromElement,u=h.components.resizeBox,D=k.layerX=g.pageX-k.chartPosLeft,H=k.layerY=g.pageY-k.chartPosTop,c=D-k.ox,e=H-k.oy,d=k.bBox,f=k.ox,Y=k.oy,l=k.zoomX,q=k.zoomY,d=k.canvasY,r=k.canvasX,m=k.canvasW,B=k.canvasH,za=k.canvasX2,A=k.canvasY2,R=k.strokeWidth,c=k.attr;switch(p){case "start":b=wa(this);k.chartPosLeft=b.left;k.chartPosTop=b.top;D=g.pageX-k.chartPosLeft;H=g.pageY-
k.chartPosTop;k.oy=H;k.ox=D;k.allowMove=!1;u||(u=h.components.resizeBox=z.rect(h.graphics.trackerGroup).attr(c));D>r&&D<za&&H>d&&H<A&&(k.allowMove=!0);a&&a.ishot&&(k.allowMove=!1);u.attr({x:0,y:0,width:0,height:0}).show();break;case "end":d=u.getBBox();h={chart:h,selectionLeft:d.x,selectionTop:d.y,selectionHeight:d.height,selectionWidth:d.width,originalEvent:b.originalEvent};k.isDragged&&(k.selectionEnd&&k.selectionEnd(h),k.isDragged=0);u.hide();delete k.oy;delete k.ox;break;default:k.allowMove&&
(c=D-k.ox,e=H-k.oy,f=k.ox,Y=k.oy,k.isDragged||(h={chart:h,selectionLeft:(l?L(f,f+c):r)+.5*R,selectionTop:(q?L(Y,Y+e):d)+.5*R,selectionHeight:0,selectionWidth:0,originalEvent:b.originalEvent},k.selectionStart&&k.selectionStart(h),k.isDragged=1),c=-(f-L(f-(f-w(f+c,r)),za)),e=-(Y-L(Y-(Y-w(Y+e,d)),A)),u.attr({x:(l?L(f,f+c):r)+.5*R,y:(q?L(Y,Y+e):d)+.5*R,width:l?t(c):m,height:q?t(e):B}))}},ia=function(b){var k=b.data;b=b.originalEvent;var h=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,
z=b.type,p=b.layerX,g=b.layerY;void 0===p&&(p=b.pageX-k.chartPosLeft,g=b.pageY-k.chartPosTop);"mousedown"===z&&(h.ishot=p>k.canvasX&&p<k.canvasX2&&g>k.canvasY&&g<k.canvasY2);"mouseup"===z&&setTimeout(function(){h.ishot=!1},1)},B=function(){var b="innerWidth",k="innerHeight",h=n.documentElement||n.body,z=h;"innerWidth"in m?z=m:(b="clientWidth",k="clientHeight");return function(){return{width:z[b],height:z[k],scrollTop:h.scrollTop,scrollLeft:h.scrollLeft}}}(),wa=function(b,k){var h={left:b.offsetLeft||
0,top:b.offsetTop||0};for(b=b.offsetParent;b;)h.left+=b.offsetLeft||0,h.top+=b.offsetTop||0,b===n.body||b===n.documentElement||k||(h.left-=b.scrollLeft,h.top-=b.scrollTop),b=b.offsetParent;return h},Ja=function(b){return b&&b.replace(/\$/g,"$$$$")},sa=function(b,k){return b||!1===b||0===b?b:k},ha=function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if((b=arguments[k])||!1===b||0===b)return b;return""},ga=function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if((b=arguments[k])||!1===b||0===
b)return b},Y=function(b,k,h,z){return T.dem.listen(b,k,h,z)},za=function(b,k,h){return T.dem.unlisten(b,k,h)},hb=function(b){b=b.sourceEvent||b.originalEvent||b;return e&&b&&b.touches&&b.touches[0]||b||fa},Na=function(){var b;return function(k){void 0===k.pageX&&(k.pageX=k.clientX+(b||(b=m.document.body||m.document.documentElement)).scrollLeft,k.pageY=k.clientY+b.scrollTop);return k}}(),Ba=function(b,k){k=Na(hb(k));var h=k.pageX,z=k.pageY,p=wa(b);return{chartX:h-p.left,chartY:z-p.top,pageX:h,pageY:z}},
Ia=function(b,k,h){b=n.createElement(b);for(var z in k)b.setAttribute(z,k[z]);h&&h.appendChild&&h.appendChild(b);return b},Oa=function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none"},Da=function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if(((b=arguments[k])||!1===b||0===b)&&!isNaN(b=Number(b)))return b},fb=function(b,k){b=b||!1===b||0===b?Number(b):NaN;return isNaN(b)?null:k?t(b):b},La=function(b){return"string"===typeof b?b.replace(ba,"<br />"):""},Va=function(b,k){b=b.split(",")[k||
0];b=b.replace(O,"");""==b&&(b="000000");return b.replace(d,"#")},Qa=function(b){b=parseInt(b,10);if(isNaN(b)||100<b||0>b)b=100;return b},qa=function(b,k){for(var h=k.length,z=-1;h--;)if(b===k[h]){z=h;break}return z},kb=function(){if(Array.isArray)return Array.isArray;var b=Object.prototype.toString,k=b.call([]);return function(h){return b.call(h)===k}}(),ma=function(b,k,h,z,p){var g,a,u,D;p?(z.push(b),p.push(k)):(z=[b],p=[k]);if(k instanceof Array)for(g=0;g<k.length;g+=1){try{a=b[g],u=k[g]}catch(H){continue}if("object"!==
typeof u)h&&void 0===u||(b[g]=u);else{if(null===a||"object"!==typeof a)a=b[g]=u instanceof Array?[]:{};D=qa(u,p);-1!==D?a=b[g]=z[D]:ma(a,u,h,z,p)}}else for(g in k){try{a=b[g],u=k[g]}catch(H){continue}if(null!==u&&"object"===typeof u)if(D=P.call(u),"[object Object]"===D){if(null===a||"object"!==typeof a)a=b[g]={};D=qa(u,p);-1!==D?a=b[g]=z[D]:ma(a,u,h,z,p)}else"[object Array]"===D?(null!==a&&a instanceof Array||(a=b[g]=[]),D=qa(u,p),-1!==D?a=b[g]=z[D]:ma(a,u,h,z,p)):b[g]=u;else b[g]=u}return b},Ha=
function(b,k,h){if("object"!==typeof b&&"object"!==typeof k)return null;if("object"!==typeof k||null===k)return b;"object"!==typeof b&&(b=k instanceof Array?[]:{});ma(b,k,h);return b},Sa=function(b,k){var h;if(k instanceof Array)for(h=k.length-1;0<=h;--h)"object"!==typeof k[h]?!0===k[h]&&b&&b.splice&&b.splice(h,1):P.call(k[h])===P.call(b[h])&&Sa(b[h],k[h]);else for(h in k)"object"!==typeof k[h]?!0===k[h]&&b&&b.splice&&b.splice(h,1):P.call(k[h])===P.call(b[h])&&Sa(b[h],k[h]);return b},Ea=function(){var b=
/^@window_/g;return function(k,h){var z=k.replace(/\[[\'\"]/g,".").replace(/[\'\"]\]/g,"").replace(/\[/g,".@window_").replace(/\]/g,"").split("."),p=m,g,a;a="";var u,D,H;D=z.length;for(H=0;H<D;H+=1){u=z[H];g=p;if(u.match(b))a=m[u.replace(b,"")],p=p[a];else{if(void 0===p||null===p)throw(a||u).replace(b,"")+" is not defined";p=p[u]}a=u}!p||"function"!==typeof p.call&&p!==m.alert?setTimeout(function(){throw u.replace(b,"")+"() is not a function";},0):p===m.alert?p(h):p.call(g,h)}}(),nb=function(){var b=
"FusionChartslinkEval"+parseInt(+new Date,10);return function(k){try{m[b]=new Function(k),eval('window["'+b+'"]();')}catch(h){setTimeout(function(){throw h;},0)}F?delete m[b]:m[b]=null}}(),rb=function(b){var k={image:!1};void 0!==b&&(b=b.replace(/^\s+/,"").replace(/\s+$/,""),/^i\s*[\-]\s*/i.test(b)?(k.image=!0,k.string=b.replace(/^i\s*[\-]\s*/i,"")):k.string=b.replace(/^\\/,""));return k},Gb=function(b,k){b=Number(b);b=isNaN(b)?100:b;void 0!==k&&(b=b*k/100);return b%101},Ab=function(b,k,h){b=b.split(",");
var z;void 0!==h&&(h=Da(h.split(",")[0]));b[0]=Gb(b[0],h);for(z=1;z<k;z+=1)b[z]=b[0]*Gb(b[z],h)/100;return b.join(",")},Fb=function(b,k,h){var z=0,p=0,g=0;h&&h.match(l)&&(h=h.split(","),z=h[0].slice(h[0].indexOf("(")+1),p=h[1],g=h[2],k||0===k||(k=parseInt(100*h[3].slice(0,h[3].indexOf(")")),10)));if(b)if(b.match(l))h=b.split(","),z=h[0].slice(h[0].indexOf("(")+1),p=h[1],g=h[2];else{b=b.replace(N,"").split(",")[0];switch(b.length){case 3:b=b.charAt(0)+b.charAt(0)+b.charAt(1)+b.charAt(1)+b.charAt(2)+
b.charAt(2);break;case 6:break;default:b=(b+"FFFFFF").slice(0,6)}z=parseInt(b.slice(0,2),16);p=parseInt(b.slice(2,4),16);g=parseInt(b.slice(4,6),16)}k||0===k||(k=100);"string"===typeof k&&(k=k.split(",")[0]);k=parseInt(k,10)/100;return"rgba("+z+","+p+","+g+","+k+")"},wb=function(){var b={};return function(k){var h=(k=k||this)&&k.FCcolor||k,z=h.color,p=h.ratio,g=h.angle,u=h.alpha,na=h.r,D=h.cx,H=h.cy,c=h.fx,e=h.fy,d=h.gradientUnits,f=h.x1,Y=h.y1,l=h.x2,w=h.y2,q=1,r,m,B,za;if("string"===typeof k)return b[za=
"~"+k]||(b[za]=k.replace(/^#?([a-f0-9]{3,6})/ig,"#$1"));z=z||"";if(!z)return r;za=[z,u,p,g,na,D,H,d,c,e,f,l,Y,w].join("_").replace(/[\(\)\s,\xb0#]/g,"_");if(b[za])return b[za];p=p&&(p+"").split(",")||[];u=(u||0===u)&&(u+"").split(",")||[];if(z=z.split(","))if(r="",1===z.length)B=z[0].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),r=u.length?"rgba("+Ya(B).join(",")+","+.01*a(u[0])+")":B.replace(/^#?([a-f0-9]{3,6})/ig,"#$1");else{k=0;for(m=z.length;k<m;k++)B=z[k].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),isNaN(p[k])||
(p[k]=a(p[k]),B+=":"+p[k],isNaN(p[k+1])||(p[k+1]=a(p[k+1])+p[k])),isNaN(u[k])||""===u[k]||(q=.01*u[k]),z[k]="rgba("+Ya(B).join(",")+","+q+")",isNaN(p[k])||(z[k]=z[k]+":"+p[k]);r+=z.join("-");if(void 0!==na||void 0!==c||void 0!==D||h.radialGradient)r="xr("+[c,e,na,D,H,d].join()+")"+r;else{r="-"+r;if(void 0!==f||void 0!==Y||void 0!==l||void 0!==w)r="("+[f,Y,l,w,d].join()+")"+r;void 0===g&&(g=0);r=360-a(g)%360+r}}return b[za]=r}}(),Ra=function(){return function(){return""}}(),Za=function(b){return b.replace(N,
"").replace(d,"#")},ab=function(b,k){k=(0>k||100<k?100:k)/100;b=b.replace(N,"");var h=parseInt(b,16),z=Math.floor(h/65536),p=Math.floor((h-65536*z)/256);return("000000"+(z*k<<16|p*k<<8|(h-65536*z-256*p)*k).toString(16)).slice(-6)},db=function(b,k){k=(0>k||100<k?100:k)/100;b=b.replace(N,"");var h=parseInt(b,16),z=Math.floor(h/65536),p=Math.floor((h-65536*z)/256);return("000000"+(256-(256-z)*k<<16|256-(256-p)*k<<8|256-(256-(h-65536*z-256*p))*k).toString(16)).slice(-6)},Ya=function(b){b=parseInt(b,16);
var k=Math.floor(b/65536),h=Math.floor((b-65536*k)/256);return[k,h,Math.floor(b-65536*k-256*h)]},ob=function(b,k){if("object"!==typeof b)return"";if(b.fontSize||b["font-size"])!b.fontSize&&b["font-size"]&&(b.fontSize=b["font-size"],delete b["font-size"]),b.lineHeight=(parseFloat(b.fontSize)||k||10)*T.lineHeightFactor+"px",delete b["line-height"];!b.lineHeight&&b["line-height"]&&(b.lineHeight=b["line-height"],delete b["line-height"]);return b.lineHeight},xb=function(b,k,h,z,p){var g=ha(b.labelbordercolor,
k.bordercolor,h.labelbordercolor,""),a=ga(b.labelbgcolor,k.bgcolor,h.labelbgcolor),u=Da(b.labelborderthickness,k.borderthickness,h.labelborderthickness,1);p=Da(h.usedataplotcolorforlabels,0)?p||z.color:z.color;g=g?Fb(g,Da(b.labelborderalpha,k.borderalpha,h.labelborderalpha,b.labelalpha,k.alpha,h.labelalpha,100)):"";b={fontFamily:ga(b.labelfont,k.font,h.labelfont,z.fontFamily),fontSize:ga(b.labelfontsize,k.fontsize,h.labelfontsize,parseInt(z.fontSize,10))+"px",color:Fb(ga(b.labelfontcolor,k.fontcolor,
h.labelfontcolor,p),Da(b.labelfontalpha,k.fontalpha,h.labelfontalpha,b.labelalpha,k.alpha,h.labelalpha,100)),fontWeight:Da(b.labelfontbold,k.fontbold,h.labelfontbold)?"bold":"normal",fontStyle:Da(b.labelfontitalic,k.fontitalic,h.labelfontitalic)?"italic":"normal",border:g||a?u+"px solid":"",borderColor:g,borderThickness:u,borderPadding:Da(b.labelborderpadding,k.borderpadding,h.labelborderpadding,2),borderRadius:Da(b.labelborderradius,k.borderradius,h.labelborderradius,0),backgroundColor:a?Fb(a,Da(b.labelbgalpha,
k.bgalpha,h.labelbgalpha,b.labelalpha,k.alpha,h.labelalpha,100)):"",borderDash:Da(b.labelborderdashed,k.borderdashed,h.labelborderdashed,0)?Ma(Da(b.labelborderdashlen,k.borderdashlen,h.labelborderdashlen,4),Da(b.labelborderdashgap,k.borderdashgap,h.labelborderdashgap,2),u):"none"};b.lineHeight=ob(b);return b},ib=function(){var b={top:{align:"center",verticalAlign:"top",textAlign:"center"},right:{align:"right",verticalAlign:"middle",textAlign:"left"},bottom:{align:"center",verticalAlign:"bottom",textAlign:"center"},
left:{align:"left",verticalAlign:"middle",textAlign:"right"}},k=/([^\,^\s]+)\)$/g,h=function(b,k){var h;/^(bar|bar3d)$/.test(b)&&(this.isBar=!0,this.yPos="bottom",this.yOppPos="top",this.xPos="left",this.xOppPos="right");h=parseInt(k.labelstep,10);this.labelStep=1<h?h:1;this.showLabel=Da(k.showlabels,k.shownames,1);this.is3D=/3d$/.test(b)};h.prototype={isBar:!1,yPos:"left",yOppPos:"right",xPos:"bottom",xOppPos:"top",addAxisGridLine:function(h,p,g,a,u,D,H,c){var e=""===g?!1:!0,d=0<a||0<D.match(k)[1]?
!0:!1,f;if(e||d)d||(D="rgba(0,0,0,0)",a=.1),f={isGrid:!0,width:a,dashStyle:u,color:D,value:p,zIndex:void 0===H?2:H},e&&(p=h.opposite?c?this.xOppPos:this.yOppPos:c?this.xPos:this.yPos,p=b[p],f.label={text:g,style:h.labels.style,textAlign:p.textAlign,align:p.align,verticalAlign:p.verticalAlign,rotation:0,x:0,y:0}),h.plotLines.push(f);return f},addAxisAltGrid:function(b,k){if(!this.is3D){var h=Da(b._lastValue,b.min),M=ga(b._altGrid,!1);M&&b.plotBands.push({isGrid:!0,color:b.alternateGridColor,to:k,from:h,
zIndex:1});b._lastValue=k;b._altGrid=!M}},addXaxisCat:function(k,h,g,a,u,D,H,c){var e=b[k.opposite?this.xOppPos:this.xPos];h={isGrid:!0,isDataLabel:!0,width:.1,color:"rgba(0,0,0,0)",value:h,label:{text:a,link:ga(u.labellink,D.link,H.labellink),style:xb(u,D,H,k.labels.style,c),textAlign:e.textAlign,align:e.align,verticalAlign:e.verticalAlign,rotation:0,x:0,y:0}};0!==g%this.labelStep&&(h.stepped=!0,h.label.style=k.steppedLabels.style);k.plotLines.push(h)},addVline:function(b,k,h,M){M=M._FCconf;var a=
M.isBar,u=M.divlineStyle,D=La(k.label),H=!!Da(k.showlabelborder,M.showVLineLabelBorder,1),c=!!Da(k.showlabelbackground,1),e=ga(k.labelhalign,a?"left":"center"),d=ga(k.labelvalign,a?"middle":"bottom").toLowerCase(),f=Da(k.labelposition,0),Y=Da(k.lineposition,.5),l=Da(k.showvlines,M.showVLines,1),r=Da(k.alpha,M.vLineAlpha,80),w=ga(k.color,M.vLineColor).replace(/^#?/,"#"),q=c?ga(k.labelbgcolor,M.vLineLabelBgColor,"333333").replace(/^#?/,"#"):"",m=ga(k.labelcolor,M.vLineLabelColor,k.color,M.vLineColor).replace(/^#?/,
"#"),B=Da(k.thickness,M.vLineThickness,1),za=.5*B,A=!!Number(ga(k.dashed,0)),t=Da(k.dashlen,5),v=Da(k.dashgap,2),G=M.smartLabel,n=parseInt(u.fontSize,10)+2,I=0,J=Da(k.rotatelabel,M.rotateVLineLabels)?270:0,Y=0>Y||1<Y?.5:Y,f=0>f||1<f?0:f;G.setStyle(u);G=G.getOriSize(D);w=Fb(w,l?r:"0");if(a){switch(d){case "top":n-=G.height+za+2;break;case "middle":n-=.5*G.height+1;break;default:n+=za}k.labelhalign||(I-=G.width*f)}else{switch(d){case "top":n=.5*-G.height+1;break;case "middle":n=0;break;default:n=.5*
G.height}switch(e){case "left":I+=B;break;case "right":I-=B+1}}b.plotLines.push({isVline:!0,color:w,width:B,value:h-1+Y,zIndex:Da(k.showontop,M.showVLinesOnTop)?5:3,dashStyle:A?Ma(t,v,B):"none",label:{text:D,align:a?"left":"center",offsetScale:f,rotation:J,y:n,x:I,textAlign:e,backgroundColor:q,borderWidth:l&&H?1:0,borderType:l&&H?"solid":"",borderColor:l&&H?m:"",backgroundOpacity:l&&c?ga(k.labelbgalpha,M.vLineLabelBgAlpha)/100:0,style:{color:l?m:w,fontSize:u.fontSize,fontFamily:u.fontFamily,lineHeight:u.lineHeight,
backgroundColor:q}}})}};return h.prototype.constructor=h}(),Ka=function(){var b=function(b,h,g,M,a){b=Math.abs(h-b);h=b/(g+1);k(b,g,M)||(a&&Number(h)/Number(M)<(1<M?2:.5)&&(M/=10),h=(Math.floor(h/M)+1)*M,b=h*(g+1));return b},k=function(b,k,g){return h(b/(k+1))>h(g)?!1:!0},h=function(b){b=Math.abs(b);b=String(b);var k=0,h=b.indexOf(".");-1!=h&&(k=b.length-h-1);return k};return function(h,p,g,a,u,D,H,c){var e,d,f,Y,l,w,r,q=0;h=!0===isNaN(h)||void 0===h?.1:h;p=!0===isNaN(p)||void 0===p?0:p;h===p&&0===
h&&(h=.1);d=Math.max(Math.floor(Math.log(Math.abs(p))/Math.LN10),Math.floor(Math.log(Math.abs(h))/Math.LN10));e=Math.pow(10,d);2>Math.abs(h)/e&&2>Math.abs(p)/e&&(d--,e=Math.pow(10,d));d=Math.floor(Math.log(h-p)/Math.LN10);f=Math.pow(10,d);0<h-p&&10<=e/f&&(e=f);d=(Math.floor(h/e)+1)*e;0>p?f=-1*(Math.floor(Math.abs(p/e))+1)*e:D?f=0:(f=Math.floor(Math.abs(p/e)-1)*e,f=0>f?0:f);u&&0>=h&&(d=0);u=g||0===g?!0:!1;D=a||0===a?!0:!1;h=!1===u||!0===u&&Number(g)<h&&h-Number(g)>A?d:Number(g);p=!1===D||!0===D&&Number(a)>
p&&Number(a)-p>A?f:Number(a);a=Math.abs(h-p);if(!1===D&&!1===u&&c)if(0<h&&0>p)for(g=!1,u=10<e?e/10:e,c=b(p,h,H,u,!1),D=c-(H+1)*u;!1===g;){if(D+=(H+1)*u,k(D,H,u))if(c=D-a,d=D/(H+1),Y=Math.min(Math.abs(p),h),f=Y==Math.abs(p)?-1:1,0===H)g=!0;else for(w=1;w<=Math.floor((H+1)/2);w++)l=d*w,!(l-Y>c)&&l>Y&&(r=D-l,r/d==Math.floor(r/d)&&l/d==Math.floor(l/d)&&(a=D,h=-1==f?r:l,p=-1==f?-l:-r,g=!0))}else g=b(p,h,H,e,!0),c=g-a,a=g,0<h?h+=c:p-=c;else c&&(g=function(b,h,g){for(var z=0,p=1,M;;){M=b+z*p;M=0===M?1:M;
if(k(h,M,g))break;z=-1==p||z>b?++z:z;if(25<z){M=0;break}p=z<=b?-1*p:1}return M},0<H&&(c=g(H,a,e),0===c&&(c=g(H,a+1,e),q=1),H=c));return{Max:h,Min:p,Range:a,interval:e,divGap:(h-p+q)/(H+1)}}}(),ub=function(){var b=function(b,h,z){var p=z.jsVars&&z.jsVars.smartLabel,g=b.offsetWidth,M=b.offsetHeight,a=this.chart;b=this.title;var u=z._chartMessageImageStyle,D=rb(h);b.y=M/2;b.x=g/2;a.bgSWF=b.text=void 0;h=D.string;D.image?(a.bgSWF=h,a.bgImageHAlign=u.imageHAlign,a.bgImageVAlign=u.imageVAlign,a.bgImageScale=
u.imageScale,a.bgSWFAlpha=u.imageAlpha):void 0!==h&&(p?(ob(b.style),p.setStyle(b.style),h=p.getSmartText(La(h),g,M),b.text=h.text):b.text=La(h),b.verticalAlign="middle");b.style=z._chartMessageStyle;delete z._chartMessageImageStyle;delete z._chartMessageStyle};b.prototype={chart:{events:{},margin:[0,0,0,0],backgroundColor:{FCcolor:{alpha:0}}},credits:{href:r,text:"FusionCharts XT Trial",enabled:G},legend:{enabled:!1},title:{text:"",style:{fontFamily:"Verdana,sans",fontSize:"10px",color:"#666666"}},
plotOptions:{series:{}},series:[{}],exporting:{enabled:!1},nativeMessage:!0};return b.prototype.constructor=b}(),vb={"true":{"true":{"true":"center","false":"center"},"false":{"true":"center","false":"center"}},"false":{"true":{"true":"right","false":"left"},"false":{"true":"left","false":"right"}}},bb=function(){return function(b,k,h,z,p,g,a){var u,D=h.trendStyle,H,c,e,d,f,Y,l,r,w,q,m,B,za,A=g?"xAxis":"dataLabels";if(g?h.showVLines:h.showTrendlines)for(u=0,c=b.length;u<c;u+=1)if((za=b[u])&&za.line)for(H=
0,e=za.line.length;H<e;H+=1)d=za.line[H],q=h.numberFormatter.getCleanValue(ga(d.startvalue,d.value,0)),m=h.numberFormatter.getCleanValue(ga(d.endvalue,ga(d.startvalue,d.value,0))),g?r=k:z&&d.parentyaxis&&/^s$/i.test(d.parentyaxis)?(r=k[1],B=1):r=k[0],Y=r.max,l=r.min,f=!1,Y>=q&&Y>=m&&l<=q&&l<=m&&(z&&d.parentyaxis&&/^s$/i.test(d.parentyaxis)?f="1"!==ga(d.valueonleft,h.trendlineValuesOnOpp):z||(f="1"===ga(d.valueonright,h.trendlineValuesOnOpp)),Y=!!Da(d.istrendzone,g?1:0),(l=(g?h.showVLineLabels:h.showTrendlineLabels)?
La(ga(d.displayvalue,h.numberFormatter[A](f?m:q,B))):"")?(w=q<m,f={text:l,textAlign:p?"center":f?"left":"right",align:p?vb[Y][!a][w]:f?"right":"left",verticalAlign:p?"bottom":"middle",rotation:0,x:0,y:0,style:D},l=ga(d.color,h.trendlineColor),d.alwaysVisible=Y,l&&(f.style=Ha({},D),f.style.color=Fb(l,Da(d.alpha,100)))):f=void 0,l=sa(La(ga(d.tooltext,za.tooltext,h.trendLineToolText))),l=lb(l,[7,15,16,17,18,19],{startValue:q,startDataValue:h.numberFormatter[A](q,B),endValue:m,endDataValue:h.numberFormatter[A](m,
B),axisName:r.title&&r.title.text},d),w=Da(d.thickness,h.trendlineThickness,1),Y?r.plotBands.push({isTrend:!0,color:Fb(ga(d.color,h.trendlineColor),ga(d.alpha,h.trendlineAlpha,40)),from:q,to:m,label:f,zIndex:h.is3d||"1"!==ga(d.showontop,h.showTrendlinesOnTop)?3:5,tooltext:l,alwaysVisible:d.alwaysVisible}):r.plotLines.push({isTrend:!0,color:Fb(ga(d.color,h.trendlineColor,h.trendlineColor),ga(d.alpha,h.trendlineAlpha,99)),value:q,to:m,width:w,dashStyle:"1"==ga(d.dashed,h.trendlinesAreDashed)?Ma(Da(d.dashlen,
h.trendlinesDashLen),Da(d.dashgap,h.trendlinesDashGap),w):"none",label:f,zIndex:h.is3d||"1"!==ga(d.showontop,h.showTrendlinesOnTop)?3:5,tooltext:l}))}}(),Ma=function(b,k,h,z){return z||void 0===z?[b,k]:"none"},Ga=function(){},Pa=function(b,k,h,z,p){var g,a=Pa[b],u;a||(u=function(){},u.prototype=h instanceof Ga?h:new Ga,u.prototype.constructor=u,a=Pa[b]=new u,h&&(a.base=h),a.name=b,a.config={},null!==p&&(b=(p instanceof Ga?p:h instanceof Ga?h:{}).config)&&Ha(a.config,b));z&&Ha(a.config,z);for(g in k)switch(typeof k[g]){case "object":if(k[g]instanceof
Ga){a[g]=k[g][g];break}default:a[g]=k[g];break;case "undefined":delete a[g]}return this instanceof Pa?(k=function(){this.config={};this.__setDefaultConfig=function(){a&&a.config&&Ha(this.config,a.config)};this.__setDefaultConfig()},k.prototype=a,k.prototype.constructor=k,new k):a},lb=function(){var b=[{regex:/((^|[^\\])((\\)\\)*\$cleanvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cleanvalue))/ig,argIndex:2,argKey:"cleanvalue"},{regex:/((^|[^\\])((\\)\\)*\$datavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datavalue))/ig,
argIndex:2,argKey:"formattedValue"},{regex:/((^|[^\\])((\\)\\)*\$value)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$value))/ig,argIndex:3,argKey:"value"},{regex:/((^|[^\\])((\\)\\)*\$label)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$label))/ig,argIndex:2,argKey:"label"},{regex:/((^|[^\\])((\\)\\)*\$seriesname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$seriesname))/ig,argIndex:5,argKey:"seriesname"},{regex:/((^|[^\\])((\\)\\)*\$yaxisname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yaxisname))/ig,argIndex:2,argKey:"yaxisName"},
{regex:/((^|[^\\])((\\)\\)*\$xaxisname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxisname))/ig,argIndex:2,argKey:"xaxisName"},{regex:/((^|[^\\])((\\)\\)*\$displayvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$displayvalue))/ig,argIndex:3,argKey:"displayvalue"},{regex:/((^|[^\\])((\\)\\)*\$xdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xdatavalue))/ig,argIndex:2,argKey:"xDataValue"},{regex:/((^|[^\\])((\\)\\)*\$ydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$ydatavalue))/ig,argIndex:2,argKey:"yDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$xvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xvalue))/ig,argIndex:3,argKey:"x"},{regex:/((^|[^\\])((\\)\\)*\$yvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yvalue))/ig,argIndex:3,argKey:"y"},{regex:/((^|[^\\])((\\)\\)*\$zvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zvalue))/ig,argIndex:3,argKey:"z"},{regex:/((^|[^\\])((\\)\\)*\$name)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$name))/ig,argIndex:3,argKey:"name"},{regex:/((^|[^\\])((\\)\\)*\$percentValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentValue))/ig,
argIndex:2,argKey:"percentValue"},{regex:/((^|[^\\])((\\)\\)*\$startValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startValue))/ig,argIndex:2,argKey:"startValue"},{regex:/((^|[^\\])((\\)\\)*\$startDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startDataValue))/ig,argIndex:2,argKey:"startDataValue"},{regex:/((^|[^\\])((\\)\\)*\$endValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endValue))/ig,argIndex:2,argKey:"endValue"},{regex:/((^|[^\\])((\\)\\)*\$endDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endDataValue))/ig,
argIndex:2,argKey:"endDataValue"},{regex:/((^|[^\\])((\\)\\)*\$axisName)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$axisName))/ig,argIndex:2,argKey:"axisName"},{regex:/((^|[^\\])((\\)\\)*\$cumulativevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativevalue))/ig,argIndex:2,argKey:"cumulativeValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativedatavalue))/ig,argIndex:2,argKey:"cumulativeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativePercentValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativePercentValue))/ig,argIndex:2,argKey:"cumulativePercentValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativepercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativepercentdatavalue))/ig,argIndex:2,argKey:"cumulativePercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$sum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sum))/ig,argIndex:2,argKey:"sum"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsum))/ig,argIndex:2,
argKey:"unformattedSum"},{regex:/((^|[^\\])((\\)\\)*\$targetvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetvalue))/ig,argIndex:2,argKey:"targetValue"},{regex:/((^|[^\\])((\\)\\)*\$targetdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetdatavalue))/ig,argIndex:2,argKey:"targetDataValue"},{regex:/((^|[^\\])((\\)\\)*\$processname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$processname))/ig,argIndex:2,argKey:"processName"},{regex:/((^|[^\\])((\\)\\)*\$start)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$start))/ig,
argIndex:2,argKey:"start"},{regex:/((^|[^\\])((\\)\\)*\$end)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$end))/ig,argIndex:2,argKey:"end"},{regex:/((^|[^\\])((\\)\\)*\$percentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentcomplete))/ig,argIndex:2,argKey:"percentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskpercentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskpercentcomplete))/ig,argIndex:2,argKey:"taskPercentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskstartdate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskstartdate))/ig,
argIndex:2,argKey:"taskStartDate"},{regex:/((^|[^\\])((\\)\\)*\$taskenddate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskenddate))/ig,argIndex:2,argKey:"taskEndDate"},{regex:/((^|[^\\])((\\)\\)*\$tasklabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tasklabel))/ig,argIndex:2,argKey:"taskLabel"},{regex:/((^|[^\\])((\\)\\)*\$date)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$date))/ig,argIndex:2,argKey:"date"},{regex:/((^|[^\\])((\\)\\)*\$percentofprevvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentofprevvalue))/ig,
argIndex:2,argKey:"percentOfPrevValue"},{regex:/((^|[^\\])((\\)\\)*\$sname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sname))/ig,argIndex:2,argKey:"sName"},{regex:/((^|[^\\])((\\)\\)*\$lname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lname))/ig,argIndex:2,argKey:"lName"},{regex:/((^|[^\\])((\\)\\)*\$fromid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromid))/ig,argIndex:2,argKey:"fromId"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},
{regex:/((^|[^\\])((\\)\\)*\$toid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toid))/ig,argIndex:2,argKey:"toId"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$fromxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxvalue))/ig,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromyvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromyvalue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromxdatavalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxdatavalue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromydatavalue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxvalue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toyvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toyvalue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxdatavalue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toydatavalue))/ig,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$openvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$openvalue))/ig,argIndex:2,argKey:"openValue"},{regex:/((^|[^\\])((\\)\\)*\$closevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closevalue))/ig,argIndex:2,argKey:"closeValue"},{regex:/((^|[^\\])((\\)\\)*\$highvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highvalue))/ig,argIndex:2,argKey:"highValue"},{regex:/((^|[^\\])((\\)\\)*\$lowvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowvalue))/ig,argIndex:2,argKey:"lowValue"},{regex:/((^|[^\\])((\\)\\)*\$opendatavalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$opendatavalue))/ig,argIndex:2,argKey:"openDataValue"},{regex:/((^|[^\\])((\\)\\)*\$closedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closedatavalue))/ig,argIndex:2,argKey:"closeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$highdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highdatavalue))/ig,argIndex:2,argKey:"highDataValue"},{regex:/((^|[^\\])((\\)\\)*\$lowdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowdatavalue))/ig,argIndex:2,argKey:"lowDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$maxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxvalue))/ig,argIndex:2,argKey:"maxValue"},{regex:/((^|[^\\])((\\)\\)*\$maxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxdatavalue))/ig,argIndex:2,argKey:"maxDataValue"},{regex:/((^|[^\\])((\\)\\)*\$minvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$minvalue))/ig,argIndex:2,argKey:"minValue"},{regex:/((^|[^\\])((\\)\\)*\$mindatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mindatavalue))/ig,argIndex:2,argKey:"minDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$q1)/ig,argIndex:2,argKey:"Q1"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ1)/ig,argIndex:2,argKey:"unformattedQ1"},{regex:/((^|[^\\])((\\)\\)*\$q3)/ig,argIndex:2,argKey:"Q3"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ3)/ig,argIndex:2,argKey:"unformattedQ3"},{regex:/((^|[^\\])((\\)\\)*\$median)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$median))/ig,argIndex:2,argKey:"median"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMedian)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMedian))/ig,
argIndex:2,argKey:"unformattedMedian"},{regex:/((^|[^\\])((\\)\\)*\$SD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$SD))/ig,argIndex:2,argKey:"SD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsd)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsd))/ig,argIndex:2,argKey:"unformattedsd"},{regex:/((^|[^\\])((\\)\\)*\$QD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$QD))/ig,argIndex:2,argKey:"QD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedQD))/ig,argIndex:2,
argKey:"unformattedQD"},{regex:/((^|[^\\])((\\)\\)*\$MD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$MD))/ig,argIndex:2,argKey:"MD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMD))/ig,argIndex:2,argKey:"unformattedMD"},{regex:/((^|[^\\])((\\)\\)*\$mean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mean))/ig,argIndex:2,argKey:"mean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},
{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$volumeValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeValue))/ig,argIndex:2,argKey:"volumeValue"},{regex:/((^|[^\\])((\\)\\)*\$volumeDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeDataValue))/ig,argIndex:2,argKey:"volumeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXValue))/ig,
argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYValue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXDataValue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYDataValue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromLabel))/ig,
argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXValue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYValue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXDataValue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYDataValue))/ig,
argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$tlLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlLabel))/ig,argIndex:5,argKey:"tlLabel"},{regex:/((^|[^\\])((\\)\\)*\$trlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trlabel))/ig,argIndex:5,argKey:"trLabel"},{regex:/((^|[^\\])((\\)\\)*\$bllabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$bllabel))/ig,argIndex:5,argKey:"blLabel"},
{regex:/((^|[^\\])((\\)\\)*\$brlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brlabel))/ig,argIndex:5,argKey:"brLabel"},{regex:/((^|[^\\])((\\)\\)*\$rowlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$rowlabel))/ig,argIndex:5,argKey:"rowLabel"},{regex:/((^|[^\\])((\\)\\)*\$columnlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$columnlabel))/ig,argIndex:5,argKey:"columnLabel"},{regex:/((^|[^\\])((\\)\\)*\$errorvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorvalue))/ig,argIndex:2,argKey:"errorValue"},
{regex:/((^|[^\\])((\\)\\)*\$errordatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errordatavalue))/ig,argIndex:2,argKey:"errorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentvalue))/ig,argIndex:2,argKey:"errorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentdatavalue))/ig,argIndex:2,argKey:"errorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorValue))/ig,argIndex:2,argKey:"horizontalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorDataValue))/ig,argIndex:2,argKey:"horizontalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorValue))/ig,argIndex:2,argKey:"verticalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorDataValue))/ig,
argIndex:2,argKey:"verticalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentValue))/ig,argIndex:2,argKey:"horizontalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentDataValue))/ig,argIndex:2,argKey:"horizontalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentValue))/ig,
argIndex:2,argKey:"verticalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentDataValue))/ig,argIndex:2,argKey:"verticalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xaxispercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxispercentvalue))/ig,argIndex:2,argKey:"xAxisPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$percentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentdatavalue))/ig,argIndex:2,
argKey:"percentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$trType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trType))/ig,argIndex:4,argKey:"trtype"},{regex:/((^|[^\\])((\\)\\)*\$tlType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlType))/ig,argIndex:4,argKey:"tltype"},{regex:/((^|[^\\])((\\)\\)*\$brType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brType))/ig,argIndex:4,argKey:"brtype"},{regex:/((^|[^\\])((\\)\\)*\$blType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$blType))/ig,argIndex:4,argKey:"bltype"},{regex:/((^|[^\\])((\\)\\)*\$colorRangeLabel)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$colorRangeLabel))/ig,argIndex:5,argKey:"colorRangeLabel"},{regex:/((^|[^\\])((\\)\\)*\$zdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zdatavalue))/ig,argIndex:2,argKey:"zDataValue"},{regex:/((^|[^\\])((\\)\\)*\$svalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$svalue))/ig,argIndex:3,argKey:"svalue"},{regex:/((^|[^\\])((\\)\\)*\$positiveErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$positiveErrorValue))/ig,argIndex:2,argKey:"positiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$negativeErrorValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$negativeErrorValue))/ig,argIndex:2,argKey:"negativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$datasvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datasvalue))/ig,argIndex:2,argKey:"formattedsValue"}],k=[],h,z=b.length;for(h=0;h<z;h+=1)k.push(h);return function(){var h=arguments[0],g=arguments[1],z,a,u,D,H;kb(g)||(g=k);if(h)for(H=g.length,D=0;D<H;D+=1)if(u=b[g[D]])z=Ja(sa((a=arguments[u.argIndex])&&a[u.argKey],"")+""),h=h.replace(u.regex,"$2$4"+(u.parsingMethod?
u.parsingMethod(z):z)),h=h.replace(u.escapeRegex,"$2$4$5");return h}}(),jb=function(){var b=n.createElement("canvas");return!(!b.getContext||!b.getContext("2d"))},yb=function(b){var k,h,z;k=0<=b.split(",")[0].indexOf("base64")?m.atob(b.split(",")[1]):m.unescape(b.split(",")[1]);b=b.split(",")[0].split(":")[1].split(";")[0];h=new Uint8Array(k.length);for(z=0;z<k.length;z++)h[z]=k.charCodeAt(z);return new m.Blob([h],{type:b})},gb=function(){var b=m.navigator.userAgent,k;return-1!==(k=b.indexOf("Edge"))?
{name:"Edge",version:b.substring(k+5,k+11)}:-1!==(k=b.indexOf("Chrome"))?{name:"Chrome",version:b.substring(k+7,k+11)}:-1!==(k=b.indexOf("MSIE"))?{name:"ie",version:b.substring(k+5,k+9)}:-1!==(k=b.indexOf("rv"))&&-1!==b.indexOf("Trident")?{name:"ie",version:b.substring(k+5,k+9)}:-1!==(k=b.indexOf("Firefox"))?{name:"Firefox",version:b.substring(k+8,k+12)}:-1!==(k=b.indexOf("Safari"))?{name:"Safari",version:b.substring(k+7,k+11)}:{name:"default",version:"Not Known"}},Db=function(b){return b.replace(/<image [^\>]*\>/gi,
function(b){return b.match(/href=["']\s*["']/)||b.match(/href=["']http:\/\/|href=["']https:\/\//)&&/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]&&m.location.hostname!==/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]?"":b})},Bb=function(b,k,h){var z=gb(),p;"Chrome"===z.name||"Firefox"===z.name?("blob"===b&&(k=m.URL.createObjectURL(k)),p=n.createElement("a"),p.download=h,p.href=k,n.body.appendChild(p),p.onclick=function(){p.parentNode.removeChild(p)},p.click()):"ie"!==
z.name&&"Edge"!==z.name||!m.navigator.msSaveBlob||(b="url"===b?yb(k):k,m.navigator.msSaveBlob(b,h))},mb=function(b,k){var h,z,p,g,a=k.exportTargetWindow,u=k.exportCallback,D=k.fusionCharts,H=k.paper,c=k.chartId;z=k.exportHandler;g=b.parameters;var e;if("download"===k.exportAction){/webkit/ig.test(m.navigator.userAgent)&&"_self"===a&&(a=p=c+"export_iframe",e||(e=p=Ia("IFRAME",{name:p,width:"1px",height:"1px"},n.body),p.style.cssText="position:absolute;left:-10px;top:-10px;"));z=Ia("form",{method:"POST",
action:z,target:a,style:"display:none;"},n.body);for(h in b)Ia("input",{type:"hidden",name:h,value:b[h]},z);z.submit();n.body.removeChild(z);z=void 0;h=g.match(/exportfilename=([^|]+)/)[1];g=g.match(/exportformat=([^|]+)/)[1];f.raiseEvent("exported",{DOMId:c,height:H.height,width:H.width,fileName:h+"."+g,statusCode:void 0,statusMessage:void 0,notice:void 0},D.chartInstance);return!0}g=new f.ajax(function(b){var h={};b.replace(RegExp("([^?=&]+)(=([^&]*))?","g"),function(b,k,g,z){h[k]=z});u&&m[u]&&
"function"===typeof m[u]&&m[u].call(m,h);f.raiseEvent("exported",h,D.chartInstance)},function(b){b={statusCode:0,statusMessage:"failure",error:b,DOMId:c,width:H&&H.width,height:H&&H.height};u&&m[u]&&"function"===typeof m[u]&&m[u].call(m,b);f.raiseEvent("exported",b,D.chartInstance,[b])});for(h in b)b.hasOwnProperty(h)&&(b[h]=encodeURIComponent(b[h]));g.post(z,b)},qb=function(b,k){var h=0,z,p=0,g;b=b.replace(/NS\d+:/gi,"xlink:");b=Db(b);-1===b.indexOf("<image ")?k(b):(z=b.match(/<image [^\>]*\>/gi).length,
b=b.replace(/<image [^\>]*\>/gi,function(a){a=a.replace(/(:href=")([^"]*)(")/gi,function(b,k,z,p){g=z;return k+"{{{"+h+"}}}"+p});var u=n.createElement("canvas"),D,H;D=u.getContext("2d");H=new I;H.src=g;H.ind=h;H.onload=function(){u.width=this.width;u.height=this.height;D.drawImage(this,0,0);var h=u.toDataURL("image/png");(new I).src=h;b=b.replace(new RegExp("\\{\\{\\{"+H.ind+"\\}\\}\\}","g"),h);p++;z===p&&k(b)};h++;return a}))},pb=function(b,k){qb(b,function(b){k("data:image/svg+xml;base64,"+m.btoa(m.unescape(encodeURIComponent('<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+
b))))})},b=function(){var a,k,h,z,p,g,u,D;if(this&&this!==m){this.disposing=!0;if(a=this.components)for(h in a)if(k=a[h],k instanceof Array)for(z=k.length,p=0;p<z;p++)(D=k[p])&&!this.disposing&&(D.dispose?D.dispose():b.call(D));else k&&!k.disposing&&(k.dispose?k.dispose():b.call(k));a=this.graphics;for(g in a)if(k=a[g])if(k.hide)k.hide(),k.followers&&k.followers[0]&&(k=k.followers[0].el)&&k.hide&&k.hide();else for(u in k)z=k[u],z.hide&&z.hide();for(h in this)delete this[h]}},u=function(b,k){return(b.pIndex||
0)-(k.pIndex||0)},D={},H=gb();H.hasCanvas=jb();H.hasSvg=F;f.registrars.component=function(b){var k,h,z,p,g,a,u,H,c;if(b&&b.length&&b[0]&&b[0].toLowerCase&&(a=b[0].toLowerCase(),H=D[a]||(D[a]={}),b[1]&&b[1].toLowerCase)){a=b[1].toLowerCase();if(2==b.length){if("undefined"===typeof H[a])return}else{z=H[a]=H[a]||{constructor:function(){this.config={};this.__setDefaultConfig=function(){z&&z.defConfig&&Ha(this.config,z.defConfig)};this.__setDefaultConfig()},defConfig:{}};p=z.constructor;c=z.defConfig;
"undefined"!==typeof b[3]&&(u=b[3].toLowerCase(),h=H[u]);if(u&&h){k=new h.constructor;p.prototype=k;p.prototype.constructor=p;u=b[2]||{};for(g in u)p.prototype[g]="undefined"!==typeof u[g]?u[g]:k[g];p.prototype.__base__=new h.constructor}else if(H[a])for(k in g=b[2],g)p.prototype[k]=g[k];else p.prototype=b[2],p.prototype.constructor=p;null!==b[5]&&("undefined"!==typeof b[5]&&(u=b[5].toLowerCase(),h=H[u]),h&&(h=h.defConfig,Ha(c,h)));"undefined"!==typeof b[4]&&Ha(c,b[4])}return H[a]&&H[a].constructor}};
f.core._setLineHeightFactor=function(b){!(b=a(b))||0>b||(T.lineHeightFactor=b)};T.ColorRange=C=function(b){this.linkedItems={iapi:b};this.configure()};C.prototype={configure:function(){var b=this.linkedItems.iapi,k=b.jsonData,h=k.colorrange&&Ha({},k.colorrange).color,k=L(w(Da(k.chart.palette,0)-1,0),4),k=b.defaultPaletteOptions&&b.defaultPaletteOptions.paletteColors[k||0]||T.defaultPaletteOptions.paletteColors[k||0],z=function(b,h){return b.minvalue-h.minvalue},p=b.components,g,a,u,D,H;delete this.defaultAsigned;
k instanceof Array||(k=p.colorManager.getPlotColor(0));if(h&&0<h.length){for(a=u=h.length-1;0<=a;--a)if(b=h[a])b.minvalue=p.numberFormatter.getCleanValue(b.minvalue),b.maxvalue=p.numberFormatter.getCleanValue(b.maxvalue),null===b.minvalue&&(null!==b.maxvalue?b.minvalue=b.maxvalue:a!==u&&h.splice(a,1)),void 0!==b.label&&(b.label=La(b.label)),void 0!==b.name&&(b.name=La(b.name)),null!==b.maxvalue&&b.minvalue>b.maxvalue&&(D=b.minvalue,b.minvalue=b.maxvalue,b.maxvalue=D);h.sort(z);h[0].code||(h[0].code=
k[0]);void 0===sa(h[0].alpha)&&(h[0].alpha="100");a=0;for(u=h.length-1;a<u;a+=1)if(p=a+1,b=h[a],z=h[p],z.code||(z.code=k[p]),void 0===sa(z.alpha)&&(z.alpha="100"),null===b.maxvalue&&(b.maxvalue=z.minvalue),b.maxvalue>z.minvalue){if(b.maxvalue>z.maxvalue){p=Ha(b);p.maxvalue=b.maxvalue;H=p.minvalue=z.maxvalue;for(D=a+2;D<u&&h[D].minvalue<H;D+=1);h.splice(D,0,p);u+=1}b.maxvalue=z.minvalue}b=h[a];null===b.maxvalue&&(b.maxvalue=b.minvalue)}h&&0<h.length||(g||(g={code:"CCCCCC",alpha:"100",bordercolor:"000000",
borderalpha:"100"}),h=[g],this.defaultAsigned=!0);this.colorArr=h},getColorObj:function(b){for(var k=this.colorArr,h=0,z=k.length,p,g,a={};h<z;h+=1){a.index=h;p=k[h];g=k[h+1];if(b<p.minvalue)return a.nextObj=p,a;if(b>=p.minvalue&&b<=p.maxvalue)return a.colorObj=p,g&&b==g.minvalue&&(a.nextObj=g,a.isOnMeetPoint=!0),a;a.prevObj=p}a.index=h-1;return a},getColorRangeArr:function(b,k){var h,z=this.colorArr,p,g,a=[],u,D;if(!this.defaultAsigned&&(b>k&&(h=b,b=k,k=h),b<k&&(p=this.getColorObj(b),g=this.getColorObj(k),
p&&g))){h=b;p=p.index;for(g=g.index;p<=g;p+=1)u=Ha({},z[p]),u.minvalue!==h&&(u.minvalue=h),a.push(u),D=u,h=u.maxvalue;D.maxvalue=k}return a}};C.prototype.constructor=C;T.nonGradientColorRange=C=function(b){var k=b.sortLegend||!1,h=b.mapByCategory||!1,z=b.numberFormatter;b=(b.colorRange||{}).color;var p=this.colorArr=[],g,a,u,D,H,c,e=function(b,h){return b.maxvalue-h.maxvalue};this.mapByCategory=h;if(b&&(g=b.length)){for(a=0;a<g;a+=1)D=b[a],u=ga(D.color,D.code),H=Da(D.maxvalue),c=Da(D.minvalue),D=
ga(D.label,D.displayvalue,h?"":z.dataLabels(c)+" - "+z.dataLabels(H)),(u&&H>c||h&&D)&&p.push({code:u,maxvalue:H,minvalue:c,label:La(D),labelId:D.toLowerCase()});p.length?k&&p.sort(e):this.noValidRange=!0}};C.prototype={getColorObj:function(b){var k=this.colorArr,h=this.gradient?1:0,z=k[h],p;if(this.mapByCategory){for(b=La(b).toLowerCase();z;){if(z.labelId===b)return{code:z.code,seriesIndex:h};h+=1;z=k[h]}return{outOfRange:!0}}if(this.gradient){if(this.scaleMin<=b&&this.scaleMax>=b){for(;z&&z.maxvalue<
b;)h+=1,z=k[h];b=(b-z.minvalue)/z.range;k=k[h-1].codeRGB;z=z.codeRGB;h=k[0];p=k[1];k=k[2];return{code:("000000"+(h+(z[0]-h)*b<<16|p+(z[1]-p)*b<<8|k+(z[2]-k)*b).toString(16)).slice(-6)}}return{outOfRange:!0}}for(;z;){if(z.maxvalue>b&&z.minvalue<=b)return{code:z.code,seriesIndex:h};z.maxvalue===b&&(p=h);h+=1;z=k[h]}return(z=k[p])&&z.maxvalue===b?{code:z.code,seriesIndex:p}:{outOfRange:!0}}};C.prototype.constructor=C;f.extend(T,{BLANKSTRINGPLACEHOLDER:"#BLANK#",BLANKSTRING:"",COLOR_BLACK:"000000",COLOR_GLASS:"rgba(255, 255, 255, 0.3)",
COLOR_WHITE:"FFFFFF",COLOR_TRANSPARENT:"rgba(0,0,0,0)",HASHSTRING:"#",BREAKSTRING:"<br />",STRINGSTRING:"string",OBJECTSTRING:"object",COMMASTRING:",",ZEROSTRING:"0",SAMPLESTRING:"Ay0",TESTSTR:"Ag",ONESTRING:"1",DECIMALSTRING:".",STRINGUNDEFINED:"undefined",POSITION_TOP:"top",POSITION_RIGHT:"right",POSITION_BOTTOM:"bottom",POSITION_LEFT:"left",POSITION_CENTER:"center",POSITION_MIDDLE:"middle",POSITION_START:"start",POSITION_END:"end",FC_CONFIG_STRING:"_FCconf",SHAPE_RECT:"rect",HUNDREDSTRING:"100",
PXSTRING:"px",COMMASPACE:", ",TEXTANCHOR:"text-anchor",TOUCH_THRESHOLD_PIXELS:15,CLICK_THRESHOLD_PIXELS:5,regex:{stripWhitespace:O,dropHash:d,startsRGBA:l,cleanColorCode:N,breakPlaceholder:ba,hexcode:/^#?[0-9a-f]{6}/i},fireEvent:function(b,k,h,z){T.dem.fire(b,k,h,z)},plotEventHandler:function(b,k,h){k=k||{};var z=k.type,p=Ba(b.linkedItems.container,k),p=Ha(p,this.data("eventArgs")),g=b.fireGroupEvent,a=this.data("groupId"),u=function(b,h){k.FusionChartsPreventEvent=!0;K&&h.toolText&&T.toolTip&&T.toolTip.preventTooltip()};
"index"in p&&!("dataIndex"in p)&&(p.dataIndex=p.index);"value"in p&&!("dataValue"in p)&&(p.dataValue=p.value);h=ga(h,"dataplotclick").toLowerCase();"dataplotrollover"===h?(k.FusionChartsPreventEvent=!1,g?f.raiseEventGroup(a,h,p,b.chartInstance,void 0,void 0,u):f.raiseEvent(h,p,b.chartInstance,void 0,void 0,u)):g&&"dataplotclick"!==h?f.raiseEventGroup(a,h,p,b.chartInstance):f.raiseEvent(h,p,b.chartInstance);if(("click"===z||"mouseup"===z||"touchend"===z)&&/click/i.test(h)){if(aa&&!U){h=(new Date).getTime();
if(this.lastClickTimeStamp&&400>h-this.lastClickTimeStamp){k&&(k.originalEvent||k).preventDefault();return}this.lastClickTimeStamp=h}b.linkedItems&&b.linkedItems.linkClickFN.call({link:p.link},b)}},getEventCoordinate:Na,getMouseCoordinate:Ba,addEvent:Y,removeEvent:za,getTouchEvent:hb,extend2:Ha,deltend:function(b,k){if("object"!==typeof b||"object"!==typeof k)return null;Sa(b,k);return b},imprint:function(b,k,h){var z;if("object"!==typeof b||null===b)return k;if("object"!==typeof k||null===k)return b;
for(z in k)if(void 0===b[z]||!h&&null===b[z])b[z]=k[z];return b},pluck:ga,pluckNumber:Da,getFirstDefinedValue:function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if((b=arguments[k])||!1===b||0===b||""==b)return b},createElement:Ia,hashify:Oa,dehashify:function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"$1")||"none"},pluckFontSize:function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if(((b=arguments[k])||!1===b||0===b)&&!isNaN(b=Number(b)))return 1>b?1:b;return 1},getValidValue:sa,getPosition:wa,
getViewPortDimension:B,bindSelectionEvent:function(b,k){k=k||{};var h=b.config,z=b.linkedItems.container,p=h.zoomType,g=Ha({},k.attr||{}),a=g["stroke-width"]=Da(g.strokeWidth,g["stroke-width"],1),u=wa(z),D=b.eventListeners||(b.eventListeners=[]);k=Ha({chart:b,zoomX:/x/.test(p),zoomY:/y/.test(p),canvasY:h.canvasTop,canvasX:h.canvasLeft,canvasW:h.canvasWidth,canvasH:h.canvasHeight,canvasX2:h.canvasLeft+h.canvasWidth,canvasY2:h.canvasTop+h.canvasHeight,strokeWidth:a,chartPosLeft:u.left,chartPosTop:u.top,
attr:g},k);g.stroke=ha(g.stroke,"rgba(51,153,255,0.8)");g.fill=ha(g.fill,"rgba(185,213,241,0.3)");g.ishot=!0;z&&(za(z,"pointerdrag",J),D.push(Y(z,"pointerdrag",J,k)));h.link&&(za(b.linkedItems.container,"mouseup mousedown",ia),D.push(Y(b.linkedItems.container,"mouseup mousedown",ia,k)))},createContextMenu:function(b){var k=b.chart,h=k.smartLabel,z=k.logic.hcJSON&&k.logic.hcJSON.chart.useRoundEdges,p=T.Raphael,g=function(b){var h=b.menufillcolor&&Oa(b.menufillcolor),k=b.menulabelcolor&&Oa(b.menulabelcolor),
g=b.menufillhovercolor&&Oa(b.menufillhovercolor);b=b.menulabelhovercolor&&Oa(b.menulabelhovercolor);return{attrs:{backgroundColor:h,color:k},hover:{backgroundColor:g,color:b}}}(k.definition.chart),a=function(b,h,k){h=h||{};b=(b=(b=b&&p.tintshade(b.color,.7))&&p.getRGB(b))&&"rgb("+[b.r,b.g,b.b].join()+")";return{backgroundColor:h.backgroundHoverColor||k.backgroundColor||b||"rgb(64, 64, 64)",color:h.hoverColor||k.color||"#FFFFFF"}}(b.basicStyle,b.hover,g.hover),u=function(b,h,k){h=Ha({},h||{});h=Ha(h,
b);return{fontFamily:h.fontFamily||"Verdana,sans",fontSize:h.fontSize||"10px",color:h.color||k.color||"#000000",backgroundColor:h.backgroundColor||k.backgroundColor||"rgb(255, 255, 255)"}}(b.basicStyle,b.attrs,g.attrs),D={textAlign:"left",align:"left",paddingLeft:"5px",paddingRight:"5px",paddingTop:"5px",cursor:"pointer",borderWidth:"0px"},H=b.items,c=b.position,e=b.verticalPadding||3,d=b.horizontalPadding||6,f={},Y,l,r,q,m,B,za,A,t,G,v,ga,I;if(k)Y=wa(k.linkedItems.container);else return!1;q=function(){var b=
f.items,k=b.length,g=0,p=0,a=0,M,H;f.menuItems||(f.menuItems=[]);for(h.setStyle(u);k--;)M=b[k],M=h.getOriSize(M.text),a||(a=M.height+2*e),g+=a,p=w(p,M.width+2*d);f.height=g;f.width=p;f.itemH=a;this.style.width=p+"px";f.menuRect||(g=f.menuRect=n.createElement("div"),g.style.border="1px solid rgb(100, 100, 100)",z&&(g.style.mozBorderRadius="4px",g.style.webkitBorderRadius="4px",g.style.borderRadius="4px",g.style.overflow="hidden"),K&&!F?g.style.filter="progid:DXImageTransform.Microsoft.Shadow(Color=#999999,direction=135,strength=3)":
(g.style.mozBoxShadow="3px 3px 3px #999",g.style.webkitBoxShadow="3px 3px 3px #999",g.style.boxShadow="3px 3px 3px #999"),this.appendChild(g));p=b.length;for(k=0;k<p;k+=1)if(M=b[k],f.menuItems[k])f.menuItems[k].label.innerHTML=M.text;else{f.menuItems[k]={};g=f.menuItems[k].box=n.createElement("div");g.style.height=a+"px";g.style.lineHeight=a+"px";for(H in D)g.style[H]=D[H];for(H in u)g.style[H]=u[H];f.menuRect.appendChild(g);g.innerHTML=M.text;T.dem.listen(g,"click",I);T.dem.listen(g,"pointerhover",
G);f.menuItems[k].box._itemIdx=k}for(;f.menuItems[k];)f.menuItems[k].box.parentNode.removeChild(f.menuItems[k].box),f.menuItems.splice(k,1)};m=function(){r||(r=n.createElement("div"),r.style.position="absolute",r.style.zIndex="50",r.style.display="none",k.linkedItems.container.appendChild&&k.linkedItems.container.appendChild(r));return r};B=function(){l=setTimeout(f.hide,800)};za=function(){l&&clearTimeout(l)};A=function(b){var h=b.x;b=b.y;var g={x:h,y:b},z=f.width,p=f.height,a=k.chartHeight,u=k.chartWidth;
h+z>u&&0<h-z?g.x-=z:h+z>u&&(g.x=0);b+p>a&&0<b-p&&(g.y-=p);return g};t=function(){f.hide()};G=function(b){b.target&&b.target.parentNode&&("start"===b.state?v:ga).call(b.target)};v=function(){var b=f.menuItems[this._itemIdx],h;za();for(h in a)b.box.style[h]=a[h]};ga=function(){var b=f.menuItems[this._itemIdx],h;for(h in u)b.box.style[h]=u[h];B()};I=function(b){var h=f.items[this._itemIdx];h.onclick&&h.onclick.call(h,b);b.originalEvent.stopPropagation?b.originalEvent.stopPropagation():b.originalEvent.cancelBubble=
!0;f.hide()};f.showItem=function(b){b=this.menuItems[b];var h=this.height,k=this.itemH;b&&b._isHidden&&(b.box.style.display="",this.height=h+k,b._isHidden=!1,b=A(c),this.left=b.x,this.top=b.y)};f.hideItem=function(b){b=this.menuItems[b];var h=this.height,k=this.itemH;b&&!b._isHidden&&(b.box.style.display="none",this.height=h-k,b._isHidden=!0,b=A(c),this.left=b.x,this.top=b.y)};f.redraw=function(){var b=this.menuContainer;this.items=H;b?q.call(this.menuContainer):c&&void 0!==c.x&&void 0!==c.y?(this.menuContainer=
m(),q.call(this.menuContainer),b=A(c),this.left=b.x,this.top=b.y,this.menuContainer.style.left=this.left+"px",this.menuContainer.style.top=this.top+"px"):(this.menuContainer=m(),q.call(this.menuContainer))};f.show=function(b){var h=this;b&&void 0!==b.x&&void 0!==b.y?(b=A(b),h.menuContainer.style.left=b.x+"px",h.menuContainer.style.top=b.y+"px"):(h.menuContainer.style.left=h.left+"px",h.menuContainer.style.top=h.top+"px");h.menuContainer.style.display="";setTimeout(function(){h.visible=!0;p.click(t)},
400)};f.hide=function(){this.visible&&(this.visible=!1,f.menuContainer.style.display="none",f.menuContainer.style.left=-f.width+"px",f.menuContainer.style.top=-f.height+"px",p.unclick(t))};f.update=function(b){b&&b.length&&(this.items=b,this.redraw())};f.updatePosition=function(b){var h=Y.left,g=Y.top;Y=wa(k.linkedItems.container);b?(c=b,b=A(b),this.left=b.x,this.top=b.y):(this.left-=h-Y.left,this.top-=g-Y.top)};f.add=function(b){var k=this.menuItems,g=k.length,z;h.setStyle(u);this.width=w(this.width,
h.getOriSize(b.text).width);k[g]={};k=k[g].box=n.createElement("div");k.style.height=this.itemH+"px";k.style.lineHeight=this.itemH+"px";for(z in D)k.style[z]=D[z];for(z in u)k.style[z]=u[z];f.menuRect.appendChild(k);k.innerHTML=b.text;T.dem.listen(k,"click",I);T.dem.listen(k,"pointerhover",G);f.menuItems[g].box._itemIdx=g;this.height+=this.itemH};f.removeItems=function(){for(var b=this.menuItems,h=b&&b.length,k;h--;)k=b[h],T.dem.unlisten(k.box,"click",I),T.dem.unlisten(k.box,"pointerhover",G),k.box&&
k.box.parentNode&&k.box.parentNode.removeChild(k.box);delete this.menuItems;delete this.items};f.setPosition=function(b){void 0!==b.x&&void 0!==b.y&&(this.menuContainer.style.x=b.x,this.menuContainer.style.y=b.y)};f.destroy=function(){this.removeItems();this.menuContainer.parentNode.removeChild(this.menuContainer)};H&&H.length&&(f.redraw(),f.hide());return f},each:function(b,k,h,z){var p;h||(h=b);z||(z={});if(kb(b))for(p=0;p<b.length;p+=1){if(!1===k.call(h,b[p],p,b,z))return p}else if(null!==b&&void 0!==
b)for(p in b)if(!1===k.call(h,b[p],p,b,z))return p},getDefinedColor:function(b,k){return b||0===b||""===b?b:k},getFirstValue:ha,getFirstColor:Va,getColorCodeString:function(b,k){var h="",z,p,g=0,a=k.split(",");for(p=a.length;g<p;g+=1)z=a[g].split("-"),h=2===z.length?"-1"!==z[0].indexOf("dark")?h+(db(b,100-parseInt(z[1],10))+","):h+(ab(b,100-parseInt(z[1],10))+","):h+(a[g]+",");return h.substring(0,h.length-1)},pluckColor:function(b){if(sa(b))return b=b.split(",")[0],b=b.replace(O,""),""==b&&(b="000000"),
b.replace(d,"#")},toRaphaelColor:wb,gradientify:Ra,trimString:function(b){b=b.replace(/^\s\s*/,"");for(var k=/\s/,h=b.length;k.test(b.charAt(--h)););return b.slice(0,h+1)},getFirstAlpha:Qa,parsePointValue:fb,parseUnsafeString:La,parseTooltext:lb,toPrecision:function(b,k){var h=q(10,k);return c(b*h)/h},hasTouch:E,CREDIT_HREF:r,CREDIT_STRING:"FusionCharts XT Trial",getSentenceCase:function(b){b=b||"";return b.charAt(0).toUpperCase()+b.substr(1)},getCrispValues:function(b,k,h){var z=h%2/2;h=c(b+z)-z;
b=c(b+k+z)-z-h;return{position:h,distance:b}},regescape:function(b){return b&&b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},regReplaceEscape:Ja,getImageURL:rb,isArray:kb,preDefStr:{colors:{B90000:"B90000",FFFFFF:"FFFFFF",AAAAAA:"AAAAAA",c000000:"000000"},defaultFontStr:"Verdana,sans",line:"line",bar:"bar",column:"column",volume:"volume",HUNDREDSTRING:"100",SEVENTYSTRING:"70",NINETYSTRING:"90",AUTOSTRING:"auto",configStr:"config",animationObjStr:"animationObj",showHoverEffectStr:"showHoverEffect",
hiddenStr:"hidden",visibleStr:"visible",columnStr:"columns",barStr:"bars",barHotStr:"bar-hot",colHotStr:"col-hot",shadowStr:"shadow",dataLabelStr:"datalabel",errorBarStr:"errorBar",errorHotStr:"error-hot",errorShadowStr:"error-shadow",negativeValueStr:"negative-values",positiveValueStr:"positive-values",zeroPlaneStr:"zero-plane",categoryPlotsStr:"categoryplots",noneStr:"NONE",setRolloverAttrStr:"setRolloverAttr",setRolloutAttrStr:"setRolloutAttr",elementStr:"element",hotElementStr:"hotElement",strokeWidthStr:"stroke-width",
strokeDashStr:"stroke-dasharray",strokeLineJoinStr:"stroke-linejoin",miterStr:"miter",visiblilityStr:"visibility",ROUND:"round",PERCENTAGESTRING:"%",pStr:"p",sStr:"s",divLineAlpha3DStr:"divLineAlpha3D",divLineAlphaStr:"divLineAlpha",altVGridColorStr:"altVGridColor",altVGridAlphaStr:"altVGridAlpha",altHGridColorStr:"altHGridColor",altHGridAlphaStr:"altHGridAlpha",PLOTFILLCOLOR_STR:"plotFillColor",UNDERSCORE:"_",gaugeFillColorStr:"gaugeFillColor",gaugeBorderColorStr:"gaugeBorderColor",NORMAL:"normal",
BOLD:"bold",POINTER:"pointer",POSITION_MIDDLE:"middle",POSITION_START:"start",POSITION_TOP:"top",POSITION_BOTTOM:"bottom",POSITION_END:"end"},stubFN:function(){},falseFN:function(){return!1},stableSort:function(b,k){var h=b.length,z;for(z=0;z<h;z++)b[z].ssI=z;b.sort(function(b,h){var z=k(b,h);return 0===z?b.ssI-h.ssI:z});for(z=0;z<h;z++)delete b[z].ssI},hasSVG:F,isIE:K,lineHeightFactor:1.2,getLinkAction:function(b,k){var h=function(b){return b};return function(z){var p=b.chart||b.map||{},g=Da(p.unescapelinks,
1),p=Da(p.clickurloverridesplotlinks,0),a=ha(this.link,"");z=z.config&&z.config.link||"";var u=p?ga(z,a):ga(a,z),D=u,H,c,e,d,Y,l,r,w,q,B;void 0!==u&&(g&&(u=m.decodeURIComponent?m.decodeURIComponent(u):m.unescape(u)),u=u.replace(/^\s+/,"").replace(/\s+$/,""),-1!==u.search(/^[a-z]*\s*[\-\:]\s*/i)&&(Y=u.split(/\s*[\-\:]\s*/)[0].toLowerCase(),B=Y.length),setTimeout(function(){var z;switch(Y){case "j":u=u.replace(/^j\s*\-/i,"j-");H=u.indexOf("-",2);-1===H?Ea(u.slice(2)):Ea(u.substr(2,H-2).replace(/\s/g,
""),u.slice(H+1));break;case "javascript":nb(u.replace(/^javascript\s*\:/i,""));break;case "n":u.replace(/^n\s*\-/i,"n-");m.open(h(u.slice(2),g));break;case "f":u=u.replace(/^f\s*\-/i,"f-");H=u.indexOf("-",2);-1!==H?(c=u.substr(2,H-2))&&m.frames[c]?m.frames[c].location=h(u.slice(H+1),g):m.open(h(u.slice(H+1),g),c):m.open(h(u.slice(2),g));break;case "p":u=u.replace(/p\s*\-/i,"p-");H=u.indexOf("-",2);e=u.indexOf(",",2);-1===H&&(H=1);d=h(u.slice(H+1),g);(z=m.open(d,u.substr(2,e-2),u.substr(e+1,H-e-1)))&&
z.focus();break;case "newchart":case "newmap":":"===u.charAt(B)&&(H=u.indexOf("-",B+1),q=u.substring(B+1,H),B=H);H=u.indexOf("-",B+1);l=u.substring(B+1,H).toLowerCase();switch(l){case "xmlurl":case "jsonurl":w=u.substring(H+1,u.length);break;case "xml":case "json":z=r=u.substring(H+1,u.length);var p={chart:{}},a;z=z.toLowerCase();if(b.linkeddata)for(a=0;a<b.linkeddata.length;a+=1)b.linkeddata[a].id.toLowerCase()===z&&(p=b.linkeddata[a].linkedchart||b.linkeddata[a].linkedmap);w=p;l="json"}f.raiseEvent("linkedChartInvoked",
{alias:q,linkType:l.toUpperCase(),data:w},k);break;default:m.location.href=u}f.raiseEvent("linkClicked",{linkProvided:D,linkInvoked:u,linkAction:Y&&Y.toLowerCase()},k)},0))}},graphics:{parseAlpha:Ab,convertColor:Fb,getDarkColor:ab,getLightColor:db,mapSymbolName:function(b,k){var h="circle";b=fb(b);3<=b&&(h=(k?"spoke_":"poly_")+b);return h},getColumnColor:function(b,k,h,z,p,g,a,u,D){var H,c;H=b.split(",");c=k.split(",");g=g.split(",");a=a.split(",");b=b.replace(/\s/g,"").replace(/\,$/,"");D?u={FCcolor:{color:H[0],
alpha:c[0]}}:p?(b=H[0],c=c[0],u={FCcolor:{color:ab(b,75)+","+db(b,10)+","+ab(b,90)+","+db(b,55)+","+ab(b,80),alpha:c+","+c+","+c+","+c+","+c,ratio:"0,11,14,57,18",angle:u?"90":"0"}},g=[ab(b,70)]):(k=Ab(k,H.length),u={FCcolor:{color:b,alpha:k,ratio:h,angle:u?-z:z}});return[u,{FCcolor:{color:g[0],alpha:a[0]}}]},getPointColor:function(b,k){var h,z;b=Va(b);k=Qa(k);h=db(b,70);z=ab(b,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:h+","+z,alpha:k+","+k,ratio:void 0,radialGradient:!0}}},
getAngle:function(b,k,h){b=180*Math.atan(k/b)/Math.PI;2==h?b=180-b:3==h?b+=180:4==h&&(b=360-b);return b},parseColor:Za,getValidColor:function(b){return v.test(Za(b))&&b},HSBtoRGB:function(b){var k=b[0],h=0,z=0,p=0,g=[],g=b[1]/100;b=b[2]/100;var a=k/60-Math.floor(k/60),u=b*(1-g),D=b*(1-a*g),g=b*(1-(1-a)*g);switch(Math.floor(k/60)%6){case 0:h=b;z=g;p=u;break;case 1:h=D;z=b;p=u;break;case 2:h=u;z=b;p=g;break;case 3:h=u;z=D;p=b;break;case 4:h=g;z=u;p=b;break;case 5:h=b,z=u,p=D}return g=[c(255*h),c(255*
z),c(255*p)]},RGBtoHSB:function(b){var k=b[0],h=b[1];b=b[2];var z=Math.max(Math.max(k,h),b),p=Math.min(Math.min(k,h),b),g=0,a=0;z==p?g=0:z==k?g=(60*(h-b)/(z-p)+360)%360:z==h?g=60*(b-k)/(z-p)+120:z==b&&(g=60*(k-h)/(z-p)+240);a=0===z?0:(z-p)/z;return[c(g),c(100*a),c(z/255*100)]},RGBtoHex:function(b){return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},rawRGBtoHEX:function(b){b=b.match(/[\d+]+/g).splice(0,3);return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},HEXtoRGB:Ya,getCubePathOutline:function(b){var k=
b[2]||0,h=b[4]||0,z=b[5]||0;return["M",b[0]||0,b[1]||0,"l",h,-z,k,0,0,b[3]||0,-h,z,-k,0,"Z"]}},appliedCSS:["fontFamily","fontSize","fontWeight","fontStyle"],setImageDisplayMode:function(b,k,h,z,p,g,a,u){var D=z/100*u.width;z=z/100*u.height;u={};var H,c=g-2*p;H=a-2*p;var e=function(b,h,k,g,z,u){var a={};switch(b){case "top":a.y=p;break;case "bottom":a.y=u-g-p;break;case "middle":a.y=(u-g)/2}switch(h){case "left":a.x=p;break;case "right":a.x=z-k-p;break;case "middle":a.x=(z-k)/2}return a};switch(b){case "center":u.width=
D;u.height=z;u.y=a/2-z/2;u.x=g/2-D/2;break;case "stretch":u.width=g-2*p;u.height=a-2*p;u.y=p;u.x=p;break;case "tile":u.width=D;u.height=z;u.tileInfo={};u.tileInfo.xCount=b=Math.ceil(c/D);u.tileInfo.yCount=H=Math.ceil(H/z);k=e(k,h,D*b,z*H,g,a);u.y=k.y;u.x=k.x;break;case "fit":b=D/z>c/H?c/D:H/z;u.width=D*b;u.height=z*b;k=e(k,h,u.width,u.height,g,a);u.y=k.y;u.x=k.x;break;case "fill":b=D/z>c/H?H/z:c/D;u.width=D*b;u.height=z*b;k=e(k,h,u.width,u.height,g,a);u.y=k.y;u.x=k.x;break;default:k=e(k,h,D,z,g,a),
u.width=D,u.height=z,u.y=k.y,u.x=k.x}return u},setLineHeight:ob,parsexAxisStyles:xb,supportedStyle:{font:"font",fontFamily:"font-family","font-family":"font-family",fontWeight:"font-weight","font-weight":"font-weight",fontSize:"font-size","font-size":"font-size",lineHeight:"line-height","line-height":"line-height",textDecoration:"text-decoration","text-decoration":"text-decoration",color:"color",whiteSpace:"white-space","white-space":"white-space",padding:"padding",margin:"margin",background:"background",
backgroundColor:"background-color","background-color":"background-color",backgroundImage:"background-image","background-image":"background-image",backgroundPosition:"background-position","background-position":"background-position",backgroundPositionLeft:"background-position-left","background-position-left":"background-position-left",backgroundPositionTop:"background-position-top","background-position-top":"background-position-top",backgroundRepeat:"background-repeat","background-repeat":"background-repeat",
border:"border",borderColor:"border-color","border-color":"border-color",borderStyle:"border-style","border-style":"border-style",borderThickness:"border-thickness","border-thickness":"border-thickness",borderTop:"border-top","border-top":"border-top",borderTopColor:"border-top-color","border-top-color":"border-top-color",borderTopStyle:"border-top-style","border-top-style":"border-top-style",borderTopThickness:"border-top-thickness","border-top-thickness":"border-top-thickness",borderRight:"border-right",
"border-right":"border-right",borderRightColor:"border-right-color","border-right-color":"border-right-color",borderRightStyle:"border-right-style","border-right-style":"border-right-style",borderRightThickness:"border-right-thickness","border-right-thickness":"border-right-thickness",borderBottom:"border-bottom","border-bottom":"border-bottom",borderBottomColor:"border-bottom-color","border-bottom-color":"border-bottom-color",borderBottomStyle:"border-bottom-style","border-bottom-style":"border-bottom-style",
borderBottomThickness:"border-bottom-thickness","border-bottom-thickness":"border-bottom-thickness",borderLeft:"border-left","border-left":"border-left",borderLeftColor:"border-left-color","border-left-color":"border-left-color",borderLeftStyle:"border-left-style","border-left-Style":"border-left-style",borderLeftThickness:"border-left-thickness","border-left-thickness":"border-left-thickness"},getAxisLimits:Ka,createTrendLine:bb,getDashStyle:Ma,axisLabelAdder:ib,chartAPI:Pa,createDialog:ub,isCanvasElemSupported:jb,
componentDispose:b,componentConfigurer:function(b){var k,h,z=[],p,g,a,D={};b=b||this;k=b.components;for(a in k)if(h=k[a],h instanceof Array)for(g=h.length,p=0;p<g;p+=1)z.push(h[p]);else z.push(h);z.sort(u);g=z.length;for(p=0;p<g;p+=1)h=z[p],k=h.customConfigFn,null!==k&&(k&&b[k]?D[k]||(b[k](),D[k]=!0):h.configure&&h.configure())},getSvgDataurl:pb,removeCrossDomainImages:Db,getBrowserDetails:gb,dataurlToBlob:yb,downloadCharts:function(b,k,h,z,p){k?Bb(b,k,h):mb(z,p)},browserDetails:H,drawSvgOnCanvas:function(b,
k,h,z,p,g,u){"ie"==H.name?(b=Db(b),new ca(b,k,h,z,p,g,function(){u()})):pb(b,function(b){var a,D;a=k.getContext("2d");D=new I;D.src=b;D.onload=function(){a.drawImage(D,h,z,p,g);u()}})},priorityList:{render:1,animation:2,entitydraw:2,label:3,tracker:4,kdTree:4}})}]);FusionCharts.register("module",["private","modules.renderer.js-schedular",function(){var f=[],m={},C=[],n={},E=0,F=this.window,K=this.hcLib.schedular={},a=F.requestAnimationFrame||F.webkitRequestAnimationFrame||F.mozRequestAnimationFrame||
F.oRequestAnimationFrame||F.msRequestAnimationFrame||function(a){setTimeout(a,16)},O=function(){for(var d,l=!1;!l;)(d=f[0])?(f.splice(0,1),--C[d.priority],0<f.length&&a(O),n[d.jobID]&&!d.executed&&(l=!0,d.scope?d.job.apply(d.scope,d.args):d.job(),d.callback&&"function"===typeof d.callback&&d.callback(),d.executed=!0,delete n[d.jobID])):l=!0};K.addJob=function(d,l,m,F,v,t){var q,c=0;v=v?F-1:F;"function"===typeof d&&(q="JOB"+ ++E+(F||1),d={job:d,scope:l,args:m,priority:F,callback:t,jobID:q});for(l=
0;l<=v;l++)c+=C[l]||0;f.splice(c,0,d);n[q]=d;C[F]=(C[F]||0)+1;1===f.length&&a(O);return q};K.removeJob=function(a){n[a]&&delete n[a]};K.pauseExecution=function(a){if(n[a])m[n[a]]=n[a],delete n[a];else return!1};K.resumeExecution=function(a){var f;if(f=m[a])K.addJob(f),delete m[a];else return!1}}]);FusionCharts&&FusionCharts.register("module",["private","vendor.redraphael",function(){var f=this.hcLib,m=this.window,C=m.Raphael,n;(function(m){(function(f,m){var a=/[\.\/]/,n=function(){},d=function(a,
d){return a-d},l,E,C={n:{}},v=function(a,f){a=String(a);var c=E,m=Array.prototype.slice.call(arguments,2),n=v.listeners(a),e=0,r,G=[],w={},L=[],I=l;l=a;for(var F=E=0,C=n.length;F<C;F++)"zIndex"in n[F]&&(G.push(n[F].zIndex),0>n[F].zIndex&&(w[n[F].zIndex]=n[F]));for(G.sort(d);0>G[e];)if(r=w[G[e++]],L.push(r.apply(f,m)),E)return E=c,L;for(F=0;F<C;F++)if(r=n[F],"zIndex"in r)if(r.zIndex==G[e]){L.push(r.apply(f,m));if(E)break;do if(e++,(r=w[G[e]])&&L.push(r.apply(f,m)),E)break;while(r)}else w[r.zIndex]=
r;else if(L.push(r.apply(f,m)),E)break;E=c;l=I;return L.length?L:null};v._events=C;v.listeners=function(d){d=d.split(a);var f=C,c,l,m,e,r,G,w,n=[f],v=[];m=0;for(e=d.length;m<e;m++){w=[];r=0;for(G=n.length;r<G;r++)for(f=n[r].n,c=[f[d[m]],f["*"]],l=2;l--;)if(f=c[l])w.push(f),v=v.concat(f.f||[]);n=w}return v};v.on=function(d,f){d=String(d);if("function"!=typeof f)return function(){};for(var c=d.split(a),l=C,m=0,e=c.length;m<e;m++)l=l.n,l=l.hasOwnProperty(c[m])&&l[c[m]]||(l[c[m]]={n:{}});l.f=l.f||[];
m=0;for(e=l.f.length;m<e;m++)if(l.f[m]==f)return n;l.f.push(f);return function(a){+a==+a&&(f.zIndex=+a)}};v.f=function(a){var d=[].slice.call(arguments,1);return function(){v.apply(null,[a,null].concat(d).concat([].slice.call(arguments,0)))}};v.stop=function(){E=1};v.nt=function(a){return a?(new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)")).test(l):l};v.nts=function(){return l.split(a)};v.off=v.unbind=function(d,f){if(d){var c=d.split(a),l,m,e,r,n,w,L=[C];r=0;for(n=c.length;r<n;r++)for(w=0;w<L.length;w+=
e.length-2){e=[w,1];l=L[w].n;if("*"!=c[r])l[c[r]]&&e.push(l[c[r]]);else for(m in l)l.hasOwnProperty(m)&&e.push(l[m]);L.splice.apply(L,e)}r=0;for(n=L.length;r<n;r++)for(l=L[r];l.n;){if(f){if(l.f){w=0;for(c=l.f.length;w<c;w++)if(l.f[w]==f){l.f.splice(w,1);break}!l.f.length&&delete l.f}for(m in l.n)if(l.n.hasOwnProperty(m)&&l.n[m].f){e=l.n[m].f;w=0;for(c=e.length;w<c;w++)if(e[w]==f){e.splice(w,1);break}!e.length&&delete l.n[m].f}}else for(m in delete l.f,l.n)l.n.hasOwnProperty(m)&&l.n[m].f&&delete l.n[m].f;
l=l.n}}else v._events=C={n:{}}};v.once=function(a,d){var c=function(){v.unbind(a,c);return d.apply(this,arguments)};return v.on(a,c)};v.version="0.4.2";v.toString=function(){return"You are running Eve 0.4.2"};"undefined"!=typeof module&&module.exports?module.exports=v:m||"undefined"==typeof define?f.eve=v:define("eve",[],function(){return v})})(this,!0);"undefined"===typeof m&&"object"===typeof window&&(m=window);(function(f,m,a){!a&&"function"===typeof define&&define.amd?define(["eve"],function(a){return m(f,
a)}):m(f,"object"===typeof module&&"undefined"!==typeof module.exports?module.exports:f.eve)})(m,function(f,C){function a(b){var h,k;void 0===a._url&&(a._url="");if(a.is(b,"function"))return e?b():C.on("raphael.DOMload",b);if(a.is(b,w))return a._engine.create[r](a,b.splice(0,3+a.is(b[0],G))).add(b);h=Array.prototype.slice.call(arguments,0);return a.is(h[h.length-1],"function")?(k=h.pop(),e?k.call(a._engine.create[r](a,h)):C.on("raphael.DOMload",function(){k.call(a._engine.create[r](a,h))})):a._engine.create[r](a,
arguments)}function O(){return this.hex}function d(b,h){for(var k=[],g=0,z=b.length;z-2*!h>g;g+=2){var p=[{x:+b[g-2],y:+b[g-1]},{x:+b[g],y:+b[g+1]},{x:+b[g+2],y:+b[g+3]},{x:+b[g+4],y:+b[g+5]}];h?g?z-4==g?p[3]={x:+b[0],y:+b[1]}:z-2==g&&(p[2]={x:+b[0],y:+b[1]},p[3]={x:+b[2],y:+b[3]}):p[0]={x:+b[z-2],y:+b[z-1]}:z-4==g?p[3]=p[2]:g||(p[0]={x:+b[g],y:+b[g+1]});k.push(["C",(-p[0].x+6*p[1].x+p[2].x)/6,(-p[0].y+6*p[1].y+p[2].y)/6,(p[1].x+6*p[2].x-p[3].x)/6,(p[1].y+6*p[2].y-p[3].y)/6,p[2].x,p[2].y])}return k}
function l(b,h,k,g,z,p,a,u,D){null==D&&(D=1);D=(1<D?1:0>D?0:D)/2;for(var H=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],M=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],na=0,xa=0;12>xa;xa++)var c=D*H[xa]+D,e=c*(c*(-3*b+9*k-9*z+3*a)+6*b-12*k+6*z)-3*b+3*k,c=c*(c*(-3*h+9*g-9*p+3*u)+6*h-12*g+6*p)-3*h+3*g,na=na+M[xa]*kb(e*e+c*c);return D*na}function N(b,h,k,g,z,p,a,u,D){if(!(0>D||l(b,h,k,g,z,p,a,u)<D)){var H=.5,M=1-H,na;for(na=l(b,h,k,g,z,p,
a,u,M);.01<La(na-D);)H/=2,M+=(na<D?1:-1)*H,na=l(b,h,k,g,z,p,a,u,M);return M}}function ba(b,h,k){b=a._path2curve(b);h=a._path2curve(h);for(var g,z,p,u,D,H,M,na,xa,c,e=k?0:[],Fa=0,ya=b.length;Fa<ya;Fa++)if(xa=b[Fa],"M"==xa[0])g=D=xa[1],z=H=xa[2];else{"C"==xa[0]?(xa=[g,z].concat(xa.slice(1)),g=xa[6],z=xa[7]):(xa=[g,z,g,z,D,H,D,H],g=D,z=H);for(var f=0,d=h.length;f<d;f++)if(c=h[f],"M"==c[0])p=M=c[1],u=na=c[2];else{"C"==c[0]?(c=[p,u].concat(c.slice(1)),p=c[6],u=c[7]):(c=[p,u,p,u,M,na,M,na],p=M,u=na);var ua;
var Y=xa,Ca=c;ua=k;var r=a.bezierBBox(Y),w=a.bezierBBox(Ca);if(a.isBBoxIntersect(r,w)){for(var r=l.apply(0,Y),w=l.apply(0,Ca),r=Da(~~(r/5),1),w=Da(~~(w/5),1),sb=[],q=[],Wa={},m=ua?0:[],tb=0;tb<r+1;tb++){var $a=a.findDotsAtSegment.apply(a,Y.concat(tb/r));sb.push({x:$a.x,y:$a.y,t:tb/r})}for(tb=0;tb<w+1;tb++)$a=a.findDotsAtSegment.apply(a,Ca.concat(tb/w)),q.push({x:$a.x,y:$a.y,t:tb/w});for(tb=0;tb<r;tb++)for(Y=0;Y<w;Y++){var B=sb[tb],za=sb[tb+1],Ca=q[Y],$a=q[Y+1],Pb=.001>La(za.x-B.x)?"y":"x",Hb=.001>
La($a.x-Ca.x)?"y":"x",Eb;Eb=B.x;var zb=B.y,t=za.x,A=za.y,n=Ca.x,Q=Ca.y,v=$a.x,G=$a.y;if(Da(Eb,t)<fb(n,v)||fb(Eb,t)>Da(n,v)||Da(zb,A)<fb(Q,G)||fb(zb,A)>Da(Q,G))Eb=void 0;else{var R=(Eb*A-zb*t)*(n-v)-(Eb-t)*(n*G-Q*v),ga=(Eb*A-zb*t)*(Q-G)-(zb-A)*(n*G-Q*v),I=(Eb-t)*(Q-G)-(zb-A)*(n-v);if(I){var R=R/I,ga=ga/I,I=+R.toFixed(2),J=+ga.toFixed(2);Eb=I<+fb(Eb,t).toFixed(2)||I>+Da(Eb,t).toFixed(2)||I<+fb(n,v).toFixed(2)||I>+Da(n,v).toFixed(2)||J<+fb(zb,A).toFixed(2)||J>+Da(zb,A).toFixed(2)||J<+fb(Q,G).toFixed(2)||
J>+Da(Q,G).toFixed(2)?void 0:{x:R,y:ga}}else Eb=void 0}Eb&&Wa[Eb.x.toFixed(4)]!=Eb.y.toFixed(4)&&(Wa[Eb.x.toFixed(4)]=Eb.y.toFixed(4),B=B.t+La((Eb[Pb]-B[Pb])/(za[Pb]-B[Pb]))*(za.t-B.t),Ca=Ca.t+La((Eb[Hb]-Ca[Hb])/($a[Hb]-Ca[Hb]))*($a.t-Ca.t),0<=B&&1.001>=B&&0<=Ca&&1.001>=Ca&&(ua?m++:m.push({x:Eb.x,y:Eb.y,t1:fb(B,1),t2:fb(Ca,1)})))}ua=m}else ua=ua?0:[];if(k)e+=ua;else{r=0;for(w=ua.length;r<w;r++)ua[r].segment1=Fa,ua[r].segment2=f,ua[r].bez1=xa,ua[r].bez2=c;e=e.concat(ua)}}}return e}function v(b,h,k,
g,z,p){null!=b?(this.a=+b,this.b=+h,this.c=+k,this.d=+g,this.e=+z,this.f=+p):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}function t(){return this.x+" "+this.y+" "+this.width+" × "+this.height}function q(b,h,k,g,z,p){function a(b,h){var k,g,z,p;z=b;for(g=0;8>g;g++){p=((H*z+D)*z+u)*z-b;if(La(p)<h)return z;k=(3*H*z+2*D)*z+u;if(1E-6>La(k))break;z-=p/k}k=0;g=1;z=b;if(z<k)return k;if(z>g)return g;for(;k<g;){p=((H*z+D)*z+u)*z;if(La(p-b)<h)break;b>p?k=z:g=z;z=(g-k)/2+k}return z}var u=3*h,D=3*(g-h)-
u,H=1-u-D,M=3*k,na=3*(z-k)-M,xa=1-M-na;return function(b,h){var k=a(b,h);return((xa*k+na)*k+M)*k}(b,1/(200*p))}function c(b,h){var k=[],g={};this.ms=h;this.times=1;if(b){for(var z in b)b.hasOwnProperty(z)&&(g[Ba(z)]=b[z],k.push(Ba(z)));k.sort(bb)}this.anim=g;this.top=k[k.length-1];this.percents=k}function A(b,h,k,g,z,p,u){k=Ba(k);var D,H,M,na,xa,c,e,Fa=b.ms,ya={},f={},d={};if(g)for(ua=0,Y=la.length;ua<Y;ua++){if(c=la[ua],c.el.id==h.id&&c.anim==b){c.percent!=k?(delete c.el.e,delete c.el,la.splice(ua,
1),M=1):H=c;h.attr(c.totalOrigin);break}}else g=+f;for(var ua=0,Y=b.percents.length;ua<Y;ua++)if(b.percents[ua]==k||b.percents[ua]>g*b.top){k=b.percents[ua];xa=b.percents[ua-1]||0;Fa=Fa/b.top*(k-xa);na=b.percents[ua+1];D=b.anim[k];break}else g&&h.attr(b.anim[b.percents[ua]]);if(D){if(H)H.initstatus=g,H.start=new Date-H.ms*g;else{for(var Ca in D)if(D.hasOwnProperty(Ca))if(ub.hasOwnProperty(Ca)||h.ca[Ca]){ya[Ca]=h.attr(Ca);null==ya[Ca]&&(ya[Ca]=Ka[Ca]);f[Ca]=D[Ca];c=!1;switch(ub[Ca]){case G:((e=f[Ca]-
ya[Ca])||isNaN(e))&&(c=!0);d[Ca]=e/Fa;break;case "colour":ya[Ca]=a.getRGB(ya[Ca]);ua=a.getRGB(f[Ca]);e={};e.r=ua.r-ya[Ca].r;e.g=ua.g-ya[Ca].g;e.b=ua.b-ya[Ca].b;(e.r||e.g||e.b)&&(c=!0);d[Ca]={r:e.r/Fa,g:e.g/Fa,b:e.b/Fa};break;case "path":var l;if((ya[Ca].join?ya[Ca].join():ya[Ca])===(f[Ca].join?f[Ca].join():f[Ca])){c=!1;break}e=Wa(ya[Ca],f[Ca]);l=e[1];c=!0;ya[Ca]=e[0];d[Ca]=[];ua=0;for(Y=ya[Ca].length;ua<Y;ua++){d[Ca][ua]=[0];for(var r=1,w=ya[Ca][ua].length;r<w;r++)e=l[ua][r]-ya[Ca][ua][r],d[Ca][ua][r]=
e/Fa}break;case "transform":e=h._;ua=zb(e[Ca],f[Ca]);c=!0;if(ua)for(ya[Ca]=ua.from,f[Ca]=ua.to,d[Ca]=[],d[Ca].real=!0,ua=0,Y=ya[Ca].length;ua<Y;ua++)for(d[Ca][ua]=[ya[Ca][ua][0]],r=1,w=ya[Ca][ua].length;r<w;r++)d[Ca][ua][r]=(f[Ca][ua][r]-ya[Ca][ua][r])/Fa;else ua=h.matrix||new v,e={_:{transform:e.transform},getBBox:function(){return h.getBBox(1)}},ya[Ca]=[ua.a,ua.b,ua.c,ua.d,ua.e,ua.f],$a(e,f[Ca]),f[Ca]=e._.transform,d[Ca]=[(e.matrix.a-ua.a)/Fa,(e.matrix.b-ua.b)/Fa,(e.matrix.c-ua.c)/Fa,(e.matrix.d-
ua.d)/Fa,(e.matrix.e-ua.e)/Fa,(e.matrix.f-ua.f)/Fa];break;case "csv":Y=Na(D[Ca]).split(Ab);l=Na(ya[Ca]).split(Ab);if("clip-rect"==Ca)for(ya[Ca]=l,d[Ca]=[],ua=l.length;ua--;)((e=Y[ua]-ya[Ca][ua])||isNaN(e))&&(c=!0),d[Ca][ua]=e/Fa;f[Ca]=Y;break;default:for(Y=[].concat(D[Ca]),l=[].concat(ya[Ca]),d[Ca]=[],ua=h.ca[Ca].length;ua--;)((e=(Y[ua]||0)-(l[ua]||0))||isNaN(e))&&(c=!0),d[Ca][ua]=e/Fa}c||(delete ya[Ca],delete f[Ca],delete D[Ca],delete d[Ca])}else if(a._availableAttrs.hasOwnProperty(Ca)||"text"===
Ca||h.ca[Ca])h.attr(Ca,D[Ca]),delete D[Ca];c=D.easing;Ca=a.easing_formulas[c];if(!Ca)if((Ca=Na(c).match(Ra))&&5==Ca.length){var sb=Ca;Ca=function(b){return q(b,+sb[1],+sb[2],+sb[3],+sb[4],Fa)}}else Ca=Ga;c=D.start||b.start||+new Date;h.e=c={anim:b,percent:k,timestamp:c,start:c+(b.del||0),status:0,initstatus:g||0,stop:!1,ms:Fa,easing:Ca,from:ya,diff:d,to:f,el:h,callback:D.callback,prev:xa,next:na,repeat:p||b.times,origin:h.attr(),totalOrigin:z,parentEl:u};la.push(c);if(g&&!H&&!M&&(c.stop=!0,c.start=
new Date-Fa*g,1==la.length))return $b();M&&(c.start=new Date-c.ms*g);1==la.length&&(oa||ec())($b)}!1!==a.stopEvent&&C("raphael.anim.start."+h.id,h,b)}}function P(b){for(var h=0;h<la.length;h++)la[h].el.paper==b&&la.splice(h--,1)}a.upgrade="1.0.0";a.version="2.1.0";a.eve=C;n=a;var e,r="apply",G="number",w="array",L=Array.prototype.slice,I=Array.prototype.splice,fa=Array.prototype.shift,aa=function(){return function(){}.hasOwnProperty("prototype")}(),U={doc:f.document,win:f},T=Object.prototype.hasOwnProperty.call(U.win,
"Raphael"),ca=U.win.Raphael,J=U.doc,ia=U.win,B=a.supportsTouch="createTouch"in J,wa=a.supportsOnlyTouch=B&&!(ia.navigator.maxTouchPoints||ia.navigator.msMaxTouchPoints),Ja=function(){};a.ca=a.customAttributes=Ja.prototype;var sa=function(){this.ca=this.customAttributes=new Ja;this._CustomAttributes=function(){};this._CustomAttributes.prototype=this.ca;this._elementsById={};this.id=a._oid++;C("raphael.new",this)},ha=a.fn=sa.prototype=a.prototype,ga={circle:1,rect:1,path:1,ellipse:1,text:1,image:1,
group:1},Y="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel dragstart dragmove dragend".split(" "),za=a._touchMap={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},hb=a._dragEventMap={dragstart:"mousedown",dragmove:"mousemove",dragend:"mouseup"},Na=String,Ba=ia.parseFloat,Ia=ia.parseInt,Oa=Math,Da=Oa.max,fb=Oa.min,La=Oa.abs,Va=Oa.pow,Qa=Oa.cos,qa=Oa.sin,kb=Oa.sqrt,ma=Oa.round,Ha=Oa.PI,Sa=Ha/180,Ea=180/Ha,nb=Na.prototype.toLowerCase,
rb=Na.prototype.toUpperCase,Gb=Object.prototype.toString,Ab=/[, ]+/,Fb=/\{(\d+)\}/g;a._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i;var wb=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,Ra=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,Za=
/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,ab=/,?([achlmqrstvxz]),?/gi,db=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,
Ya=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,ob=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig;
a._radial_gradient=/^x?r(?:\(([^\)]*?)\))?/;var xb={NaN:1,Infinity:1,"-Infinity":1},ib={hs:1,rg:1},Ka=a._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9","clip-path":"",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"about:blank","letter-spacing":0,"line-height":12,"vertical-align":"middle",opacity:1,path:"M0,0",r:0,rx:0,ry:0,
src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",visibility:"",title:"",transform:"",rotation:0,width:0,x:0,y:0},ub=a._availableAnimAttrs={blur:G,"clip-rect":"csv","clip-path":"path",cx:G,cy:G,fill:"colour","fill-opacity":G,"font-size":G,height:G,opacity:G,path:"path",r:G,rx:G,ry:G,stroke:"colour","stroke-opacity":G,"stroke-width":G,transform:"transform",width:G,
x:G,y:G},vb={},bb=function(b,h){return Ba(b)-Ba(h)},Ma=function(){},Ga=function(b){return b},Pa=a._rectPath=function(b,h,k,g,z){return z?[["M",b+z,h],["l",k-2*z,0],["a",z,z,0,0,1,z,z],["l",0,g-2*z],["a",z,z,0,0,1,-z,z],["l",2*z-k,0],["a",z,z,0,0,1,-z,-z],["l",0,2*z-g],["a",z,z,0,0,1,z,-z],["z"]]:[["M",b,h],["l",k,0],["l",0,g],["l",-k,0],["z"]]},lb=function(b,h,k,g){null==g&&(g=k);return[["M",b,h],["m",0,-g],["a",k,g,0,1,1,0,2*g],["a",k,g,0,1,1,0,-2*g],["z"]]},jb=a._getPath={group:function(){return!1},
path:function(b){return b.attr("path")},circle:function(b){b=b.attrs;return lb(b.cx,b.cy,b.r)},ellipse:function(b){b=b.attrs;return lb(b.cx,b.cy,b.rx,b.ry)},rect:function(b){b=b.attrs;return Pa(b.x,b.y,b.width,b.height,b.r)},image:function(b){b=b.attrs;return Pa(b.x,b.y,b.width,b.height)},text:function(b){b=b._getBBox();return Pa(b.x,b.y,b.width,b.height)}},yb=a.mapPath=function(b,h){if(!h)return b;var k,g,z,p,a,u,D;b=Wa(b);z=0;for(a=b.length;z<a;z++)for(D=b[z],p=1,u=D.length;p<u;p+=2)k=h.x(D[p],
D[p+1]),g=h.y(D[p],D[p+1]),D[p]=k,D[p+1]=g;return b};a.pick=function(){for(var b,h=0,k=arguments.length;h<k;h+=1)if((b=arguments[h])||!1===b||0===b)return b};var gb=a._lastArgIfGroup=function(b,h){var k=b.length-1,g=b[k];if(g&&g.constructor===a.el.constructor&&"group"===g.type)return h&&(b[k]=void 0,delete b[k],I.call(b,k,1)),g},Db=a._serializeArgs=function(b){var h=b[0],k,g;if(a.is(h,"object")&&!a.is(h,"array")&&"group"!==h.type)for(k=h,h.path&&(h=h.path)&&!a.is(h,"string")&&a.is(h[0],w),h=1,g=arguments.length;h<
g;h+=2)k[arguments[h]]||(k[arguments[h]]=arguments[h+1]);else for(k={},h=1,g=arguments.length;h<g;h+=2)k[arguments[h]]=b[(h-1)/2]||arguments[h+1];return k},Bb=a.merge=function(b,h,k,g,z){var p,a,u,D;z?(g.push(b),z.push(h)):(g=[b],z=[h]);if(h instanceof Array)for(p=0;p<h.length;p+=1){try{a=b[p],u=h[p]}catch(H){continue}if("object"!==typeof u)k&&void 0===u||(b[p]=u);else{if(null===a||"object"!==typeof a)a=b[p]=u instanceof Array?[]:{};D=checkCyclicRef(u,z);-1!==D?a=b[p]=g[D]:Bb(a,u,k,g,z)}}else for(p in h){try{a=
b[p],u=h[p]}catch(H){continue}if(null!==u&&"object"===typeof u)if(D=Gb.call(u),"[object Object]"===D){if(null===a||"object"!==typeof a)a=b[p]={};D=checkCyclicRef(u,z);-1!==D?a=b[p]=g[D]:Bb(a,u,k,g,z)}else"[object Array]"===D?(null!==a&&a instanceof Array||(a=b[p]=[]),D=checkCyclicRef(u,z),-1!==D?a=b[p]=g[D]:Bb(a,u,k,g,z)):b[p]=u;else b[p]=u}return b};a.extend=function(b,h,k){if("object"!==typeof b&&"object"!==typeof h)return null;if("object"!==typeof h||null===h)return b;"object"!==typeof b&&(b=h instanceof
Array?[]:{});Bb(b,h,k);return b};var mb=a.is=function(b,h){h=nb.call(h);return"finite"==h?!xb.hasOwnProperty(+b):h==w?b instanceof Array:"object"!==h||void 0!==b&&null!==b?"null"==h&&null===b||h==typeof b&&null!==b||"object"==h&&b===Object(b)||"array"==h&&Array.isArray&&Array.isArray(b)||Gb.call(b).slice(8,-1).toLowerCase()==h:!1};a.createUUID=function(b,h){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(b,h).toUpperCase()}}(/[xy]/g,function(b){var h=16*Oa.random()|0;return("x"==
b?h:h&3|8).toString(16)});a.getElementID=function(b){return"rr-"+b};var qb=a.clone=aa?function(b){if(Object(b)!==b)return b;var h=new b.constructor,k;for(k in b)"prototype"!==k&&b.hasOwnProperty(k)&&(h[k]=qb(b[k]));return h}:function(b){if(Object(b)!==b)return b;var h=new b.constructor,k;for(k in b)b.hasOwnProperty(k)&&(h[k]=qb(b[k]));return h};a._g=U;a.type=ia.ENABLE_RED_CANVAS&&(ia.CanvasRenderingContext2D||J.createElement("canvas").getContext)?"CANVAS":ia.SVGAngle||J.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",
"1.1")?"SVG":"VML";if("VML"==a.type){var pb=J.createElement("div"),b;pb.innerHTML='<v:shape adj="1"/>';b=pb.firstChild;b.style.behavior="url(#default#VML)";if(!b||"object"!=typeof b.adj)return a.type="";pb=null}a.svg=!((a.vml="VML"==a.type)||(a.canvas="CANVAS"==a.type));a._Paper=sa;a._id=0;a._oid=0;a.angle=function(b,h,k,g,z,p){return null==z?(b-=k,h-=g,b||h?(Oa.atan2(-h,-b)*Ea+540)%360:0):a.angle(b,h,z,p)-a.angle(k,g,z,p)};a.rad=function(b){return b%360*Sa};a.deg=function(b){return b*Ea%360};a.snapTo=
function(b,h,k){var g;mb(k,"finite")||(k=10);if(mb(b,w))for(g=b.length;g--;){if(La(b[g]-h)<=k)return b[g]}else{b=+b;g=h%b;if(g<k)return h-g;if(g>b-k)return h-g+b}return h};a.setWindow=function(b){C("raphael.setWindow",a,U.win,b);ia=U.win=b;J=U.doc=U.win.document;a._engine.initWin&&a._engine.initWin(U.win)};var u=function(b){if(a.vml){var h=/^\s+|\s+$/g,k;try{var g=new ActiveXObject("htmlfile");g.write("<body>");g.close();k=g.body}catch(p){k=createPopup().document.body}var D=k.createTextRange();u=
z(function(b){try{k.style.color=Na(b).replace(h,"");var g=D.queryCommandValue("ForeColor");return"#"+("000000"+((g&255)<<16|g&65280|(g&16711680)>>>16).toString(16)).slice(-6)}catch(z){return"none"}})}else{var H=U.doc.createElement("i");H.title="Raphaël Colour Picker";H.style.display="none";U.doc.body.appendChild(H);u=z(function(b){H.style.color=b;return U.doc.defaultView.getComputedStyle(H,"").getPropertyValue("color")})}return u(b)},D=function(){return"hsb("+[this.h,this.s,this.b]+")"},H=function(){return"hsl("+
[this.h,this.s,this.l]+")"},M=function(){return this.hex},k=function(b,h,k){null==h&&mb(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(k=b.b,h=b.g,b=b.r);null==h&&mb(b,"string")&&(k=a.getRGB(b),b=k.r,h=k.g,k=k.b);if(1<b||1<h||1<k)b/=255,h/=255,k/=255;return[b,h,k]},h=function(b,h,k,g){var z={r:b*=255,g:h*=255,b:k*=255,hex:a.rgb(b,h,k),toString:M};mb(g,"finite")&&(z.opacity=g);return z};a.color=function(b){var h;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(h=a.hsb2rgb(b),b.r=h.r,b.g=h.g,b.b=h.b,b.hex=h.hex):
a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(h=a.hsl2rgb(b),b.r=h.r,b.g=h.g,b.b=h.b,b.hex=h.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(h=a.rgb2hsl(b),b.h=h.h,b.s=h.s,b.l=h.l,h=a.rgb2hsb(b),b.v=h.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1));b.toString=M;return b};a.hsb2rgb=function(b,k,g,z){this.is(b,"object")&&"h"in b&&"s"in b&&"b"in b&&(g=b.b,k=b.s,b=b.h,z=b.o);var p,a,u;b=360*b%360/60;u=g*k;k=u*(1-La(b%2-1));g=p=a=g-u;b=~~b;g+=[u,k,0,0,k,u][b];p+=
[k,u,u,k,0,0][b];a+=[0,0,k,u,u,k][b];return h(g,p,a,z)};a.hsl2rgb=function(b,k,g,z){this.is(b,"object")&&"h"in b&&"s"in b&&"l"in b&&(g=b.l,k=b.s,b=b.h);if(1<b||1<k||1<g)b/=360,k/=100,g/=100;var p,a,u;b=360*b%360/60;u=2*k*(.5>g?g:1-g);k=u*(1-La(b%2-1));g=p=a=g-u/2;b=~~b;g+=[u,k,0,0,k,u][b];p+=[k,u,u,k,0,0][b];a+=[0,0,k,u,u,k][b];return h(g,p,a,z)};a.rgb2hsb=function(b,h,g){g=k(b,h,g);b=g[0];h=g[1];g=g[2];var z,p;z=Da(b,h,g);p=z-fb(b,h,g);b=((0==p?null:z==b?(h-g)/p:z==h?(g-b)/p+2:(b-h)/p+4)+360)%6*
60/360;return{h:b,s:0==p?0:p/z,b:z,toString:D}};a.rgb2hsl=function(b,h,g){g=k(b,h,g);b=g[0];h=g[1];g=g[2];var z,p,u;z=Da(b,h,g);p=fb(b,h,g);u=z-p;b=((0==u?null:z==b?(h-g)/u:z==h?(g-b)/u+2:(b-h)/u+4)+360)%6*60/360;z=(z+p)/2;return{h:b,s:0==u?0:.5>z?u/(2*z):u/(2-2*z),l:z,toString:H}};a._path2string=function(){return this.join(",").replace(ab,"$1")};var z=a._cacher=function(b,h,k){function g(){var z=L.call(arguments,0),p=z.join("␀"),u=g.cache=g.cache||{},a=g.count=g.count||[];if(u.hasOwnProperty(p)){a:for(var z=
a,a=p,D=0,H=z.length;D<H;D++)if(z[D]===a){z.push(z.splice(D,1)[0]);break a}return k?k(u[p]):u[p]}1E3<=a.length&&delete u[a.shift()];a.push(p);u[p]=b[r](h,z);return k?k(u[p]):u[p]}return g};a._preload=function(b,h){var k=J.createElement("img");k.style.cssText="position:absolute;left:-9999em;top:-9999em";k.onload=function(){h.call(this);this.onload=null;J.body.removeChild(this)};k.onerror=function(){J.body.removeChild(this)};J.body.appendChild(k);k.src=b};a.getRGB=z(function(b){var h,k,g,z,p;b&&mb(b,
"object")&&"opacity"in b&&(h=b.opacity);if(!b||(b=Na(b)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:O};if("none"==b)return{r:-1,g:-1,b:-1,hex:"none",toString:O};!ib.hasOwnProperty(b.toLowerCase().substring(0,2))&&"#"!==b.charAt()&&(b=u(b));if(b=b.match(wb)){b[2]&&(z=Ia(b[2].substring(5),16),g=Ia(b[2].substring(3,5),16),k=Ia(b[2].substring(1,3),16));b[3]&&(z=Ia((p=b[3].charAt(3))+p,16),g=Ia((p=b[3].charAt(2))+p,16),k=Ia((p=b[3].charAt(1))+p,16));b[4]&&(p=b[4].split(Za),k=Ba(p[0]),
"%"==p[0].slice(-1)&&(k*=2.55),g=Ba(p[1]),"%"==p[1].slice(-1)&&(g*=2.55),z=Ba(p[2]),"%"==p[2].slice(-1)&&(z*=2.55),"rgba"==b[1].toLowerCase().slice(0,4)&&(h=Ba(p[3])),p[3]&&"%"==p[3].slice(-1)&&(h/=100));if(b[5])return p=b[5].split(Za),k=Ba(p[0]),"%"==p[0].slice(-1)&&(k*=2.55),g=Ba(p[1]),"%"==p[1].slice(-1)&&(g*=2.55),z=Ba(p[2]),"%"==p[2].slice(-1)&&(z*=2.55),"deg"!=p[0].slice(-3)&&"°"!=p[0].slice(-1)||(k/=360),"hsba"==b[1].toLowerCase().slice(0,4)&&(h=Ba(p[3])),p[3]&&"%"==p[3].slice(-1)&&(h/=100),
a.hsb2rgb(k,g,z,h);if(b[6])return p=b[6].split(Za),k=Ba(p[0]),"%"==p[0].slice(-1)&&(k*=2.55),g=Ba(p[1]),"%"==p[1].slice(-1)&&(g*=2.55),z=Ba(p[2]),"%"==p[2].slice(-1)&&(z*=2.55),"deg"!=p[0].slice(-3)&&"°"!=p[0].slice(-1)||(k/=360),"hsla"==b[1].toLowerCase().slice(0,4)&&(h=Ba(p[3])),p[3]&&"%"==p[3].slice(-1)&&(h/=100),a.hsl2rgb(k,g,z,h);b={r:k,g:g,b:z,toString:O};b.hex="#"+(16777216|z|g<<8|k<<16).toString(16).slice(1);a.is(h,"finite")&&(b.opacity=h);return b}return{r:-1,g:-1,b:-1,hex:"none",error:1,
toString:O}},a);a.tintshade=z(function(b,h){var k=a.getRGB(b),g;g=255;0>h&&(h*=-1,g=0);1<h&&(h=1);g=0===h?k:{r:g-(g-k.r)*h,g:g-(g-k.g)*h,b:g-(g-k.b)*h,toString:O};g.hex=a.rgb(g.r,g.g,g.b);k.error&&(g.error=k.error);"opacity"in k?(g.rgba="rgba("+[g.r,g.g,g.b,k.opacity].join()+")",g.opacity=k.opacity):g.rgba="rgb("+[g.r,g.g,g.b].join()+")";return g},a);a.hsb=z(function(b,h,k){return a.hsb2rgb(b,h,k).hex});a.hsl=z(function(b,h,k){return a.hsl2rgb(b,h,k).hex});a.rgb=z(function(b,h,k){return"#"+(16777216|
k|h<<8|b<<16).toString(16).slice(1)});a.getColor=function(b){b=this.getColor.start=this.getColor.start||{h:0,s:1,b:b||.75};var h=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075;1<b.h&&(b.h=0,b.s-=.2,0>=b.s&&(this.getColor.start={h:0,s:1,b:b.b}));return h.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=function(b){if(!b)return null;var h=p(b);if(h.arr)return xa(h.arr);var k={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},g=[];a.is(b,w)&&a.is(b[0],w)&&(g=xa(b));g.length||Na(b).replace(db,function(b,
h,z){var p=[];b=h.toLowerCase();z.replace(ob,function(b,h){h&&p.push(+h)});"m"==b&&2<p.length&&(g.push([h].concat(p.splice(0,2))),b="l",h="m"==h?"l":"L");if("r"==b)g.push([h].concat(p));else for(;p.length>=k[b]&&(g.push([h].concat(p.splice(0,k[b]))),k[b]););});g.toString=a._path2string;h.arr=xa(g);return g};a.parseTransformString=z(function(b){if(!b)return null;var h=[];a.is(b,w)&&a.is(b[0],w)&&(h=xa(b));h.length||Na(b).replace(Ya,function(b,k,g){var z=[];nb.call(k);g.replace(ob,function(b,h){h&&
z.push(+h)});h.push([k].concat(z))});h.toString=a._path2string;return h});var p=function(b){var h=p.ps=p.ps||{};h[b]?h[b].sleep=100:h[b]={sleep:100};setTimeout(function(){for(var k in h)h.hasOwnProperty(k)&&k!=b&&(h[k].sleep--,!h[k].sleep&&delete h[k])});return h[b]};a.findDotsAtSegment=function(b,h,k,g,z,p,u,a,D){var H=1-D,M=Va(H,3),na=Va(H,2),c=D*D,xa=c*D,e=M*b+3*na*D*k+3*H*D*D*z+xa*u,M=M*h+3*na*D*g+3*H*D*D*p+xa*a,na=b+2*D*(k-b)+c*(z-2*k+b),xa=h+2*D*(g-h)+c*(p-2*g+h),Fa=k+2*D*(z-k)+c*(u-2*z+k),
c=g+2*D*(p-g)+c*(a-2*p+g);b=H*b+D*k;h=H*h+D*g;z=H*z+D*u;p=H*p+D*a;a=90-180*Oa.atan2(na-Fa,xa-c)/Ha;(na>Fa||xa<c)&&(a+=180);return{x:e,y:M,m:{x:na,y:xa},n:{x:Fa,y:c},start:{x:b,y:h},end:{x:z,y:p},alpha:a}};a.bezierBBox=function(b,h,k,g,z,p,u,D){a.is(b,"array")||(b=[b,h,k,g,z,p,u,D]);b=tb.apply(null,b);return{x:b.min.x,y:b.min.y,x2:b.max.x,y2:b.max.y,width:b.max.x-b.min.x,height:b.max.y-b.min.y}};a.isPointInsideBBox=function(b,h,k){return h>=b.x&&h<=b.x2&&k>=b.y&&k<=b.y2};a.isBBoxIntersect=function(b,
h){var k=a.isPointInsideBBox;return k(h,b.x,b.y)||k(h,b.x2,b.y)||k(h,b.x,b.y2)||k(h,b.x2,b.y2)||k(b,h.x,h.y)||k(b,h.x2,h.y)||k(b,h.x,h.y2)||k(b,h.x2,h.y2)||(b.x<h.x2&&b.x>h.x||h.x<b.x2&&h.x>b.x)&&(b.y<h.y2&&b.y>h.y||h.y<b.y2&&h.y>b.y)};a.pathIntersection=function(b,h){return ba(b,h)};a.pathIntersectionNumber=function(b,h){return ba(b,h,1)};a.isPointInsidePath=function(b,h,k){var g=a.pathBBox(b);return a.isPointInsideBBox(g,h,k)&&(1==ba(b,[["M",h,k],["H",g.x2+10]],1)%2||1==ba(b,[["M",h,k],["V",g.y2+
10]],1)%2)};a._removedFactory=function(b){return function(){C("raphael.log",null,"Raphaël: you are calling to method “"+b+"” of removed object",b)}};var g=a.pathBBox=function(b){var h=p(b);if(!b)return{x:0,y:0,width:0,height:0,x2:0,y2:0};b=Wa(b);for(var k=0,g=0,z=[],u=[],a,D=0,H=b.length;D<H;D++)a=b[D],"M"==a[0]?(k=a[1],g=a[2],z.push(k),u.push(g)):(k=tb(k,g,a[1],a[2],a[3],a[4],a[5],a[6]),z=z.concat(k.min.x,k.max.x),u=u.concat(k.min.y,k.max.y),k=a[5],g=a[6]);b=fb[r](0,z);a=fb[r](0,u);z=Da[r](0,z);
u=Da[r](0,u);u={x:b,y:a,x2:z,y2:u,width:z-b,height:u-a};h.bbox=qb(u);return u},xa=function(b){b=qb(b);b.toString=a._path2string;return b},na=a._pathToRelative=function(b){var h=p(b);if(h.rel)return xa(h.rel);a.is(b,w)&&a.is(b&&b[0],w)||(b=a.parsePathString(b));var k=[],g=0,z=0,u=0,D=0,H=0;"M"==b[0][0]&&(g=b[0][1],z=b[0][2],u=g,D=z,H++,k.push(["M",g,z]));for(var M=b.length;H<M;H++){var na=k[H]=[],c=b[H];if(c[0]!=nb.call(c[0]))switch(na[0]=nb.call(c[0]),na[0]){case "a":na[1]=c[1];na[2]=c[2];na[3]=c[3];
na[4]=c[4];na[5]=c[5];na[6]=+(c[6]-g).toFixed(3);na[7]=+(c[7]-z).toFixed(3);break;case "v":na[1]=+(c[1]-z).toFixed(3);break;case "m":u=c[1],D=c[2];default:for(var e=1,Fa=c.length;e<Fa;e++)na[e]=+(c[e]-(e%2?g:z)).toFixed(3)}else for(k[H]=[],"m"==c[0]&&(u=c[1]+g,D=c[2]+z),na=0,e=c.length;na<e;na++)k[H][na]=c[na];c=k[H].length;switch(k[H][0]){case "z":g=u;z=D;break;case "h":g+=+k[H][c-1];break;case "v":z+=+k[H][c-1];break;default:g+=+k[H][c-2],z+=+k[H][c-1]}}k.toString=a._path2string;h.rel=xa(k);return k},
ya=a._pathToAbsolute=function(b){var h=p(b),k;if(h.abs)return xa(h.abs);a.is(b,w)&&a.is(b&&b[0],w)||(b=a.parsePathString(b));if(!b||!b.length)return k=["M",0,0],k.toString=a._path2string,k;var g=0,z=0,u=0,D=0,H=0;k=[];"M"==b[0][0]&&(g=+b[0][1],z=+b[0][2],u=g,D=z,H++,k[0]=["M",g,z]);for(var na=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),M,c=H,e=b.length;c<e;c++){k.push(H=[]);M=b[c];if(M[0]!=rb.call(M[0]))switch(H[0]=rb.call(M[0]),H[0]){case "A":H[1]=M[1];H[2]=
M[2];H[3]=M[3];H[4]=M[4];H[5]=M[5];H[6]=+(M[6]+g);H[7]=+(M[7]+z);break;case "V":H[1]=+M[1]+z;break;case "H":H[1]=+M[1]+g;break;case "R":for(var Fa=[g,z].concat(M.slice(1)),ya=2,f=Fa.length;ya<f;ya++)Fa[ya]=+Fa[ya]+g,Fa[++ya]=+Fa[ya]+z;k.pop();k=k.concat(d(Fa,na));break;case "M":u=+M[1]+g,D=+M[2]+z;default:for(ya=1,f=M.length;ya<f;ya++)H[ya]=+M[ya]+(ya%2?g:z)}else if("R"==M[0])Fa=[g,z].concat(M.slice(1)),k.pop(),k=k.concat(d(Fa,na)),H=["R"].concat(M.slice(-2));else for(Fa=0,ya=M.length;Fa<ya;Fa++)H[Fa]=
M[Fa];switch(H[0]){case "Z":g=u;z=D;break;case "H":g=H[1];break;case "V":z=H[1];break;case "M":u=H[H.length-2],D=H[H.length-1];default:g=H[H.length-2],z=H[H.length-1]}}k.toString=a._path2string;h.abs=xa(k);return k},Fa=function(b,h,k,g){return[b,h,k,g,k,g]},Ca=function(b,h,k,g,z,p){var u=1/3,a=2/3;return[u*b+a*k,u*h+a*g,u*z+a*k,u*p+a*g,z,p]},ua=function(b,h,k,g,p,u,a,D,H,M){var na=120*Ha/180,c=Sa*(+p||0),xa=[],e,Fa=z(function(b,h,k){var g=b*Qa(k)-h*qa(k);b=b*qa(k)+h*Qa(k);return{x:g,y:b}});if(M)d=
M[0],e=M[1],u=M[2],ya=M[3];else{e=Fa(b,h,-c);b=e.x;h=e.y;e=Fa(D,H,-c);D=e.x;H=e.y;Qa(Sa*p);qa(Sa*p);e=(b-D)/2;d=(h-H)/2;ya=e*e/(k*k)+d*d/(g*g);1<ya&&(ya=kb(ya),k*=ya,g*=ya);var ya=k*k,f=g*g,ya=(u==a?-1:1)*kb(La((ya*f-ya*d*d-f*e*e)/(ya*d*d+f*e*e)));u=ya*k*d/g+(b+D)/2;var ya=ya*-g*e/k+(h+H)/2,d=Oa.asin(((h-ya)/g).toFixed(9));e=Oa.asin(((H-ya)/g).toFixed(9));d=b<u?Ha-d:d;e=D<u?Ha-e:e;0>d&&(d=2*Ha+d);0>e&&(e=2*Ha+e);a&&d>e&&(d-=2*Ha);!a&&e>d&&(e-=2*Ha)}if(La(e-d)>na){var xa=e,f=D,Ca=H;e=d+na*(a&&e>d?
1:-1);D=u+k*Qa(e);H=ya+g*qa(e);xa=ua(D,H,k,g,p,0,a,f,Ca,[e,xa,u,ya])}u=e-d;p=Qa(d);na=qa(d);a=Qa(e);e=qa(e);u=Oa.tan(u/4);k=4/3*k*u;u*=4/3*g;g=[b,h];b=[b+k*na,h-u*p];h=[D+k*e,H-u*a];D=[D,H];b[0]=2*g[0]-b[0];b[1]=2*g[1]-b[1];if(M)return[b,h,D].concat(xa);xa=[b,h,D].concat(xa).join().split(",");M=[];D=0;for(H=xa.length;D<H;D++)M[D]=D%2?Fa(xa[D-1],xa[D],c).y:Fa(xa[D],xa[D+1],c).x;return M},sb=function(b,h,k,g,z,p,u,a,D){var H=1-D;return{x:Va(H,3)*b+3*Va(H,2)*D*k+3*H*D*D*z+Va(D,3)*u,y:Va(H,3)*h+3*Va(H,
2)*D*g+3*H*D*D*p+Va(D,3)*a}},tb=z(function(b,h,k,g,z,p,u,a){var D=z-2*k+b-(u-2*z+k),H=2*(k-b)-2*(z-k),M=b-k,na=(-H+kb(H*H-4*D*M))/2/D,D=(-H-kb(H*H-4*D*M))/2/D,c=[h,a],xa=[b,u];"1e12"<La(na)&&(na=.5);"1e12"<La(D)&&(D=.5);0<na&&1>na&&(na=sb(b,h,k,g,z,p,u,a,na),xa.push(na.x),c.push(na.y));0<D&&1>D&&(na=sb(b,h,k,g,z,p,u,a,D),xa.push(na.x),c.push(na.y));D=p-2*g+h-(a-2*p+g);H=2*(g-h)-2*(p-g);M=h-g;na=(-H+kb(H*H-4*D*M))/2/D;D=(-H-kb(H*H-4*D*M))/2/D;"1e12"<La(na)&&(na=.5);"1e12"<La(D)&&(D=.5);0<na&&1>na&&
(na=sb(b,h,k,g,z,p,u,a,na),xa.push(na.x),c.push(na.y));0<D&&1>D&&(na=sb(b,h,k,g,z,p,u,a,D),xa.push(na.x),c.push(na.y));return{min:{x:fb[r](0,xa),y:fb[r](0,c)},max:{x:Da[r](0,xa),y:Da[r](0,c)}}}),Wa=a._path2curve=z(function(b,h){var k=!h&&p(b);if(!h&&k.curve)return xa(k.curve);var g=ya(b),z=h&&ya(h),u={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D=function(b,h){var k,g;if(!b)return["C",h.x,h.y,h.x,h.y,h.x,h.y];b[0]in{T:1,Q:1}||(h.qx=h.qy=null);switch(b[0]){case "M":h.X=
b[1];h.Y=b[2];break;case "A":b=["C"].concat(ua[r](0,[h.x,h.y].concat(b.slice(1))));break;case "S":k=h.x+(h.x-(h.bx||h.x));g=h.y+(h.y-(h.by||h.y));b=["C",k,g].concat(b.slice(1));break;case "T":h.qx=h.x+(h.x-(h.qx||h.x));h.qy=h.y+(h.y-(h.qy||h.y));b=["C"].concat(Ca(h.x,h.y,h.qx,h.qy,b[1],b[2]));break;case "Q":h.qx=b[1];h.qy=b[2];b=["C"].concat(Ca(h.x,h.y,b[1],b[2],b[3],b[4]));break;case "L":b=["C"].concat(Fa(h.x,h.y,b[1],b[2]));break;case "H":b=["C"].concat(Fa(h.x,h.y,b[1],h.y));break;case "V":b=["C"].concat(Fa(h.x,
h.y,h.x,b[1]));break;case "Z":b=["C"].concat(Fa(h.x,h.y,h.X,h.Y))}return b},H=function(b,h){if(7<b[h].length){b[h].shift();for(var k=b[h];k.length;)b.splice(h++,0,["C"].concat(k.splice(0,6)));b.splice(h,1);c=Da(g.length,z&&z.length||0)}},M=function(b,h,k,p,u){b&&h&&"M"==b[u][0]&&"M"!=h[u][0]&&(h.splice(u,0,["M",p.x,p.y]),k.bx=0,k.by=0,k.x=b[u][1],k.y=b[u][2],c=Da(g.length,z&&z.length||0))},na=0,c=Da(g.length,z&&z.length||0);for(;na<c;na++){g[na]=D(g[na],u);H(g,na);z&&(z[na]=D(z[na],a));z&&H(z,na);
M(g,z,u,a,na);M(z,g,a,u,na);var e=g[na],d=z&&z[na],f=e.length,Y=z&&d.length;u.x=e[f-2];u.y=e[f-1];u.bx=Ba(e[f-4])||u.x;u.by=Ba(e[f-3])||u.y;a.bx=z&&(Ba(d[Y-4])||a.x);a.by=z&&(Ba(d[Y-3])||a.y);a.x=z&&d[Y-2];a.y=z&&d[Y-1]}z||(k.curve=xa(g));return z?[g,z]:g},null,xa);a._parseDots=z(function(b){for(var h=[],k=0,g=b.length;k<g;k++){var z={},p=b[k].match(/^([^:]*):?([\d\.]*)/);z.color=a.getRGB(p[1]);if(z.color.error)return null;z.opacity=z.color.opacity;z.color=z.color.hex;p[2]&&(z.offset=p[2]+"%");h.push(z)}k=
1;for(g=h.length-1;k<g;k++)if(!h[k].offset){b=Ba(h[k-1].offset||0);p=0;for(z=k+1;z<g;z++)if(h[z].offset){p=h[z].offset;break}p||(p=100,z=g);p=Ba(p);for(p=(p-b)/(z-k+1);k<z;k++)b+=p,h[k].offset=b+"%"}return h});var Eb=a._tear=function(b,h){b==h.top&&(h.top=b.prev);b==h.bottom&&(h.bottom=b.next);b.next&&(b.next.prev=b.prev);b.prev&&(b.prev.next=b.next)};a._tofront=function(b,h){if(h.top===b)return!1;Eb(b,h);b.next=null;b.prev=h.top;h.top.next=b;h.top=b;return!0};a._toback=function(b,h){if(h.bottom===
b)return!1;Eb(b,h);b.next=h.bottom;b.prev=null;h.bottom.prev=b;h.bottom=b;return!0};a._insertafter=function(b,h,k,g){Eb(b,k);b.parent=g;h===g.top&&(g.top=b);h.next&&(h.next.prev=b);b.next=h.next;b.prev=h;h.next=b};a._insertbefore=function(b,h,k,g){Eb(b,k);b.parent=g;h===g.bottom&&(g.bottom=b);h.prev&&(h.prev.next=b);b.prev=h.prev;h.prev=b;b.next=h};var Pb=a.toMatrix=function(b,h){var k=g(b),z={_:{transform:""},getBBox:function(){return k}};$a(z,h);return z.matrix};a.transformPath=function(b,h){return yb(b,
Pb(b,h))};var $a=a._extractTransform=function(b,h){if(null==h)return b._.transform;h=Na(h).replace(/\.{3}|\u2026/g,b._.transform||"");var k=a.parseTransformString(h),g=0,z=0,p=0,u=1,D=1,H=b._,p=new v;H.transform=k||[];if(k)for(var z=0,na=k.length;z<na;z++){var M=k[z],c=M.length,xa=Na(M[0]).toLowerCase(),e=M[0]!=xa,Fa=e?p.invert():0;"t"==xa&&3==c?e?(c=Fa.x(0,0),xa=Fa.y(0,0),e=Fa.x(M[1],M[2]),Fa=Fa.y(M[1],M[2]),p.translate(e-c,Fa-xa)):p.translate(M[1],M[2]):"r"==xa?2==c?(Fa=H.bb||(H.bb=b.getBBox(1)),
p.rotate(M[1],Fa.x+Fa.width/2,Fa.y+Fa.height/2),g+=M[1]):4==c&&(e?(e=Fa.x(M[2],M[3]),Fa=Fa.y(M[2],M[3]),p.rotate(M[1],e,Fa)):p.rotate(M[1],M[2],M[3]),g+=M[1]):"s"==xa?2==c||3==c?(Fa=H.bb||(H.bb=b.getBBox(1)),p.scale(M[1],M[c-1],Fa.x+Fa.width/2,Fa.y+Fa.height/2),u*=M[1],D*=M[c-1]):5==c&&(e?(e=Fa.x(M[3],M[4]),Fa=Fa.y(M[3],M[4]),p.scale(M[1],M[2],e,Fa)):p.scale(M[1],M[2],M[3],M[4]),u*=M[1],D*=M[2]):"m"==xa&&7==c&&p.add(M[1],M[2],M[3],M[4],M[5],M[6]);H.dirtyT=1;b.matrix=p}b.matrix=p;H.sx=u;H.sy=D;H.deg=
g;H.dx=z=p.e;H.dy=p=p.f;1==u&&1==D&&!g&&H.bbox?(H.bbox.x+=+z,H.bbox.y+=+p):H.dirtyT=1},Hb=function(b){var h=b[0];switch(h.toLowerCase()){case "t":return[h,0,0];case "m":return[h,1,0,0,1,0,0];case "r":return 4==b.length?[h,0,b[2],b[3]]:[h,0];case "s":return 5==b.length?[h,1,1,b[3],b[4]]:3==b.length?[h,1,1]:[h,1]}},zb=a._equaliseTransform=function(b,h){h=Na(h).replace(/\.{3}|\u2026/g,b);b=a.parseTransformString(b)||[];h=a.parseTransformString(h)||[];for(var k=Da(b.length,h.length),g=[],z=[],p=0,u,D,
H,M;p<k;p++){H=b[p]||Hb(h[p]);M=h[p]||Hb(H);if(H[0]!=M[0]||"r"==H[0].toLowerCase()&&(H[2]!=M[2]||H[3]!=M[3])||"s"==H[0].toLowerCase()&&(H[3]!=M[3]||H[4]!=M[4]))return;g[p]=[];z[p]=[];u=0;for(D=Da(H.length,M.length);u<D;u++)u in H&&(g[p][u]=H[u]),u in M&&(z[p][u]=M[u])}return{from:g,to:z}};a._getContainer=function(b,h,k,g){var z;z=null!=g||a.is(b,"object")?b:U.doc.getElementById(b);if(null!=z)return z.tagName?null==h?{container:z,width:z.style.pixelWidth||z.offsetWidth,height:z.style.pixelHeight||
z.offsetHeight}:{container:z,width:h,height:k}:{container:1,x:b,y:h,width:k,height:g}};a.pathToRelative=na;a._engine={};a.path2curve=Wa;a.matrix=function(b,h,k,g,z,p){return new v(b,h,k,g,z,p)};(function(b){function h(b){return b[0]*b[0]+b[1]*b[1]}function k(b){var g=kb(h(b));b[0]&&(b[0]/=g);b[1]&&(b[1]/=g)}b.add=function(b,h,k,g,z,p){var u=[[],[],[]],a=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]];h=[[b,k,z],[h,g,p],[0,0,1]];b&&b instanceof v&&(h=[[b.a,b.c,b.e],[b.b,b.d,b.f],[0,0,1]]);
for(b=0;3>b;b++)for(k=0;3>k;k++){for(g=z=0;3>g;g++)z+=a[b][g]*h[g][k];u[b][k]=z}this.a=u[0][0];this.b=u[1][0];this.c=u[0][1];this.d=u[1][1];this.e=u[0][2];this.f=u[1][2]};b.invert=function(){var b=this.a*this.d-this.b*this.c;return new v(this.d/b,-this.b/b,-this.c/b,this.a/b,(this.c*this.f-this.d*this.e)/b,(this.b*this.e-this.a*this.f)/b)};b.clone=function(){return new v(this.a,this.b,this.c,this.d,this.e,this.f)};b.translate=function(b,h){this.add(1,0,0,1,b,h)};b.scale=function(b,h,k,g){null==h&&
(h=b);(k||g)&&this.add(1,0,0,1,k,g);this.add(b,0,0,h,0,0);(k||g)&&this.add(1,0,0,1,-k,-g)};b.rotate=function(b,h,k){b=a.rad(b);h=h||0;k=k||0;var g=+Qa(b).toFixed(9);b=+qa(b).toFixed(9);this.add(g,b,-b,g,h,k);this.add(1,0,0,1,-h,-k)};b.x=function(b,h){return b*this.a+h*this.c+this.e};b.y=function(b,h){return b*this.b+h*this.d+this.f};b.get=function(b){return+this[Na.fromCharCode(97+b)].toFixed(4)};b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),
this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};b.toMatrixString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"};b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};
b.split=function(){var b={};b.dx=this.e;b.dy=this.f;var g=[[this.a,this.c],[this.b,this.d]];b.scalex=kb(h(g[0]));k(g[0]);b.shear=g[0][0]*g[1][0]+g[0][1]*g[1][1];g[1]=[g[1][0]-g[0][0]*b.shear,g[1][1]-g[0][1]*b.shear];b.scaley=kb(h(g[1]));k(g[1]);b.shear/=b.scaley;var z=-g[0][1],g=g[1][1];0>g?(b.rotate=a.deg(Oa.acos(g)),0>z&&(b.rotate=360-b.rotate)):b.rotate=a.deg(Oa.asin(z));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&
b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};b.toTransformString=function(b){b=b||this.split();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:"")+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:"")+(b.rotate?"r"+[b.rotate,0,0]:"")):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}})(v.prototype);var Rb=ia.navigator,
Q=Rb.userAgent.match(/Version\/(.*?)\s/)||Rb.userAgent.match(/Chrome\/(\d+)/);"Apple Computer, Inc."==Rb.vendor&&(Q&&4>Q[1]||"iP"==Rb.platform.slice(0,2))||"Google Inc."==Rb.vendor&&Q&&8>Q[1]?ha.safari=function(){var b=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){b.remove()});return!0}:ha.safari=Ma;for(var R=function(){this.returnValue=!1},kc=function(){return this.originalEvent.preventDefault()},Xa=function(){this.cancelBubble=!0},lc=function(){return this.originalEvent.stopPropagation()},
Ta=a.addEvent=function(){if(U.doc.addEventListener)return function(b,h,k,g){var z=wa&&za[h]||h,p;za[hb[h]]&&(z=za[hb[h]]);p=function(z){var p=U.doc.documentElement.scrollTop||U.doc.body.scrollTop,u=U.doc.documentElement.scrollLeft||U.doc.body.scrollLeft,a;if(B&&za.hasOwnProperty(wa?h:hb[h]))for(var D=0,H=z.targetTouches&&z.targetTouches.length;D<H;D++)if(a=z.targetTouches[D].target,a==b||"tspan"==a.nodeName&&a.parentNode==b){a=z;z=z.targetTouches[D];z.originalEvent=a;z.preventDefault=kc;z.stopPropagation=
lc;break}return k.call(g,z,z.clientX+u,z.clientY+p)};b.addEventListener(z,p,!1);return function(){b.removeEventListener(z,p,!1);return!0}};if(U.doc.attachEvent)return function(b,h,k,g){var z=function(b){b=b||U.win.event;var h=b.clientX+(U.doc.documentElement.scrollLeft||U.doc.body.scrollLeft),z=b.clientY+(U.doc.documentElement.scrollTop||U.doc.body.scrollTop);b.preventDefault=b.preventDefault||R;b.stopPropagation=b.stopPropagation||Xa;return k.call(g,b,h,z)};b.attachEvent("on"+h,z);return function(){b.detachEvent("on"+
h,z);return!0}}}(),ea=[],V=function(b){for(var h=b.clientX,k=b.clientY,g=U.doc.documentElement.scrollTop||U.doc.body.scrollTop,z=U.doc.documentElement.scrollLeft||U.doc.body.scrollLeft,p,u=ea.length;u--;){p=ea[u];if(B&&"touchmove"===b.type)for(var D=b.touches.length,H;D--;){if(H=b.touches[D],H.identifier==p.el._drag.id){h=H.clientX;k=H.clientY;(b.originalEvent?b.originalEvent:b).preventDefault();break}}else b.preventDefault();if(!p.el.removed){var D=a._engine.getNode(p.el),M=D.nextSibling,na=D.parentNode,
c=D.style.display;U.win.opera&&na.removeChild(D);D.style.display="none";H=p.el.paper.getElementByPoint(h,k);D.style.display=c;U.win.opera&&(M?na.insertBefore(D,M):na.appendChild(D));H&&C("raphael.drag.over."+p.el.id,p.el,H);h+=z;k+=g;C("raphael.drag.move."+p.el.id,p.move_scope||p.el,h-p.el._drag.x,k-p.el._drag.y,h,k,b)}}},Sb=function(b){a.undragmove(V).undragend(Sb);a.unmousemove(V).unmouseup(Sb);for(var h=ea.length,k;h--;)k=ea[h],k.el._drag={},C("raphael.drag.end."+k.el.id,k.end_scope||k.start_scope||
k.move_scope||k.el,b);ea=[]},S=a.el={},W=Y.length;W--;)(function(b){a[b]=S[b]=function(h,k){a.is(h,"function")&&(this.events=this.events||[],this.events.push({name:b,f:h,unbind:Ta(this.shape||this.node||U.doc,b,h,k||this)}));return this};a["un"+b]=S["un"+b]=function(h){for(var k=this.events||[],g=k.length;g--;)if(k[g].name==b&&k[g].f==h){k[g].unbind();k.splice(g,1);!k.length&&delete this.events;break}return this}})(Y[W]);S.data=function(b,h){var k=vb[this.id]=vb[this.id]||{};if(1==arguments.length){if(a.is(b,
"object")){for(var g in b)b.hasOwnProperty(g)&&this.data(g,b[g]);return this}C("raphael.data.get."+this.id,this,k[b],b);return k[b]}k[b]=h;C("raphael.data.set."+this.id,this,h,b);return this};S.removeData=function(b){null==b?delete vb[this.id]:vb[this.id]&&delete vb[this.id][b];return this};S.getData=function(){return qb(vb[this.id]||{})};var X=[],Z=function(){this.untrack=Ta(U.doc,"mouseup",pa,this)},pa=function(){this.untrack();this.untrack=null;return this.fn&&this.fn.apply(this.scope||this.el,
arguments)};S.mouseup=function(b,h,k){if(!k)return a.mouseup.apply(this,arguments);X.push(k={el:this,fn:b,scope:h});k.unbind=Ta(this.shape||this.node||U.doc,"mousedown",Z,k);return this};S.unmouseup=function(b){for(var h=X.length,k;h--;)X[h].el===this&&X[h].fn===b&&(k=X[h],k.unbind(),k.untrack&&k.untrack(),X.splice(h,1));return k?this:a.unmouseup.apply(this,arguments)};S.hover=function(b,h,k,g){return this.mouseover(b,k).mouseout(h,g||k)};S.unhover=function(b,h){return this.unmouseover(b).unmouseout(h)};
var Ua=[];S.drag=function(b,h,k,g,z,p){function u(D){var H=U.doc.documentElement.scrollTop||U.doc.body.scrollTop,M=U.doc.documentElement.scrollLeft||U.doc.body.scrollLeft;this._drag.x=D.clientX+M;this._drag.y=D.clientY+H;this._drag.id=D.identifier;B&&!wa&&!ea.length&&a.dragmove(V).dragend(Sb);!ea.length&&a.mousemove(V).mouseup(Sb);ea.push({el:this,move_scope:g,start_scope:z,end_scope:p});h&&C.on("raphael.drag.start."+this.id,h);b&&C.on("raphael.drag.move."+this.id,b);k&&C.on("raphael.drag.end."+this.id,
k);C("raphael.drag.start."+this.id,z||g||this,D.clientX+M,D.clientY+H,D)}this._drag={};Ua.push({el:this,start:u});B&&!wa&&this.dragstart(u);this.mousedown(u);return this};S.onDragOver=function(b){b?C.on("raphael.drag.over."+this.id,b):C.unbind("raphael.drag.over."+this.id)};S.undrag=function(){for(var b=Ua.length;b--;)Ua[b].el==this&&(this.unmousedown(Ua[b].start),Ua.splice(b,1),C.unbind("raphael.drag.*."+this.id));!Ua.length&&a.unmousemove(V).unmouseup(Sb);delete this._drag};S.follow=function(b,
h,k){if(b.removed||b.constructor!==a.el.constructor)return this;b.followers.push({el:this,stalk:k={before:"insertBefore",after:"insertAfter"}[k],cb:h});k&&this[k](b);return this};S.unfollow=function(b){if(b.removed||b.constructor!==a.el.constructor)return this;for(var h=0,k=b.followers.length;h<k;h++)if(b.followers[h].el===this){b.followers.splice(h,1);break}return this};ha.hide=function(){this.canvas.style.visibility="hidden";return this};ha.show=function(){this.canvas.style.visibility="";return this};
ha.group=function(){var b=arguments,h=gb(b,!0),b=a._engine.group(this,b[0],h);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ha.circle=function(){var b=arguments,h=gb(b,!0),b=Db(b,"cx",0,"cy",0,"r",0,"fill","none","stroke","#000"),h=a._engine.circle(this,b,h);return this.__set__&&this.__set__.push(h),this._elementsById[h.id]=h};ha.rect=function(){var b=arguments,h=gb(b,!0),b=Db(b,"x",0,"y",0,"width",0,"height",0,"r",0,"fill","none","stroke","#000"),h=a._engine.rect(this,b,h);
return this.__set__&&this.__set__.push(h),this._elementsById[h.id]=h};ha.ellipse=function(){var b=arguments,h=gb(b,!0),b=Db(b,"x",0,"y",0,"rx",0,"ry",0,"fill","none","stroke","#000"),h=a._engine.ellipse(this,b,h);return this.__set__&&this.__set__.push(h),this._elementsById[h.id]=h};ha.path=function(){var b=arguments,h=gb(b,!0),k=this.config,b=Db(b,"path","","fill","none","stroke","#000","stroke-linecap",k&&k["stroke-linecap"]||"butt"),h=a._engine.path(this,b,h);return this.__set__&&this.__set__.push(h),
this._elementsById[h.id]=h};ha.image=function(){var b=arguments,h=gb(b,!0),b=Db(b,"src","","x",0,"y",0,"width",0,"height",0);out=a._engine.image(this,b,h);return this.__set__&&this.__set__.push(out),this._elementsById[out.id]=out};ha.text=function(){var b=arguments,h=gb(b,!0),k=Db(b,"x",0,"y",0,"text","","stroke","none","fill","#000","text-anchor","middle","vertical-align","middle"),b=a._engine.text(this,k,h,b[1]);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ha.set=function(b){!a.is(b,
"array")&&(b=I.call(arguments,0,arguments.length));var h=new Aa(b);this.__set__&&this.__set__.push(h);return h};ha.setConfig=function(b,h){void 0!==b&&void 0!==h&&(this.config=this.config||{},this.config[b]=h);return this.config};ha.setStart=function(b){this.__set__=b||this.set()};ha.setFinish=function(b){b=this.__set__;delete this.__set__;return b};ha.setSize=function(b,h){return a._engine.setSize.call(this,b,h)};ha.setDimension=function(b,h){"object"===typeof b?this.setSize(b.width,b.height):this.setSize(b,
h)};ha.attr=function(b){if(null==b)return{width:this.width,height:this.height};if(a.is(b,"string"))return this[b];this.setDimension(b);return this};ha.status=function(b,h){return S.status.call(this,b,h)};ha.animateWith=function(b,h,k,g,z,p){return S.animateWith.call(this,b,h,k,g,z,p)};ha.animate=function(b,h,k,g){return S.animate.call(this,b,h,k,g)};ha.setViewBox=function(b,h,k,g,z){return a._engine.setViewBox.call(this,b,h,k,g,z)};ha.top=ha.bottom=null;ha.raphael=a;ha.getElementByPoint=function(b,
h){var k,g,z=this.canvas,p=U.doc.elementFromPoint(b,h);if(U.win.opera&&"svg"==p.tagName){g=z.getBoundingClientRect();k=z.ownerDocument;var u=k.body,a=k.documentElement;k=g.top+(U.win.pageYOffset||a.scrollTop||u.scrollTop)-(a.clientTop||u.clientTop||0);g=g.left+(U.win.pageXOffset||a.scrollLeft||u.scrollLeft)-(a.clientLeft||u.clientLeft||0);u=z.createSVGRect();u.x=b-g;u.y=h-k;u.width=u.height=1;k=z.getIntersectionList(u,null);k.length&&(p=k[k.length-1])}if(!p)return null;for(;p.parentNode&&p!=z.parentNode&&
!p.raphael;)p=p.parentNode;p==this.canvas.parentNode&&(p=z);return p=p&&p.raphael?this.getById(p.raphaelid):null};ha.getElementsByBBox=function(b){var h=this.set();this.forEach(function(k){a.isBBoxIntersect(k.getBBox(),b)&&h.push(k)});return h};ha.getById=function(b){return this._elementsById[b]||null};ha.forEach=function(b,h){for(var k=this.bottom;k&&!1!==b.call(h,k);)k=k.next;return this};ha.getElementsByPoint=function(b,h){var k=this.set();this.forEach(function(g){g.isPointInside(b,h)&&k.push(g)});
return k};S.isPointInside=function(b,h){var k=this.realPath=this.realPath||jb[this.type](this),g;return a.isPointInsidePath((g=this.attr("transform"))&&g.length&&a.transformPath(k,g)||k,b,h)};S.getBBox=function(b){if(this.removed)return{};var h=this._;if(b){if(h.dirty||!h.bboxwt)this.realPath=jb[this.type](this),h.bboxwt=g(this.realPath),h.bboxwt.toString=t,h.dirty=0;return h.bboxwt}if(h.dirty||h.dirtyT||!h.bbox){if(h.dirty||!this.realPath)h.bboxwt=0,this.realPath=jb[this.type](this);h.bbox=g(yb(this.realPath,
this.matrix));h.bbox.toString=t;h.dirty=h.dirtyT=0}return h.bbox};S.clone=function(){if(this.removed)return null;var b=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(b);return b};S.glow=function(b){if("text"==this.type)return null;b=b||{};var h=(b.width||10)+(+this.attr("stroke-width")||1),k=b.fill||!1,g=b.opacity||.5,z=b.offsetx||0,p=b.offsety||0;b=b.color||"#000";for(var u=h/2,a=this.paper,D=a.set(),H=this.realPath||jb[this.type](this),H=this.matrix?yb(H,this.matrix):
H,M=1;M<u+1;M++)D.push(a.path(H).attr({stroke:b,fill:k?b:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(h/u*M).toFixed(3),opacity:+(g/u).toFixed(3)}));return D.insertBefore(this).translate(z,p)};var cb=function(b,h,k,g,z,p,u,D,H){return null==H?l(b,h,k,g,z,p,u,D):a.findDotsAtSegment(b,h,k,g,z,p,u,D,N(b,h,k,g,z,p,u,D,H))},da=function(b,h){return function(k,g,z){k=Wa(k);for(var p,u,D,H,M="",na={},c=0,xa=0,e=k.length;xa<e;xa++){D=k[xa];if("M"==D[0])p=+D[1],u=+D[2];else{H=
cb(p,u,D[1],D[2],D[3],D[4],D[5],D[6]);if(c+H>g){if(h&&!na.start){p=cb(p,u,D[1],D[2],D[3],D[4],D[5],D[6],g-c);M+=["C"+p.start.x,p.start.y,p.m.x,p.m.y,p.x,p.y];if(z)return M;na.start=M;M=["M"+p.x,p.y+"C"+p.n.x,p.n.y,p.end.x,p.end.y,D[5],D[6]].join();c+=H;p=+D[5];u=+D[6];continue}if(!b&&!h)return p=cb(p,u,D[1],D[2],D[3],D[4],D[5],D[6],g-c),{x:p.x,y:p.y,alpha:p.alpha}}c+=H;p=+D[5];u=+D[6]}M+=D.shift()+D}na.end=M;p=b?c:h?na:a.findDotsAtSegment(p,u,D[0],D[1],D[2],D[3],D[4],D[5],1);p.alpha&&(p={x:p.x,y:p.y,
alpha:p.alpha});return p}},fc=da(1),ka=da(),ac=da(0,1);a.getTotalLength=fc;a.getPointAtLength=ka;a.getSubpath=function(b,h,k){if(1E-6>this.getTotalLength(b)-k)return ac(b,h).end;b=ac(b,k,1);return h?ac(b,h).end:b};S.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():fc(this.attrs.path)};S.getPointAtLength=function(b){if("path"==this.type)return ka(this.attrs.path,b)};S.getSubpath=function(b,h){if("path"==this.type)return a.getSubpath(this.attrs.path,
b,h)};var ja=a.easing_formulas={linear:function(b){return b},"<":function(b){return Va(b,1.7)},">":function(b){return Va(b,.48)},"<>":function(b){var h=.48-b/1.04,k=kb(.1734+h*h);b=k-h;b=Va(La(b),1/3)*(0>b?-1:1);h=-k-h;h=Va(La(h),1/3)*(0>h?-1:1);b=b+h+.5;return 3*(1-b)*b*b+b*b*b},backIn:function(b){return b*b*(2.70158*b-1.70158)},backOut:function(b){--b;return b*b*(2.70158*b+1.70158)+1},elastic:function(b){return b==!!b?b:Va(2,-10*b)*qa(2*(b-.075)*Ha/.3)+1},bounce:function(b){b<1/2.75?b*=7.5625*b:
b<2/2.75?(b-=1.5/2.75,b=7.5625*b*b+.75):b<2.5/2.75?(b-=2.25/2.75,b=7.5625*b*b+.9375):(b-=2.625/2.75,b=7.5625*b*b+.984375);return b}};ja.easeIn=ja["ease-in"]=ja["<"];ja.easeOut=ja["ease-out"]=ja[">"];ja.easeInOut=ja["ease-in-out"]=ja["<>"];ja["back-in"]=ja.backIn;ja["back-out"]=ja.backOut;var la=[],oa,ec=function(){return oa=a.requestAnimFrame||f.webkitRequestAnimationFrame||f.mozRequestAnimationFrame||f.oRequestAnimationFrame||f.msRequestAnimationFrame||function(b){setTimeout(b,16)}},$b=function(){for(var b=
+new Date,h=0;h<la.length;h++){var k=la[h];if(!(k.el.removed||k.paused||k.parentEl&&k.parentEl.e&&k.parentEl.e.paused)){var g=b-k.start,z=k.ms,p=k.easing,u=k.from,D=k.diff,H=k.to,M=k.el,na={},c,xa={},e=!1!==a.stopEvent,Fa;k.initstatus?(g=(k.initstatus*k.anim.top-k.prev)/(k.percent-k.prev)*z,k.status=k.initstatus,delete k.initstatus,k.stop&&(delete k.el,la.splice(h--,1))):k.status=(k.prev+g/z*(k.percent-k.prev))/k.anim.top;if(!(0>g))if(g<z){var ya=p(g/z),d;for(d in u)if(u.hasOwnProperty(d)){switch(ub[d]){case G:c=
+u[d]+ya*z*D[d];break;case "colour":c="rgb("+[bc(ma(u[d].r+ya*z*D[d].r)),bc(ma(u[d].g+ya*z*D[d].g)),bc(ma(u[d].b+ya*z*D[d].b))].join()+")";break;case "path":c=[];g=0;for(p=u[d].length;g<p;g++){c[g]=[u[d][g][0]];H=1;for(xa=u[d][g].length;H<xa;H++)c[g][H]=(+u[d][g][H]+ya*z*D[d][g][H]).toFixed(4);c[g]=c[g].join(" ")}c=c.join(" ");break;case "transform":if(D[d].real)for(c=[],g=0,p=u[d].length;g<p;g++)for(c[g]=[u[d][g][0]],H=1,xa=u[d][g].length;H<xa;H++)c[g][H]=u[d][g][H]+ya*z*D[d][g][H];else c=function(b){return+u[d][b]+
ya*z*D[d][b]},c=[["m",c(0),c(1),c(2),c(3),c(4),c(5)]];break;case "csv":if("clip-rect"==d)for(c=[],g=4;g--;)c[g]=+u[d][g]+ya*z*D[d][g];break;default:for(p=[].concat(u[d]),c=[],g=M.ca[d].length;g--;)c[g]=+p[g]+ya*z*D[d][g]}na[d]=c}M.attr(na);e&&function(b,h,k){setTimeout(function(){C("raphael.anim.frame."+b,h,k)})}(M.id,M,k.anim)}else{(function(b,h,k){setTimeout(function(){e&&C("raphael.anim.frame."+h.id,h,k);e&&C("raphael.anim.finish."+h.id,h,k);a.is(b,"function")&&b.call(h)})})(k.callback,M,k.anim);
M.attr(H);delete k.el;la.splice(h--,1);if(1<k.repeat&&!k.next){for(Fa in H)H.hasOwnProperty(Fa)&&(xa[Fa]=k.totalOrigin[Fa]);k.el.attr(xa);A(k.anim,k.el,k.anim.percents[0],null,k.totalOrigin,k.repeat-1)}k.next&&!k.stop&&A(k.anim,k.el,k.next,null,k.totalOrigin,k.repeat)}}}a.svg&&M&&M.paper&&M.paper.safari();la.length&&(oa||ec())($b)},bc=function(b){return 255<b?255:0>b?0:b};S.animateWith=function(b,h,k,g,z,p){var u=this;if(u.removed)return p&&p.call(u),u;if(0==g)return setTimeout(function(){a.is(p,
"function")&&p.call(u)},0),u.attr(k);k=k instanceof c?k:a.animation(k,g,z,p);A(k,u,k.percents[0],null,u.attr(),void 0,b);k=0;for(g=la.length;k<g;k++)if(la[k].anim==h&&la[k].el==b){la[g-1].start=la[k].start;break}return u};S.onAnimation=function(b){b?C.on("raphael.anim.frame."+this.id,b):C.unbind("raphael.anim.frame."+this.id);return this};c.prototype.delay=function(b){var h=new c(this.anim,this.ms);h.times=this.times;h.del=+b||0;return h};c.prototype.repeat=function(b){var h=new c(this.anim,this.ms);
h.del=this.del;h.times=Oa.floor(Da(b,0))||1;return h};a.animation=function(b,h,k,g,z){if(b instanceof c)return b;if(a.is(k,"function")||!k)g=g||k||null,k=null;void 0===a.stopEvent&&(a.stopEvent=z);b=Object(b);h=+h||0;z={};var p,u;for(u in b)b.hasOwnProperty(u)&&Ba(u)!=u&&Ba(u)+"%"!=u&&(p=!0,z[u]=b[u]);return p?(k&&(z.easing=k),g&&(z.callback=g),new c({100:z},h)):new c(b,h)};S.animate=function(b,h,k,g){if(this.removed)return g&&g.call(this),this;b=b instanceof c?b:a.animation(b,h,k,g);A(b,this,b.percents[0],
null,this.attr());return this};S.setTime=function(b,h){b&&null!=h&&this.status(b,fb(h,b.ms)/b.ms);return this};S.status=function(b,h){var k=[],g=0,z,p;if(null!=h)return A(b,this,-1,fb(h,1)),this;for(z=la.length;g<z;g++)if(p=la[g],p.el.id==this.id&&(!b||p.anim==b)){if(b)return p.status;k.push({anim:p.anim,status:p.status})}return b?0:k};S.pause=function(b,h){var k=+new Date,g,z;for(z=0;z<la.length;z++)g=la[z],!(g.el.id===this.id||h&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=
b||!1===C("raphael.anim.pause."+this.id,this,g.anim)||(g.paused=!0,g.pauseStart=k);return this};S.resume=function(b,h){var k=+new Date,g,z;for(z=0;z<la.length;z++)g=la[z],!(g.el.id===this.id||h&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=b||!1===C("raphael.anim.resume."+this.id,this,g.anim)||(delete g.paused,g.el.status(g.anim,g.status),g.pauseEnd=k,g.start+=(g.parentEl&&g.parentEl.e.pauseEnd||g.pauseEnd)-(g.parentEl&&g.parentEl.e.pauseStart||g.pauseStart)||0);return this};
S.stop=function(b,h,k){var g;if(h)for(g=la.length-1;0<=g;g--)h=la[g],!(h.el.id===this.id||h.parentEl&&h.parentEl.id===this.id)||b&&la[g].anim!=b||(ele=h.el,k&&ele.attr(h.to),h.callback&&h.callback.call(ele),delete ele.e,delete h.el,la.splice(g,1));else for(g=0;g<la.length;g++)h=la[g],h.el.id!==this.id||b&&h.anim!==b||!1!==C("raphael.anim.stop."+this.id,this,h.anim)&&la.splice(g--,1);return this};C.on("raphael.remove",P);C.on("raphael.clear",P);S.toString=function(){return"Raphaël’s object"};S.toFront=
function(){if(this.removed)return this;var b=a._engine.getNode(this),h=this.parent,k=this.followers,g;a._tofront(this,h)&&h.canvas.appendChild(b);b=0;for(h=k.length;b<h;b++)(g=k[b]).stalk&&g.el[g.stalk](this);return this};S.toBack=function(){if(this.removed)return this;var b=a._engine.getNode(this),h=this.parent,k=this.followers,g;a._toback(this,h)&&h.canvas.insertBefore(b,h.canvas.firstChild);b=0;for(h=k.length;b<h;b++)(g=k[b]).stalk&&g.el[g.stalk](this);return this};S.insertAfter=function(b){if(this.removed)return this;
var h=a._engine.getNode(this),k=a._engine.getLastNode(b),g=b.parent.canvas,z=this.followers,p;k.nextSibling?g.insertBefore(h,k.nextSibling):g.appendChild(h);a._insertafter(this,b,this.parent,b.parent);h=0;for(k=z.length;h<k;h++)(p=z[h]).stalk&&p.el[p.stalk](b);return this};S.insertBefore=function(b){if(this.removed)return this;var h=a._engine.getNode(this),k=a._engine.getNode(b),g=this.followers,z;b.parent.canvas.insertBefore(h,k);a._insertbefore(this,b,this.parent,b.parent);this.parent=b.parent;
h=0;for(k=g.length;h<k;h++)(z=g[h]).stalk&&z.el[z.stalk](b);return this};S.appendChild=function(b){if(this.removed||"group"!==this.type)return this;var h=this.followers,k,g,z;if(b.parent===this)return b.toFront(),this;g=a._engine.getNode(b);a._tear(b,b.parent);this.canvas.appendChild(g);b.parent=this;!this.bottom&&(this.bottom=b);b.prev=this.top;b.next=null;this.top&&(this.top.next=b);this.top=b;g=0;for(z=h.length;g<z;g++)(k=h[g]).stalk&&k.el[k.stalk](b);return this};S.removeChild=function(b){if(this.removed||
"group"!==this.type||b.parent!==this)return this;var h=a._engine.getNode(b),k=this.paper;a._tear(b,this);k.canvas.appendChild(h);this.parent=k;!k.bottom&&(k.bottom=this);(this.prev=k.top)&&(k.top.next=this);k.top=this;this.next=null;return this};var Aa=function(b){this.items=[];this.length=0;this.type="set";if(b)for(var h=0,k=b.length;h<k;h++)!b[h]||b[h].constructor!=S.constructor&&b[h].constructor!=Aa||(this[this.items.length]=this.items[this.items.length]=b[h],this.length++)},ra=Aa.prototype;ra.push=
function(){for(var b,h,k=0,g=arguments.length;k<g;k++)!(b=arguments[k])||b.constructor!=S.constructor&&b.constructor!=Aa||(h=this.items.length,this[h]=this.items[h]=b,this.length++);return this};ra.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};ra.forEach=function(b,h){for(var k=0,g=this.items.length;k<g&&!1!==b.call(h,this.items[k],k);k++);return this};for(var ta in S)S.hasOwnProperty(ta)&&(ra[ta]=function(b){return function(){var h=arguments;return this.forEach(function(k){k[b][r](k,
h)})}}(ta));ra.attr=function(b,h){if(b&&a.is(b,w)&&a.is(b[0],"object"))for(var k=0,g=b.length;k<g;k++)this.items[k].attr(b[k]);else for(k=0,g=this.items.length;k<g;k++)this.items[k].attr(b,h);return this};ra.clear=function(){for(;this.length;)this.pop()};ra.splice=function(b,h,k){b=0>b?Da(this.length+b,0):b;h=Da(0,fb(this.length-b,isNaN(h)&&this.length||h));var g=[],z=[],p=[],u;for(u=2;u<arguments.length;u++)p.push(arguments[u]);for(u=0;u<h;u++)z.push(this[b+u]);for(;u<this.length-b;u++)g.push(this[b+
u]);var a=p.length;for(u=0;u<a+g.length;u++)this.items[b+u]=this[b+u]=u<a?p[u]:g[u-a];for(u=this.items.length=this.length-=h-a;this[u];)delete this[u++];return new Aa(z)};ra.exclude=function(b){for(var h=0,k=this.length;h<k;h++)if(this[h]==b)return this.splice(h,1),!0};ra.animate=function(b,h,k,g){!a.is(k,"function")&&k||(g=k||null);var z=this.items.length,p=z,u=this,D;if(!z)return this;g&&(D=function(){!--z&&g.call(u)});k=a.is(k,"string")?k:D;h=a.animation(b,h,k,D);for(b=this.items[--p].animate(h);p--;)this.items[p]&&
!this.items[p].removed&&this.items[p].animateWith(b,h,h);return this};ra.insertAfter=function(b){for(var h=this.items.length;h--;)this.items[h].insertAfter(b);return this};ra.getBBox=function(){for(var b=[],h=[],k=[],g=[],z=this.items.length;z--;)if(!this.items[z].removed){var p=this.items[z].getBBox();b.push(p.x);h.push(p.y);k.push(p.x+p.width);g.push(p.y+p.height)}b=fb[r](0,b);h=fb[r](0,h);k=Da[r](0,k);g=Da[r](0,g);return{x:b,y:h,x2:k,y2:g,width:k-b,height:g-h}};ra.clone=function(b){b=new Aa;for(var h=
0,k=this.items.length;h<k;h++)b.push(this.items[h].clone());return b};ra.toString=function(){return"Raphaël‘s set"};ra.glow=function(b){var h=this.paper.set();this.forEach(function(k,g){var z=k.glow(b);null!=z&&z.forEach(function(b,k){h.push(b)})});return h};a.registerFont=function(b){if(!b.face)return b;this.fonts=this.fonts||{};var h={w:b.w,face:{},glyphs:{}},k=b.face["font-family"],g;for(g in b.face)b.face.hasOwnProperty(g)&&(h.face[g]=b.face[g]);this.fonts[k]?this.fonts[k].push(h):this.fonts[k]=
[h];if(!b.svg){h.face["units-per-em"]=Ia(b.face["units-per-em"],10);for(var z in b.glyphs)if(b.glyphs.hasOwnProperty(z)&&(k=b.glyphs[z],h.glyphs[z]={w:k.w,k:{},d:k.d&&"M"+k.d.replace(/[mlcxtrv]/g,function(b){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[b]||"M"})+"z"},k.k))for(var p in k.k)k.hasOwnProperty(p)&&(h.glyphs[z].k[p]=k.k[p])}return b};ha.getFont=function(b,h,k,g){g=g||"normal";k=k||"normal";h=+h||{normal:400,bold:700,lighter:300,bolder:800}[h]||400;if(a.fonts){var z=a.fonts[b];if(!z){b=new RegExp("(^|\\s)"+
b.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)","i");for(var p in a.fonts)if(a.fonts.hasOwnProperty(p)&&b.test(p)){z=a.fonts[p];break}}var u;if(z)for(p=0,b=z.length;p<b&&(u=z[p],u.face["font-weight"]!=h||u.face["font-style"]!=k&&u.face["font-style"]||u.face["font-stretch"]!=g);p++);return u}};ha.print=function(b,h,k,g,z,p,u){p=p||"middle";u=Da(fb(u||0,1),-1);var D=Na(k).split(""),H=0,M=0,na="";a.is(g,k)&&(g=this.getFont(g));if(g){k=(z||16)/g.face["units-per-em"];var c=g.face.bbox.split(Ab);z=+c[0];var xa=
c[3]-c[1],e=0;p=+c[1]+("baseline"==p?xa+ +g.face.descent:xa/2);for(var c=0,Fa=D.length;c<Fa;c++){if("\n"==D[c])M=d=H=0,e+=xa;else var ya=M&&g.glyphs[D[c-1]]||{},d=g.glyphs[D[c]],H=H+(M?(ya.w||g.w)+(ya.k&&ya.k[D[c]]||0)+g.w*u:0),M=1;d&&d.d&&(na+=a.transformPath(d.d,["t",H*k,e*k,"s",k,k,z,p,"t",(b-z)/k,(h-p)/k]))}}return this.path(na).attr({fill:"#000",stroke:"none"})};ha.add=function(b){if(a.is(b,"array"))for(var h=this.set(),k=0,g=b.length,z;k<g;k++)z=b[k]||{},ga.hasOwnProperty(z.type)&&h.push(this[z.type]().attr(z));
return h};a.format=function(b,h){var k=a.is(h,w)?[0].concat(h):arguments;b&&a.is(b,"string")&&k.length-1&&(b=b.replace(Fb,function(b,h){return null==k[++h]?"":k[h]}));return b||""};a.fullfill=function(){var b=/\{([^\}]+)\}/g,h=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,k=function(b,k,g){var z=g;k.replace(h,function(b,h,k,g,p){h=h||g;z&&(h in z&&(z=z[h]),"function"==typeof z&&p&&(z=z()))});return z=(null==z||z==g?b:z)+""};return function(h,g){return String(h).replace(b,function(b,h){return k(b,
h,g)})}}();a.ninja=function(){T?U.win.Raphael=ca:delete Raphael;return a};var va=a.vml&&.5||0;a.crispBound=z(function(b,h,k,g,z){var p={},u;b=b||0;h=h||0;k=k||0;g=g||0;z=z||0;u=z%2/2+va;p.x=ma(b+u)-u;p.y=ma(h+u)-u;p.width=ma(b+k+u)-u-p.x;p.height=ma(h+g+u)-u-p.y;p["stroke-width"]=z;0===p.width&&0!==k&&(p.width=1);0===p.height&&0!==g&&(p.height=1);return p},a);S.crisp=function(){var b=this.attrs,h,k=this.attr(["x","y","width","height","stroke-width"]),k=a.crispBound(k.x,k.y,k.width,k.height,k["stroke-width"]);
for(h in k)b[h]===k[h]&&delete k[h];return this.attr(k)};a.st=ra;a.define=function(b,h,k,g,z,p){var u;if(a.is(b,w))for(p=0,u=b.length;p<u;p++)a.define(b[p]);else if(a.is(b,"object"))a.define(b.name,b[b.name],b.ca,b.fn,b.e,b.data);else if(b&&!a.fn[b])return a.fn[b]=function(){var p=arguments,u=h.apply(this,p),D;if(g&&a.is(g,"object"))for(D in g)u[D]=g[D];if(z&&a.is(z,"object"))for(D in z)u[D]&&u[D](z[D]);if(k){if(a.is(k,"function"))u.ca[b]=k;else for(D in k)u.ca[D]=k[D];u.ca[b]&&(a._lastArgIfGroup(p,
!0),p.length&&u.attr(b,L.call(p)))}return u},k&&(a.fn[b].ca=k),g&&(a.fn[b].fn=g),z&&(a.fn[b].e=z),p&&(a.fn[b].data=p),a.fn[b]};(function(b,h,k){function g(){/in/.test(b.readyState)?setTimeout(g,9):a.eve("raphael.DOMload")}null==b.readyState&&b.addEventListener&&(b.addEventListener(h,k=function(){b.removeEventListener(h,k,!1);b.readyState="complete"},!1),b.readyState="loading");g()})(J,"DOMContentLoaded");C.on("raphael.DOMload",function(){e=!0});"undefined"===typeof m&&"object"===typeof window&&(m=
window);(function(){function b(h){for(var k={},g=h,z=k;g;)g.node&&g.node.style&&"none"===g.node.style.display&&(g.show(),z._doHide=!0),g=g.parent,z.parent={},z=z.parent;return function(){for(var b=h,g=k;b;)g._doHide&&b.hide(),b=b.parent,g=g.parent}}if(a.svg){var h=String,k=parseFloat,g=parseInt,z=Math,p=z.max,u=z.abs,D=z.pow,H=z.sqrt,M=/[, ]+/,na=!(!/AppleWebKit/.test(a._g.win.navigator.userAgent)||/Chrome/.test(a._g.win.navigator.userAgent)&&!(29>a._g.win.navigator.appVersion.match(/Chrome\/(\d+)\./)[1])),
c=a.eve,xa={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},e={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};a._url="";var Fa=function(b,h){var k=b.gradient;if(k){if(k===h)return;k.refCount--;k.refCount||k.parentNode.removeChild(k);delete b.gradient}h&&(b.gradient=h,h.refCount++)},ya=a._createNode=function(b,k){if(k){"string"==
typeof b&&(b=ya(b));for(var g in k)k.hasOwnProperty(g)&&("xlink:"==g.substring(0,6)?b.setAttributeNS("http://www.w3.org/1999/xlink",g.substring(6),h(k[g])):b.setAttribute(g,h(k[g])))}else b=a._g.doc.createElementNS("http://www.w3.org/2000/svg",b);return b},d={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},f={pad:"pad",redlect:"reflect",repeat:"repeat"},ua=function(b,g){if(!b.paper||!b.paper.defs)return 0;var M="linear",na=b.paper,c=a.getElementID((na.id+"-"+g).replace(/[\(\)\s%:,\xb0#]/g,
"_")),xa=.5,e=.5,ua,Ca,Y,l,r,w=b.node,sb=w.style,q=a._g.doc.getElementById(c);if(!q){g=h(g).replace(a._radial_gradient,function(b,h){M="radial";h=h&&h.split(",")||[];l=h[5];r=h[6];var g=h[0],z=h[1],p=h[2],u=h[3],a=h[4],na=g&&z,c;p&&(ua=/\%/.test(p)?p:k(p));if(l===d.userSpaceOnUse)return na&&(xa=g,e=z),u&&a&&(Ca=u,Y=a,na||(xa=Ca,e=Y)),"";na&&(xa=k(g),e=k(z),g=2*(.5<e)-1,.25<(c=D(xa-.5,2))+D(e-.5,2)&&.25>c&&(e=H(.25-c)*g+.5)&&.5!==e&&(e=e.toFixed(5)-1E-5*g));u&&a&&(Ca=k(u),Y=k(a),g=2*(.5<Y)-1,.25<(c=
D(Ca-.5,2))+D(Y-.5,2)&&.25>c&&(Y=H(.25-c)*g+.5)&&.5!==Y&&(Y=Y.toFixed(5)-1E-5*g),na||(xa=Ca,e=Y));return""});g=g.split(/\s*\-\s*/);if("linear"==M){var q=g.shift(),Wa=q.match(/\((.*)\)/),m,Wa=Wa&&Wa[1]&&Wa[1].split(/\s*\,\s*/),q=-k(q);if(isNaN(q))return null;Wa&&Wa.length?(Wa[0]in d?(l=Wa.shift(),Wa[0]in f&&(r=Wa.shift())):(Wa[4]&&(l=Wa[4]),Wa[5]&&(r=Wa[5])),m=[Wa[0]||"0%",Wa[1]||"0%",Wa[2]||"100%",Wa[3]||"0%"]):(m=[0,0,z.cos(a.rad(q)),z.sin(a.rad(q))],q=1/(p(u(m[2]),u(m[3]))||1),m[2]*=q,m[3]*=q,0>
m[2]&&(m[0]=-m[2],m[2]=0),0>m[3]&&(m[1]=-m[3],m[3]=0))}Wa=a._parseDots(g);if(!Wa)return null;q=ya(M+"Gradient",{id:c});q.refCount=0;l in d&&q.setAttribute("gradientUnits",h(l));r in f&&q.setAttribute("spreadMethod",h(r));"radial"===M?(void 0!==ua&&q.setAttribute("r",h(ua)),void 0!==Ca&&void 0!==Y&&(q.setAttribute("cx",h(Ca)),q.setAttribute("cy",h(Y))),q.setAttribute("fx",h(xa)),q.setAttribute("fy",h(e))):ya(q,{x1:m[0],y1:m[1],x2:m[2],y2:m[3]});m=0;for(var tb=Wa.length;m<tb;m++)q.appendChild(ya("stop",
{offset:Wa[m].offset?Wa[m].offset:m?"100%":"0%","stop-color":Wa[m].color||"#fff","stop-opacity":void 0===Wa[m].opacity?1:Wa[m].opacity}));na.defs.appendChild(q)}Fa(b,q);ya(w,{fill:"url('"+a._url+"#"+c+"')",opacity:1,"fill-opacity":1});sb.fill="";sb.opacity=1;return sb.fillOpacity=1},Ca=function(b){var h=b.getBBox(1);ya(b.pattern,{patternTransform:b.matrix.invert()+" translate("+h.x+","+h.y+")"})},Y=function(b,k,g){if("path"==b.type){for(var z=h(k).toLowerCase().split("-"),p=b.paper,u=g?"end":"start",
D=b.node,H=b.attrs,M=H["stroke-width"],na=z.length,c="classic",Fa,d,f=3,ua=3,Ca=5;na--;)switch(z[na]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":c=z[na];break;case "wide":ua=5;break;case "narrow":ua=2;break;case "long":f=5;break;case "short":f=2}"open"==c?(f+=2,ua+=2,Ca+=2,Fa=1,d=g?4:1,z={fill:"none",stroke:H.stroke}):(d=Fa=f/2,z={fill:H.stroke,stroke:"none"});b._.arrows?g?(b._.arrows.endPath&&e[b._.arrows.endPath]--,b._.arrows.endMarker&&e[b._.arrows.endMarker]--):
(b._.arrows.startPath&&e[b._.arrows.startPath]--,b._.arrows.startMarker&&e[b._.arrows.startMarker]--):b._.arrows={};if("none"!=c){var na="raphael-marker-"+c,Y="raphael-marker-"+u+c+f+ua+"-obj"+b.id;a._g.doc.getElementById(na)?e[na]++:(p.defs.appendChild(ya(ya("path"),{"stroke-linecap":"round",d:xa[c],id:na})),e[na]=1);var l=a._g.doc.getElementById(Y);l?(e[Y]++,f=l.getElementsByTagName("use")[0]):(l=ya(ya("marker"),{id:Y,markerHeight:ua,markerWidth:f,orient:"auto",refX:d,refY:ua/2}),f=ya(ya("use"),
{"xlink:href":"#"+na,transform:(g?"rotate(180 "+f/2+" "+ua/2+") ":"")+"scale("+f/Ca+","+ua/Ca+")","stroke-width":(1/((f/Ca+ua/Ca)/2)).toFixed(4)}),l.appendChild(f),p.defs.appendChild(l),e[Y]=1);ya(f,z);p=Fa*("diamond"!=c&&"oval"!=c);g?(g=b._.arrows.startdx*M||0,M=a.getTotalLength(H.path)-p*M):(g=p*M,M=a.getTotalLength(H.path)-(b._.arrows.enddx*M||0));z={};z["marker-"+u]="url('"+a._url+"#"+Y+"')";if(M||g)z.d=a.getSubpath(H.path,g,M);ya(D,z);b._.arrows[u+"Path"]=na;b._.arrows[u+"Marker"]=Y;b._.arrows[u+
"dx"]=p;b._.arrows[u+"Type"]=c;b._.arrows[u+"String"]=k}else g?(g=b._.arrows.startdx*M||0,M=a.getTotalLength(H.path)-g):(g=0,M=a.getTotalLength(H.path)-(b._.arrows.enddx*M||0)),b._.arrows[u+"Path"]&&ya(D,{d:a.getSubpath(H.path,g,M)}),delete b._.arrows[u+"Path"],delete b._.arrows[u+"Marker"],delete b._.arrows[u+"dx"],delete b._.arrows[u+"Type"],delete b._.arrows[u+"String"];for(z in e)e.hasOwnProperty(z)&&!e[z]&&(b=a._g.doc.getElementById(z))&&b.parentNode.removeChild(b)}},l={"":["none"],none:["none"],
"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},r=function(b,k,g){var z=l[h(k).toLowerCase()],p,u,D;if(k=z||void 0!==k&&[].concat(k)){p=b.attrs["stroke-width"]||1;g={round:p,square:p,butt:0}[g["stroke-linecap"]||b.attrs["stroke-linecap"]]||0;u=k.length;D=z?p:1;if("none"==k[0])z=k;else for(z=[];u--;)z[u]=k[u]*D+(u%2?1:-1)*g,0>=z[u]&&(z[u]=.01+(1>=p?g:0)),isNaN(z[u])&&(z[u]=0);a.is(k,"array")&&ya(b.node,{"stroke-dasharray":z.join(",")})}},
w=function(b,h){for(var k in h)c("raphael.attr."+k+"."+b.id,b,h[k],k),b.ca[k]&&b.attr(k,h[k])},sb=a._setFillAndStroke=function(b,k){if(b.paper.canvas){var z=b.node,D=b.attrs,H=b.paper,c=z.style,xa=c.visibility;k&&k.text&&k.text.replace&&(k.text=k.text.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&<br\/>lt;|&l<br\/>t;|&lt<br\/>;/g,"<<br/>").replace(/&<br\/>gt;|&g<br\/>t;|&gt<br\/>;/g,"><br/>"));c.visibility="hidden";for(var e in k)if(k.hasOwnProperty(e)&&a._availableAttrs.hasOwnProperty(e)){var d=
k[e];D[e]=d;switch(e){case "blur":b.blur(d);break;case "href":case "title":case "target":var f=z.parentNode;if("a"!=f.tagName.toLowerCase()){if(""==d)break;var l=ya("a");l.raphael=!0;l.raphaelid=z.raphaelid;f.insertBefore(l,z);l.appendChild(z);f=l}"target"==e?f.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==d?"new":d):f.setAttributeNS("http://www.w3.org/1999/xlink",e,d);z.titleNode=f;break;case "cursor":c.cursor=d;break;case "transform":b.transform(d);break;case "rotation":a.is(d,"array")?
b.rotate.apply(b,d):b.rotate(d);break;case "arrow-start":Y(b,d);break;case "arrow-end":Y(b,d,1);break;case "clip-path":var w=!0;case "clip-rect":f=!w&&h(d).split(M);b._.clipispath=!!w;if(w||4==f.length){b.clip&&b.clip.parentNode.parentNode.removeChild(b.clip.parentNode);var l=ya("clipPath"),sb=ya(w?"path":"rect");l.id=a.getElementID(a.createUUID());ya(sb,w?{d:d?D["clip-path"]=a._pathToAbsolute(d):a._availableAttrs.path,fill:"none"}:{x:f[0],y:f[1],width:f[2],height:f[3],transform:b.matrix.invert()});
l.appendChild(sb);H.defs.appendChild(l);ya(z,{"clip-path":"url('"+a._url+"#"+l.id+"')"});b.clip=sb}!d&&(d=z.getAttribute("clip-path"))&&((d=a._g.doc.getElementById(d.replace(/(^url\(#|\)$)/g,"")))&&d.parentNode.removeChild(d),ya(z,{"clip-path":""}),11===document.documentMode&&z.removeAttribute("clip-path"),delete b.clip);break;case "path":"path"==b.type&&(ya(z,{d:d?D.path=a._pathToAbsolute(d):a._availableAttrs.path}),b._.dirty=1,b._.arrows&&("startString"in b._.arrows&&Y(b,b._.arrows.startString),
"endString"in b._.arrows&&Y(b,b._.arrows.endString,1)));break;case "width":if(z.setAttribute(e,d),b._.dirty=1,D.fx)e="x",d=D.x;else break;case "x":D.fx&&(d=-D.x-(D.width||0));case "rx":if("rx"==e&&"rect"==b.type)break;case "cx":z.setAttribute(e,d);b.pattern&&Ca(b);b._.dirty=1;break;case "height":if(z.setAttribute(e,d),b._.dirty=1,D.fy)e="y",d=D.y;else break;case "y":D.fy&&(d=-D.y-(D.height||0));case "ry":if("ry"==e&&"rect"==b.type)break;case "cy":z.setAttribute(e,d);b.pattern&&Ca(b);b._.dirty=1;break;
case "r":"rect"==b.type?ya(z,{rx:d,ry:d}):z.setAttribute(e,d);b._.dirty=1;break;case "src":"image"==b.type&&z.setAttributeNS("http://www.w3.org/1999/xlink","href",d);break;case "stroke-width":if(1!=b._.sx||1!=b._.sy)d/=p(u(b._.sx),u(b._.sy))||1;H._vbSize&&(d*=H._vbSize);na&&0===d&&(d=1E-6);z.setAttribute(e,d);D["stroke-dasharray"]&&r(b,D["stroke-dasharray"],k);b._.arrows&&("startString"in b._.arrows&&Y(b,b._.arrows.startString),"endString"in b._.arrows&&Y(b,b._.arrows.endString,1));break;case "stroke-dasharray":r(b,
d,k);break;case "fill":var q=h(d).match(a._ISURL);if(q){var l=ya("pattern"),Wa=ya("image");l.id=a.getElementID(a.createUUID());ya(l,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});ya(Wa,{x:0,y:0,"xlink:href":q[1]});l.appendChild(Wa);(function(b){a._preload(q[1],function(){var h=this.offsetWidth,k=this.offsetHeight;ya(b,{width:h,height:k});ya(Wa,{width:h,height:k});H.safari()})})(l);H.defs.appendChild(l);c.fill="url('"+a._url+"#"+l.id+"')";ya(z,{fill:c.fill});b.pattern=l;b.pattern&&Ca(b);
break}f=a.getRGB(d);if(!f.error)delete k.gradient,delete D.gradient,!a.is(D.opacity,"undefined")&&a.is(k.opacity,"undefined")&&ya(z,{opacity:D.opacity}),!a.is(D["fill-opacity"],"undefined")&&a.is(k["fill-opacity"],"undefined")&&ya(z,{"fill-opacity":D["fill-opacity"]}),b.gradient&&Fa(b);else if(("circle"==b.type||"ellipse"==b.type||"r"!=h(d).charAt())&&ua(b,d)){if("opacity"in D||"fill-opacity"in D)if(f=a._g.doc.getElementById(z.getAttribute("fill").replace(/^url\(#|\)$/g,"")))f=f.getElementsByTagName("stop"),
ya(f[f.length-1],{"stop-opacity":("opacity"in D?D.opacity:1)*("fill-opacity"in D?D["fill-opacity"]:1)});D.gradient=d;D.fill="none";c.fill="";break}f.hasOwnProperty("opacity")?(ya(z,{"fill-opacity":c.fillOpacity=1<f.opacity?f.opacity/100:f.opacity}),b._.fillOpacityDirty=!0):b._.fillOpacityDirty&&a.is(D["fill-opacity"],"undefined")&&a.is(k["fill-opacity"],"undefined")&&(z.removeAttribute("fill-opacity"),c.fillOpacity="",delete b._.fillOpacityDirty);case "stroke":f=a.getRGB(d);z.setAttribute(e,f.hex);
c[e]=f.hex;"stroke"==e&&(f.hasOwnProperty("opacity")?(ya(z,{"stroke-opacity":c.strokeOpacity=1<f.opacity?f.opacity/100:f.opacity}),b._.strokeOpacityDirty=!0):b._.strokeOpacityDirty&&a.is(D["stroke-opacity"],"undefined")&&a.is(k["stroke-opacity"],"undefined")&&(z.removeAttribute("stroke-opacity"),c.strokeOpacity="",delete b._.strokeOpacityDirty),b._.arrows&&("startString"in b._.arrows&&Y(b,b._.arrows.startString),"endString"in b._.arrows&&Y(b,b._.arrows.endString,1)));break;case "gradient":"circle"!=
b.type&&"ellipse"!=b.type&&"r"==h(d).charAt()||ua(b,d);break;case "line-height":case "vertical-align":break;case "visibility":"hidden"===d?b.hide():b.show();break;case "opacity":D.gradient&&!D.hasOwnProperty("stroke-opacity")&&ya(z,{"stroke-opacity":1<d?d/100:d});case "fill-opacity":if(D.gradient){if(f=a._g.doc.getElementById(z.getAttribute("fill").replace(/^url\(#|\)$/g,"")))f=f.getElementsByTagName("stop"),ya(f[f.length-1],{"stop-opacity":d});break}default:"font-size"==e&&(d=g(d,10)+"px"),f=e.replace(/(\-.)/g,
function(b){return b.substring(1).toUpperCase()}),c[f]=d,b._.dirty=1,z.setAttribute(e,d)}}"text"===b.type&&!k["_do-not-tune"]&&m(b,k);c.visibility=xa}},q=a._updateFollowers=function(){var b,h,k,g=arguments,z=fa.call(g),p=fa.call(g);b=0;for(h=z.followers.length;b<h;b++)k=z.followers[b].el,k[p].apply(k,g)},m=function(b,g){if("text"==b.type&&(g.hasOwnProperty("text")||g.hasOwnProperty("font")||g.hasOwnProperty("font-size")||g.hasOwnProperty("x")||g.hasOwnProperty("y")||g.hasOwnProperty("line-height")||
g.hasOwnProperty("vertical-align"))){var p=b.attrs,u=b.node,D=u.firstChild&&a._g.doc.defaultView.getComputedStyle(u.firstChild,""),H=D?k(a._g.doc.defaultView.getComputedStyle(u.firstChild,"").getPropertyValue("font-size")):10,M=k(g["line-height"]||p["line-height"])||1.2*H,na=p.hasOwnProperty("vertical-align")?p["vertical-align"]:"middle",c=(g.direction||(D?D.getPropertyValue("direction"):"initial")).toLowerCase(),xa=!!document.documentMode;isNaN(M)&&(M=1.2*H);a.is(g.text,"array")&&(g.text=g.text.join("<br>"));
na="top"===na?-.5:"bottom"===na?.5:0;if(g.hasOwnProperty("text")&&(g.text!==p.text||b._textdirty)){for(p.text=g.text;u.firstChild;)u.removeChild(u.firstChild);for(var e=h(g.text).split(/\n|<br\s*?\/?>/ig),H=[],Fa=0,d=e.length;Fa<d;Fa++)D=ya("tspan"),Fa?ya(D,{dy:M,x:p.x}):ya(D,{dy:M*e.length*na,x:p.x}),e[Fa]||(D.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e[Fa]=" "),D.appendChild(a._g.doc.createTextNode(e[Fa])),u.appendChild(D),H[Fa]=D,!xa&&"rtl"===c&&Fa<d-1&&(D=ya("tspan"),
ya(D,{visibility:"hidden","font-size":"0px"}),D.appendChild(a._g.doc.createTextNode("i")),u.appendChild(D));b._textdirty=!1}else for(H=u.getElementsByTagName("tspan"),Fa=xa=0,d=H.length;Fa<d;Fa++)if(D=H[Fa],c=D.attributes[0],!c||"visibility"!==c.name&&"visibility"!==c.nodeName||"hidden"!==c.value&&"hidden"!==c.nodeValue)Fa?ya(D,{dy:M,x:p.x}):(c=H[1]&&H[1].attributes[0],!c||"visibility"!==c.name&&"visibility"!==c.nodeName||"hidden"!==c.value&&"hidden"!==c.nodeValue||(xa=z.floor(.5*H.length)),ya(H[0],
{dy:M*(H.length-xa)*na,x:p.x}));ya(u,{x:p.x,y:p.y});b._.dirty=1;u=b._getBBox();M=p.y-(u.y+u.height/2);if(u.isCalculated)switch(p["vertical-align"]){case "top":M=.75*u.height;break;case "bottom":M=-(.25*u.height);break;default:M=p.y-(u.y+.25*u.height)}M&&a.is(M,"finite")&&H[0]&&ya(H[0],{dy:M})}},Wa=function(b,h,k){k=k||h;k.canvas&&k.canvas.appendChild(b);this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.matrix=a.matrix();this.realPath=null;this.attrs=this.attrs||{};this.followers=
this.followers||[];this.paper=h;this.ca=this.customAttributes=this.customAttributes||new h._CustomAttributes;this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};this.parent=k;!k.bottom&&(k.bottom=this);(this.prev=k.top)&&(k.top.next=this);k.top=this;this.next=null},tb=a.el;Wa.prototype=tb;tb.constructor=Wa;a._engine.getNode=function(b){b=b.node||b[0].node;return b.titleNode||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.titleNode||b};tb.rotate=function(b,g,z){if(this.removed)return this;
q(this,"rotate",b,g,z);b=h(b).split(M);b.length-1&&(g=k(b[1]),z=k(b[2]));b=k(b[0]);null==z&&(g=z);if(null==g||null==z)z=this.getBBox(1),g=z.x+z.width/2,z=z.y+z.height/2;this.transform(this._.transform.concat([["r",b,g,z]]));return this};tb.scale=function(b,g,z,p){var u;if(this.removed)return this;q(this,"scale",b,g,z,p);b=h(b).split(M);b.length-1&&(g=k(b[1]),z=k(b[2]),p=k(b[3]));b=k(b[0]);null==g&&(g=b);null==p&&(z=p);if(null==z||null==p)u=this.getBBox(1);z=null==z?u.x+u.width/2:z;p=null==p?u.y+u.height/
2:p;this.transform(this._.transform.concat([["s",b,g,z,p]]));return this};tb.translate=function(b,g){if(this.removed)return this;q(this,"translate",b,g);b=h(b).split(M);b.length-1&&(g=k(b[1]));b=k(b[0])||0;this.transform(this._.transform.concat([["t",b,+g||0]]));return this};tb.transform=function(b){var h=this._;if(null==b)return h.transform;a._extractTransform(this,b);this.clip&&!h.clipispath&&ya(this.clip,{transform:this.matrix.invert()});this.pattern&&Ca(this);this.node&&ya(this.node,{transform:this.matrix});
if(1!=h.sx||1!=h.sy)b=this.attrs.hasOwnProperty("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":b});return this};tb.hide=function(){q(this,"hide");!this.removed&&this.paper.safari(this.node.style.display="none");return this};tb.show=function(){q(this,"show");!this.removed&&this.paper.safari(this.node.style.display="");return this};tb.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),h=this.paper,k=h.defs;h.__set__&&h.__set__.exclude(this);
c.unbind("raphael.*.*."+this.id);for(this.gradient&&k&&Fa(this);k=this.followers.pop();)k.el.remove();for(;k=this.bottom;)k.remove();this._drag&&this.undrag();if(this.events)for(;k=this.events.pop();)k.unbind();this.parent.canvas.removeChild(b);this.removeData();delete h._elementsById[this.id];a._tear(this,this.parent);for(k in this)this[k]="function"===typeof this[k]?a._removedFactory(k):null;this.removed=!0}};tb._getBBox=function(){var h,k=this.node,g={},z=this.attrs,p,u,a="text"===this.type,D=
!!document.documentMode;D&&a?h=b(this):"none"===k.style.display&&(this.show(),u=!0);try{g=k.getBBox(),a&&(void 0===g.x&&(g.isCalculated=!0,p=z["text-anchor"],g.x=(z.x||0)-g.width*("start"===p?0:"middle"===p?.5:1)),void 0===g.y&&(g.isCalculated=!0,p=z["vertical-align"],g.y=(z.y||0)-g.height*("bottom"===p?1:"middle"===p?.5:0)))}catch(H){}finally{g=g||{}}D&&a?h&&h():u&&this.hide();return g};tb.attr=function(b,h){if(this.removed)return this;if(null==b){var k={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&
(k[g]=this.attrs[g]);k.gradient&&"none"==k.fill&&(k.fill=k.gradient)&&delete k.gradient;k.transform=this._.transform;k.visibility="none"===this.node.style.display?"hidden":"visible";return k}if(null==h&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==b)return this._.transform;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var k=b.split(M),z={},p=0;for(g=k.length;p<g;p++)b=k[p],b in this.attrs?z[b]=
this.attrs[b]:a.is(this.ca[b],"function")?z[b]=this.ca[b].def:z[b]=a._availableAttrs[b];return g-1?z:z[k[0]]}if(null==h&&a.is(b,"array")){z={};p=0;for(g=b.length;p<g;p++)z[b[p]]=this.attr(b[p]);return z}null!=h?(k={},k[b]=h):null!=b&&a.is(b,"object")&&(k=b);if(!1!==a.stopEvent)for(p in k)c("raphael.attr."+p+"."+this.id,this,k[p],p);var u={};for(p in this.ca)if(this.ca[p]&&k.hasOwnProperty(p)&&a.is(this.ca[p],"function")&&!this.ca["_invoked"+p]){this.ca["_invoked"+p]=!0;g=this.ca[p].apply(this,[].concat(k[p]));
delete this.ca["_invoked"+p];for(z in g)g.hasOwnProperty(z)&&(k[z]=g[z]);this.attrs[p]=k[p];!1===g&&(u[p]=k[p],delete k[p])}sb(this,k);var D,p=0;for(g=this.followers.length;p<g;p++)D=this.followers[p],D.cb&&!D.cb.call(D.el,k,this)||D.el.attr(k);for(z in u)k[z]=u[z];return this};tb.blur=function(b){if(0!==+b){var h=ya("filter"),k=ya("feGaussianBlur");this.attrs.blur=b;h.id=a.getElementID(a.createUUID());ya(k,{stdDeviation:+b||1.5});h.appendChild(k);this.paper.defs.appendChild(h);this._blur=h;ya(this.node,
{filter:"url('"+a._url+"#"+h.id+"')"})}else this._blur&&(this._blur.parentNode.removeChild(this._blur),delete this._blur,delete this.attrs.blur),this.node.removeAttribute("filter")};tb.on=function(b,h){if(this.removed)return this;var k=h;a.supportsTouch&&(b=a._touchMap[b]||"click"===b&&"touchstart"||b,k=function(b){b.preventDefault();h()});this.node["on"+b]=k;return this};a._engine.path=function(b,h,k){var g=ya("path");b=new Wa(g,b,k);b.type="path";sb(b,h);w(b,h);return b};a._engine.group=function(b,
h,k){var g=ya("g");b=new Wa(g,b,k);b.type="group";b.canvas=b.node;b.top=b.bottom=null;b._id=h||"";h&&g.setAttribute("class","raphael-group-"+b.id+"-"+h);return b};a._engine.circle=function(b,h,k){var g=ya("circle");b=new Wa(g,b,k);b.type="circle";sb(b,h);w(b,h);return b};a._engine.rect=function(b,h,k){var g=ya("rect");b=new Wa(g,b,k);b.type="rect";h.rx=h.ry=h.r;sb(b,h);w(b,h);return b};a._engine.ellipse=function(b,h,k){var g=ya("ellipse");b=new Wa(g,b,k);b.type="ellipse";sb(b,h);w(b,h);return b};
a._engine.image=function(b,h,k){var g=ya("image");b=new Wa(g,b,k);b.type="image";g.setAttribute("preserveAspectRatio","none");sb(b,h);w(b,h);return b};a._engine.text=function(b,h,k,g){var z=ya("text");b=new Wa(z,b,k);b.type="text";b._textdirty=!0;g&&b.css&&b.css(g,void 0,!0);sb(b,h);w(b,h);return b};a._engine.setSize=function(b,h){this.width=b||this.width;this.height=h||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this._viewBox&&this.setViewBox.apply(this,
this._viewBox);return this};a._engine.create=function(){var b=a._getContainer.apply(0,arguments),h=b&&b.container,k=b.x,g=b.y,z=b.width,b=b.height;if(!h)throw Error("SVG container not found.");var p=ya("svg"),u;u="overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;cursor:default;vertical-align:middle;";var D,k=k||0,g=g||0,z=z||512,b=b||342;ya(p,{height:b,version:1.1,
width:z,xmlns:"http://www.w3.org/2000/svg"});1==h?(p.style.cssText=u+"position:absolute;left:"+k+"px;top:"+g+"px",a._g.doc.body.appendChild(p),D=1):(p.style.cssText=u+"position:relative",h.firstChild?h.insertBefore(p,h.firstChild):h.appendChild(p));h=new a._Paper;h.width=z;h.height=b;h.canvas=p;ya(p,{id:"raphael-paper-"+h.id});h.clear();h._left=h._top=0;D&&(h.renderfix=function(){});h.renderfix();return h};a._engine.setViewBox=function(b,h,k,g,z){c("raphael.setViewBox",this,this._viewBox,[b,h,k,g,
z]);var u=p(k/this.width,g/this.height),a=this.top,D=z?"meet":"xMinYMin",H;null==b?(this._vbSize&&(u=1),delete this._vbSize,H="0 0 "+this.width+" "+this.height):(this._vbSize=u,H=b+" "+h+" "+k+" "+g);for(ya(this.canvas,{viewBox:H,preserveAspectRatio:D});u&&a;)D="stroke-width"in a.attrs?a.attrs["stroke-width"]:1,a.attr({"stroke-width":D}),a._.dirty=1,a._.dirtyT=1,a=a.prev;this._viewBox=[b,h,k,g,!!z];return this};a.prototype.renderfix=function(){var b=this.canvas,h=b.style,k;try{k=b.getScreenCTM()||
b.createSVGMatrix()}catch(g){k=b.createSVGMatrix()}b=-k.e%1;k=-k.f%1;if(b||k)b&&(this._left=(this._left+b)%1,h.left=this._left+"px"),k&&(this._top=(this._top+k)%1,h.top=this._top+"px")};a.prototype._desc=function(b){var h=this.desc;if(h)for(;h.firstChild;)h.removeChild(h.firstChild);else this.desc=h=ya("desc"),this.canvas.appendChild(h);h.appendChild(a._g.doc.createTextNode(a.is(b,"string")?b:"Created with Red Raphaël "+a.version))};a.prototype.clear=function(){var b;for(c("raphael.clear",this);b=
this.bottom;)b.remove();for(b=this.canvas;b.firstChild;)b.removeChild(b.firstChild);this.bottom=this.top=null;b.appendChild(this.desc=ya("desc"));b.appendChild(this.defs=ya("defs"))};a.prototype.remove=function(){var b;for(c("raphael.remove",this);b=this.bottom;)b.remove();this.defs&&this.defs.parentNode.removeChild(this.defs);this.desc&&this.desc.parentNode.removeChild(this.desc);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?
a._removedFactory(b):null;this.removed=!0};var $a=a.st,B;for(B in tb)tb.hasOwnProperty(B)&&!$a.hasOwnProperty(B)&&($a[B]=function(b){return function(){var h=arguments;return this.forEach(function(k){k[b].apply(k,h)})}}(B))}})();"undefined"===typeof m&&"object"===typeof window&&(m=window);(function(){if(a.vml){var b=String,h=parseFloat,k=Math,g=k.round,z=k.max,p=k.min,u=k.sqrt,D=k.abs,H=/[, ]+/,M=a.eve,na={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},c=/([clmz]),?([^clmz]*)/gi,xa=/ progid:\S+Blur\([^\)]+\)/g,
e=/-?[^,\s-]+/g,Fa={path:1,rect:1,image:1},d={circle:1,ellipse:1},ya=function(h){var k=/[ahqstv]/ig,z=a._pathToAbsolute;b(h).match(k)&&(z=a._path2curve);k=/[clmz]/g;if(z==a._pathToAbsolute&&!b(h).match(k))return(h=b(h).replace(c,function(b,h,k){var z=[],p="m"==h.toLowerCase(),u=na[h];k.replace(e,function(b){p&&2==z.length&&(u+=z+na["m"==h?"l":"L"],z=[]);z.push(g(21600*b))});return u+z}))||"m0,0";var k=z(h),p;h=[];for(var u=0,D=k.length;u<D;u++){z=k[u];p=k[u][0].toLowerCase();"z"==p&&(p="x");for(var H=
1,M=z.length;H<M;H++)p+=g(21600*z[H])+(H!=M-1?",":"");h.push(p)}return h.length?h.join(" "):"m0,0"},f=function(b,h,k){var g=a.matrix();g.rotate(-b,.5,.5);return{dx:g.x(h,k),dy:g.y(h,k)}},ua=function(b,h,k,g,z,p){var u=b._,a=b.matrix,H=u.fillpos;b=b.node;var M=b.style,na=1,c="",xa=21600/h,e=21600/k;M.visibility="hidden";if(h&&k){b.coordsize=D(xa)+" "+D(e);M.rotation=p*(0>h*k?-1:1);p&&(z=f(p,g,z),g=z.dx,z=z.dy);0>h&&(c+="x");0>k&&(c+=" y")&&(na=-1);M.flip=c;b.coordorigin=g*-xa+" "+z*-e;if(H||u.fillsize)if(g=
(g=b.getElementsByTagName("fill"))&&g[0])b.removeChild(g),H&&(z=f(p,a.x(H[0],H[1]),a.y(H[0],H[1])),g.position=z.dx*na+" "+z.dy*na),u.fillsize&&(g.size=u.fillsize[0]*D(h)+" "+u.fillsize[1]*D(k)),b.appendChild(g);M.visibility="visible"}};a._url="";a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var Ca=function(h,k,g){k=b(k).toLowerCase().split("-");g=g?"end":"start";for(var z=k.length,p="classic",u="medium",a="medium";z--;)switch(k[z]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":p=
k[z];break;case "wide":case "narrow":a=k[z];break;case "long":case "short":u=k[z]}h=h.node.getElementsByTagName("stroke")[0];h[g+"arrow"]=p;h[g+"arrowlength"]=u;h[g+"arrowwidth"]=a},Y=function(b,h){for(var k in h)M("raphael.attr."+k+"."+b.id,b,h[k],k),b.ca[k]&&b.attr(k,h[k])},l=a._setFillAndStroke=function(k,u){if(k.paper.canvas){k.attrs=k.attrs||{};var D=k.node,M=k.attrs,na=D.style,c=Fa[k.type]&&(u.x!=M.x||u.y!=M.y||u.width!=M.width||u.height!=M.height||u.cx!=M.cx||u.cy!=M.cy||u.rx!=M.rx||u.ry!=
M.ry||u.r!=M.r),xa=d[k.type]&&(M.cx!=u.cx||M.cy!=u.cy||M.r!=u.r||M.rx!=u.rx||M.ry!=u.ry),e="group"===k.type,f;for(f in u)u.hasOwnProperty(f)&&(M[f]=u[f]);c&&(M.path=a._getPath[k.type](k),k._.dirty=1);u.href&&(D.href=u.href);u.title&&(D.title=u.title);u.target&&(D.target=u.target);u.cursor&&(na.cursor=u.cursor);"blur"in u&&k.blur(u.blur);if(u.path&&"path"==k.type||c)D.path=ya(~b(M.path).toLowerCase().indexOf("r")?a._pathToAbsolute(M.path):M.path),"image"==k.type&&(k._.fillpos=[M.x,M.y],k._.fillsize=
[M.width,M.height],ua(k,1,1,0,0,0));"transform"in u&&k.transform(u.transform);"rotation"in u&&(na=u.rotation,a.is(na,"array")?k.rotate.apply(k,na):k.rotate(na));"visibility"in u&&("hidden"===u.visibility?k.hide():k.show());xa&&(na=+M.cx,xa=+M.cy,c=+M.rx||+M.r||0,f=+M.ry||+M.r||0,D.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",g(21600*(na-c)),g(21600*(xa-f)),g(21600*(na+c)),g(21600*(xa+f)),g(21600*na)));"clip-rect"in u&&(na=b(u["clip-rect"]).split(H),4==na.length&&(na[0]=+na[0],na[1]=+na[1],na[2]=
+na[2]+na[0],na[3]=+na[3]+na[1],c=e?D:D.clipRect||a._g.doc.createElement("div"),xa=c.style,e?(k.clip=na.slice(),c=k.matrix.offset(),c=[h(c[0]),h(c[1])],na[0]-=c[0],na[1]-=c[1],na[2]-=c[0],na[3]-=c[1],xa.width="1px",xa.height="1px"):D.clipRect||(xa.top="0",xa.left="0",xa.width=k.paper.width+"px",xa.height=k.paper.height+"px",D.parentNode.insertBefore(c,D),c.appendChild(D),c.raphael=!0,c.raphaelid=D.raphaelid,D.clipRect=c),xa.position="absolute",xa.clip=a.format("rect({1}px {2}px {3}px {0}px)",na)),
u["clip-rect"]||(e&&k.clip?(D.style.clip="rect(0px 10800px 10800px 0px)",delete k.clip):D.clipRect&&(D.clipRect.style.clip="rect(0px 10800px 10800px 0px)")));if(k.textpath||e)e=e?D.style:k.textpath.style,u.font&&(e.font=u.font),u["font-family"]&&(e.fontFamily='"'+u["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),u["font-size"]&&(e.fontSize=u["font-size"]),u["font-weight"]&&(e.fontWeight=u["font-weight"]),u["font-style"]&&(e.fontStyle=u["font-style"]);"arrow-start"in u&&Ca(k,u["arrow-start"]);
"arrow-end"in u&&Ca(k,u["arrow-end"],1);if(null!=u.opacity||null!=u["stroke-width"]||null!=u.fill||null!=u.src||null!=u.stroke||null!=u["stroke-width"]||null!=u["stroke-opacity"]||null!=u["fill-opacity"]||null!=u["stroke-dasharray"]||null!=u["stroke-miterlimit"]||null!=u["stroke-linejoin"]||null!=u["stroke-linecap"]){e=D.getElementsByTagName("fill");na=-1;e=e&&e[0];!e&&(e=q("fill"));"image"==k.type&&u.src&&(e.src=u.src);u.fill&&(e.on=!0);if(null==e.on||"none"==u.fill||null===u.fill)e.on=!1;e.on&&
u.fill&&((xa=b(u.fill).match(a._ISURL))?(e.parentNode==D&&D.removeChild(e),e.rotate=!0,e.src=xa[1],e.type="tile",c=k.getBBox(1),e.position=c.x+" "+c.y,k._.fillpos=[c.x,c.y],a._preload(xa[1],function(){k._.fillsize=[this.offsetWidth,this.offsetHeight]})):(xa=a.getRGB(u.fill),e.color=xa.hex,e.src="",e.type="solid",xa.error&&(k.type in{circle:1,ellipse:1}||"r"!=b(u.fill).charAt())&&w(k,u.fill,e)?(M.fill="none",M.gradient=u.fill,e.rotate=!1):"opacity"in xa&&!("fill-opacity"in u)&&(na=xa.opacity)));if(-1!==
na||"fill-opacity"in u||"opacity"in u)xa=((+M["fill-opacity"]+1||2)-1)*((+M.opacity+1||2)-1)*((+na+1||2)-1),xa=p(z(xa,0),1),e.opacity=xa,e.src&&(e.color="none");D.appendChild(e);e=D.getElementsByTagName("stroke")&&D.getElementsByTagName("stroke")[0];na=!1;!e&&(na=e=q("stroke"));if(u.stroke&&"none"!=u.stroke||u["stroke-width"]||null!=u["stroke-opacity"]||u["stroke-dasharray"]||u["stroke-miterlimit"]||u["stroke-linejoin"]||u["stroke-linecap"])e.on=!0;"none"!=u.stroke&&null!==u.stroke&&null!=e.on&&0!=
u.stroke&&0!=u["stroke-width"]||(e.on=!1);xa=a.getRGB("stroke"in u?u.stroke:M.stroke);e.on&&u.stroke&&(e.color=xa.hex);xa=((+M["stroke-opacity"]+1||2)-1)*((+M.opacity+1||2)-1)*((+xa.opacity+1||2)-1);c=.75*(h(u["stroke-width"])||1);xa=p(z(xa,0),1);null==u["stroke-width"]&&(c=M["stroke-width"]);u["stroke-width"]&&(e.weight=c);c&&1>c&&(xa*=c)&&(e.weight=1);e.opacity=xa;u["stroke-linejoin"]&&(e.joinstyle=u["stroke-linejoin"])||na&&(na.joinstyle="miter");e.miterlimit=u["stroke-miterlimit"]||8;u["stroke-linecap"]&&
(e.endcap="butt"==u["stroke-linecap"]?"flat":"square"==u["stroke-linecap"]?"square":"round");u["stroke-dasharray"]&&(xa={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},e.dashstyle=xa.hasOwnProperty(u["stroke-dasharray"])?xa[u["stroke-dasharray"]]:u["stroke-dasharray"].join&&u["stroke-dasharray"].join(" ")||"");na&&D.appendChild(e)}if("text"==k.type){k.paper.canvas.style.display=
"";D=k.paper.span;e=M.font&&M.font.match(/\d+(?:\.\d*)?(?=px)/);xa=M["line-height"]&&(M["line-height"]+"").match(/\d+(?:\.\d*)?(?=px)/);na=D.style;M.font&&(na.font=M.font);M["font-family"]&&(na.fontFamily=M["font-family"]);M["font-weight"]&&(na.fontWeight=M["font-weight"]);M["font-style"]&&(na.fontStyle=M["font-style"]);e=h(M["font-size"]||e&&e[0])||10;na.fontSize=100*e+"px";xa=h(M["line-height"]||xa&&xa[0])||12;M["line-height"]&&(na.lineHeight=100*xa+"px");a.is(u.text,"array")&&(u.text=k.textpath.string=
u.text.join("\n").replace(/<br\s*?\/?>/ig,"\n"));k.textpath.string&&(D.innerHTML=b(k.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));D=D.getBoundingClientRect();k.W=M.w=(D.right-D.left)/100;k.H=M.h=(D.bottom-D.top)/100;k.X=M.x;k.Y=M.y;switch(M["vertical-align"]){case "top":k.bby=k.H/2;break;case "bottom":k.bby=-k.H/2;break;default:k.bby=0}("x"in u||"y"in u||void 0!==k.bby)&&(k.path.v=a.format("m{0},{1}l{2},{1}",g(21600*M.x),g(21600*(M.y+(k.bby||0))),g(21600*M.x)+
1));D="x y text font font-family font-weight font-style font-size line-height".split(" ");e=0;for(na=D.length;e<na;e++)if(D[e]in u){k._.dirty=1;break}switch(M["text-anchor"]){case "start":k.textpath.style["v-text-align"]="left";k.bbx=k.W/2;break;case "end":k.textpath.style["v-text-align"]="right";k.bbx=-k.W/2;break;default:k.textpath.style["v-text-align"]="center",k.bbx=0}k.textpath.style["v-text-kern"]=!0}}},r=a._updateFollowers=function(){var b,h,k,g=arguments,z=fa.call(g),p=fa.call(g);b=0;for(h=
z.followers.length;b<h;b++)k=z.followers[b].el,k[p].apply(k,g)},w=function(k,g,z){k.attrs=k.attrs||{};var p=Math.pow,D="linear",H=".5 .5";k.attrs.gradient=g;g=b(g).replace(a._radial_gradient,function(b,k){D="radial";k=k&&k.split(",")||[];var g=k[3],z=k[4];g&&z&&(g=h(g),z=h(z),.25<p(g-.5,2)+p(z-.5,2)&&(z=u(.25-p(g-.5,2))*(2*(.5<z)-1)+.5),H=g+" "+z);return""});g=g.split(/\s*\-\s*/);if("linear"==D){var M=g.shift(),M=-h(M);if(isNaN(M))return null}g=a._parseDots(g);if(!g)return null;k=k.shape||k.node;
if(g.length){z.parentNode==k&&k.removeChild(z);z.on=!0;z.method="none";z.color=g[0].color;z.color2=g[g.length-1].color;for(var na=[],c=1,xa=void 0===g[0].opacity?1:g[0].opacity,e=0,Fa=g.length;e<Fa;e++)g[e].offset&&na.push(g[e].offset+" "+g[e].color),void 0!==g[e].opacity&&(c=g[e].opacity);z.colors=na.length?na.join():"0% "+z.color;z.opacity=c;z["o:opacity2"]=xa;"radial"==D?(z.type="gradientTitle",z.focus="100%",z.focussize="0 0",z.focusposition=H,z.angle=0):(z.type="gradient",z.angle=(270-M)%360);
k.appendChild(z)}return 1},sb=function(b,h,k){k=k||h;var g;k.canvas&&k.canvas.appendChild(b);g=q("skew");g.on=!0;b.appendChild(g);this.skew=g;this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.Y=this.X=0;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=h;this.ca=this.customAttributes=this.customAttributes||new h._CustomAttributes;this.matrix=a.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};this.parent=k;!k.bottom&&(k.bottom=this);(this.prev=
k.top)&&(k.top.next=this);k.top=this;this.next=null},k=a.el;sb.prototype=k;k.constructor=sb;k.transform=function(h){if(null==h)return this._.transform;var k=this.paper._viewBoxShift,g=k?"s"+[k.scale,k.scale]+"-1-1t"+[k.dx,k.dy]:"",z;k&&(z=h=b(h).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,g+h);var k=this.matrix.clone(),p=this.skew;h=this.node;var g=~b(this.attrs.fill).indexOf("-"),u=!b(this.attrs.fill).indexOf("url(");k.translate(-.5,-.5);u||g||"image"==this.type?(p.matrix=
"1 0 0 1",p.offset="0 0",p=k.split(),g&&p.noRotation||!p.isSimple?(h.style.filter=k.toFilter(),k=this.getBBox(),g=this.getBBox(1),u=k.x2&&g.x2&&"x2"||"x",p=k.y2&&g.y2&&"y2"||"y",u=k[u]-g[u],k=k[p]-g[p],h.coordorigin=-21600*u+" "+-21600*k,ua(this,1,1,u,k,0)):(h.style.filter="",ua(this,p.scalex,p.scaley,p.dx,p.dy,p.rotate))):(h.style.filter="",p.matrix=b(k),p.offset=k.offset());z&&(this._.transform=z);return this};k.rotate=function(k,g,z){if(this.removed)return this;r(this,"rotate",k,g,z);if(null!=
k){k=b(k).split(H);k.length-1&&(g=h(k[1]),z=h(k[2]));k=h(k[0]);null==z&&(g=z);if(null==g||null==z)z=this.getBBox(1),g=z.x+z.width/2,z=z.y+z.height/2;this._.dirtyT=1;this.transform(this._.transform.concat([["r",k,g,z]]));return this}};k.translate=function(k,g){if(this.removed)return this;r(this,"translate",k,g);k=b(k).split(H);k.length-1&&(g=h(k[1]));k=h(k[0])||0;g=+g||0;this._.bbox&&(this._.bbox.x+=k,this._.bbox.y+=g);this.transform(this._.transform.concat([["t",k,g]]));return this};k.scale=function(k,
g,z,p){if(this.removed)return this;r(this,"scale",k,g,z,p);k=b(k).split(H);k.length-1&&(g=h(k[1]),z=h(k[2]),p=h(k[3]),isNaN(z)&&(z=null),isNaN(p)&&(p=null));k=h(k[0]);null==g&&(g=k);null==p&&(z=p);if(null==z||null==p)var u=this.getBBox(1);z=null==z?u.x+u.width/2:z;p=null==p?u.y+u.height/2:p;this.transform(this._.transform.concat([["s",k,g,z,p]]));this._.dirtyT=1;return this};k.hide=function(b){r(this,"hide",b);!this.removed&&(this.node.style.display="none");return this};k.show=function(b){r(this,
"show",b);!this.removed&&(this.node.style.display="");return this};k._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y+(this.bby||0)-this.H/2,width:this.W,height:this.H}};k.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),k=this.paper,h=this.shape;k.__set__&&k.__set__.exclude(this);M.unbind("raphael.*.*."+this.id);h&&h.parentNode.removeChild(h);for(b.parentNode&&b.parentNode.removeChild(b);b=this.followers.pop();)b.el.remove();
for(;b=this.bottom;)b.remove();this._drag&&this.undrag();if(this.events)for(;b=this.events.pop();)b.unbind();this.removeData();delete k._elementsById[this.id];a._tear(this,this.parent);for(b in this)this[b]="function"===typeof this[b]?a._removedFactory(b):null;this.removed=!0}};k.attr=function(b,k){if(this.removed)return this;if(null==b){var h={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(h[g]=this.attrs[g]);h.gradient&&"none"==h.fill&&(h.fill=h.gradient)&&delete h.gradient;h.transform=
this._.transform;h.visibility="none"===this.node.style.display?"hidden":"visible";return h}if(null==k&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var h=b.split(H),z={},p=0;for(g=h.length;p<g;p++)b=h[p],b in this.attrs?z[b]=this.attrs[b]:a.is(this.ca[b],"function")?z[b]=this.ca[b].def:z[b]=a._availableAttrs[b];return g-1?z:z[h[0]]}if(this.attrs&&null==k&&a.is(b,
"array")){z={};p=0;for(g=b.length;p<g;p++)z[b[p]]=this.attr(b[p]);return z}null!=k&&(h={},h[b]=k);null==k&&a.is(b,"object")&&(h=b);if(!1!==a.stopEvent)for(p in h)M("raphael.attr."+p+"."+this.id,this,h[p],p);if(h){var u={};for(p in this.ca)if(this.ca[p]&&h.hasOwnProperty(p)&&a.is(this.ca[p],"function")&&!this.ca["_invoked"+p]){this.ca["_invoked"+p]=!0;g=this.ca[p].apply(this,[].concat(h[p]));delete this.ca["_invoked"+p];for(z in g)g.hasOwnProperty(z)&&(h[z]=g[z]);this.attrs[p]=h[p];!1===g&&(u[p]=h[p],
delete h[p])}"text"in h&&"text"==this.type&&(a.is(h.text,"array")&&(h.text=h.text.join("\n")),this.textpath.string=h.text.replace(/<br\s*?\/?>/ig,"\n"));l(this,h);var D,p=0;for(g=this.followers.length;p<g;p++)D=this.followers[p],D.cb&&!D.cb.call(D.el,h,this)||D.el.attr(h);for(z in u)h[z]=u[z]}return this};k.blur=function(b){var h=this.node.runtimeStyle,k=h.filter,k=k.replace(xa,"");0!==+b?(this.attrs.blur=b,h.filter=k+" progid:DXImageTransform.Microsoft.Blur(pixelradius="+(+b||1.5)+")",h.margin=
a.format("-{0}px 0 0 -{0}px",g(+b||1.5))):(h.filter=k,h.margin=0,delete this.attrs.blur);return this};k.on=function(b,h){if(this.removed)return this;this.node["on"+b]=function(){var b=a._g.win.event;b.target=b.srcElement;h(b)};return this};a._engine.getNode=function(b){b=b.node||b[0].node;return b.clipRect||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.clipRect||b};a._engine.group=function(b,h,k){var g=a._g.doc.createElement("div"),z=new sb(g,b,k);g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";
z._id=h||"";h&&(g.className="raphael-group-"+z.id+"-"+h);(k||b).canvas.appendChild(g);z.type="group";z.canvas=z.node;z.transform=a._engine.group.transform;z.top=null;z.bottom=null;return z};a._engine.group.transform=function(k){if(null==k)return this._.transform;var g=this.node.style,z=this.clip,p=this.paper._viewBoxShift,u=p?"s"+[p.scale,p.scale]+"-1-1t"+[p.dx,p.dy]:"";p&&(k=b(k).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,u+k);k=this.matrix;u=k.offset();p=h(u[0])||0;
u=h(u[1])||0;g.left=p+"px";g.top=u+"px";g.zoom=(this._.tzoom=k.get(0))+"";z&&(g.clip=a.format("rect({1}px {2}px {3}px {0}px)",[z[0]-p,z[1]-u,z[2]-p,z[3]-u]));return this};a._engine.path=function(b,h,k){var g=q("shape");g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";g.coordsize="21600 21600";g.coordorigin=b.coordorigin;b=new sb(g,b,k);b.type=h.type||"path";b.path=[];b.Path="";h.type&&delete h.type;l(b,h);Y(b,h);return b};a._engine.rect=function(b,h,k){var g=a._rectPath(h.x,h.y,
h.w,h.h,h.r);h.path=g;h.type="rect";b=b.path(h,k);h=b.attrs;b.X=h.x;b.Y=h.y;b.W=h.width;b.H=h.height;h.path=g;return b};a._engine.ellipse=function(b,h,k){h.type="ellipse";b=b.path(h,k);h=b.attrs;b.X=h.x-h.rx;b.Y=h.y-h.ry;b.W=2*h.rx;b.H=2*h.ry;return b};a._engine.circle=function(b,h,k){h.type="circle";b=b.path(h,k);h=b.attrs;b.X=h.x-h.r;b.Y=h.y-h.r;b.W=b.H=2*h.r;return b};a._engine.image=function(b,h,k){var g=a._rectPath(h.x,h.y,h.w,h.h);h.path=g;h.type="image";h.stroke="none";b=b.path(h,k);k=b.attrs;
var g=b.node,z=g.getElementsByTagName("fill")[0];k.src=h.src;b.X=k.x=h.x;b.Y=k.y=h.y;b.W=k.width=h.w;b.H=k.height=h.h;z.parentNode==g&&g.removeChild(z);z.rotate=!0;z.src=k.src;z.type="tile";b._.fillpos=[k.x,k.y];b._.fillsize=[k.w,k.h];g.appendChild(z);ua(b,1,1,0,0,0);return b};a._engine.text=function(h,k,z,p){var u=q("shape"),D=q("path"),H=q("textpath");x=k.x||0;y=k.y||0;text=k.text;D.v=a.format("m{0},{1}l{2},{1}",g(21600*k.x),g(21600*k.y),g(21600*k.x)+1);D.textpathok=!0;H.string=b(k.text).replace(/<br\s*?\/?>/ig,
"\n");H.on=!0;u.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";u.coordsize="21600 21600";u.coordorigin="0 0";h=new sb(u,h,z);h.shape=u;h.path=D;h.textpath=H;h.type="text";h.attrs.text=b(k.text||"");h.attrs.x=k.x;h.attrs.y=k.y;h.attrs.w=1;h.attrs.h=1;p&&h.css&&h.css(p,void 0,!0);l(h,k);Y(h,k);u.appendChild(H);u.appendChild(D);return h};a._engine.setSize=function(b,h){var k=this.canvas.style;this.width=b;this.height=h;b==+b&&(b+="px");h==+h&&(h+="px");b&&(k.width=b);h&&(k.height=
h);k.clip="rect(0 "+k.width+" "+k.height+" 0)";this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox);return this};a._engine.setViewBox=function(b,h,k,g,p){M("raphael.setViewBox",this,this._viewBox,[b,h,k,g,p]);var u=this.width,a=this.height,D=1/z(k/u,g/a),H,na;p&&(H=a/g,na=u/k,k*H<u&&(b-=(u-k*H)/2/H),g*na<a&&(h-=(a-g*na)/2/na));this._viewBox=[b,h,k,g,!!p];this._viewBoxShift={dx:-b,dy:-h,scale:D};this.forEach(function(b){b.transform("...")});return this};var q;a._engine.initWin=function(h){var k=
h.document;k.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!k.namespaces.rvml&&k.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),q=a._createNode=function(h,g){var z=k.createElement("<rvml:"+h+' class="rvml">'),p;for(p in g)z[p]=b(g[p]);return z}}catch(g){q=a._createNode=function(h,g){var z=k.createElement("<"+h+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'),p;for(p in g)z[p]=b(g[p]);return z}}};a._engine.initWin(a._g.win);a._engine.create=function(){var b=a._getContainer.apply(0,
arguments),h=b.container,k=b.height,g=b.width,z=b.x,b=b.y;if(!h)throw Error("VML container not found.");var p=new a._Paper,u=p.canvas=a._g.doc.createElement("div"),D=u.style,z=z||0,b=b||0,g=g||512,k=k||342;p.width=g;p.height=k;g==+g&&(g+="px");k==+k&&(k+="px");p.coordsize="21600000 21600000";p.coordorigin="0 0";u.id="raphael-paper-"+p.id;p.span=a._g.doc.createElement("span");p.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";u.appendChild(p.span);D.cssText=
a.format("top:0;left:0;width:{0};height:{1};display:inline-block;cursor:default;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",g,k);1==h?(a._g.doc.body.appendChild(u),D.left=z+"px",D.top=b+"px",D.position="absolute"):h.firstChild?h.insertBefore(u,h.firstChild):h.appendChild(u);p.renderfix=function(){};return p};a.prototype.clear=function(){var b;for(M("raphael.clear",this);b=this.bottom;)b.remove();this.canvas.innerHTML="";this.span=a._g.doc.createElement("span");this.span.style.cssText=
"position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=this.top=null};a.prototype.remove=function(){var b;for(M("raphael.remove",this);b=this.bottom;)b.remove();this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var Wa=a.st,m;for(m in k)k.hasOwnProperty(m)&&!Wa.hasOwnProperty(m)&&(Wa[m]=function(b){return function(){var h=arguments;
return this.forEach(function(k){k[b].apply(k,h)})}}(m))}})();T?U.win.Raphael=a:Raphael=a;return a},!0);f.Raphael=n;f.Raphael.desc="";C&&C!==n?m.Raphael=C:m.Raphael===n&&(m.Raphael=void 0)})(m||window)}]);FusionCharts.register("module",["private","fusioncharts.redraphael.helper",function(){var f=this.hcLib,m=f.Raphael,C={};m.fn._elementFromEvent=function(f){if(!f||this.removed)return null;var m=f.srcElement||f.target||(f=f.originalEvent)&&(f.srcElement||f.target)||C;"tspan"===m.nodeName&&(m=m.parentNode);
return this.getById(m.raphaelid)};m.requestAnimFrame=f.schedular.addJob&&function(m){f.schedular.addJob(m,void 0,void 0,f.priorityList.animation)}}]);FusionCharts.register("module",["private","fusioncharts.redraphael.css",function(){var f=this.hcLib,m=f.Raphael,C=m.eve,n=m._g,E=m.fn,F=m.el,K=/[, ]+/,a=/\B([A-Z]{1})/g,O,d;O=function(a){this.styleSheet="";this.rules={};this.ns=a||""};d=O.prototype;d.getSheet=function(){var a=this.node;this.styleSheet=d.getStyleSheet("fusioncharts-raphael-stylesheet");
this.styleSheet||(a=this.node=n.doc.createElement("style"),a.setAttribute("id",m.format("raphael-stylesheet-{0}",m._oid++)),a.setAttribute("type","text/css"),a.setAttribute("title","fusioncharts-raphael-stylesheet"),(n.doc.head||n.doc.getElementsByTagName("head")[0]).appendChild(this.node),this.styleSheet=d.getStyleSheet("fusioncharts-raphael-stylesheet"));return this.styleSheet};d.getStyleSheet=function(a){for(var d=n.doc.styleSheets,f=d.length,m;f--;)if(m=d[f],m.title===a)return m};d.applyCSSRule=
function(a,d){var f=this.styleSheet,m;if(!f)if(a&&d)f=this.getSheet();else return;m=(f.rules||f.cssRules||{}).length||0;f.insertRule?f.insertRule(a+"{"+d+"}",m):f.addRule&&f.addRule(a,d,m)};d.removeCSS=function(a){var d=this.styleSheet,f=d.rules||d.cssRules||{},m=f.length||0,t;for(a=a||this.ns;m--;)t=f[m],(new RegExp(a)).test(t.selectorText)&&(d.removeRule?d.removeRule(m):d.deleteRule(m))};d.destroy=function(){this.removeCSS();delete this.node;delete this.styleSheet;delete this.ns;delete this.rules};
d.clear=function(){this.removeCSS();this.rules={}};d.add=function(d,f,m){var n,t="",q=this.rules[d]||(this.rules[d]={}),c=m?"":"\t";m=m?":":": ";for(n in f)(q[n]=f[n])&&(t+=c+n.replace(a,"-$1").toLowerCase()+m+q[n]+";");this.applyCSSRule(d,t)};d.render=function(){this.setCssText()};d.setCssText=function(d){var f=d?"":"\t";d=d?":":": ";var m="",n="",t,q;for(t in this.rules){m="";n=t.replace(/(^|\,)/g,"$1"+this.ns+" ");t=this.rules[t];for(q in t)t[q]&&(m+=f+q.replace(a,"-$1").toLowerCase()+d+t[q]+";");
this.applyCSSRule(n,m)}};C.on("raphael.new",function(){this._stylesheet=this._stylesheet||new O;this.cssNamespace("")});C.on("raphael.remove",function(){this._stylesheet&&this._stylesheet.destroy();delete this._stylesheet});E.cssNamespace=function(a){arguments.length&&(this._stylesheet.ns=m.format("{0}#raphael-paper-{1}",a&&a+" "||"",this.id));return this._stylesheet.ns};E.cssAddRule=function(a,d){if(1===arguments.length&&"object"===typeof a){for(var f in a)this.cssAddRule(f,a[f]);return this}return this._stylesheet.add(a,
d),this};E.cssRender=function(){return m.svg&&this._stylesheet.render(),this};E.cssClear=function(){return this._stylesheet.clear(),this};m.ca["class"]=function(a){var d=this.node,f=this.paper,n="."+a,f=f._stylesheet&&f._stylesheet.rules,t=this.parent,q=this.attrs,c={},A;if(m.svg)a=a||"",d.setAttribute("class","group"===this.type&&this._id?"raphael-group-"+this.id+"-"+this._id+" "+a:a);else if(m.vml&&(d.className="group"===this.type?a&&this._id+" "+a||this._id:"rvml "+a,n&&f)){a=f[n];for(A in a)"color"===
A&&"text"===this.type&&(A="fill"),!q[A]&&(c[A]=a[A]);for(;t&&t.attr;){if(a=t.attr("class"))for(A in n="."+a+" "+n,a=f[n],a)"color"===A&&"text"===this.type&&(A="fill"),q[A]||c[A]||(c[A]=a[A]);t=t.parent}this.css(c)}};F.css=function(a,d,f){var n,t;if(this.removed)return this;this.styles||(this.styles={});if(null==d&&m.is(a,"string")){f=a.split(K);n={};t=0;for(d=f.length;t<d;t++)a=f[t],a in this.styles&&(n[a]=this.styles[a]);return d-1?n:n[f[0]]}if(null==d&&m.is(a,"array")){n={};t=0;for(d=a.length;t<
d;t++)n[a[t]]=this.styles(a[t]);return n}null!=d?(n={},n[a]=d):null!=a&&m.is(a,"object")&&(n=a);a={};for(t in n)d=t.replace(/\B([A-Z]{1})/g,"-$1").toLowerCase(),m._availableAttrs.hasOwnProperty(d)||"color"===d?("color"===d&&"text"===this.type&&(d="fill"),a[d]=n[t],a.dirty=!0):(C("raphael.css."+d+"."+this.id,this,n[t],d),this.node.style[d]=n[t],this.styles[d]=n[t]);t=0;for(d=this.followers.length;t<d;t++)this.followers[t].el.attr(n);a.hasOwnProperty("dirty")&&(delete a.dirty,f&&(a["_do-not-tune"]=
!0),this.attr(a));return this};F.removeCSS=function(a){var d,n,v;!a&&(a=f.appliedCSS);if(this.removed)return this;m.is(a,"string")&&(a=a.split(","));if(m.is(a,"array"))for(v=a.length,n=0;n<v;n++)d=a[n].replace(/\B([A-Z]{1})/g,"-$1").toLowerCase(),this.node.removeAttribute(d),this.node.style[d]="";return this}}]);FusionCharts.register("module",["private","modules.renderer.js-raphaelexport",function(){var f=this.hcLib,m=f.Raphael,C=f.pluckNumber,n=f.pluck,E=m._availableAttrs,F=/^matrix\(|\)$/g,K=/\,/g,
a=/\n|<br\s*?\/?>/ig,O=/[^\d\.]/ig,d=/[\%\(\)\s,\xb0#]/g,l=/group/ig,N=/&/g,ba=/"/g,v=/'/g,t=/</g,q=/>/g,c=0;(function(f){var m=Math,e=parseFloat,r=m.max,G=m.abs,w=m.pow,L=String,I=/[, ]+/,fa=[{reg:/xmlns\=\"http\:\/\/www.w3.org\/2000\/svg\"/ig,repStr:""},{reg:/^.*<svg /,repStr:'<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" '},{reg:/\/svg>.*$/,repStr:"/svg>"},{reg:/<desc\>[^<]*<\/desc\>/,repStr:""},{reg:/zIndex="[^"]+"/g,repStr:""},{reg:/url\((\\?[\'\"])[^#]+#/g,
repStr:"url($1#"},{reg:/ href=/g,repStr:" xlink:href="},{reg:/(id|class|width|height)=([^" >]+)/g,repStr:'$1="$2"'},{reg:/:(path|rect)/g,repStr:"$1"},{reg:/<ima?ge? ([^\>]+?[^\/])\>/gi,repStr:"<image $1 />"},{reg:/<\/ima?ge?\>/g,repStr:""},{reg:/style="([^"]+)"/g,repStr:function(a){return a.toLowerCase()}}],aa={blur:function(){},transform:function(){},src:function(a,c){c.attrSTR+=' xlink:href="'+c.attrs.src+'"'},path:function(a,c){var e=c.attrs.path,e=f._pathToAbsolute(e||"");c.attrSTR+=' d="'+(e.toString&&
e.toString()||"").replace(K," ")+'"'},gradient:function(a,c,l){var q=a.attrs.gradient,n="linear",t,v,ga,Y=.5,za=.5,I=v="",Na="",F,Ia,U,Da;t=q.replace(d,"_");if(!l[t]){q=L(q).replace(f._radial_gradient,function(a,c){var d,f,r,l,q,B,t;c=c&&c.split(",")||[];n="radial";d=c[0];f=c[1];r=c[2];l=c[3];q=c[4];Da=c[5];t=d&&f;r&&(U=/\%/.test(r)?r:e(r));if("userSpaceOnUse"===Da)return t&&(Y=d,za=f),l&&q&&(F=l,Ia=q,t||(Y=F,za=Ia)),"";t&&(Y=e(d),za=e(f),d=2*(.5<za)-1,.25<(B=w(Y-.5,2))+w(za-.5,2)&&.25>B&&(za=m.sqrt(.25-
B)*d+.5)&&.5!==za&&(za=za.toFixed(5)-1E-5*d));l&&q&&(F=e(l),Ia=e(q),d=2*(.5<Ia)-1,.25<(B=w(F-.5,2))+w(Ia-.5,2)&&.25>B&&(Ia=m.sqrt(.25-B)*d+.5)&&.5!==Ia&&(Ia=Ia.toFixed(5)-1E-5*d),t||(Y=F,za=Ia));return""});q=q.split(/\s*\-\s*/);if("linear"===n){v=q.shift();v=-e(v);if(isNaN(v))return null;ga=[0,0,m.cos(f.rad(v)),m.sin(f.rad(v))];v=1/(r(G(ga[2]),G(ga[3]))||1);ga[2]*=v;ga[3]*=v;0>ga[2]&&(ga[0]=-ga[2],ga[2]=0);0>ga[3]&&(ga[1]=-ga[3],ga[3]=0)}q=f._parseDots(q);if(!q)return null;"radial"===n?(v='<radialGradient fx = "'+
Y+'" fy = "'+za+'" cy = "'+Ia+'" cx = "'+F+'" r = "'+U+'" gradientUnits = "'+Da+'" id = "'+t+'">',I="</radialGradient>"):(v='<linearGradient x1 = "'+ga[0]+'" y1 = "'+ga[1]+'" x2 = "'+ga[2]+'" y2 = "'+ga[3]+'" gradientTransform ="matrix('+a.matrix.invert()+')" id = "'+t+'">',I="</linearGradient>");a=0;for(ga=q.length;a<ga;a++)Na+='<stop offset="'+(q[a].offset?q[a].offset:a?"100%":"0%")+'" stop-color="'+(q[a].color||"#fff")+'" stop-opacity="'+(void 0===q[a].opacity?1:q[a].opacity)+'" />';l[t]=!0;l.str+=
v+Na+I}c.attrSTR+=" fill=\"url('#"+t+"')\""},fill:function(a,c){var e=c.attrs,d=e.fill,r;a.attrs.gradient||(d=f.color(d),r=d.opacity,"text"===a.type?c.styleSTR+="fill:"+d+"; stroke-opacity:0; ":(c.attrSTR+=' fill="'+d+'"',e["fill-opacity"]||!r&&0!==r||(c.attrSTR+=' fill-opacity="'+r+'"')))},stroke:function(a,c){var e=c.attrs,d,r;d=f.color(e.stroke);r=d.opacity;"text"!==a.type&&(c.attrSTR+=' stroke="'+d+'"',e["stroke-opacity"]||!r&&0!==r||(c.attrSTR+=' stroke-opacity="'+r+'"'))},"clip-rect":function(a,
e,f){var r=L(e.attrs["clip-rect"]),l=r.split(I),r=r.replace(d,"_")+"__"+c++;4===l.length&&(f[r]||(f[r]=!0,f.str+='<clipPath id="'+r+'"><rect x="'+l[0]+'" y="'+l[1]+'" width="'+l[2]+'" height="'+l[3]+'" transform="matrix('+a.matrix.invert().toMatrixString().replace(F,"")+')"/></clipPath>'),e.attrSTR+=' clip-path="url(#'+r+')"')},cursor:function(a,c){var e=c.attrs.cursor;e&&(c.styleSTR+="cursor:"+e+"; ")},font:function(a,c){c.styleSTR+="font:"+c.attrs.font.replace(/\"/ig," ")+"; "},"font-size":function(a,
c){var e=n(c.attrs["font-size"],"10");e&&e.replace&&(e=e.replace(O,""));c.styleSTR+="font-size:"+e+"px; "},"font-weight":function(a,c){c.styleSTR+="font-weight:"+c.attrs["font-weight"]+"; "},"font-family":function(a,c){c.styleSTR+="font-family:"+c.attrs["font-family"]+"; "},"line-height":function(){},"clip-path":function(){},visibility:function(){},"vertical-align":function(){},"text-anchor":function(a,c){var e=c.attrs["text-anchor"]||"middle";"text"===a.type&&(c.attrSTR+=' text-anchor="'+e+'"')},
title:function(){},text:function(c,e){var d=e.attrs,f=d.text,r=n(d["font-size"],d.font,"10"),l=n(d["line-height"]),m,w,Y;r&&r.replace&&(r=r.replace(O,""));r=C(r);l&&l.replace&&(l=l.replace(O,""));l=C(l,r&&1.2*r);m=r?.85*r:.75*l;r=d.x;w=n(d["vertical-align"],"middle").toLowerCase();f=L(f).split(a);Y=f.length;d=0;for(m="top"===w?m:"bottom"===w?m-l*Y:m-l*Y*.5;d<Y;d++)e.textSTR+="<tspan ",w=(f[d]||"").replace(N,"&amp;").replace(ba,"&quot;").replace(v,"&#39;").replace(t,"&lt;").replace(q,"&gt;"),e.textSTR=
d?e.textSTR+('dy="'+l+'" x="'+r+'" '):e.textSTR+('dy="'+m+'"'),e.textSTR+=">"+w+"</tspan>"}},U=function(a,c){var e="",d={attrSTR:"",styleSTR:"",textSTR:"",attrs:a.attr()},f=a.isShadow,r="",m="",q,Y,w=d.attrs;if("none"===a.node.style.display||f)a.next&&(e+=U(a.next,c));else{for(q in w)if("gradient"!==q&&(void 0!==E[q]||aa[q])&&void 0!==w[q])if(aa[q])aa[q](a,d,c);else d.attrSTR+=" "+q+'="'+w[q]+'"';a.attrs.gradient&&aa.gradient(a,d,c);"rect"===a.type&&w.r&&(d.attrSTR+=' rx="'+w.r+'" ry="'+w.r+'"');
for(Y in a.styles)d.styleSTR+=Y+":"+a.styles[Y]+"; ";"image"===a.type&&(d.attrSTR+=' preserveAspectRatio="none"');if("text"===a.type&&!w["text-anchor"])aa["text-anchor"](a,d);a.bottom&&(r=U(a.bottom,c));a.next&&(m=U(a.next,c));f=a.type;f.match(l)&&(f="g");e+="<"+f+' transform="matrix('+a.matrix.toMatrixString().replace(F,"")+')" style="'+d.styleSTR+'"'+d.attrSTR+">"+d.textSTR+r+"</"+f+">"+m}return e},T=function(a){a=JSON.stringify(a);a=a.replace(/([a-z]+)([A-Z]+)([a-z]+)/g,function(a,c,e,d){return c+
"-"+e.toLowerCase()+d});a=a.replace(/\"\,\"/g,'";"');a=a.replace(/\"/g," ");return a=a=a.replace(/\{|\}/g,"")},ca=function(a,c){var e,d,f,r,l,q=function(a){return a=a.match(/style\s*=/)?a.replace(/(style\s*=")([^"]+)/g,function(a,c,e){return c+f+e}):a.replace(/class\s*="[^"]*"/i,function(a){return a+' style="'+f+'" '})};for(e in c)if(c.hasOwnProperty(e))for(l in d=/\s+/,d=e.split(d),f=T(c[e]),d)d.hasOwnProperty(l)&&(r=d[l].trim().replace(".",""),r=new RegExp("<[^>]+("+r+")[^>]+","g"),a=a.replace(r,
q));return a};f.fn.toSVG=function(a){var c="",e={str:""},d=0,r=fa.length,l="";if(f.svg){if(this.canvas&&this.canvas.parentNode){for(c=this.canvas.parentNode.innerHTML;d<r;d+=1)e=fa[d],c=c.replace(e.reg,e.repStr);this._stylesheet&&this._stylesheet.rules&&(c=ca(c,this._stylesheet.rules))}a||(c=c.replace(/<image[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}))}else c='<svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+
this.width+'" version="1.1" height="'+this.height+'">',this.bottom&&(l=U(this.bottom,e)),c+="<defs>"+e.str+"</defs>"+l+"</svg>",a||(c=c.replace(/<image[^\>]*\>[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}));return c}})(m)}]);FusionCharts.register("module",["private","modules.renderer.js-raphaelshadow",function(){var f=this.window,m=Math.sqrt,C=f.parseFloat,n=f.parseInt,f=f.SVGFilterElement||f.SVGFEColorMatrixElement&&2===f.SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE,
E=this.hcLib.Raphael,F={"drop-shadow":"drop-shadow",stroke:"stroke",fill:"fill","stroke-width":"stroke-width","stroke-opacity":"stroke-opacity","stroke-linecap":"stroke-linecap","stroke-linejoin":"stroke-linejoin","shape-rendering":"shape-rendering",transform:"transform"},K=E._createNode,a;E.svg?(f&&(E.el.dropshadow=function(a,d,f,n){var F=this.node,v=this._.shadowFilter,t=this.paper.cacheShadows||(this.paper.cacheShadows={}),q="drop-shadow"+[a,d,f,n].join(" "),c;if("none"===a){if(v){--v.use;this.node.removeAttribute("filter");
if(!v.use){q=v.hash;for(c in v)a=v[c],a.parentNode&&a.parentNode.removeChild(a),delete v[c];delete t[q]}delete this._.shadowFilter}}else v&&t[q]===v||(v=this.paper.defs.appendChild(K("filter",{id:E.getElementID(E.createUUID()),width:"200%",height:"200%"})),n=E.color(n),n.error&&(n=E.color("rgba(0,0,0,1)")),c=E.pick(n.opacity,1),this._.shadowFilter=t[q]={use:1,filter:v,hash:q,offset:v.appendChild(K("feOffset",{result:"offOut","in":"SourceGraphic",dx:C(a),dy:C(d)})),matrix:v.appendChild(K("feColorMatrix",
{result:"matrixOut","in":"offOut",type:"matrix",values:"0 0 0 0 "+n.r/255+" 0 0 0 0 "+n.g/255+" 0 0 0 0 "+n.b/255+" 0 0 0 "+c+" 0"})),blur:v.appendChild(K("feGaussianBlur",{result:"blurOut","in":"matrixOut",stdDeviation:m(C(f))})),blend:v.appendChild(K("feComposite",{"in":"SourceGraphic",in2:"blurOut",operator:"over"}))},F.setAttribute("filter",'url("'+E._url+"#"+v.id+'")'));return this}),a=function(a,d){var f=this.__shadowscale,m={},n,v;for(v in a)switch(F[v]&&(m[v]=a[v],delete a[v]),v){case "transform":n=
d.matrix.clone();n.translate(this.__shadowx,this.__shadowy);this.transform(n.toTransformString());break;case "stroke-width":a[v]=((m[v]||1)+6-2*this.__shadowlevel)*f}this.attr(a);for(v in m)a[v]=m[v]},E.ca["drop-shadow"]=function(f,d,l,m,F,v){l=this._.shadows||(this._.shadows=[]);var t,q,c,A,C;if(!this.__shadowblocked)if("none"===f)for(;q=l.pop();)q.remove();else for(m=E.color(m),m.error&&(m=E.color("rgba(0,0,0,1)")),F instanceof Array?(t=F[0],F=F[1]):t=F,t=1/E.pick(t,1),F=1/E.pick(F,1),f=E.pick(f,
1)*t,d=E.pick(d,1)*t,t=.05*E.pick(m.opacity,1),c=n(this.attr("stroke-width")||1,10)+6,A=this.matrix.clone(),A.translate(f,d),C=1;3>=C;C++)q=(l[C-1]||this.clone().follow(this,a,!v&&"before")).attr({stroke:m.hex,"stroke-opacity":t*C,"stroke-width":(c-2*C)*F,transform:A.toTransformString(),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none"}),q.__shadowlevel=C,q.__shadowscale=F,q.__shadowx=f,q.__shadowy=d,v&&v.appendChild(q),l.push(q);return!1},E.el.shadow=function(a,d,f,m){var n;f&&f.constructor===
E.el.constructor&&(m=f,f=void 0);"object"===typeof a&&(d&&d.constructor===E.el.constructor&&(m=d),d=a.opacity,f=a.scalefactor,n=!!a.useFilter,a=void 0===a.apply?!!d:a.apply);void 0===d&&(d=1);if(this.dropshadow){if(n)return a&&this.dropshadow(1,1,3,"rgb(64,64,64)")||this.dropshadow("none"),this;this._.shadowFilter&&this.dropshadow("none")}return this.attr("drop-shadow",a?[1,1,3,"rgba(64,64,64,"+d+")",f,m]:"none")}):E.vml?(E.ca["drop-shadow"]=function(a,d,f,m,n,v){var t=this._.shadow,q,c;if(this.isShadow)return!1;
"none"===a?t&&(this._.shadow=t.remove()):(t||(t=this._.shadow=this.clone(),v&&v.appendChild(t.follow(this))||t.follow(this,void 0,"before"),t.attr({fill:"none","fill-opacity":.5,"stroke-opacity":1}).isShadow=!0,0>=t.attr("stroke-width")&&t.attr("stroke-width",1)),v=t.node.runtimeStyle,q=v.filter.replace(/ progid:\S+Blur\([^\)]+\)/g,""),m=E.color(m),m.error&&(m=E.color("rgba(0,0,0,1)")),c=E.pick(m.opacity,1)/5,n=1/E.pick(n,1),a=E.pick(a,1)*n,d=E.pick(d,1)*n,t.translate(a,d),v.filter=q+" progid:DXImageTransform.Microsoft.Blur(pixelRadius="+
C(.4*f)+" makeShadow=True Color="+m.hex+' shadowOpacity="'+c+'");');return!1},E.el.shadow=function(a,d,f,m){f&&f.constructor===E.el.constructor&&(m=f,f=void 0);"object"===typeof a&&(d&&"group"===d.type&&(m=d),d=a.opacity,f=a.scalefactor,a=void 0===a.apply?!!d:a.apply);void 0===d&&(d=1);return this.attr("drop-shadow",a||!d?[1,1,5,"rgba(64,64,64,"+d+")",f,m]:"none")}):E.canvas&&(E.el.shadow=function(){return this})}]);FusionCharts.register("module",["private","modules.renderer.js-raphaelshapes",function(){var f=
this.window,m="createTouch"in f.document,C=/msie/i.test(f.navigator.userAgent)&&!f.opera,n=Math,E=n.cos,F=n.sin,K=n.abs,a=n.pow,O=n.atan2,d=n.tan,l=n.acos,N=n.min,ba=n.round,v=n.PI,t=n.sqrt,q=2*v,c=f.parseInt,A=f.parseFloat,P=String,e=Array.prototype.slice,r=a(2,-24),G="rgba(192,192,192,"+(C?.002:1E-6)+")",w=this.hcLib.Raphael,L=w.eve,I=w._createNode,fa=w._setFillAndStroke,aa=w.el.constructor,U={speed:"optimizeSpeed",crisp:"crispEdges",precision:"geometricPrecision"},T={enabled:!1,"false":!1,0:!1,
disabled:!0,"true":!0,1:!0},ca={Q:"L",Z:"X",q:"l",z:"x",",":" "},J=/,?([achlmqrstvxz]),?/gi,ia=/\s*\,\s*/g,B,wa=function(){return this.join(",").replace(J,B)},Ja,sa,ha=w._cacher(function(c,e,d,f){return t(a(d-c,2)+a(f-e,2))}),ga=w._cacher(function(a,c,e,d,f){var r=e-a,m=d-c;e=ha(a,c,e,d);return{x:a+r/e*f,y:c+m/e*f}});if(w.svg)L.on("raphael.attr.shape-rendering",function(a,c){var e=this.node;this.attrs[c]=a=U[a]||a||"auto";e.setAttribute(c,a);e.style.shapeRendering=a});else if(w.vml)L.on("raphael.attr.shape-rendering",
function(a){this.node.style.antialias="crisp"!==a});w.define&&w.define([{name:"polypath",polypath:function(){return this.path(void 0,w._lastArgIfGroup(arguments))},ca:{polypath:function(a,e,d,f,r,m){var l,q,n;l=[];a=c(a,10)||0;e=A(e)||0;d=A(d)||0;f=A(f)||0;r=null===r||isNaN(r)?.5*v:w.rad(r);m=null===m||isNaN(m)?0:A(m);q=r;if(2<a)switch(r=2*v/a,m){case 0:for(m=0;m<a;m++)l.push("L",e+f*E(-q),d+f*F(-q)),q+=r;l[0]="M";l.push("Z");break;case 1:for(m=0;m<a;m++)l.push("M",e,d,"L",e+f*E(-q),d+f*F(-q)),q+=
r;break;default:r*=.5;n=f*E(r)*(1-m);for(m=0;m<a;m++)l.push("L",e+f*E(-q),d+f*F(-q)),q+=r,l.push("L",e+n*E(-q),d+n*F(-q)),q+=r;l[0]="M";l.push("Z")}else 0===f?l.push("M",e,d,"L",e,d,"Z"):l.push("M",e-f,d,"A",f,f,0,0,0,e+f,d,"A",f,f,0,0,0,e-f,d,"Z");return{path:l}},r:function(a){var c=this.attrs.polypath;c[3]=a;this.attr("polypath",c);return!1}}},{name:"ringpath",ringpath:function(){return this.path(void 0,w._lastArgIfGroup(arguments))},ca:function(a,c,e,d,f,m){var l=m%q-f%q,w=m-f,n,B,t,A,G,ga;this._.ringangle=
.5*(f+m);K(w)<r?(n=E(f),w=F(f),e=["M",a+e*n,c+e*w,"L",a+d*n,c+d*w,"Z"]):(K(w)>r&&+(K(w)%q<r||q-K(w)%q<r)?(e=["M",a-e,c,"A",e,e,0,0,0,a+e,c,"A",e,e,0,0,0,a-e,c],0!==d&&(e=e.concat(["M",a-d,c,"A",d,d,0,0,1,a+d,c,"A",d,d,0,0,1,a-d,c]))):(n=E(f),w=F(f),B=E(m),m=F(m),l%=q,0>l&&(l+=q),l=l<v?0:1,t=a+e*n,G=c+e*w,A=a+e*B,ga=c+e*m,B=a+d*B,m=c+d*m,.01>K(t-A)&&.01>K(G-ga)&&(t=a+e*E(f+1.745329E-4),G=c+e*F(f+1.745329E-4)),e=["M",t,G,"A",e,e,0,l,1,A,ga,"L",B,m],0!==d&&(n=a+d*n,w=c+d*w,.01>K(B-n)&&.01>K(m-w)&&(n=
a+d*E(f+1.745329E-4),w=c+d*F(f+1.745329E-4)),e.push("A",d,d,0,l,0,n,w))),e.push("Z"));return{path:e}}},{name:"cubepath",cubepath:function(){var a={"stroke-linejoin":"round","shape-rendering":"precision",stroke:"none"},c=arguments,e=c.length-1,d=c[e],f,r;d&&d.constructor===w.el.constructor?c[e]=void 0:d=void 0;e=this.path(a,d);f=this.path(a,d);a=this.path(a,d);a._.cubetop=e.follow(a,void 0,"before");a._.cubeside=f.follow(a,void 0,"before");for(r in w.fn.cubepath.ca)a.ca[r]=w.fn.cubepath.ca[r];return a.attr("cubepath",
[c[0],c[1],c[2],c[3],c[4],c[5]])},fn:{_getBBox2:function(){var a=this._.cubeside.getBBox(),c=this._.cubetop.getBBox(),e=this.getBBox();return{x:e.x+c.height,y:e.y-a.width,width:e.width,height:e.height}}},ca:{cubepath:function(a,c,e,d,f,r){var m=this._.cubetop,l=this._.cubeside;a=a||0;c=c||0;e=e||0;d=d||0;f=f||0;r=r||0;this.attr("path",["M",a+e,c,"l",0,d,-e,0,0,-d,"z"]);m.attr("path",["M",a,c,"l",1,1,e-1,0,0,-1,f,-r,-e,0,"z"]);l.attr("path",["M",a+e-1,c+1,"l",0,d-1,1,0,f,-r,0,-d,-f,r]);return!1},"stroke-linejoin":function(){return{"stroke-linejoin":"round"}},
"drop-shadow":function(a,c,e,d){var f=this._.cubetop,r=this._.cubeside;this.dropshadow&&(f.dropshadow(a,-c,e,d),r.dropshadow(a,-c,e,d));return!1},fill:function(a,c){var e=this._.cubetop,d=this._.cubeside,f=this.attr("cubepath")||[0,0,0,0,0,0],r=f[2],m=f[4],f=f[5],l;a=w.color(a);c?(this.attr("fill",a),e.attr("fill",w.tintshade(a,-.78).rgba),d.attr("fill",w.tintshade(a,-.65).rgba)):(l="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")",this.attr("fill",[270,w.tintshade(l,.55).rgba,
w.tintshade(l,-.65).rgba].join("-")),d.attr("fill",[270,w.tintshade(l,-.75).rgba,w.tintshade(l,-.35).rgba].join("-")),e.attr("fill",[45+w.deg(O(f,m+r)),w.tintshade(l,-.78).rgba,w.tintshade(l,.22).rgba].join("-")));return!1}}},{name:"arcpath",arcpath:function(){return this.path(void 0,w._lastArgIfGroup(arguments))},ca:function(a,c,e,d){var f=(d-90)/180*Math.PI;return{path:["M",a,c-e,"A",e,e,0,180<d?1:0,1,a+e*Math.cos(f),c+e*Math.sin(f)]}}},{name:"scroller",scroller:function(a,c,e,d,f,r,m){var l=this.group("scroller",
m),q=l.attrs,n=l._.scroller={};f=f&&"horizontal"||"vertical";var B,t={},G,v,ga;n.track=this.rect(l).mousedown(function(a){var c=q["scroll-position"];a="horizontal"===q["scroll-orientation"]?a.layerX||a.x:a.layerY||a.y;a=(a-n.anchorOffset)/n.trackLength;B=w.animation({"scroll-position":a},2E3*K(c-a),"easeIn");l.animate(B);L("raphael.scroll.start."+l.id,l,c)}).mouseup(n._mouseupTrack=function(){this.stop(B);L("raphael.scroll.end."+this.id,this,q["scroll-position"])},l,!0);n.anchor=this.rect(l).drag(function(){t["scroll-position"]=
G+arguments[v]/n.trackLength;l.animate(t,0)},function(a,c,e){v="horizontal"===q["scroll-orientation"]?0:1;L("raphael.scroll.start."+l.id,l,G=q["scroll-position"]);e.stopPropagation()},function(){L("raphael.scroll.end."+l.id,l,G=q["scroll-position"])});for(ga in w.fn.scroller.fn)l[ga]=w.fn.scroller.fn[ga];for(ga in w.fn.scroller.ca)l.ca[ga]=w.fn.scroller.ca[ga];q["scroll-orientation"]=f;q["stroke-width"]=1;l.ca["scroll-repaint"]=l.ca["scroll-repaint-"+f];!w.is(r,"object")&&(r={});return l.attr({ishot:!0,
"scroll-display-buttons":r.showButtons&&"arrow"||"none","scroll-display-style":r.displayStyleFlat&&"flat"||"3d","scroll-ratio":A(r.scrollRatio)||1,"scroll-position":A(r.scrollPosition)||0,"scroll-repaint":[a,c,e,d]})},fn:{scroll:function(a,c){var e=this._.scroller;c=c||this;e.callback=function(){return a.apply(c,arguments)};return this},remove:function(){var a=this._.scroller,c;this.attr("scroll-display-buttons","none");a.track.unmouseup(a._mouseupTrack);for(c in a)a[c]&&a[c].remove&&a[c].remove(),
a[c]=null;delete this._.scroller;w.el.remove.apply(this,arguments)}},ca:{"stroke-width":function(){return!1},"drop-shadow":function(a,c,e,d,f,r){this._.scroller.track.attr("drop-shadow",[a,c,e,d,f,r]);return!1},"scroll-display-style":function(a){var c=this.attrs,e=c["scroll-display-style"],d=c.fill;a={flat:"flat","3d":"3d",transparent:"transparent"}[a]||e;d&&a!==e&&(c["scroll-display-style"]=a,this.attr("fill",d));return{"scroll-display-style":a}},"scroll-display-buttons":function(a){var c=this,e=
c.paper,d=c._.scroller,f=c.attrs,r=f["scroll-display-buttons"],l=f["scroll-repaint"],m,q;void 0===r&&(r="none");a={none:"none",arrow:"arrow"}[a]||r;a!==r&&(f["scroll-display-buttons"]=a,"none"===a&&d.start?(d.arrowstart.remove(),delete d.arrowstart,d.arrowend.remove(),delete d.arrowend,d.start.unmouseup(d._mouseupStart),d.start.remove(),delete d.start,d.end.unmouseup(d._mouseupEnd),d.end.remove(),delete d.end):(d.arrowstart=e.polypath(c),d.arrowend=e.polypath(c),d.start=e.rect(c).mousedown(function(){var a;
0!==(a=f["scroll-position"])&&(c.animate({"scroll-position":a-.1},100).animate(m=w.animation({"scroll-position":0},4500*a,"easeIn")),L("raphael.scroll.start."+c.id,c,a))}).mouseup(d._mouseupStart=function(){c.stop(m);L("raphael.scroll.end."+c.id,c,f["scroll-position"])},c,!0),d.end=e.rect(c).mousedown(function(){var a;1!==(a=f["scroll-position"])&&(c.animate({"scroll-position":a+.1},100).animate(q=w.animation({"scroll-position":1},4500*(1-a),"easeIn")),L("raphael.scroll.start."+c.id,c,a))}).mouseup(d._mouseupEnd=
function(){c.stop(q);L("raphael.scroll.end."+c.id,c,f["scroll-position"])},c,!0),f.fill&&c.attr("fill",f.fill)),l&&c.attr("scroll-repaint",l));return{"scroll-display-buttons":a}},"scroll-orientation":function(a){var c=this.attrs,e=c["scroll-repaint"],d=c["scroll-orientation"];a={horizontal:"horizontal",vertical:"vertical"}[a]||d;d!==a&&(this.ca["scroll-repaint"]=this.ca["scroll-repaint-"+a],e&&(e[2]+=e[3],e[3]=e[2]-e[3],e[2]-=e[3],this.attr("scroll-repaint",e)),c.fill&&this.attr("fill",c.fill));return{"scroll-orientation":a}},
"scroll-ratio":function(a){var c=this.attrs,e=c["scroll-ratio"],d=c["scroll-repaint"];a=1<a?1:.01>a?.01:A(a);d&&a!==e&&(c["scroll-ratio"]=a,this.attr("scroll-repaint",d));return{"scroll-ratio":a}},"scroll-position":function(a,c){var e=this.attrs,d="horizontal"===e["scroll-orientation"],f=e["scroll-repaint"],r=e["scroll-position"],l=this._.scroller,m=l.anchor;a=1<a?1:0>a?0:A(a);isNaN(a)&&(a=r);f&&(r!==a||c)&&(r=l.start&&l.start.attr(d&&"width"||"height")||0,d&&m.attr("x",f[0]+r+(f[2]-2*r-m.attr("width"))*
a+.5)||m.attr("y",f[1]+r+(f[3]-2*r-m.attr("height"))*a+.5),!c&&1>e["scroll-ratio"]&&(L("raphael.scroll.change."+this.id,this,a),l.callback&&l.callback(a)));return{"scroll-position":a}},r:function(a){var c=this._.scroller;c.track.attr("r",a);c.anchor.attr("r","none"===this.attrs["scroll-display-buttons"]&&a||0);return!1},"scroll-repaint-horizontal":function(a,c,e,d){var f=this.attrs,r=this._.scroller,l=f["scroll-ratio"],m=f["scroll-position"],q=0,w=e*l,f="none"===f["scroll-display-buttons"];e&&--e;
a&&(a+=.5);d&&--d;c&&(c+=.5);r.track.attr({width:e,height:d,y:c,x:a}).crisp();f||(q=N(d,.5*e),w-=2*q*l,r.start.attr({width:q,height:d,x:a,y:c}),r.arrowstart.attr("polypath",[3,a+.5*q,c+.5*d,.25*q,180]),r.end.attr({width:q,height:d,x:a+e-q,y:c}),r.arrowend.attr("polypath",[3,a+e-.5*q,c+.5*q,.25*q,0]));r.trackLength=e-2*q-w;r.trackOffset=a+q+.5;r.anchorOffset=r.trackOffset+.5*(w-1);r.anchor.attr({height:d,width:w-1,y:c,x:r.trackOffset+r.trackLength*m}).crisp()},"scroll-repaint-vertical":function(a,
c,e,d){var f=this.attrs,r=this._.scroller,l=f["scroll-ratio"],m=f["scroll-position"],q=0,w=d*l,f="none"===f["scroll-display-buttons"];e&&--e;a&&(a+=.5);d&&--d;c&&(c+=.5);r.track.attr({width:e,height:d,y:c,x:a}).crisp();f||(q=N(e,.5*d),w-=2*q*l,r.start.attr({width:e,height:q,x:a,y:c}),r.arrowstart.attr("polypath",[3,a+.5*e,c+.5*q,.25*q,90]),r.end.attr({width:e,height:q,x:a,y:c+d-q}),r.arrowend.attr("polypath",[3,a+.5*e,c+d-.5*q,.25*q,-90]));r.trackLength=d-2*q-w;r.trackOffset=c+q+.5;r.anchorOffset=
r.trackOffset+.5*(w-1);r.anchor.attr({height:0>w-1?0:w-1,width:e,y:r.trackOffset+r.trackLength*m,x:a}).crisp()},fill:function(a){var c=this.attrs,e=this._.scroller,d=c["scroll-repaint"],f="flat"===c["scroll-display-style"],r="horizontal"===c["scroll-orientation"],l={stroke:"none"},q;m&&d&&3<(q=16-d[r&&3||2])&&(l.stroke=G,l["stroke-width"]=q);a=w.color(a);a.error&&(a=w.color("#000000"));a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")";l.fill=f&&a||[90*r,w.tintshade(a,.15).rgba,
a].join("-");l.stroke=w.tintshade(a,-.75).rgba;e.track.attr(l);l.fill=f&&w.tintshade(a,-.6).rgba||[270*r,w.tintshade(a,.3).rgba+":40",w.tintshade(a,-.7).rgba].join("-");l.stroke=w.tintshade(a,-.6).rgba;e.anchor.attr(l);l.stroke="none";"none"!==c["scroll-display-buttons"]&&(l.fill=G,e.start.attr(l),e.end.attr(l),l.fill=w.tintshade(a,-.4).rgba,e.arrowstart.attr(l),e.arrowend.attr(l));return!1}}},{name:"button",button:function(a,c,e,d,f,r){r=this.group("button",r);var l;r._.button={bound:this.rect(r),
tracker:this.rect(r).attr({fill:G,stroke:G,cursor:"pointer"}).data("compositeButton",r)};!w.is(f,"object")&&(f={});for(l in w.fn.button.fn)r[l]=w.fn.button.fn[l];for(l in w.fn.button.ca)r.ca[l]=w.fn.button.ca[l];return r.attr({ishot:!0,"button-padding":[f.horizontalPadding,f.verticalPadding],"button-label":e,"button-symbol":d,"button-disabled":f.disabled||"false","button-symbol-position":f.symbolPosition,"button-symbol-padding":f.symbolPadding}).attr("button-repaint",[a,c,f.width,f.height,f.r])},
data:{hoverin:function(){var a=this._.button,c=a.hoverbackIn,e=this._hover||{};e.fill||e.stroke||e["stroke-width"]||e.cursor?(e.fill&&this.bottom.attr("fill",e.fill)&&a.symbol.attr("fill",e.fill),e.stroke&&this.bottom.attr("stroke",e.stroke)&&a.symbol.attr("stroke",e.stroke),e["stroke-width"]&&this.bottom.attr("stroke-width",e["stroke-width"])&&a.symbol.attr("stroke-width",e["stroke-width"]),e.cursor&&a.tracker.attr("cursor",e.cursor),c&&c()):c&&!1===c(arguments)||this.attr("fill","hover");this.hovered=
!0},hoverout:function(){var a=this._.button,c=a.hoverbackOut,e=this._normal||{};e.fill||e.stroke||e["stroke-width"]||e.cursor?(e.fill&&this.bottom.attr("fill",e.fill)&&a.symbol.attr("fill",e.fill),e.stroke&&this.bottom.attr("stroke",e.stroke)&&a.symbol.attr("stroke",e.stroke),e["stroke-width"]&&this.bottom.attr("stroke-width",e["stroke-width"])&&a.symbol.attr("stroke-width",e["stroke-width"]),e.cursor&&a.tracker.attr("cursor",e.cursor),c&&c()):c&&!1===c(arguments)||this.attr("fill",(this.pressed||
this.active)&&"active"||"normal");this.hovered=!1},mousedown:function(){var a=this._.button,c=this._pressed||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&a.symbol.attr("stroke-width",c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor)):this.attr("fill","active");this.pressed=
!0},mouseup:function(){var a=this._.button,c=a.callback,e=this._normal||{};e.fill||e.stroke||e["stroke-width"]||e.cursor?(e.fill&&this.bottom.attr("fill",e.fill)&&a.symbol.attr("fill",e.fill),e.stroke&&this.bottom.attr("stroke",e.stroke)&&a.symbol.attr("stroke",e.stroke),e["stroke-width"]&&this.bottom.attr("stroke-width",e["stroke-width"])&&a.symbol.attr("stroke-width",e["stroke-width"]),e.cursor&&a.tracker.attr("cursor",e.cursor)):this.attr("fill",this.hovered&&"hover"||this.active&&"active"||"normal");
this.pressed=!1;c&&c(arguments)},mousemove:function(){var a=this._.button.mousemove;a&&a(arguments)}},fn:{tooltip:function(){w.el.tooltip&&w.el.tooltip.apply(this._.button.tracker,arguments);return this},buttonclick:function(a,c){var e=this._.button;c=c||this;e.callback=function(){return a.apply(c,arguments)};return this},labelcss:function(){var a=this._.button,c=a.label;a.cssArg=arguments;c&&c.css.apply(c,arguments);return this.attr("button-repaint",this.attrs["button-repaint"])},buttonhover:function(a,
c,e,d,f,r){var l=this._.button;e=e||this;d=d||this;r=r||this;f&&(l.mousemove=function(){return f.apply(r,arguments)});l.hoverbackIn=function(){return a.apply(e,arguments)};l.hoverbackOut=function(){return c.apply(d,arguments)};return this},remove:function(){var a=this._.button,c;this.attr("button-disabled","true");for(c in a)a[c]&&a[c].remove&&a[c].remove(),a[c]=null;delete this._.button;w.el.remove.apply(this,arguments)}},ca:{"button-active":function(a){this.attr("fill",(this.active=!!a)?"active":
this.hovered&&"hover"||"normal")},"button-disabled":function(a){var c=this._.button,e=c.tracker,d=this.attrs["button-disabled"],f=this.paper.button.data,r=this._disabled||{};a=T[a];d=T[d];if(void 0!==a&&a!==d)switch(a){case !0:r.fill||r.stroke||r["stroke-width"]||r.cursor?(r.fill&&this.bottom.attr("fill",r.fill)&&c.symbol.attr("fill",r.fill),r.stroke&&this.bottom.attr("stroke",r.stroke)&&c.symbol.attr("stroke",r.stroke),r["stroke-width"]&&this.bottom.attr("stroke-width",r["stroke-width"]&&c.symbol.attr("fill",
r.fill)),r.cursor&&c.tracker.attr("cursor",r.cursor)):e.attr("fill","rgba(204,204,205,.5)");e.unmousedown(f.mousedown).unmouseup(f.mouseup).unhover(f.hoverin,f.hoverout).unmousemove(f.mousemove);break;case !1:e.attr("fill",G).mousedown(f.mousedown,this).mouseup(f.mouseup,this,!0).hover(f.hoverin,f.hoverout,this,this).mousemove(f.mousemove,this)}},"button-label":function(a){var c=this._.button,e=this.attrs,d=c.label,f=c.cssArg,r=this.attrs["button-repaint"];a=P(a||"");"none"===a?d&&(c.label=d.remove()):
a&&(!d&&(d=c.label=this.paper.text(this).insertBefore(c.tracker)),d.attr({text:a,"text-anchor":"middle","vertical-align":"middle"}),f&&f.length&&d.css.apply(d,f));r&&e["button-label"]!==a&&this.attr("button-repaint",r)},"button-symbol":function(a){var c=this._.button,e=c.symbol,d=this.attrs["button-repaint"];a=P(a||"");"none"===a?(e&&(c.symbol=e.remove()),delete c.symbol):a&&!e&&(c.symbol=this.paper.symbol(this).insertAfter(c.bound));d&&this.attr("button-repaint",d)},"button-symbol-position":function(a){return{"button-symbol-position":{top:"top",
right:"right",bottom:"bottom",left:"left",none:"none"}[P(a).toLowerCase()]||"none"}},"button-symbol-padding":function(a){return{"button-symbol-padding":A(a)}},"button-padding":function(a,c){return{"button-padding":[null==a&&(a=5)||A(a),null==c&&a||A(c)]}},"button-repaint":function(a,c,e,d,f){var r=this._.button,l=r.bound,m=r.label,q=r.symbol,n=this.attrs,B=n["button-padding"],t=B[0],A=B[1],G,v;void 0===a&&(a=0);void 0===c&&(c=0);if(void 0===e||void 0===d)G=m&&m.getBBox()||{width:0,height:0},void 0===
e&&(e=2*t+G.width),void 0===d&&(d=2*A+G.height);l=w.crispBound(a,c,e,d,l.attr("stroke-width"));l.r=w.pick(f,ba(.1*N(d,e)));a=l.x;c=l.y;e=l.width;d=l.height;m&&m.attr({x:a+e/2,y:c+d/2});if(q){!w.is(v=n["button-symbol-padding"],"finite")&&(v=.2*d);f=d-A;G=.5*f;switch(n["button-symbol-position"]+(m&&"+"||"-")){case "right+":a=a+(e+(2*G+A))-G-t;c+=.5*d;m.attr("transform",["t",-(f+v),0]);break;case "left+":a=a+t+G;c+=.5*d;m.attr("transform",["t",f+v,0]);break;case "top+":a+=.5*e;c=c+B[1]+G;m.attr("transform",
["t",0,f+v]);break;case "bottom+":a+=.5*e;c=c+(d+(2*G+v))-A-G;m.attr("transform",["t",0,-(f+v)]);break;default:a+=.5*e,c+=.5*d}q.attr("symbol",[n["button-symbol"],a,c,G])}r.bound.attr(l);r.tracker.attr(l)},fill:function(a,c,e,d,f){var r=this._.button,l=r.bound,m=r.symbol,q=r.label,n={normal:r.gradient,active:r.gradientActive,hover:r.gradientHover}[a];n||(f||(a=w.getRGB(a),a.error&&(a=w.color("#cccccc")),a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")"),r.gradient=f?a:[90,
w.tintshade(a,-.8).rgba+":0",w.tintshade(a,.8).rgba+":100"].join("-"),r.gradientActive=[270,w.tintshade(a,-.8).rgba+":0",w.tintshade(a,.8).rgba+":100"].join("-"),d=w.getRGB(d),d.error&&(d=a)||(d="opacity"in d?"rgba("+[d.r,d.g,d.b,d.opacity]+")":"rgb("+[d.r,d.g,d.b]+")"),r.gradientHover=f?d:[90,w.tintshade(d,-.9).rgba+":0",w.tintshade(d,.7).rgba+":100"].join("-"),e=e||w.tintshade(a,.2).rgba,c=c||w.tintshade(a,-.2).rgba,r.symbolFill=e,r.labelFill=c,n=(this.pressed||this.active)&&r.gradientActive||this.hovered&&
r.gradienthover||r.gradient);l.attr("fill",n);m&&m.attr("fill",r.symbolFill);q&&q.attr("fill",r.labelFill);return!1},stroke:function(a,c){var e=this._.button,d=e.symbol;a=w.color(a);a.error&&(a=w.color("#999999"));e.bound.attr("stroke",a);d&&d.attr("stroke",c||a);return!1},"stroke-width":function(a,c){var e=this._.button,d=e.symbol;e.bound.attr("stroke-width",a);e.tracker.attr("stroke-width",a);d&&d.attr("stroke-width",c);return!1},config:function(a){a.hover&&(this._hover={fill:a.hover.fill,stroke:a.hover.stroke,
"stroke-width":a.hover["stroke-width"],cursor:a.hover.cursor});a.disabled&&(this._disabled={fill:a.disabled.fill,stroke:a.disabled.stroke,"stroke-width":a.disabled["stroke-width"],cursor:a.disabled.cursor});a.pressed&&(this._pressed={fill:a.pressed.fill,stroke:a.pressed.stroke,"stroke-width":a.pressed["stroke-width"],cursor:a.pressed.cursor});a.normal&&(this._normal={fill:a.normal.fill,stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"],cursor:a.normal.cursor});a.symbol&&(a.symbol={stroke:a.normal.stroke,
"stroke-width":a.normal["stroke-width"]})}}},{name:"trianglepath",trianglepath:function(){var a=arguments,c=w._lastArgIfGroup(a);return this.path(c).attr("trianglepath",[a[0],a[1],a[2],a[3],a[4],a[5],a[6]||0,a[7]||0,a[8]||0])},fn:{sides:function(){var a=this._args;return[ha(a[0],a[1],a[2],a[3]),ha(a[2],a[3],a[4],a[5]),ha(a[4],a[5],a[0],a[1])]},enclosedAngles:function(){var c=this._sides;return[l((a(c[0],2)+a(c[2],2)-a(c[1],2))/(2*c[0]*c[2])),l((a(c[0],2)+a(c[1],2)-a(c[2],2))/(2*c[0]*c[1])),l((a(c[2],
2)+a(c[1],2)-a(c[0],2))/(2*c[2]*c[1]))]},semiperimeter:function(){var a=this._sides||this.sides();return(a[0]+a[1]+a[2])/2}},ca:{trianglepath:function(a,c,e,f,r,l,m,q,w){if(m||q||w){this._args=arguments;this._sides=this.sides();var n=this.enclosedAngles(),B;B=this.semiperimeter();B=t(B*(B-this._sides[0])*(B-this._sides[1])*(B-this._sides[2]))/B;n=[N(m,B)/d(n[0]/2),N(q,B)/d(n[1]/2),N(w,B)/d(n[2]/2)];n=[ga(a,c,r,l,n[0]),ga(a,c,e,f,n[0]),ga(e,f,a,c,n[1]),ga(e,f,r,l,n[1]),ga(r,l,e,f,n[2]),ga(r,l,a,c,
n[2])];this.attr({path:["M",n[0].x,n[0].y,"Q",a,c,n[1].x,n[1].y,"L",n[2].x,n[2].y,"Q",e,f,n[3].x,n[3].y,"L",n[4].x,n[4].y,"Q",r,l,n[5].x,n[5].y,"L",n[0].x,n[0].y]})}else this.attr({path:["M",a,c,"L",e,f,r,l,"Z"]})}}}]);w.ca["text-bound"]=function(a,c,e,d,f,r){var l=this.paper,m=this._.textbound;if("text"===this.type){if(!(c&&"none"!==c||a&&"none"!==a))return this._.textbound=m&&m.unfollow(this).remove(),!1;this.attrs["text-bound"]=arguments;e&&w.is(e,"finite")||(e=0);f&&w.is(f,"finite")||(f=0);!m&&
(m=this._.textbound=l.rect(0,0,0,0,this.group).follow(this,w.ca["text-bound"].reposition,"before"));m.attr({stroke:c,"stroke-width":e,fill:a,"shape-rendering":1===e&&"crisp"||"",r:f});r&&m.attr("stroke-dasharray",r);w.ca["text-bound"].reposition.call(m,this.attr(),this);return!1}};w.ca["text-bound"].reposition=function(a,c){var e={},d,f,r,l,m;a.hasOwnProperty("visibility")&&this.attr("visibility",a.visibility);if(a.hasOwnProperty("text-bound")||a.hasOwnProperty("x")||a.hasOwnProperty("y")||a.hasOwnProperty("text")||
a.hasOwnProperty("text-anchor")||a.hasOwnProperty("text-align")||a.hasOwnProperty("font-size")||a.hasOwnProperty("line-height")||a.hasOwnProperty("vertical-align")||a.hasOwnProperty("transform")||a.hasOwnProperty("rotation"))d=c.attrs["text-bound"],f=P(d&&d[3]||"0").split(ia),d=A(f[0])||0,f=w.pick(A(f[1]),d),r=c.getBBox(),l=r.width,m=r.height,isNaN(l)||(e.x=r.x-d,e.y=r.y-f,e.width=l+2*d,e.height=m+2*f),this.attr(e)};w.fn.symbol=function(){var a=arguments,c=a.length-1,e=a[c];e&&e.constructor===w.el.constructor?
a[c]=void 0:e=void 0;c=this.path(void 0,e);c.ca.symbol=w.fn.symbol.ca.symbol;return a.length===!!e+0?c:c.attr("symbol",a)};w.fn.getSuggestiveRotation=function(){var a,c,e;a=arguments[0];1===arguments.length?(c=a.angle,e=a.x,a=a.y):(c=a,e=arguments[1],a=arguments[2]);return"r"+(c||0)+","+e+","+a};w.fn.symbol.cache={"":w._cacher(function(a,c,e,d){return 3<arguments.length?["M",a,c,"h",e,"v",d,"h",-e,"v",-d,"z"]:["M",a-e,c-e,"h",e*=2,"v",e,"h",-e,"v",-e,"z"]})};w.fn.symbol.ca={symbol:function(a){var c=
w.is(a,"object")&&1===arguments.length&&!w.is(a,"function")?a:arguments,d;c===a&&(a=c[0]);c=(d=w.is(a,"function")&&a||w.fn.symbol.cache[a]||w.fn.symbol.cache[""])&&d.apply(w,e.call(c,1));w.is(c,"array")||w.is(c,"string")?this.attr("path",c):c&&this.attr(c)}};w.addSymbol=function(a,c){var e=w.is(c,"function")&&(e={},e[a]=c,e)||a,d=w.fn.symbol.cache,f=[],r;for(r in e)c=e[r],d[r]=w.is(c,"function")&&w._cacher(c,w)||(f.push(r),c);for(;r=f.pop();)d[r]=d[d[r]]};w.svg?(B="$1",Ja=function(a){a?"string"===
typeof a?a=a.replace(J,B):a.toString=wa:a="M0,0";this.node.setAttribute("d",a.toString())},w._engine.litepath=function(a,c,e,d){a=I("path");(d||c).canvas.appendChild(a);c=new aa(a,c,d);c.type="litepath";c.id=a.raphaelid=w._oid++;a.raphael=!0;fa(c,{fill:"none",stroke:"#000"});return c},w._getPath.litepath=function(a){return w.parsePathString(a.node.getAttribute("d"))}):w.vml&&(B=function(a,c){return ca[c]||c},sa=function(){this._transform.apply(this,arguments);this._.bcoord&&(this.node.coordsize=this._.bcoord);
return this},Ja=function(a){a?"string"===typeof a?a=a.replace(J,B):a.toString=wa:a="M0,0";this.node.path=a;return this},w._engine.litepath=function(a,c,e,d){a=I("shape");var f=a.style,r=new aa(a,c,d);f.cssText="position:absolute;left:0;top:0;width:21600px;height:21600px;";e=A(e);isNaN(e)?a.coordsize="21600 21600":(r._.bzoom=e,f.width="1px",f.height="1px",a.coordsize=r._.bcoord=e+" "+e);a.coordorigin=c.coordorigin;r.type="litepath";r.id=a.raphaelid=w._oid++;a.raphael=!0;r._transform=r.transform;r.transform=
sa;w._setFillAndStroke(r,{fill:"none",stroke:"#000"});(d||c).canvas.appendChild(a);c=I("skew");c.on=!0;a.appendChild(c);r.skew=c;return r},w._getPath.litepath=function(a){return w.parsePathString(a.node.path||"")});w.fn.litepath=function(a,c,e){c&&c.constructor===aa&&(e=c,c=void 0);a&&a.constructor===aa&&(e=a,a="");c=w._engine.litepath(a,this,c,e);c.ca.litepath=Ja;a&&c.attr("litepath",w.is(a,"array")?[a]:a);return this.__set__&&this.__set__.push(c),this._elementsById[c.id]=c}}]);FusionCharts.register("module",
["private","modules.renderer.js-htmlrenderer",function(){var f=this.hcLib,m=f.Raphael,C=f.dem,n=this.window,E=n.document,F=/msie/i.test(n.navigator.userAgent)&&!n.opera,K="VML"===m.type,a=f.hasTouch,O={cursor:"cursor"},d={x:"left",y:"top",strokeWidth:"borderThickness","stroke-width":"borderThickness",width:"width",height:"height"},l={fill:"backgroundColor",stroke:"borderColor",color:"color"},N={left:0,top:0,padding:0,border:"none",margin:0,outline:"none","-webkit-apperance":"none",position:"absolute",
zIndex:20},ba,v=function(a,c,f,l){a=E.createElement(a);for(var e in c)d[e]?a.style[e]=c[e]:a.setAttribute(e,c[e]);for(e in f)a.style[e]=f[e];l&&l.appendChild&&l.appendChild(a);return a},t;t=function(a,c,d){c&&c instanceof t&&(c=c.element);(this.element=v(a,d,N,c)).ishot="true";this.nodeName=a.toLowerCase();this.added=!!c};t.prototype={attr:function(a){var c=this.element,f={},m,e,r,n,w,t,v;if("object"!==typeof a){if(!(f=this[a])){if("string"===typeof a)c&&c.getAttribute&&(n=c.getAttribute(a));else if(void 0!==
a&&null!==a&&"object"===typeof a)for(r in a)c.setAttribute(r,a[r]);f=n}return f}for(m in a){r=a[m];if(O[m]){switch(m){case "cursor":"pointer"===r&&K&&(r="hand")}c.style[O[m]]=r;e=!0}else if(d[m])c.style[d[m]]=r+"px",e=!0;else if(l[m])c.style[l[m]]=r&&r.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none",e=!0;else if(/^visibility$/i.test(m))e="hidden"===r,c.style.display=e?"none":"",this.hidden=e,e=!0;else if(/^opacity$/i.test(m))c.style.opacity=r,F&&(e=100*Number(r),c.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+
e+")"),e=!0;else if(/^innerhtml$/i.test(m)){if(K&&"select"==c.nodeName.toLowerCase()){for(e=r.match(/<option\s?[\s\S]*?(\/>|><\/option>|>[\s\S]*?<\/option>)/ig);c.firstChild;)c.removeChild(c.firstChild);w=0;for(t=e.length;w<t;w+=1)n=e[w],v=E.createElement("option"),/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig.test(n)&&(v.value=n.replace(/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig,"$1").replace(/[\s\S]*value\s*\=\s*[\'\"]([\s\S]*)[\'\"]/,"$1")),v.text=n.replace(/<option\s*[\s\S]*[\'\"]?\s*?[\/>|\>]([\s\S]*)<\/option>/ig,
"$1 "),c.options.add(v)}else"input"!==c.nodeName.toLowerCase()&&void 0!==r&&(c.innerHTML=r||"");e=!0}else/^text$/i.test(m)?("input"!==c.nodeName.toLowerCase()&&(c.innerHTML="",void 0!==r&&c.appendChild(E.createTextNode(r))),e=!0):/^type$/i.test(m)&&F&&this.added&&(e=!0);e&&(f[m]=r,delete a[m],e=!1)}for(m in a)c.setAttribute(m,a[m]);for(m in f)this[m]=a[m]=f[m],delete f[m];return this},val:function(a){var c=this.element,d=void 0===a;return"input"===this.nodeName&&"checkbox"===c.getAttribute("type")?
d?this.checked()?1:0:this.checked(a):d?c.value:(c.value=a,this)},checked:function(a){var c=this.element;return void 0===a?c.checked:(a?c.setAttribute("checked","checked"):c.removeAttribute("checked"),this)},css:function(a,c){var d=this.element.style,f;if("object"===typeof a)for(f in a)d[f]=a[f];else f&&void 0!==c&&(d[f]=c);return this},translate:function(a,c){var d=this.element;void 0!==a&&(d.style.left=a+"px");void 0!==c&&(d.style.top=c+"px");return this},add:function(a,c){var d=this.element,f=a.element;
c?f.insertBefore(d,f.firstChild):f.appendChild(d);this.added=!0;return this},hide:function(){this.element.style.display="none";return this},show:function(){this.element.style.display="";return this},focus:function(){"function"===typeof this.element.focus?this.element.focus():f.dem.fire(this.element,"focus")},destroy:function(){var a=this.element||{};a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.onblur=a.onfocus=null;ba||(ba=v("div"));a&&ba.appendChild(a);ba.innerHTML="";delete this.element;
return null},on:K?function(a,c){this.element["on"+a]=function(){var a=n.event;a.target=a.srcElement;c(a)};return this}:function(d,c){var f=c;a&&"click"===d&&(d="touchstart",f=function(a){a.preventDefault();c()});this.element["on"+d]=f;return this},bind:function(a,c,d){C.listen(this.element,a,c,d);return this},unbind:function(a,c){C.unlisten(this.element,a,c);return this},trigger:function(a,c){C.fire(this.element,a,c);return this},fadeIn:function(a,c){var d="fast"===a?400:1E3;this.show();this.attr({opacity:0});
f.danimate.animate(this.element,{opacity:1},d,"linear",c)},animate:function(a,c,d,l){f.danimate.animate(this.element,a,c,d,l)}};t.prototype.constructor=t;m.fn.html=function(a,c,d,f){var e={},r;c&&"type"in c&&(e.type=c.type,delete c.type);a=(new t(a,f,e)).css(d).attr(c);for(r in e)c[r]=e[r];return a}}]);FusionCharts.register("module",["private","modules.renderer.js-raphaeltooltip",function(){var f=this,m=f.window,C=m.document,n=C.body||C.getElementsByTagName("body")[0],E=f.hcLib,F=E.Raphael,K=F.eve,
a=E.createElement,O=E.addEvent,d=E.removeEvent,l=E.getPosition,N=E.hasTouch,ba=E.getTouchEvent,v=Math,t=v.ceil,q=v.floor,c={},A=m.screen.availHeight,P=m.screen.availWidth,e={E:1,moz:1,webkit:1,o:1,ms:1},r={borderRadius:"borderRadius",boxShadow:"boxShadow"},G=/\-([a-z])/ig,w=function(a,c){return c.toUpperCase()},L=function(a){var c=I.forbiddenStyle,d,f,l;for(d in a)f=G.test(d)?d.replace(G,w):d,void 0!==a[d]&&!c[f]&&(this[f]=a[d]),F.vml&&/color/ig.test(f)&&(this[f]=F.getRGB(this[f]).toString());for(d in r)if(this[d])for(l in e)this[l+
d]=this[d]},I=E.toolTip={elementId:"fusioncharts-tooltip-element",element:null,lastTarget:null,currentTarget:null,currentPaper:null,pointeroffset:12,prevented:!1,defaultStyle:E.extend2(L.prototype,{backgroundColor:"#ffffee",borderColor:"#000000",borderWidth:"1px",color:"#000000",fontSize:"10px",lineHeight:"12px",padding:"3px",borderStyle:"solid"}),defaultContainerStyle:{position:"absolute",textAlign:"left",margin:"0",zIndex:"99999",pointer:"default",display:"block"},forbiddenStyle:{}},fa=function(a){!0===
I._oobready?I._oobready=!1:(d(n,"touchstart",fa),!I.hidden&&I.currentTarget&&(a=a.srcElement||a.target||c,a.raphael&&I.currentTarget.paper.getById(a.raphaelid)===I.currentTarget||I.hide()))};F.svg&&(I.defaultContainerStyle.pointerEvents="none",I.defaultStyle.borderRadius="0",I.defaultStyle.boxShadow="none");F.vml&&(I.forbiddenStyle.borderRadius=!0,I.forbiddenStyle.boxShadow=!0,I.defaultStyle.filter="");I.setup=function(){var c=I.container,e=I.textElement,d=I.style,r=I.defaultContainerStyle,l=I.forbiddenStyle,
m;c||(c=I.element=a("span"),(C.body||C.getElementsByTagName("body")[0]).appendChild(c),c.setAttribute("id",I.elementId),d=I.containerStyle=c.style,e=I.textElement=a("span"),c.appendChild(e),I.style=F.vml?e.runtimeStyle:e.style,I.style.overflow="hidden",I.style.display="block",I.hidden=!1,I.hide());for(m in r)!l[m]&&(d[m]=r[m]);I.scatted=!0;K.on("raphael.drag.start.*",function(){I.scatted&&(I.waitingScat=!0)});K.on("raphael.drag.move.*",function(){I.waitingScat&&(I.block(),I.waitingScat=!1)});K.on("raphael.drag.end.*",
function(){I.waitingScat=!1;I.scatted&&I.unblock(!0)});K.on("raphael.remove",function(){if(I.currentPaper===this||I.currentTarget&&I.currentTarget.paper===this)I.hide(),I.currentTarget=I.currentPaper=null});f.addEventListener("LinkedChartInvoked",function(a){I.currentPaper===a.sender.apiInstance.components.paper&&I.hide()});f.addEventListener("realTimeUpdateComplete",function(a){I.currentPaper===a.sender.apiInstance.components.paper&&I.hide()})};I.restyle=function(a){var c=I.style,e;for(e in a)c[e]=
a[e]};I.onelement=function(a){if(!a.__tipProcessed){var c=this.paper,e="group"===this.type?c&&c._elementFromEvent(a):this,d=c.__tipStyle;e&&d&&e.__tipNeeded&&((a.originalEvent||a).FusionChartsPreventEvent&&I.preventTooltip(),I.hiding&&(I.hiding=clearTimeout(I.hiding)),I.currentPaper!==c&&(c.__tipCp=c.canvas&&l(c.canvas.parentNode,!0)||{},I.restyle(c.__tipStyle),I.currentPaper=c),I.lastTarget=I.currentTarget,I.currentTarget=e,(I.scatted=e.__tipScatted)&&I.unblock(!0),I.onredraw.call(this,a),a.__tipProcessed=
!0,N&&(I._oobready=!0,O(n||(n=C.body||C.getElementsByTagName("body")[0]),"touchstart",fa)))}};I.onredraw=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===I.currentTarget&&(a=ba(a),I.x=q(a.pageX||a.clientX+C.body.scrollLeft+C.documentElement.scrollLeft||0),I.y=q(a.pageY||a.clientY+C.body.scrollTop+C.documentElement.scrollTop||0),I.redraw()))};I.onhide=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===
I.currentTarget&&(I.hiding=setTimeout(I.hide,200)))};I.redraw=function(){if(!I.prevented&&!I.blocked&&I.currentTarget&&I.currentTarget.__tipNeeded){var a=I.currentTarget,c=a.paper,e=I.textElement,d=I.containerStyle,f=I.style,r=a.__tipText,a=I.pointeroffset,l=c.__tipCp,m=C.documentElement||C.body,w=m.scrollLeft,m=m.scrollTop,q=I.x,n=I.y,G,v,L=c.width,F=c.height,c=c.__tipConstrain;if(100>L||100>F)c=!1;I.hidden&&(I.containerStyle.top="-999em",I.show());r!==I.text&&(I.text=r,d.width=d.height="",e.innerHTML=
r,f.whiteSpace="nowrap",G=t(f.pixelWidth||e.offsetWidth||0),r=t(f.pixelHeight||e.offsetHeight||0),(I.textWidthOverflow=q+G>l.left+L)?(G=L-2*a>G?d.width:L-2*a||0,d.width=G&&G+"px"||"",f.whiteSpace="normal"):d.width="",(I.textHeightOverflow=r>F)?(d.height=(F||0)-2*a+"px",f.whiteSpace="normal"):d.height="");G=t(f.pixelWidth||e.offsetWidth||0);r=t(f.pixelHeight||e.offsetHeight||0);c?(I.textWidthOverflow?q=(q-G<l.left?l.left:q-G)-w:(v=q+a+G-(l.left-w+L-a))&&0<v&&(q-=v),I.textHeightOverflow?n=l.top-m:n+
a+r>l.top-m+F-a&&(n=n-r-1.5*a)):(w+P<q+a+G&&(q=q-G-a),m+A<n+a+r&&(n=n-r-1.5*a));d.left=(q+a||0)+"px";d.top=(n+a||0)+"px";I.hidden&&I.show()}};I.hide=function(){I.hiding&&(I.hiding=clearTimeout(I.hiding));I.containerStyle.display="none";I.hidden=!0;I.prevented=!1};I.show=function(){I.blocked||(I.hiding&&(I.hiding=clearTimeout(I.hiding)),I.containerStyle.display="inline",I.hidden=!1)};I.preventTooltip=function(){I.prevented=!0};I.block=function(){I.blocked=!0;I.containerStyle.display="none"};I.unblock=
function(a){I.blocked=!1;a&&(I.containerStyle.display=I.hidden&&"none"||"inline")};F.fn.tooltip=function(a,c,e){c&&(c=.4*(void 0===c.opacity?1:c.opacity),F.svg?a.boxShadow="1px 1px 3px rgba(64,64,64,"+c+")":a.filter='progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color="#404040", shadowOpacity="'+c/2+'")');this.__tipStyle=new L(a);this.__tipCp=this.canvas&&l(this.canvas.parentNode,!0)||{};this.__tipConstrain=!!e;I.style&&I.restyle(this.__tipStyle);I.containerStyle&&I.hide();return this};
F.el.trackTooltip=function(a){var c=!!this.__tiptracking;if(void 0===a||(a=!!a)===c)return this;a?N?this.touchstart(I.onelement):(this.mouseover(I.onelement),this.mousemove(I.onredraw),this.mouseout(I.onhide)):N?this.untouchstart(I.onelement):(this.unmouseover(I.onelement),this.unmousemove(I.onredraw),this.unmouseout(I.onhide));this.__tiptracking=a;return this};F.el.tooltip=function(a,c,e,d,f){I.setup();F.el.tooltip=function(a,c,e,d,f){c=!1===a||void 0===a||""===a;this.__tipScatted=void 0===d?this.__tipScatted:
!d;void 0===this.__tipScatted&&(this.__tipScatted=!0);null!==f&&(this.__tip_blocked=f);c^!this.__tipText&&(this.__tipNeeded=!c);this.__tipText=a;if(I.currentTarget===this&&a!==I.text&&!I.hidden)I[c?"hide":"redraw"]();return this};return F.el.tooltip.call(this,a,c,e,d,f)};f.core._setTooltipZIndex=function(a){a=parseInt(a,10);I&&!isNaN(a)&&(I.defaultContainerStyle.zIndex=a,I.containerStyle&&(I.containerStyle.zIndex=a))}}]);FusionCharts.register("module",["private","modules.renderer.js-smartlabel",function(){var f=
this.hcLib,m=f.isIE,C=f.hasSVG,n=Math,E=n.max,F=n.round,n=this.window,K=/ HtmlUnit/.test(n.navigator.userAgent),a=n.document,O=/ AppleWebKit\//.test(n.navigator.userAgent),d=!!a.createElement("canvas").getContext,l=(n=!(!d||!a.createElement("canvas").getContext("2d")))&&n.measureText,N=/<br\/>/ig,ba=/&lt;|&gt;/g,v=[],t={" ":"&nbsp;"},n=function(){function q(a,c,e){if(!a||!a.length)return 0;var d=e.getWidthFunction(),f=0,r=0,r=d(a),l=r/a.length;e=c;f=Math.ceil(c/l);if(r<c)return a.length-1;f>a.length&&
(e=c-r,f=a.length);for(;0<e;)if(e=c-d(a.substr(0,f)),r=Math.floor(e/l))f+=r;else return f;for(;0>e;)if(e=c-d(a.substr(0,f)),r=Math.floor(e/l))f+=r;else break;return f}function c(c,e){e=5<e?e:5;this.maxContainers=20>e?e:20;this.last=this.first=null;this.containers={};this.length=0;this.rootNode=c;if(T){var d=a.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttributeNS("http://www.w3.org/2000/svg","xlink","http://www.w3.org/1999/xlink");d.setAttributeNS("http://www.w3.org/2000/svg","height",
"0");d.setAttributeNS("http://www.w3.org/2000/svg","width","0");this.svgRoot=d;this.rootNode.appendChild(d)}}function n(e,d,f){if("undefined"!==typeof e&&"object"!==typeof e){this.id=e;var l;"string"===typeof d&&(d=a.getElementById(d));a:{if(d&&(d.offsetWidth||d.offsetHeight)){if(d.appendChild){d.appendChild(d=a.createElement("div"));d.className="fusioncharts-smartlabel-container";d.setAttribute("aria-hidden","true");d.setAttribute("role","presentation");e=d;break a}}else if((e=a.getElementsByTagName("body")[0])&&
e.appendChild){d=a.createElement("div");d.className="fusioncharts-smartlabel-container";d.setAttribute("aria-hidden","true");d.setAttribute("role","presentation");e.appendChild(d);e=d;break a}e=void 0}e=this.parentContainer=e;e.innerHTML="WgI";if(K||!m&&!e.offsetHeight&&!e.offsetWidth)T=!0;e.innerHTML="";for(l in r)e.style[l]=r[l];this.containerManager=new c(e,10);this.showNoEllipses=!f;this.init=!0;this.style={};this.setStyle()}}var P=f.supportedStyle,e={fontWeight:1,"font-weight":1,fontStyle:1,
"font-style":1,fontSize:1,"font-size":1,fontFamily:1,"font-family":1},r={position:"absolute",top:"-9999em",whiteSpace:"nowrap",padding:"0px",width:"1px",height:"1px",overflow:"hidden"},G=O?0:4.5,w=0,L=/\b_SmartLabel\b/,I=/\b_SmartLabelBR\b/,fa=/(<[^<\>]+?\>)|(&(?:[a-z]+|#[0-9]+);|.)/ig,aa=RegExp("\\<span[^\\>]+?_SmartLabel[^\\>]{0,}\\>(.*?)\\<\\/span\\>","ig"),U=/<[^>][^<]*[^>]+>/i,T=!1,ca=0,J=0,ia,B,wa;a.getElementsByClassName?(ia="getElementsByClassName",B="_SmartLabel",wa=!0):(ia="getElementsByTagName",
B="span",wa=!1);c.prototype={get:function(a){var c=this.containers,e=this.length,d=this.maxContainers,f,r="",l="",l=this.getCanvasFont(a);for(f in P)void 0!==a[f]&&(r+=P[f]+":"+a[f]+";");if(!r)return!1;if(c[r])r=c[r],this.first!==r&&(r.prev&&(r.prev.next=r.next),r.next&&(r.next.prev=r.prev),r.next=this.first,r.next.prev=r,this.last===r&&(this.last=r.prev),r.prev=null,this.first=r);else{if(e>=d)for(a=e-d+1;a--;)this.removeContainer(this.last);r=this.addContainer(r,l)}return r},getCanvasFont:function(a){var c,
f=[];if(!d||!l)return!1;for(c in e)void 0!==a[c]&&f.push(a[c]);return f.join(" ")},setMax:function(a){var c=this.length;a=5<a?a:5;a=20>a?a:20;if(a<c){for(c-=a;c--;)this.removeContainer(this.last);this.length=a}this.maxContainers=a},addContainer:function(c,e){var d,f;this.containers[c]=f={next:null,prev:null,node:null,ellipsesWidth:0,lineHeight:0,dotWidth:0,avgCharWidth:4,keyStr:c,canvasStr:e,charCache:{}};f.next=this.first;f.next&&(f.next.prev=f);this.first=f;this.last||(this.last=f);this.length+=
1;d=f.node=a.createElement("div");this.rootNode.appendChild(d);m&&!C?d.style.setAttribute("cssText",c):d.setAttribute("style",c);d.setAttribute("aria-hidden","true");d.setAttribute("role","presentation");d.style.display="inline-block";d.innerHTML="WgI";f.lineHeight=d.offsetHeight;f.avgCharWidth=d.offsetWidth/3;T?(d=f.svgText=a.createElementNS("http://www.w3.org/2000/svg","text"),d.setAttribute("style",c),this.svgRoot.appendChild(d),d.textContent="WgI",f.lineHeight=d.getBBox().height,f.avgCharWidth=
(d.getBBox().width-G)/3,d.textContent="...",f.ellipsesWidth=d.getBBox().width-G,d.textContent=".",f.dotWidth=d.getBBox().width-G):e?(d=f.canvas=a.createElement("canvas"),d.style.height=d.style.width="0px",this.rootNode.appendChild(d),f.context=d=d.getContext("2d"),d.font=e,f.ellipsesWidth=d.measureText("...").width,f.dotWidth=d.measureText(".").width):(d.innerHTML="...",f.ellipsesWidth=d.offsetWidth,d.innerHTML=".",f.dotWidth=d.offsetWidth,d.innerHTML="");return f},removeContainer:function(a){var c=
a.keyStr;c&&this.length&&a&&(--this.length,a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),this.first===a&&(this.first=a.next),this.last===a&&(this.last=a.prev),a.node.parentNode.removeChild(a.node),a.canvas&&a.canvas.parentNode.removeChild(a.canvas),delete this.containers[c])},dispose:function(){var a,c=this.containers;this.maxContainers=null;for(a in c)this.removeContainer(c[a]);this.rootNode.parentNode.removeChild(this.rootNode);this.last=this.first=this.rootNode=null}};c.prototype.constructor=
c;n.prototype={dispose:function(){this.init&&(this.containerManager&&this.containerManager.dispose&&this.containerManager.dispose(),delete this.container,delete this.context,delete this.cache,delete this.containerManager,delete this.containerObj,delete this.id,delete this.style,delete this.parentContainer,delete this.showNoEllipses)},useEllipsesOnOverflow:function(a){this.init&&(this.showNoEllipses=!a)},getWidthFunction:function(){var a=this.context,c=this.container,e=this.containerObj.svgText;return e?
function(a){var c;e.textContent=a;a=e.getBBox();c=a.width-G;1>c&&(c=a.width);return c}:a?function(c){c=c&&c.split?c.split(N):v;for(var e=0,d=c.length,f=0,e=0;e<d;e+=1)f=E(a.measureText(c[e]||"").width,f);return f}:function(a){c.innerHTML=a;return c.offsetWidth}},getSmartText:function(c,e,d,f){if(!this.init)return!1;if(void 0===c||null===c)c="";var r={text:c,maxWidth:e,maxHeight:d,width:null,height:null,oriTextWidth:null,oriTextHeight:null,oriText:c,isTruncated:!1},l=!1,m,n,t=0,G,v,A,F,C,P=-1,K=F=
-1;n=this.container;var O=this.context,N=0;C=0;var ma,Ha,Sa;Sa=[];var Ea=0,nb=this.showNoEllipses?"":"...";A=this.lineHeight;var rb,N=[],P=m=-1;rb=function(a){a=a.replace(/^\s\s*/,"");for(var c=/\s/,e=a.length;c.test(a.charAt(--e)););return a.slice(0,e+1)};F=-1;Ha=this.getWidthFunction();d===A&&(d*=1.2);if(n){if(!T){(l=U.test(c))?(n.innerHTML=c,r.oriTextWidth=F=n.offsetWidth,r.oriTextHeight=C=n.offsetHeight):(v=c.replace(ba,function(a){return"&lt;"===a?"<":">"}),v=this.getOriSizeImprove(v,!0),r.oriTextWidth=
F=v.width,r.oriTextHeight=C=v.height);if(C<=d&&F<=e)return r.width=r.oriTextWidth=F,r.height=r.oriTextHeight=C,r;if(A>d)return r.text="",r.width=r.oriTextWidth=0,r.height=r.oriTextHeight=0,r}c=rb(c).replace(/(\s+)/g," ");A=this.showNoEllipses?e:e-w;if(l){t=c.replace(fa,"$2");c=c.replace(fa,'$1<span class="_SmartLabel">$2</span>');c=c.replace(/(<br\s*\/*\>)/g,'<span class="_SmartLabel _SmartLabelBR">$1</span>');n.innerHTML=c;Ea=n[ia](B);O=0;for(Ha=Ea.length;O<Ha;O+=1)if(c=Ea[O],wa||L.test(c.className))rb=
c.innerHTML,""!==rb&&(" "===rb?P=N.length:"-"===rb&&(m=N.length),N.push({spaceIdx:P,dashIdx:m,elem:c}),Sa.push(rb));Ea=0;m=N.length;ca=N[0].elem.offsetWidth;if(ca>e)return r.text="",r.width=r.oriTextWidth=r.height=r.oriTextHeight=0,r;ca>A&&!this.showNoEllipses&&(A=e-2*J,A>ca?nb="..":(A=e-J,A>ca?nb=".":(A=0,nb="")));Sa=N[0].elem.offsetLeft;O=N[0].elem.offsetTop;if(f)for(;Ea<m;Ea+=1)c=N[Ea].elem,Ha=c.offsetLeft-Sa+c.offsetWidth,Ha>A&&(ma||(ma=Ea),n.offsetWidth>e&&(G=Ea,Ea=m));else for(;Ea<m;Ea+=1)c=
N[Ea].elem,rb=c.offsetHeight+(c.offsetTop-O),Ha=c.offsetLeft-Sa+c.offsetWidth,f=null,Ha>A?(ma||(ma=Ea),Ha>e&&(F=N[Ea].spaceIdx,P=N[Ea].dashIdx,F>K?(N[F].elem.innerHTML="<br/>",K=F):P>K?(N[P].elem.innerHTML=P===Ea?"<br/>-":"-<br/>",K=P):c.parentNode.insertBefore(f=a.createElement("br"),c),c.offsetHeight+c.offsetTop>d?(f?f.parentNode.removeChild(f):K===P?N[P].elem.innerHTML="-":N[F].elem.innerHTML=" ",G=Ea,Ea=m):ma=null)):rb>d&&(G=Ea,Ea=m);if(G<m){r.isTruncated=!0;ma=ma?ma:G;for(Ea=m-1;Ea>=ma;--Ea)c=
N[Ea].elem,c.parentNode.removeChild(c);for(;0<=Ea;--Ea)c=N[Ea].elem,I.test(c.className)?c.parentNode.removeChild(c):Ea=0}r.text=n.innerHTML.replace(aa,"$1").replace(/\&amp\;/g,"&");r.isTruncated&&(r.text+=nb,r.tooltext=t)}else{Sa=c.split("");m=Sa.length;n="";G=[];ma=Sa[0];this.cache[ma]?ca=this.cache[ma].width:(ca=Ha(ma),this.cache[ma]={width:ca});if(A>ca)G=c.substr(0,q(c,A,this)).split(""),Ea=G.length;else{if(ca>e)return r.text="",r.width=r.oriTextWidth=r.height=r.oriTextHeight=0,r;nb&&(A=e-2*J,
A>ca?nb="..":(A=e-J,A>ca?nb=".":(A=0,nb="")))}N=Ha(G.join(""));C=this.lineHeight;if(f){for(;Ea<m;Ea+=1)if(ma=G[Ea]=Sa[Ea],this.cache[ma]?ca=this.cache[ma].width:(v&&(ca=v.detailObj[ma])||(ca=Ha(ma)),this.cache[ma]={width:ca}),N+=ca,N>A&&(n||(n=G.slice(0,-1).join("")),N>e))return r.text=rb(n)+nb,r.tooltext=r.oriText,r.width=Ha(r.text),r.height=this.lineHeight,r;r.text=G.join("");r.width=N;r.height=this.lineHeight}else{for(;Ea<m;Ea+=1)if(ma=G[Ea]=Sa[Ea]," "!==ma||O||(ma="&nbsp;"),this.cache[ma]?ca=
this.cache[ma].width:(v&&(ca=v.detailObj[ma])||(ca=Ha(ma)),this.cache[ma]={width:ca}),N+=ca,N>A&&(n||(n=G.slice(0,-1).join("")),N>e)){F=c.substr(0,G.length).lastIndexOf(" ");P=c.substr(0,G.length).lastIndexOf("-");F>K?(N=Ha(G.slice(K+1,F).join("")),G.splice(F,1,"<br/>"),K=F,f=F+1):P>K?(P===G.length-1?(N=Ha(G.slice(K+1,F).join("")),G.splice(P,1,"<br/>-")):(N=Ha(G.slice(K+1,F).join("")),G.splice(P,1,"-<br/>")),K=P,f=P+1):(G.splice(G.length-1,1,"<br/>"+Sa[Ea]),F=G.length-2,N=Ha(G.slice(K+1,F+1).join("")),
K=F,f=Ea);C+=this.lineHeight;if(C>d)return r.text=rb(n)+nb,r.tooltext=r.oriText,r.width=e,r.height=C-this.lineHeight,r;t=E(t,N);n=null;ma=q(c.substr(f),A,this);N=Ha(c.substr(f,ma||1));G.length<f+ma&&(G=G.concat(c.substr(G.length,f+ma-G.length).split("")),Ea=G.length-1)}t=E(t,N);r.text=G.join("");r.width=t;r.height=C}return r}r.height=n.offsetHeight;r.width=n.offsetWidth}else r.error=Error("Body Tag Missing!");return r},setStyle:function(a){if(!this.init)return!1;if(a!==this.style||this.styleNotSet){a||
(a=this.style);var c=a,e=c.fontSize=c.fontSize||"12px";c.lineHeight=c.lineHeight||c["line-height"]||1.2*parseInt(e,10)+"px";this.style=a;(this.containerObj=a=this.containerManager.get(a))?(this.container=a.node,this.context=a.context,this.cache=a.charCache,this.lineHeight=a.lineHeight,w=a.ellipsesWidth,J=a.dotWidth,this.styleNotSet=!1):this.styleNotSet=!0}},getTextSize:function(a,c,e){if(!this.init)return!1;var d={text:a,width:null,height:null,oriTextWidth:null,oriTextHeight:null,isTruncated:!1},
f=this.container;f&&(f.innerHTML=a,d.oriTextWidth=f.offsetWidth,d.oriTextHeight=f.offsetHeight,d.width=Math.min(d.oriTextWidth,c),d.height=Math.min(d.oriTextHeight,e),d.width<d.oriTextWidth||d.height<d.oriTextHeight)&&(d.isTruncated=!0);return d},getOriSize:function(a){if(!this.init)return!1;var c={text:a,width:null,height:null},e=this.container,d=this.getWidthFunction(),f=0;if(T){a=a.split(/(<br\s*\/*\>)/g);e=a.length;for(c.height=this.lineHeight*e;e--;)f=E(f,d(a[e]));c.width=f}else e&&(e.innerHTML=
a,c.width=e.offsetWidth,c.height=e.offsetHeight);return c},getOriSizeImprove:function(a,c){if(!this.init)return!1;var e,d,f,r=0,l=0,m={},w,q;if(!c)return this.calCharDimWithCache(a);e=a.split("");w=0;for(q=e.length;w<q;w++)d=e[w],f=this.calCharDimWithCache(d,!0,e.length),l=E(l,f.height),r+=f.width,m[d]=f.width;return{width:F(r),height:l,detailObj:m}},calCharDimWithCache:function(a,c,e){if(!this.init)return!1;var d=this.container,f=this.style||{},r=this.advancedCache||(this.advancedCache={}),l=this.advancedCacheKey||
(this.advancedCacheKey=[]),m=a+(f.fontSize||"")+(f.fontFamily||"")+(f.fontWeight||"")+(f.fontStyle||""),f=a+"init"+(f.fontSize||"")+(f.fontFamily||"")+(f.fontWeight||"")+(f.fontStyle||""),w;t[a]&&(a=t[a]);c?void 0===(c=r[f])&&(d.innerHTML=a.repeat?a.repeat(e):Array(e+1).join(a),c=d.offsetWidth,d.innerHTML=a,w=d.offsetWidth,c=r[f]=(c-e*w)/(e+1),l.push(f),500<l.length&&delete r[l.shift()]):c=0;if(e=r[m])return r=e.split(","),{width:parseFloat(r[0],10),height:parseFloat(r[1],10)};d.innerHTML=a;a={height:d.offsetHeight,
width:d.offsetWidth+c};r[m]=a.width+","+a.height;l.push(m);500<l.length&&delete r[l.shift()];return a}};return n.prototype.constructor=n}();f.SmartLabelManager=n}]);FusionCharts.register("module",["private","modules.renderer.js-numberformatter",function(){var f=this,m=f.hcLib,C=m.pluckNumber,n=m.extend2,E=m.getValidValue,F=m.pluck,K=m.getFirstValue,a=Math.abs,O=Math.pow,d=Math.round,l=function(a){return a&&a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},N={},ba=function(a){var d=[],c;for(c in a)d.push(c+
"_"+a[c]);d.sort();return d.join(",")},v=function(a){var d={},c;for(c in a)d[c.toLowerCase()]=a[c];return d};m.NumberFormatter=function(){function f(a,c,e){var l;if(0>=c)return d(a)+"";if(isNaN(c))return a+="",12<a.length&&-1!=a.indexOf(".")&&(c=12-a.split(".")[0].length,l=O(10,c),a=d(a*l)/l+""),a;l=O(10,c);a=d(a*l)/l+"";if(1==e)for(-1==a.indexOf(".")&&(a+=".0"),e=a.split("."),c-=e[1].length,e=1;e<=c;e++)a+="0";return a}function m(a,c,e,d,f){var l=Number(a),q="",n=!1,t="",v="",A=t=0;if(isNaN(l))return"";
if(1E15<l)return l.toExponential(f?1:14);t=0;A=a.length;-1!=a.indexOf(".")&&(q=a.substring(a.indexOf(".")+1,a.length),A=a.indexOf("."));0>l&&(n=!0,t=1);t=a.substring(t,A);a=t.length;f=d.length-1;l=d[f];if(a<l)v=t;else for(;a>=l;)v=(a-l?e:"")+t.substr(a-l,l)+v,a-=l,l=0>=--f?d[0]:d[f],a<l&&(v=t.substring(a,0)+v);""!=q&&(v=v+c+q);!0===n&&(v="-"+v);return v}var c,v={formatnumber:"1",formatnumberscale:"1",forcenumberscale:"0",defaultnumberscale:"",numberscaleunit:["K","M"],numberscalevalue:[1E3,1E3],numberprefix:"",
numbersuffix:"",decimals:"",forcedecimals:"0",yaxisvaluedecimals:"2",decimalseparator:".",thousandseparator:",",thousandseparatorposition:[3],indecimalseparator:"",inthousandseparator:"",sformatnumber:"1",sformatnumberscale:"0",sforcenumberscale:"0",sdefaultnumberscale:"",snumberscaleunit:["K","M"],snumberscalevalue:[1E3,1E3],snumberprefix:"",snumbersuffix:"",sdecimals:"2",sforcedecimals:"0",syaxisvaluedecimals:"2",xFormatNumber:"0",xFormatNumberScale:"0",xforcenumberscale:"0",xDefaultNumberScale:"",
xNumberScaleUnit:["K","M"],xNumberScaleValue:[1E3,1E3],xNumberPrefix:"",xNumberSuffix:""},P={mscombidy2d:{formatnumberscale:"1"}},e=function(a,c){var e=a.name,d=this.csConf=n({},v);(e=P[e])&&n(d,e);this.linkedItems={iapi:a};this.configure(c)};e.prototype={configure:function(a){var c=this.linkedItems.iapi,e=c.jsonData;a=a||e.chart;var e=c.name,d=this.csConf,f,m,q,t,P,ca,J,O,B,N,ba,sa,ha,ga,Y,za,hb,Na,Ba,Ia;this.csConf=d;this.useScaleRecursively=c.useScaleRecursively;E(a.numberscaleunit)&&(f=a.numberscaleunit.split(","));
if(m=E(a.snumberscaleunit,a.numberscaleunit))m=m.split(",");if(q=E(a.xnumberscaleunit,a.numberscaleunit))q=q.split(",");if(t=E(a.ticknumberscaleunit,a.numberscaleunit))t=t.split(",");if(P=E(a.ynumberscaleunit,a.numberscaleunit))P=P.split(",");E(a.numberscalevalue)&&(ca=a.numberscalevalue.split(","));if(ba=E(a.snumberscalevalue,a.numberscalevalue))ba=ba.split(",");if(J=E(a.xnumberscalevalue,a.numberscalevalue))J=J.split(",");if(O=E(a.ticknumberscalevalue,a.numberscalevalue))O=O.split(",");if(B=E(a.ynumberscalevalue,
a.numberscalevalue))B=B.split(",");if(E(a.thousandseparatorposition))for(N=a.thousandseparatorposition.split(","),sa=N.length,ga=v.thousandseparatorposition[0];sa--;)ha=parseInt(N[sa],10),0>=ha&&(ha=ga),ga=N[sa]=ha;c||(c={});sa=C(a.scalerecursively,0);ha=C(a.sscalerecursively,sa);ga=C(a.xscalerecursively,sa);Y=C(a.maxscalerecursion,-1);za=C(a.smaxscalerecursion,Y);hb=C(a.xmaxscalerecursion,Y);Na=E(a.scaleseparator," ");Ba=E(a.sscaleseparator,Na);Ia=E(a.xscaleseparator,Na);Y||(Y=-1);this.baseConf=
N={cacheStore:[],formatnumber:F(a.formatnumber,c.formatnumber,d.formatnumber),formatnumberscale:F(a.formatnumberscale,c.formatnumberscale,d.formatnumberscale),forcenumberscale:F(a.forcenumberscale,c.forcenumberscale,d.forcenumberscale),defaultnumberscale:K(a.defaultnumberscale,c.defaultnumberscale,d.defaultnumberscale),numberscaleunit:F(f,c.numberscaleunit,d.numberscaleunit).concat(),numberscalevalue:F(ca,c.numberscalevalue,d.numberscalevalue).concat(),numberprefix:K(a.numberprefix,c.numberprefix,
d.numberprefix),numbersuffix:K(a.numbersuffix,c.numbersuffix,d.numbersuffix),decimalprecision:parseInt("auto"===a.decimals?d.decimalprecision:F(a.decimals,a.decimalprecision,c.decimals,d.decimals,c.decimalprecision,d.decimalprecision),10),forcedecimals:F(a.forcedecimals,c.forcedecimals,d.forcedecimals),decimalseparator:F(a.decimalseparator,c.decimalseparator,d.decimalseparator),thousandseparator:F(a.thousandseparator,c.thousandseparator,d.thousandseparator),thousandseparatorposition:F(N,c.thousandseparatorposition,
d.thousandseparatorposition),indecimalseparator:K(a.indecimalseparator,c.indecimalseparator,d.indecimalseparator),inthousandseparator:K(a.inthousandseparator,c.inthousandseparator,d.inthousandseparator),scalerecursively:sa,maxscalerecursion:Y,scaleseparator:Na};E(N.inthousandseparator)&&(this.baseConf._REGinthousandseparator=new RegExp(l(N.inthousandseparator),"g"));E(N.indecimalseparator)&&(this.baseConf._REGindecimalseparator=new RegExp(l(N.indecimalseparator)));this.Y=[];f={cacheStore:[],formatnumber:N.formatnumber,
formatnumberscale:N.formatnumberscale,forcenumberscale:N.forcenumberscale,defaultnumberscale:N.defaultnumberscale,numberscaleunit:N.numberscaleunit.concat(),numberscalevalue:N.numberscalevalue.concat(),numberprefix:N.numberprefix,numbersuffix:N.numbersuffix,decimalprecision:N.decimalprecision,forcedecimals:N.forcedecimals,decimalseparator:N.decimalseparator,thousandseparator:N.thousandseparator,thousandseparatorposition:N.thousandseparatorposition,indecimalseparator:N.indecimalseparator,inthousandseparator:N.inthousandseparator,
scalerecursively:sa,maxscalerecursion:Y,scaleseparator:Na};c.useScaleRecursively&&(f.numberscalevalue&&f.numberscalevalue.length)==(f.numberscaleunit&&f.numberscaleunit.length)||(f.scalerecursively=sa=0);ca={cacheStore:[],formatnumber:f.formatnumber,formatnumberscale:f.formatnumberscale,forcenumberscale:f.forcenumberscale,defaultnumberscale:f.defaultnumberscale,numberscaleunit:f.numberscaleunit.concat(),numberscalevalue:f.numberscalevalue.concat(),numberprefix:f.numberprefix,numbersuffix:f.numbersuffix,
decimalprecision:parseInt(F(a.yaxisvaluedecimals,f.decimalprecision,2),10),forcedecimals:F(a.forceyaxisvaluedecimals,f.forcedecimals),decimalseparator:f.decimalseparator,thousandseparator:f.thousandseparator,thousandseparatorposition:f.thousandseparatorposition.concat(),indecimalseparator:f.indecimalseparator,inthousandseparator:f.inthousandseparator,scalerecursively:sa,maxscalerecursion:Y,scaleseparator:Na};ba={cacheStore:[],formatnumber:F(a.sformatnumber,c.sformatnumber,v.sformatnumber),formatnumberscale:F(a.sformatnumberscale,
c.sformatnumberscale,v.sformatnumberscale),forcenumberscale:F(a.sforcenumberscale,c.sforcenumberscale,v.sforcenumberscale),defaultnumberscale:K(a.sdefaultnumberscale,c.sdefaultnumberscale,f.defaultnumberscale),numberscaleunit:F(m,c.snumberscaleunit,v.snumberscaleunit).concat(),numberscalevalue:F(ba,c.snumberscalevalue,v.snumberscalevalue).concat(),numberprefix:K(a.snumberprefix,c.snumberprefix,v.snumberprefix),numbersuffix:K(a.snumbersuffix,c.snumbersuffix,v.snumbersuffix),decimalprecision:parseInt(F(a.syaxisvaluedecimals,
a.sdecimals,a.decimals,c.sdecimals,v.sdecimals),10),forcedecimals:F(a.forcesyaxisvaluedecimals,a.sforcedecimals,a.forcedecimals,c.sforcedecimals,v.sforcedecimals),decimalseparator:F(a.decimalseparator,c.decimalseparator,v.decimalseparator),thousandseparator:F(a.thousandseparator,c.thousandseparator,v.thousandseparator),thousandseparatorposition:f.thousandseparatorposition.concat(),indecimalseparator:F(a.indecimalseparator,c.indecimalseparator,v.indecimalseparator),inthousandseparator:F(a.inthousandseparator,
c.inthousandseparator,v.inthousandseparator),scalerecursively:ha,maxscalerecursion:za,scaleseparator:Ba};m=n({},ba);m.decimalprecision=parseInt(F(a.sdecimals,a.decimals,a.syaxisvaluedecimals,c.sdecimals,v.sdecimals),10);m.forcedecimals=F(a.sforcedecimals,a.forcedecimals,a.forcesyaxisvaluedecimals,c.sforcedecimals,v.sforcedecimals);m.cacheStore=[];c.useScaleRecursively&&(ba.numberscalevalue&&ba.numberscalevalue.length)==(ba.numberscaleunit&&ba.numberscaleunit.length)||(ba.scalerecursively=ha=0);/^(bubble|scatter|selectscatter|zoomscatter)$/.test(e)&&
(ca.formatnumber=F(a.yformatnumber,ca.formatnumber),ca.formatnumberscale=F(a.yformatnumberscale,ca.formatnumberscale),ca.forcenumberscale=F(a.yforcenumberscale,ca.forcenumberscale),ca.defaultnumberscale=K(a.ydefaultnumberscale,ca.defaultnumberscale),ca.numberscaleunit=F(P,ca.numberscaleunit),ca.numberscalevalue=F(B,ca.numberscalevalue),ca.numberprefix=F(a.ynumberprefix,ca.numberprefix),ca.numbersuffix=F(a.ynumbersuffix,ca.numbersuffix),f.formatnumber=F(a.yformatnumber,f.formatnumber),f.formatnumberscale=
F(a.yformatnumberscale,f.formatnumberscale),f.forcenumberscale=F(a.yforcenumberscale,f.forcenumberscale),f.defaultnumberscale=K(a.ydefaultnumberscale,f.defaultnumberscale),f.numberscaleunit=F(a.ynumberscaleunit,f.numberscaleunit.concat()),f.numberscalevalue=F(a.ynumberscalevalue,f.numberscalevalue.concat()),f.numberprefix=F(a.ynumberprefix,f.numberprefix),f.numbersuffix=F(a.ynumbersuffix,f.numbersuffix));/^(pie2d|pie3d|doughnut2d|doughnut3d|marimekko|pareto2d|pareto3d)$/.test(e)&&(f.decimalprecision=
F(a.decimals,"2"));sa&&(f.numberscalevalue.push(1),f.numberscaleunit.unshift(f.defaultnumberscale),ca.numberscalevalue.push(1),ca.numberscaleunit.unshift(ca.defaultnumberscale));ha&&(ba.numberscalevalue.push(1),ba.numberscaleunit.unshift(ba.defaultnumberscale),m.numberscalevalue.push(1),m.numberscaleunit.unshift(m.defaultnumberscale));this.Y[0]={yAxisLabelConf:ca,dataLabelConf:f};this.Y[1]={yAxisLabelConf:ba,dataLabelConf:m};this.paramLabels=f;this.param1=ca;this.param2=ba;this.paramLabels2=m;this.paramX=
{cacheStore:[],formatnumber:F(a.xformatnumber,N.formatnumber),formatnumberscale:F(a.xformatnumberscale,N.formatnumberscale),forcenumberscale:F(a.xforcenumberscale,N.forcenumberscale),defaultnumberscale:K(a.xdefaultnumberscale,N.defaultnumberscale),numberscaleunit:F(q,N.numberscaleunit.concat()),numberscalevalue:F(J,N.numberscalevalue.concat()),numberprefix:F(a.xnumberprefix,N.numberprefix),numbersuffix:F(a.xnumbersuffix,N.numbersuffix),decimalprecision:parseInt(F(a.xaxisvaluedecimals,a.xaxisvaluesdecimals,
N.decimalprecision,2),10),forcedecimals:F(a.forcexaxisvaluedecimals,0),decimalseparator:N.decimalseparator,thousandseparator:N.thousandseparator,thousandseparatorposition:N.thousandseparatorposition.concat(),indecimalseparator:N.indecimalseparator,inthousandseparator:N.inthousandseparator,scalerecursively:ga,maxscalerecursion:hb,scaleseparator:Ia};this.paramLegend=n(n({},N),{cacheStore:[],decimalprecision:parseInt(C(a.legendvaluedecimals,N.decimalprecision,2),10),forcedecimals:C(a.legendvalueforcedecimals,
N.forcedecimals,0),formatnumberscale:F(a.legendvalueformatnumberscale,N.formatnumberscale),forcenumberscale:F(a.legendvalueforcenumberscale,N.forcenumberscale),formatnumber:F(a.legendvalueformatnumber,N.formatnumber)});sa&&(this.paramLegend.numberscalevalue.push(1),this.paramLegend.numberscaleunit.unshift(this.paramLegend.defaultnumberscale));c.useScaleRecursively&&(this.paramX.numberscalevalue&&this.paramX.numberscalevalue.length)==(this.paramX.numberscaleunit&&this.paramX.numberscaleunit.length)||
(this.paramX.scalerecursively=ga=0);ga&&(this.paramX.numberscalevalue.push(1),this.paramX.numberscaleunit.unshift(this.paramX.defaultnumberscale));this.paramScale={cacheStore:[],formatnumber:F(a.tickformatnumber,N.formatnumber),formatnumberscale:F(a.tickformatnumberscale,N.formatnumberscale),forcenumberscale:F(a.tickforcenumberscale,N.forcenumberscale),defaultnumberscale:K(a.tickdefaultnumberscale,N.defaultnumberscale),numberscaleunit:F(t,N.numberscaleunit.concat()),numberscalevalue:F(O,N.numberscalevalue.concat()),
numberprefix:F(a.ticknumberprefix,N.numberprefix),numbersuffix:F(a.ticknumbersuffix,N.numbersuffix),decimalprecision:parseInt(F(a.tickvaluedecimals,N.decimalprecision,"2"),10),forcedecimals:F(a.forcetickvaluedecimals,N.forcedecimals,0),decimalseparator:N.decimalseparator,thousandseparator:N.thousandseparator,thousandseparatorposition:N.thousandseparatorposition.concat(),indecimalseparator:N.indecimalseparator,inthousandseparator:N.inthousandseparator,scalerecursively:sa,maxscalerecursion:Y,scaleseparator:Na};
sa&&(this.paramScale.numberscalevalue.push(1),this.paramScale.numberscaleunit.unshift(this.paramScale.defaultnumberscale));this.timeConf={inputDateFormat:F(a.inputdateformat,a.dateformat,"mm/dd/yyyy"),outputDateFormat:F(a.outputdateformat,a.inputdateformat,a.dateformat,"mm/dd/yyyy"),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),months:"January February March April May June July August September October November December".split(" "),daySuffix:" st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" ")};
this.cleaneValueCacheStore={};this.percentStrCacheStore={}},cleaneValueCacheStore:{},percentStrCacheStore:{},dispose:function(){this.Y&&delete this.Y;this.cleaneValueCacheStore&&delete this.cleaneValueCacheStore;this.percentStrCacheStore&&delete this.percentStrCacheStore;this.paramLabels&&delete this.paramLabels;this.param1&&delete this.param1;this.param2&&delete this.param2;this.paramLabels2&&delete this.paramLabels2;this.csConf&&delete this.csConf;this.iapi&&delete this.iapi;this.baseConf&&delete this.baseConf;
this.timeConf&&delete this.timeConf;this.paramX&&delete this.paramX;this.paramScale&&delete this.paramScale},parseMLAxisConf:function(c,e){var d=this.baseConf,f=this.csConf,l=C(c.scalerecursively,d.scalerecursively),m=C(c.maxscalerecursion,d.maxscalerecursion),q=E(c.scaleseparator,d.scaleseparator),n,t,P,J,N,B;e=C(e,this.Y.length);E(c.numberscaleunit)&&(n=c.numberscaleunit.split(","));E(c.numberscalevalue)&&(t=c.numberscalevalue.split(","));m||(m=-1);if(E(c.thousandseparatorposition))for(P=c.thousandseparatorposition.split(","),
J=P.length,B=v.thousandseparatorposition[0];J--;)(N=C(a(P[J])))?B=N:N=B,P[J]=N;d={cacheStore:[],formatnumber:F(c.formatnumber,d.formatnumber),formatnumberscale:F(c.formatnumberscale,d.formatnumberscale),forcenumberscale:F(c.forcenumberscale,d.forcenumberscale),defaultnumberscale:K(c.defaultnumberscale,d.defaultnumberscale),numberscaleunit:F(n,d.numberscaleunit).concat(),numberscalevalue:F(t,d.numberscalevalue).concat(),numberprefix:K(c.numberprefix,d.numberprefix),numbersuffix:K(c.numbersuffix,d.numbersuffix),
forcedecimals:F(c.forcedecimals,d.forcedecimals),decimalprecision:parseInt("auto"===c.decimals?f.decimalprecision:F(c.decimals,d.decimalprecision),10),decimalseparator:F(c.decimalseparator,d.decimalseparator),thousandseparator:F(c.thousandseparator,d.thousandseparator),thousandseparatorposition:F(P,d.thousandseparatorposition),indecimalseparator:K(c.indecimalseparator,d.indecimalseparator),inthousandseparator:K(c.inthousandseparator,d.inthousandseparator),scalerecursively:l,maxscalerecursion:m,scaleseparator:q};
this.useScaleRecursively&&(d.numberscalevalue&&d.numberscalevalue.length)==(d.numberscaleunit&&d.numberscaleunit.length)||(d.scalerecursively=l=0);m={cacheStore:[],formatnumber:d.formatnumber,formatnumberscale:d.formatnumberscale,forcenumberscale:d.forcenumberscale,defaultnumberscale:d.defaultnumberscale,numberscaleunit:d.numberscaleunit.concat(),numberscalevalue:d.numberscalevalue.concat(),numberprefix:d.numberprefix,numbersuffix:d.numbersuffix,decimalprecision:parseInt(F(c.yaxisvaluedecimals,d.decimalprecision,
2),10),forcedecimals:F(c.forceyaxisvaluedecimals,d.forcedecimals),decimalseparator:d.decimalseparator,thousandseparator:d.thousandseparator,thousandseparatorposition:d.thousandseparatorposition.concat(),indecimalseparator:d.indecimalseparator,inthousandseparator:d.inthousandseparator,scalerecursively:l,maxscalerecursion:m,scaleseparator:q};l&&(d.numberscalevalue.push(1),d.numberscaleunit.unshift(d.defaultnumberscale),m.numberscalevalue.push(1),m.numberscaleunit.unshift(m.defaultnumberscale));this.Y[e]=
{dataLabelConf:d,yAxisLabelConf:m}},percentValue:function(a){var c=this.percentStrCacheStore[a];void 0===c&&(c=isNaN(this.paramLabels.decimalprecision)?"2":this.paramLabels.decimalprecision,c=this.percentStrCacheStore[a]=m(f(a,c,this.paramLabels.forcedecimals),this.paramLabels.decimalseparator,this.paramLabels.thousandseparator,this.paramLabels.thousandseparatorposition)+"%");return c},getCleanValue:function(c,e){var d=this.cleaneValueCacheStore[c];if(void 0===d||e){var f=this.baseConf,d=c+"";f._REGinthousandseparator&&
(d=d.replace(f._REGinthousandseparator,""));f._REGindecimalseparator&&(d=d.replace(f._REGindecimalseparator,"."));d=parseFloat(d);d=isFinite(d)?d:NaN;this.cleaneValueCacheStore[c]=d=isNaN(d)?null:e?a(d):d}return d},dataLabels:function(a,e){var d=this.Y[e]||(e?this.Y[1]:this.Y[0]),f,d=d&&d.dataLabelConf||this.baseConf;f=d.cacheStore[a];void 0===f&&(f=d.cacheStore[a]=c(a,d));return f},yAxis:function(a,e){var d=this.Y[e]||(e?this.Y[1]:this.Y[0]),f,d=d&&d.yAxisLabelConf||this.baseConf;f=d.cacheStore[a];
void 0===f&&(f=d.cacheStore[a]=c(a,d,!0));return f},xAxis:function(a){var e=this.paramX.cacheStore[a];void 0===e&&(e=this.paramX.cacheStore[a]=c(a,this.paramX,!0));return e},sYAxis:function(a){var e=this.Y[1],d,e=e&&e.yAxisLabelConf||this.baseConf;d=e.cacheStore[a];void 0===d&&(d=e.cacheStore[a]=c(a,e));return d},scale:function(a){var e=this.paramScale.cacheStore[a];void 0===e&&(e=this.paramScale.cacheStore[a]=c(a,this.paramScale));return e},getCleanTime:function(a){var c;this.timeConf.inputDateFormat&&
Date.parseExact&&(c=Date.parseExact(a,this.timeConf.inputDateFormat));return c&&c.getTime()},legendValue:function(a){var e=this.paramLegend.cacheStore[a];void 0===e&&(e=this.paramLegend.cacheStore[a]=c(a,this.paramLegend));return e},legendPercentValue:function(a){var c=this.percentStrCacheStore[a],e=this.paramLegend;void 0===c&&(c=isNaN(e.decimalprecision)?"2":e.decimalprecision,c=this.percentStrCacheStore[a]=m(f(a,c,e.forcedecimals),e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+
"%");return c},getDateValue:function(a){var c,e,d;a&&!/\//.test(this.timeConf.inputDateFormat)&&(a=a.replace(new RegExp(this.timeConf.inputDateFormat.replace(/[a-z]/ig,"").slice(0,1),"g"),"/"));a=/^dd/.test(this.timeConf.inputDateFormat)&&a&&a.replace(/(\d{1,2})\/(\d{1,2})\/(\d{2,4})/,"$2/$1/$3")||a;c=new Date(a);e=c.getTime();!e&&a&&/\:/.test(a)&&(a=a.split(":"),e=C(a[0],0),d=C(a[1],0),a=C(a[2],0),e=23<e?24===e&&0===d&&0===a?e:23:e,d=59<d?59:d,a=59<a?59:a,c=new Date,c.setHours(e),c.setMinutes(d),
c.setSeconds(a),e=c.getTime());return{ms:e,date:c}},getFormattedDate:function(a,c){var e="object"===typeof a&&a||new Date(a),d=this.timeConf,f=F(c,d.outputDateFormat),l=e.getFullYear(),m=e.getMonth(),q=e.getDate(),n=e.getDay(),t=e.getMinutes(),v=e.getSeconds(),e=e.getHours(),t=9<t?""+t:"0"+t,v=9<v?""+v:"0"+v,e=9<e?""+e:"0"+e;f.match(/dnl/)&&(f=f.replace(/dnl/ig,d.days[n]));f.match(/dns/)&&(f=f.replace(/dns/ig,d.days[n]&&d.days[n].substr(0,3)));f.match(/dd/)&&(f=f.replace(/dd/ig,q));f.match(/mnl/)&&
(f=f.replace(/mnl/ig,d.months[m]));f.match(/mns/)&&(f=f.replace(/mns/ig,d.months[m]&&d.months[m].substr(0,3)));f.match(/mm/)&&(f=f.replace(/mm/ig,m+1));f.match(/yyyy/)&&(f=f.replace(/yyyy/ig,l));f.match(/yy/)&&(f=f.replace(/yy/ig,(l%1E3%100+"").replace(/^(\d)$/,"0$1")));f.match(/hh12/)&&(f=f.replace(/hh12/ig,e%12||12));f.match(/hh/)&&(f=f.replace(/hh/ig,e));f.match(/mn/)&&(f=f.replace(/mn/ig,t));f.match(/ss/)&&(f=f.replace(/ss/ig,v));f.match(/ampm/)&&(f=f.replace(/ampm/ig,12>e?"AM":"PM"));f.match(/ds/)&&
(f=f.replace(/ds/ig,d.daySuffix[q]));return f}};e.prototype.constructor=e;c=function(a,c,e){if(null!==a){a=Number(a);var d=a+"",l,n,v,A,E;l=1==c.formatnumberscale?c.defaultnumberscale:"";E=(E=d.split(".")[1])?E.length:c.forcedecimals?"2":"";if(1==c.formatnumberscale){d=a;n=c.defaultnumberscale;a=c.numberscalevalue;l=c.numberscaleunit;var P=c.scalerecursively;v=c.forcenumberscale;A={};var J=n,N=0,B=[],K=[],O;v=C(v)||0;if(P){J=C(a[0])||1E3;for(N=0;N<a.length;N++)if(P=C(a[N])||1E3,Math.abs(Number(d))>=
P&&N<a.length-1)O=d%P,d=(d-O)/P,0===N&&0!==O&&""===l[N]&&v?(B.push(O/J),K.push(l[1]||"")):0!==O&&(1===N&&""===n&&v?(P=O+(B.length?B.pop():0),K.pop(),B.push(P)):B.push(O),K.push(l[N]));else{0===N&&""===n&&v?(d=Number(d)/J,B.push(d),K.push(l[1]||"")):(1===N&&""===n&&v?(P=d+(B.length?B.pop():0),K.pop(),B.push(P)):B.push(d),K.push(l[N]));break}B.reverse();K.reverse();A.value=B;A.scale=K}else{if(a.length===l.length)for(N=0;N<a.length;N++)if(P=C(a[N])||1E3,Math.abs(Number(d))>=P)J=l[N]||"",d=Number(d)/
P;else{0===N&&""===n&&v&&(J=l[0]||"",d=Number(d)/P);break}A.value=d;A.scale=J}n=A;a=d=n.value;l=n.scale}if(c.scalerecursively&&0!==c.formatnumberscale&&"0"!==c.formatnumberscale){e=n.value;n=n.scale;a=-1==c.maxscalerecursion?e.length:Math.min(e.length,c.maxscalerecursion);if(1==c.formatnumber)for(d="",A=0;A<a;A++)l=0===A?e[A]:Math.abs(e[A]),v=l+"",A==a-1&&(v=f(l,F(c.decimalprecision,E),c.forcedecimals)),d=d+m(v,c.decimalseparator,c.thousandseparator,c.thousandseparatorposition)+n[A]+(A<a-1?c.scaleseparator:
"");else for(d="",A=0;A<a;A++)d=d+(0===A?e[A]:Math.abs(e[A])+"")+n[A]+(A<a-1?c.scaleseparator:"");d=(c.numberprefix||"")+d+(c.numbersuffix||"")}else 1==c.formatnumber&&(d=f(a,F(c.decimalprecision,E),c.forcedecimals),d=m(d,c.decimalseparator,c.thousandseparator,c.thousandseparatorposition,e)),d=(c.numberprefix||"")+d+l+(c.numbersuffix||"");return d}};return e}();f.extend(f.core,{formatNumber:function(a,d,c){d=d&&v(d)||{};var f=ba(d),l;N[f]?l=N[f]:N[f]=l=new m.NumberFormatter(d,{useScaleRecursively:!0});
return l.dataLabels(a,c)}},!1);f.extend(f.core,{formatNumber:function(a,d,c,l){c=c&&v(c)||{};var F=this.jsVars.instanceAPI||{},e=F.numberFormatter,r;""===ba(c)?e?r=e:(e=this.getChartData(f.dataFormats.JSON,!0),e=e.data||{},e=e.chart||{},c=ba(e),N[c]?r=N[c]:N[c]=r=new m.NumberFormatter(e,F)):(e=this.getChartData(f.dataFormats.JSON,!0),e=e.data||{},e=e.chart||{},e=n(n({},e),c),c=ba(e),N[c]?r=N[c]:N[c]=r=new m.NumberFormatter(e,F));switch((d&&d.toLowerCase?d:"").toLowerCase()){case "yaxisvalues":a=r.yAxis(a,
l);break;case "xaxisvalues":a=r.xAxis(a);break;case "scale":a=r.scale(a);break;default:a=r.dataLabels(a,l)}return a}},!0)}]);FusionCharts.register("module",["private","modules.renderer.js-dom",function(){var f=this.hcLib,m=this.window,C=m.document,n=f.extend2,E="ontouchstart"in m;(function(f){var K=function(){var a={},d;a.pointerdrag={start:["mousedown"],end:["mouseup"],onStart:["mousemove"],postHandlers:{},preHandlers:{}};a.pointerhover={start:["mouseover"],end:["mouseout"]};a.click={start:["click"]};
a.escape={start:["keydown"],preHandlers:{start:function(a){a=a||m.event;return a.keyCode&&27===a.keyCode?!0:!1}}};E&&(d=a.pointerdrag,d.start.push("touchstart"),d.end.push("touchend"),d.onStart.push("touchmove"),d.postHandlers.onStart=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1});return a}(),a;a=n({},K);f.dem=new function(){var f={},d={},l=C.addEventListener?function(a,c,d){a.addEventListener(c,d,!1)}:function(a,c,d){a.attachEvent("on"+c,d)},F=C.removeEventListener?function(a,
c,d){a.removeEventListener(c,d,!1)}:function(a,c,d){a.detachEvent("on"+c,d)},E=function(d,c,f){var l=[],e,r,n;n=a[c];f.start=function(a){a=a||m.event;for(var c=n.onStart,e=n.end,l=[],r=[],t=c&&c.length||0;t--;)l.push(v(d,c[t],f,"onStart"));for(t=e&&e.length||0;t--;)r.push(v(d,e[t],f,"end"));f.startUn=f.startUn?f.startUn.concat(l):l;f.endUn=f.endUn?f.endUn.concat(r):r;f.state="start";f.closure(a)};f.onStart=function(a){a=a||m.event;f.state="on";if(f.gDef&&f.gDef.preHandlers&&"function"===typeof f.gDef.preHandlers.onStart)f.gDef.preHandlers.onStart(a);
f.closure(a);if(f.gDef&&f.gDef.postHandlers&&"function"===typeof f.gDef.postHandlers.onStart)f.gDef.postHandlers.onStart(a)};f.end=function(a){a=a||m.event;for(var c=f.startUn,e=f.endUn,d=c&&c.length||0;d--;)c[d]();delete f.startUn;f.startUn=[];for(d=e&&e.length||0;d--;)e[d]();delete f.endUn;f.endUn=[];f.state="end";f.closure(a)};if(n)for(c=n.start,r=c.length;r--;)(e=c[r])&&l.push(v(d,e,f,"start"));return l},v=function(a,c,d,f){f=f||"closure";l(a,c,d[f]);return function(){F(a,c,d[f])}},t=function(a){return function(c){c=
c||m.event;a.handler.call(a.context||a.elem,{data:a.data,type:a.type,state:a.state,isGesture:a.isGesture,target:c.target||c.srcElement,originalEvent:c})}};return{listen:function(l,c,m,n,e){var r=this;c="string"===typeof c?c.split(" "):c;var G=c.length,w=[],F=function(a,c,e){w.push(function(){r.unlisten(a,c,e)})},I,N,K,U,T;if(l.ownerDocument&&l.ownerDocument===C)for(;G--;)N=c[G],U=!!a[N],T="function"===typeof m?m:m[G],K={handler:T,elem:l,type:N,isGesture:U,gDef:U?a[N]:null,data:n,context:e,start:[],
end:[],links:{prev:null,next:null}},K.closure=t(K),U?((I=d[N])||(I=d[N]=[]),I.push(K),E(l,N,K)):((I=f[N])||(I=f[N]=[]),I.push(K),v(l,N,K)),F(l,N,T);else for(;G--;)N=c[G],T="function"===typeof m?m:m[G],K={handler:T,elem:l,type:N,isGesture:U,data:n,context:e,start:[],end:[],links:{prev:null,next:null}},K.closure=t(K),(I=f[N])||(I=f[N]=[]),I.push(K),v(l,N,K),F(l,N,T);return{unlisten:function(){for(var a=w.length;a--;)w[a]();w.length=0;w=null}}},unlisten:function(l,c,m){var n,e=!1,r,t;if(a[c])for(r=(n=
d[c])&&n.length||0;r--;){if(t=n[r],t.handler===m&&t.elem===l){var e=l,w=void 0,v=void 0,I=void 0,w=void 0;if(w=a[c])for(w=w.start,I=w.length;I--;)(v=w[I])&&F(e,v,t.start);n.splice(r,1);e=!0}}else for(r=(n=f[c])&&n.length||0;r--;)t=n[r],t.handler===m&&t.elem===l&&(F(l,c,t.closure),n.splice(r,1),e=!0);return e},fire:function(a,c,d,l){var e;if(a.ownerDocument&&a.ownerDocument===C)C.createEvent?(e=C.createEvent("HTMLEvents"),e.initEvent(c,!0,!0),d&&(d.originalEvent?d.originalEvent=e:n(e,d)),"function"===
typeof a[c]&&a[c].call(a),a.dispatchEvent(e)):(e=C.createEventObject(),e.eventType=c,d&&(d.originalEvent?d.originalEvent=e:n(e,d)),"function"===typeof a[c]&&a[c].call(a),a.fireEvent("on"+c,e)),l&&!e.returnValue&&l(e);else for(l=(c=f[c])&&c.length||0;l--;)e=c[l],e.elem===a&&e.closure(d)}}}})(f||m);(function(f){function E(a,d){var f="";C.defaultView&&C.defaultView.getComputedStyle?f=C.defaultView.getComputedStyle(a,"").getPropertyValue(d):a.currentStyle&&(d=d.replace(/\-(\w)/g,function(a,d){return d.toUpperCase()}),
f=a.currentStyle[d]);f=parseInt(f,10);return isNaN(f)?0:f}function a(a,f,n,t,q,c,A,F){var e=f/40,r=d[c||"linear"](t-n,e),G=0,w,C,I=m.requestAnimationFrame||m.webkitRequestAnimationFrame||m.mozRequestAnimationFrame||m.oRequestAnimationFrame||m.msRequestAnimationFrame||function(a){setTimeout(a,40)},E=function(c){var d;d=!1;c?(w||(w=c),C=c-w,c=Math.abs(n-t),d=(d=0>n-t?!1:!0)?Math.max(n-c/f*C,t)+F:Math.min(n+c/f*C,t)+F,a.style[q]=d,l&&"opacity"===q&&(d=100*Number(d),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+
d+")"),C<f?I(E):A&&A()):G<e?(d=r[G],a.style[q]=n+d+F,l&&"opacity"===q&&(d=100*Number(d),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+d+")"),G+=1,setTimeout(E,40)):A&&A()};F=F||"";I(E)}var O={width:{suffix:"px"},height:{suffix:"px"},opacity:!0,top:{suffix:"px"},left:{suffix:"px"}},d={linear:function(a,d){for(var f=[],l=a/d,m=0;m<d;m+=1)f[m]=l*(m+1);return f}},l=/msie/i.test(m.navigator.userAgent)&&!m.opera;f.danimate=n({animate:function(d,f,l,m,q){m={};var c={},n=function(){e+=
1;e===F&&"function"===typeof q&&q()},F=0,e=0,r,G;if(40>l){for(G in f)d.style[G]=f[G];q&&q()}else for(G in f)r=null,"x"===G?(r=G,G="left"):"y"===G&&(r=G,G="top"),O[G]&&(F+=1,m[G]=f[r||G],c[G]=E(d,G),r="object"===typeof O[G]&&O[G].suffix,a(d,l,c[G],m[G],G,"linear",n,r))}},{})})(f||m)}]);FusionCharts.register("module",["private","modules.renderer.js-colormanager",function(){var f=this.hcLib,m=f.pluckNumber,C=f.graphics.getDarkColor,n=f.graphics.getLightColor,E="AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),
F="8BBA00 F6BD0F FF654F AFD8F8 FDB398 CDC309 B1D0D2 FAD1B9 B8A79E D7CEA5 C4B3CE E9D3BE EFE9AD CEA7A2 B2D9BA".split(" "),K=f.defaultPaletteOptions={paletteColors:[E,E,E,E,E],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100",
"100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],showShadow:[0,1,1,1,1],divLineColor:["717170","7B7D6D","92CDD6","965B01","68001B"],divLineAlpha:[40,45,65,40,30],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],anchorBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF",
"FFFFFF"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],legendBorderColor:["545454","545454","415D6F","845001","D55979"],plotGradientColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],plotBorderColor:["333333",
"8A8A8A","FFFFFF","FFFFFF","FFFFFF"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],bgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAlpha3D:["100","100","100","100","100"],bgAngle3D:[90,90,90,90,90],bgRatio3D:["","","","",""],canvasBgColor3D:["DDE3D5","D8D8D7","EEDFCA","CFD2D8","FEE8E0"],canvasBaseColor3D:["ACBB99","BCBCBD","C8A06C","96A4AF","FAC7BC"],divLineColor3D:["ACBB99","A4A4A4","BE9B6B","7C8995","D49B8B"],divLineAlpha3D:[100,100,100,100,100],legendBgColor3D:["F0F3ED",
"F3F3F3","F7F0E8","EEF0F2","FEF8F5"],legendBorderColor3D:["C6CFB8","C8C8C8","DFC29C","CFD5DA","FAD1C7"],toolTipbgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor3D:["49563A","666666","49351D","576373","681C09"],baseFontColor3D:["49563A","4A4A4A","49351D","48505A","681C09"],anchorBgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"]},E=f.colorManager=function(a){this.linkedItems={iapi:a};this.configure()};E.prototype={configure:function(){var a=this.linkedItems.iapi,F=a.jsonData.chart||
{},d=f.extend2({},K),l=a.defaultPaletteOptions||{},E;d||(d={});for(E in l)d[E]=l[E];d=this.paletteOptions=d;l=this.themeEnabled=F.palettethemecolor;this.paletteIndex=(0<F.palette&&6>F.palette?F.palette:m(a.paletteIndex,1))-1;this.iterator=0;this.paletteColors=d.paletteColors[this.themeEnabled?0:this.paletteIndex];E=F.palettecolors;void 0!==E&&null!==E&&""!==F.palettecolors&&(this.paletteColors=F.palettecolors.split(/\s*\,\s*/));this.paletteLen=this.paletteColors.length;this.useFlatColors=m(F.useflatdataplotcolor,
a.useFlatColor,0);l&&(this.paletteIndex=5,d.bgColor[5]=n(l,35)+","+n(l,10),d.bgAngle[5]=270,d.bgRatio[5]="0,100",d.bgAlpha[5]="50,50",d.canvasBgColor[5]="FFFFFF",d.canvasBgAngle[5]=0,d.canvasBgAlpha[5]="100",d.canvasBgRatio[5]="",d.canvasBorderColor[5]=C(l,80),d.canvasBorderAlpha[5]=100,d.showShadow[5]=1,d.divLineColor[5]=C(l,20),d.divLineAlpha[5]=40,d.altHGridColor[5]=n(l,20),d.altHGridAlpha[5]=15,d.altVGridColor[5]=n(l,80),d.altVGridAlpha[5]=10,d.anchorBgColor[5]="FFFFFF",d.toolTipBgColor[5]="FFFFFF",
d.toolTipBorderColor[5]=C(l,80),d.baseFontColor[5]=l.split&&l.split(",")[0],d.borderColor[5]=C(l,60),d.borderAlpha[5]=50,d.legendBgColor[5]="FFFFFF",d.legendBorderColor[5]=C(l,80),d.plotGradientColor[5]="FFFFFF",d.plotBorderColor[5]=C(l,85),d.plotFillColor[5]=C(l,85),d.bgColor3D[5]="FFFFFF",d.bgAlpha3D[5]="100",d.bgAngle3D[5]=90,d.bgRatio3D[5]="",d.canvasBgColor3D[5]=n(l,20),d.canvasBaseColor3D[5]=n(l,40),d.divLineColor3D[5]=C(l,20),d.divLineAlpha3D[5]=40,d.legendBgColor3D[5]="FFFFFF",d.legendBorderColor3D[5]=
C(l,80),d.toolTipbgColor3D[5]="FFFFFF",d.toolTipBorderColor3D[5]=C(l,80),d.baseFontColor3D[5]=l.split&&l.split(",")[0],d.anchorBgColor3D[5]="FFFFFF",d.tickColor&&(d.tickColor[5]=C(l,90)),d.trendDarkColor&&(d.trendDarkColor[5]=C(l,90)),d.trendLightColor&&(d.trendLightColor[5]=n(l,d.TrendLightShadeOffset)),d.msgLogColor&&(d.msgLogColor[5]=n(l,80)),d.dialColor&&(d.dialColor[5]=C(l,95)+",FFFFFF,"+C(l,95)),d.dialBorderColor&&(d.dialBorderColor[5]=C(l,95)+",FFFFFF,"+C(l,95)),d.pivotColor&&(d.pivotColor[5]=
n(l,95)+",FFFFFF,"+n(l,95)),d.pivotBorderColor&&(d.pivotBorderColor[5]=C(l,95)+",FFFFFF,"+C(l,95)),d.pointerBorderColor&&(d.pointerBorderColor[5]=C(l,75)),d.pointerBgColor&&(d.pointerBgColor[5]=C(l,75)),d.thmBorderColor&&(d.thmBorderColor[5]=C(l,90)),d.thmFillColor&&(d.thmFillColor[5]=n(l,55)),d.gaugeBorderColor&&(d.gaugeBorderColor[5]=C(l,90)),d.gaugeFillColor&&(d.gaugeFillColor[5]=n(l,55)),d.cylFillColor&&(d.cylFillColor[5]=n(l,55)),d.periodColor&&(d.periodColor[5]=n(l,10)),d.winColor&&(d.winColor[5]=
"666666"),d.lossColor&&(d.lossColor[5]="CC0000"),d.drawColor&&(d.drawColor[5]="666666"),d.scorelessColor&&(d.scorelessColor[5]="FF0000"),d.gridColor&&(d.gridColor[5]=n(l,30)),d.categoryBgColor&&(d.categoryBgColor[5]=n(l,10)),d.dataTableBgColor&&(d.dataTableBgColor[5]=n(l,10)),d.gridResizeBarColor&&(d.gridResizeBarColor[5]=C(l,90)),d.scrollBarColor&&(d.scrollBarColor[5]=n(l,50)))},getColor:function(a){return this.paletteOptions[a][this.paletteIndex]},getPlotColor:function(a){var f=this.paletteColors;
a=this.useFlatColors?this.getColor("plotFillColor"):f[a%this.paletteLen];a||(this.iterator===this.paletteLen&&(this.iterator=0),a=f[this.iterator],this.iterator+=1);return a},parseColorMix:function(a,f){var d=[],l,m,F,v,t,q,c,A,E,e;f=f.replace(/\s/g,"");f=f.toLowerCase();if(""===f||null===f||void 0===f)d=[a];else for(m=f.split(","),F=a.split(","),v=Math.max(m.length,F.length,1),t=m[0],q=F[0],E=/[\{\}]/ig,e=0;e<v;e++)c=(m[e]||t).replace(E,""),A=F[e]||q,"color"==c?d.push(A):"light"==c.substr(0,5)?(l=
c.indexOf("-"),l=-1==l?1:c.substr(l+1,c.length-l),l=100-l,d.push(n(A,l))):"dark"==c.substr(0,4)?(l=c.indexOf("-"),l=-1==l?1:c.substr(l+1,c.length-l),l=100-l,d.push(C(A,l))):d.push(c);return d},parseAlphaList:function(a,f){var d=a.split(","),l=[],n,F=100,v;for(v=0;v<f;v++)n=m(d[v]),void 0!==n&&null!==n&&(F=n),l[v]=F;return l.join()},parseRatioList:function(a,f){var d=a.split(","),l=[],m=0,n,v;for(v=0;v<f;v++)n=d[v],n=isNaN(n)||void 0===n?0:Math.abs(Number(n)),n=100<n?100:n,l[v]=n,m+=n;m=100<m?100:
m;if(d.length<f)for(v=d.length;v<f;v++)l[v]=(100-m)/(f-d.length);l[-1]=0;return l.join()}};E.prototype.constructor=E;f.defaultGaugePaletteOptions={paletteColors:[F,F,F,F,F],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F",
"845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendDarkColor:["333333","60634E","025B6A","A15E01","68001B"],trendLightColor:["f1f1f1","F3F5DD","EDFBFE","FFF5E8","FFD1DD"],pointerBorderColor:["545454","60634E","415D6F","845001","68001B"],pointerBgColor:["545454","60634E","415D6F","845001","68001B"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100",
"100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["545454",
"545454","415D6F","845001","D55979"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],msgLogColor:["717170","7B7D6D","92CDD6","965B01","68001B"],TrendLightShadeOffset:30}}]);FusionCharts.register("module",["private","modules.renderer.js-annotations",function(){var f=this,m=f.core,C=f.hcLib,n=f.window,E=/msie/i.test(n.navigator.userAgent)&&!n.opera,F=C.addEvent,K=C.removeEvent,a=C.hasTouch,O=n.Number,d=a?6:5,l="rgba(192,192,192,"+
(E?.002:1E-6)+")",E=Math,N=E.min,ba=E.max,v=E.sin,t=E.cos,q=E.PI,c=q/180,A=E.abs,P=f.extend,e=C.pluck,r=C.pluckNumber,G=C.graphics.convertColor,w=C.getValidValue,L=C.parseUnsafeString,I=C.setImageDisplayMode,fa=C.graphics.parseColor,aa=C.setLineHeight,U=C.getMouseCoordinate,T={style:{}},ca=C.toRaphaelColor,J=function(a,c){return{start:-a,end:-c,angle:a-c}},ia=function(a,c){var e=0;switch(a){case "startx":e=c.x;break;case "starty":e=c.y;break;case "x":case "middlex":case "centerx":e=c.x+c.width/2;
break;case "y":case "middley":case "centery":e=c.y+c.height/2;break;case "endx":e=c.x+c.width;break;case "endy":e=c.y+c.height;break;default:e=0}return e},B=function(a,c,e,d,f){var l,m,r=0,q=0;m=void 0===c||null===c?1:c;var n;if(!a||!a.toString)return{value:e,hasDynamicMacros:!1};a=a.toString();a=a.toLowerCase().replace(/\s/g,"");if(e=a.match(/^[\+\-]?\d+(\.\d+)?|[\+\-]\d+(\.\d+)?/g)){for(c=0;c<e.length;c+=1)r+=Number(e[c])||0;r*=m}if(e=a.match(/^[\+\-]?(\$[a-z0-9\.]+)|[\+\-](\$[a-z0-9\.]+)/g))for(c=
0;c<e.length;c+=1){l=e[c];var w=d,t=f,B=l.split("."),v=void 0,A=void 0,G=0;for(m=void 0;v=B.shift();)switch(typeof(A=w[v])){case "object":w=A[v];break;case "function":A=A(B,t),"-"===l.charAt()&&(A*=-1),m=!0;default:G+=O(A)||0,B.length=0}l=G;m&&(n=!0);q+=l}if(e=a.match(/^[\+\-]?\$\d+(\.\d+)?|[\+\-]\$\d+(\.\d+)?/g))for(c=0;c<e.length;c+=1)q=q+Number(e[c].replace("$",""))||0;return{value:r+q,hasDynamicMacros:n}},wa=function(a,c,e){if(!c.removed){c=c.data("annotation");var d=c.getRenderer(),l=U(d.linkedItems.container,
e),m=l.annotationOptions=c.options,r=l.groupOptions=c.group.options;l._shape=c;"id"in m&&(l.annotationId=m.id);"id"in r&&(l.groupId=r.id);f.raiseEvent(a,l,d.chartInstance,e)}},Ja,sa,ha;sa=function(a,c,e,d,f,l){this.options=a;this.attrs={};this.css={};this.bounds={};this.shared=c;this.snaps=e||{};this.annotations=f;this.items=c=[];this._idstore=d;a.id&&(this._id=a.id,d[a.id]=this);if(a=a.items)for(d=0,e=a.length;d<e;d+=1)c.push(new ha(a[d],this)),c[d].chart=l};P(sa.prototype,{scaleImageX:1,scaleImageY:1,
scaleText:1,scaleValue:1,scaleValueComplement:1,scaleX:1,scaleY:1});sa.prototype.setup=function(){var a=this.options,c=this.shared,e=this.getRenderer();e&&(this.isBelow=0!==r(a.showbelow,a.showbelowchart,c.showbelow),this.useTracker=!this.isBelow&&e.graphics.trackerGroup&&this.shared.useTracker,this.raiseOwnEvents=c.interactionevents)};sa.prototype.scale=function(){var a=this.options,c=this.shared,d=this.bounds,f=this.snaps,l=this.getRenderer(),m=c.rootxscale,q=c.rootyscale,n=d.xs=r(a.xscale,c.xscale,
100)/100,w=d.ys=r(a.yscale,c.yscale,100)/100,t,v,A;t=(t=this.annotations)&&t.resetScale;l&&(t&&(this.scaleText=1),this.scaleText*=w,this.scaleImageX*=n,this.scaleImageY*=w,0!==r(a.autoscale,c.autoscale)&&(n=r(a.origw,c.origw),w=r(a.origh,c.origh),n=l.config.width/n,w=l.config.height/w,l=0!==r(a.constrainedscale,c.constrainedscale),t=n<w?n:w,v=l?t:n,A=l?t:w,this.scaleValue=sa.prototype.scaleValue*t,this.scaleValueComplement=sa.prototype.scaleValueComplement*(l?t:n<w?w:n),this.scaleX=sa.prototype.scaleX*
v,this.scaleY=sa.prototype.scaleX*A,d.xs*=v,d.ys*=A,m*=v,q*=A,"1"==e(a.scaletext,c.scaletext)&&(this.scaleText=sa.prototype.scaleText*A),"1"==e(a.scaleimages,c.scaleimages)&&(this.scaleImageX=sa.prototype.scaleImageX*v,this.scaleImageY=sa.prototype.scaleImageY*A)),d.x=B(e(a.x,a.xpos),m,0,f,this.isBelow).value+r(a.grpxshift,c.grpxshift,0),d.y=B(e(a.y,a.ypos),q,0,f,this.isBelow).value+r(a.grpyshift,c.grpyshift,0),this.xshift=r(a.xshift,c.xshift,0),this.yshift=r(a.yshift,c.yshift,0))};sa.prototype.draw=
function(){var a=this.getRenderer(),c=this.options,e=this.bounds,d=this.items,f=a&&a.graphics,l,m=this.wrapper,q,n=[],w,t,B=this.chart,v=B&&B.config||{},B=v.annRenderDelay,v=v.resize,A=function(){w=0;for(t=n.length;w<t;w++)q=n[w],q.draw()},G=(l=this.annotations)&&l.resetScale;if(a){a.annotationRelativeLayer&&"axis"===a.annotationRelativeLayer?(l=f.axisTopGroup||f.datasetGroup,f=f.axisBottomGroup||f.datasetGroup):l=f=f.datasetGroup;m||(this.wrapper=m=a.components.paper.group("annotations"),l&&f&&(this.isBelow?
m.insertBefore(f):m.insertAfter(a.graphics.datalabelsGroup||l)));G&&this.wrapper.attr({transform:""});this.wrapper.attr({x:0,y:0,visibility:r(c.visible,1)?"":"hidden"}).translate(e.x,e.y);w=0;for(t=d.length;w<t;w+=1)q=d[w],q.scale(!0),q.queueDraw?q.queue():(n.push(q),q.setup());B&&!v?setTimeout(function(){A()},B):A();return this}};sa.prototype.destroy=function(){for(var a=this.wrapper,c=this.items,e;e=c.shift();)e.destroy();a&&(this.wrapper=a.remove());this._idstore[this._id]===this&&delete this._idstore[this._id]};
sa.prototype.addItem=function(a,c,e){var d=this.items,f=this._idstore;this.chart=e;d.push(a=new ha(a,this,f));c&&null!==this.getRenderer()&&(a.scale(),a.setup(),a.draw());return a};sa.prototype.removeItem=function(a){for(var c=this.items,e=c.length;e--;)if(a===c[e]._id)return c.splice(e,1)};sa.prototype.getRenderer=function(){return this.annotations&&this.annotations.getRenderer()||null};ha=function(a,c){var e=!1,d;this.options=a;this.chart=(this.group=c)&&c.chart;this.args=[];this.attrs={};this.attrsTracker=
{};this.style={};this.bounds={};this._idstore=c._idstore;a.id&&(this._id=a.id,c._idstore[a.id]=this);this.type=a.type&&a.type.toLowerCase&&a.type.toLowerCase();for(d in ha.eventNames)"function"===typeof a[d]&&(this[d]=a[d],e=!0);this.hasEvents=e;"function"===typeof a.onload&&(this.onload=a.onload)};f.extend(ha.prototype,{getAbsoluteBounds:function(){var a=this.bounds,c=a.x1,e=a.y1,d=a.x2,f=a.y2,l=N(c,d),m=N(e,f),c=ba(c,d)-l,e=ba(e,f)-m;return{x:l,width:c,y:m,height:e,r:a.r,unscaled:{width:c/a.xs,
height:e/a.ys}}},queue:function(){this.group.annotations.shapesToDraw.push(this)},scale:function(a){var c=this,d=c.group,f=d.bounds,l=c.bounds,m=c.options,q=d.snaps,n=e(m.x,m.xpos),w=e(m.y,m.ypos),t=e(m.tox,m.toxpos),v=e(m.toy,m.toypos),A=l.xs=f.xs,f=l.ys=f.ys,G=r(m.xshift,d.xshift,0),F=r(m.yshift,d.yshift,0),I;I=function(e,f,l,m){e=B(e,f,l,m,d.isBelow);e.hasDynamicMacros&&a&&(c.queueDraw=!0);return e.value};c.hasDimension=!0;c.hasDimensionX=!0;c.hasDimensionY=!0;l.x1=I(n,A,0,q)+G;void 0===t?(c.hasDimension=
!1,c.hasDimensionX=!1,l.x2=l.x1):l.x2=I(t,A,0,q)+G;l.y1=I(w,f,0,q)+F;void 0===v?(c.hasDimension=!1,c.hasDimensionY=!1,l.y2=l.y1):l.y2=I(v,f,0,q)+F;ha.angularShapeTypes[c.type]&&(l.angles=J(I(m.startangle,1,0,q),I(m.endangle,1,360,q)));l.r=I(m.radius,d.scaleValue,0,q)},setup:function(){var a=this.options,c=this.group,d=c.options,f=this.attrs,m=this.style,q=c.scaleValue,n=r(d.fillalpha,d.alpha,100),t=this.fillAlpha=e(a.fillalpha,a.alpha,n),B=this.fillColor=e(a.fillcolor,a.color,d.color),v=this.fillPattern=
e(a.fillpattern&&a.fillpattern.toLowerCase&&a.fillpattern.toLowerCase(),d.fillpattern&&d.fillpattern.toLowerCase&&d.fillpattern.toLowerCase()),A=this.bordered=r(a.showborder,ha.borderedShapeTypes[this.type],!!w(a.bordercolor)),F=this.borderColor=e(a.bordercolor,d.bordercolor,B),n=this.borderAlpha=r(a.borderalpha,a.alpha,d.borderalpha,n),J=this.dashed=!!r(a.dashed,0),I=r(a.borderthickness,a.thickness,2)*q;this.link=e(a.link,d.link);this.shadow="1"==e(a.showshadow,d.showshadow);void 0===B&&(B=ha.borderedShapeTypes[this.type]&&
"none"||"#ff0000",void 0===F&&(F="#ff0000"));A&&I?(f.stroke=G(F,n),f["stroke-linecap"]="round",f["stroke-width"]=I,J&&(f["stroke-dasharray"]=[r(a.dashlen,5)*q,r(a.dashgap,3)*q])):f.stroke="none";this.fillOptions={gradientUnits:"objectBoundingBox",color:B,alpha:t,ratio:e(a.fillratio,d.fillratio),angle:360-r(a.fillangle,0),radialGradient:"radial"===v};this.link&&(m.cursor="pointer",m._cursor="hand");f.visibility=r(a.visible,1)?"":"hidden";this.useTracker=c.useTracker;this.toolText=L(e(a.tooltext,d.tooltext));
if(this.useTracker||this.link||this.toolText)P(this.attrsTracker,{stroke:l,fill:l}),this.link&&(this.attrsTracker.ishot=+new Date);this.raiseOwnEvents=c.raiseOwnEvents},draw:function(){var a=this.getRenderer(),c=this.type,e=this.attrs,d=this.style,f=a&&a.components.paper,l=ha.types[c]&&ha.types[c].call&&ha.types[c].call(this,a),m=ha.imageShapeTypes[l],r=ha.textShapeTypes[l],q=m||r||ha.trackerShapeTypes[l],n=this.link||this.toolText,w=this.wrapper,c=this.tracker,t=a&&a.graphics.trackerGroup||this.group.wrapper,
B=!1,v=c||w,A=ha.eventNames,G=ha.ownEvents,J,I;if(a){if(l){if(w)if(w.elemType!==l){if(this.ownEventsAttached){for(I in G)v["un"+I].apply(w,G[I]);this.ownEventsAttached=!1}w=w.remove()}else if(this.hasEvents)for(J in A)(I=this[J])&&I.eventAttached&&(K(v.node,A[J],I),I.eventAttached=!1);m||(e.fill=ca(this.fillOptions));w?w.attr(e).css(d):(this.args.push(this.group.wrapper),w=this.wrapper="text"===l?f[l].call(f,e,d,this.group.wrapper):f[l].apply(f,this.args).attr(e).css(d),w.elemType=l,w.data("annotation",
this),B=!0,this.args.pop());!this.shadow||this.shadowAdded||m||r?w.shadow(this.shadowAdded=!1):w.shadow(this.shadowAdded=!0,ba(this.borderAlpha,this.fillOptions.alpha)/100);n?this.useTracker&&(c||(this.args.push(t),c=this.tracker=q?f.rect(0,0,0,0,0,t):f[l].apply(f,this.args),this.args.pop()),c.attr(e).attr(this.attrsTracker)):c&&(c=c.remove());v=c||w;if(this.raiseOwnEvents&&!this.ownEventsAttached){for(I in G)v[I].apply(w,G[I]);this.ownEventsAttached=!0}this.link&&v.click(a.linkedItems.linkClickFN,
this);this.toolText&&(v.tooltip(this.toolText||""),this.group.wrapper.trackTooltip(!0));if(this.hasEvents)for(J in A)(I=this[J])&&!I.eventAttached&&(F(v.node,A[J],I,this),I.eventAttached=!0);m||(c&&q&&(a=w.getBBox(),c.attr({x:a.x,y:a.y,width:a.width,height:a.height})),B&&this.onload&&this.onload(e))}return this}},destroy:function(){var a=this.wrapper,c=this.tracker,e=c||a,d=ha.eventNames,f=ha.ownEvents,l,m;if(a){if(this.ownEventsAttached){for(m in f)e["un"+m].apply(a,f[m]);this.ownEventsAttached=
!1}if(this.hasEvents)for(l in d)(m=this[l])&&m.eventAttached&&(K(e.node,d[l],m),m.eventAttached=!1);c&&(this.tracker=c.remove());this.wrapper=a.remove()}this._idstore[this._id]===this&&delete this._idstore[this._id]},getRenderer:function(){return this.group&&this.group.getRenderer()||null}});f.extend(ha,{imageShapeTypes:{image:!0},angularShapeTypes:{circle:!0,arc:!0},textShapeTypes:{text:!0},trackerShapeTypes:{image:!0,text:!0},borderedShapeTypes:{path:!0,line:!0},eventNames:{onmouseover:a?"touchstart":
"mouseover",onmouseout:"mouseout",onmousemove:a?"touchmove":"mousemove",onclick:"click"},ownEvents:{click:[function(a){wa("annotationClick",this,a)}],hover:[function(a){wa("annotationRollOver",this,a)},function(a){wa("annotationRollOut",this,a)}]},textAlignOptions:{left:"start",right:"end",center:"middle"},textVerticalAlignOptions:{top:"bottom",middle:"middle",bottom:"top"},textRotationOptions:{0:"0",1:"270",right:"90",cw:"90",left:"270",ccw:"270"},types:{rectangle:function(){var a=this.args,c=this.attrs,
e=this.getAbsoluteBounds(),d=.5*e.width;e.r>d&&(e.r=d);a[0]=c.x=e.x;a[1]=c.y=e.y;a[2]=c.width=e.width;a[3]=c.height=e.height;a[4]=c.r=e.r;return"rect"},line:function(){var a=this.attrs,c=this.bounds;this.args[0]=a.path=["M",c.x1,c.y1,"L",c.x2,c.y2];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");a["stroke-width"]<d&&(this.attrsTracker["stroke-width"]=d);this.bordered&&this.dashed&&(this.attrsTracker["stroke-dasharray"]="solid");return"path"},path:function(){var a=this.attrs,c=this.bounds;this.args[0]=
a.path=this.options.path;a.transform=["T",c.x1,c.y1,"S",c.xs,c.ys,c.x1,c.y1];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");return"path"},polygon:function(){var a=this.args,c=this.attrs,e=this.options,d=this.bounds,f=this.group,l=f.snaps;a[0]=B(e.sides,1,5,l,f.isBelow).value;a[1]=d.x1;a[2]=d.y1;a[3]=d.r;a[4]=B(e.startangle,1,0,l,f.isBelow).value;a[5]=0;c.polypath=a.slice(0);return"polypath"},circle:function(a){var d=this.args,f=this.attrs,l=this.options,m=this.bounds,r=a.config.width,n=a.config.height,
w=this.group.scaleValueComplement,G=this.group.snaps,F=m.angles,I=this.group;a=m.r;e(l.radius)||(m.r=r<n?r*m.xs:n*m.ys,m.r=a=.3*m.r);l=B(l.yradius,w,a,G,I.isBelow).value;this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);n=F.angle%360;if(!n&&a===l)return d[0]=f.cx=m.x1,d[1]=f.cy=m.y1,d[2]=f.r=m.r,"circle";n||(F.angle=0<F.angle?F.angle-.001:F.angle+.001,F.start=F.end-F.angle);n||n==F.angle||(n=360);
r=F.start*c;F=F.end*c;n*=c;G=m.x1;I=m.y1;m=G+t(r)*a;w=I+v(r)*l;G+=t(F)*a;I+=v(F)*l;a=["M",m,w,"A",a,l,0,A(n)>=q?1:0,r<F?1:0,G,I,"Z"];d[0]=f.path=a;return"path"},arc:function(a){var d=this.options,f=this.args,l=this.attrs,m=this.bounds,r=a.config.width;a=a.config.height;var q=this.group,n=q.scaleValue,w=m.angles;e(d.radius)||(m.r=r<a?r*m.xs:a*m.ys,m.r*=.3);m.innerR=B(d.innerradius,n,.8*m.r,this.group.snaps,q.isBelow).value;m.innerR>m.r&&(m.innerR+=m.r,m.r=m.innerR-m.r,m.innerR-=m.r);this.fillPattern||
(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);f[0]=m.x1;f[1]=m.y1;f[2]=m.r;f[3]=m.innerR;f[4]=w.end*c;f[5]=w.start*c;l.ringpath=f.slice(0);return"ringpath"},text:function(a){var c=this.args,d=this.style,f=this.attrs,l=this.group,m=this.bounds,q=this.options,n=this.getAbsoluteBounds(),w=e(q.align,l.options.textalign,"center").toLowerCase(),t=e(q.valign,l.options.textvalign,"middle").toLowerCase(),B=L(e(q.text,
q.label)),v=a.linkedItems.smartLabel,A=r(q.wrap,l.options.wraptext,1),G,F,I=e(q.rotatetext,l.options.rotatetext,"0").toLowerCase(),I=ha.textRotationOptions[I],J="0"!==I?"y":"x",C=a.config.orphanStyles;a=P({},C.defaultStyle.style||{});C=l.id&&C[l.id.toLowerCase()]||T;a=P(a,C.style);var C=parseFloat(a.fontSize),E=e(q.font,l.options.font,a.fontFamily),l=r(q.fontsize,l.options.fontsize,C)*l.scaleText;A&&(G=r(q.wrapwidth,this.hasDimensionX?n.width/m.xs:void 0),F=r(q.wrapheight,this.hasDimensionY?n.height/
m.ys:void 0),G&&(G*=m.xs),F&&(F*=m.ys));d.fontFamily=E;d.fontWeight=r(q.bold,q.isbold,0)?"bold":"normal";r(q.italic,q.isitalic,0)&&(d.fontStyle="italic");q.bgcolor&&(!f["text-bound"]&&(f["text-bound"]=[]),f["text-bound"][0]=fa(q.bgcolor));q.bordercolor&&(!f["text-bound"]&&(f["text-bound"]=[]),f["text-bound"][1]=fa(q.bordercolor),f["text-bound"][2]=r(q.borderthickness,1),f["text-bound"][3]=r(q.padding,1));q.fontcolor&&(f.fill=fa(q.fontcolor),this.fillOptions&&(this.fillOptions.color=f.fill));d.fontSize=
l+"px";l===C?d.lineHeight=a.lineHeight:aa(d);f["text-anchor"]=ha.textAlignOptions[w]||ha.textAlignOptions.center;v.setStyle(d);d=v.getSmartText(B,G,F,!1);f["vertical-align"]=ha.textVerticalAlignOptions[t]||ha.textVerticalAlignOptions.middle;f["text-anchor"]===ha.textAlignOptions.left?n[J]+=r(q.leftmargin,0):f["text-anchor"]===ha.textAlignOptions.center&&(n[J]+=.5*r(q.leftmargin,0));"0"!==I&&(f.rotation=[parseFloat(I),n.x,n.y]);c[0]=f.x=n.x;c[1]=f.y=n.y;c[2]=f.text=d.text;d.tooltext&&(f.title=d.tooltext);
delete f.stroke;delete f["stroke-weight"];return"text"},image:function(a){var c=this,d=c.style,f=a.config.width,l=a.config.height;a=c.options;var m=c.attrs,q=c.args,t=w(a.url),B=c.group.scaleImageX*e(Number(a.xscale),100)/100,v=c.group.scaleImageY*e(Number(a.yscale),100)/100,A=c.getAbsoluteBounds(),G={width:1,height:1},F;if(!t)return q[0]=m.x=A.x,q[1]=m.y=A.y,q[2]=m.width=A.width,q[3]=m.height=A.height,q[4]=m.r=A.r,"rect";F=new n.Image;F.onload=function(){G=I("none","top","left",100,0,f,l,F);delete G.x;
delete G.y;G=P(G,{width:(c.hasDimensionX?A.unscaled.width:G.width)*B,height:(c.hasDimensionY?A.unscaled.height:G.height)*v});setTimeout(function(){var a,e,f;if(a=c.wrapper){a.attr(G);if(e=c.tracker)f=a.getBBox(),e.attr({x:f.x,y:f.y,width:f.width,height:f.height});a.css({opacity:d.opacity=ba(r(c.fillAlpha,c.borderAlpha),c.borderAlpha)/100})}c.onload&&c.onload(G)},0)};F.src=t;q[0]=m.src=t;q[1]=m.x=A.x;q[2]=m.y=A.y;q[3]=m.width=(c.hasDimensionX?A.unscaled.width:G.width)*B;q[4]=m.height=(c.hasDimensionY?
A.unscaled.height:G.height)*v;d.opacity=ba(r(c.fillAlpha,c.borderAlpha),c.borderAlpha)/100;delete m.stroke;delete m.fill;delete m["stroke-linecap"];return"image"}}});Ja=function(){this.groups=[];this._idstore={};this._options={}};C.Annotations=Ja;f.extend(Ja.prototype,{reset:function(a,c,e){var d=this.groups,f,l;this.chart=e;this.clear();if(l=this.setSnapPoints()){f={};for(var m in l)switch(typeof l[m]){case "object":case "function":f["-$"+m]=f["$"+m]=f["+$"+m]=l[m];break;default:f["$"+m]=f["+$"+
m]=l[m],f["-$"+m]=-1*l[m]}f=this._literals=f}c&&(this._options=c);if(a&&a.groups&&d)for(l=0;l<a.groups.length;l+=1)d.push(new sa(a.groups[l],c,f,this._idstore,this,e)),d[l].chart=e},getRenderer:function(){return this._renderer},addGroup:function(a){var c=this.getRenderer();this.groups.push(a=new sa(a,this._options,this._literals,this._idstore,this,this.chart));c&&(a.setup(),a.scale(),a.draw());return a},addItem:function(a,c,e){var d,l=this.getRenderer();"string"===typeof a?d=this._idstore[a]:(e=c,
c=a);if(d&&d.addItem){if(!l&&e){f.raiseWarning(this,"04031411430","run","Annotations~addItem()","Cannot draw the shapeif the group has not been drawn. Use Annotations~draw() to draw the group and pass the renderer to it.");return}a=d.addItem(c,e)}else a=this.addGroup({}).addItem(c,e);return a},draw:function(a,c){var e=this.groups,d,f,l;if(e&&(this._renderer=a||this._renderer))for(this.resetScale=c,f=0,l=e.length;f<l;f++)d=e[f],d.setup(),d.scale(),d.draw()},clear:function(){var a=this.groups,c;if(a){for(;c=
a.shift();)c.destroy();this.shapesToDraw=[]}},dispose:function(){var a;this.disposing=!0;this.clear();for(a in this)delete this[a];this.disposed=!0},hide:function(a){if(a=this._idstore[a])return a.attrs.visibility="hidden",a.wrapper&&a.wrapper.hide(),a},show:function(a){if(a=this._idstore[a])return a.attrs.visibility="",a.wrapper&&a.wrapper.show(),a},update:function(a,c,e){a=this._idstore[a];var d;if(a&&c){if("object"===typeof c)for(d in c.id&&delete c.id,c.type&&delete c.type,c)a.options[(d+"").toLowerCase()]=
c[d]+"";else a.options[(c+"").toLowerCase()]=e+"";a.wrapper&&(a.scale(),a.setup(),a.draw());return a}},destroy:function(a){var c=this._idstore[a],e=c.group;c&&"function"===typeof c.destroy&&(e&&e.removeItem(a),c.destroy())},shapesToDraw:[],setSnapPoints:function(){var a=this.chart,c=a.config,e=a.components,d=e.legend,f=e.gradientLegend,l=e.caption.config,e=e.subCaption.config,m=l.width||0,r=e.width||0,q,n=this.datasetFunction.bind(a),w=this.xAxisFunction.bind(a),t=this.yAxisFunction.bind(a);"end"===
l.align?(a=l.x-m,q=l.x-r):"start"===l.align?a=q=l.x:(a=l.x-m/2,q=l.x-r/2);d=c.gLegendEnabled?f.conf:d.config;return{canvasendx:c.canvasRight,canvasendy:c.canvasBottom,canvasheight:c.canvasHeight,canvasstartx:c.canvasLeft,canvasstarty:c.canvasTop,canvaswidth:c.canvasWidth,canvascenterx:c.canvasCenterX||c.canvasLeft+(c.canvasRight-c.canvasLeft)/2,canvascentery:c.canvasCenterY||c.canvasTop+(c.canvasBottom-c.canvasTop)/2,chartcenterx:c.width/2,chartcentery:c.height/2,chartstartx:0,chartstarty:0,chartendx:c.width,
chartendy:c.height,chartheight:c.height,chartwidth:c.width,chartleftmargin:c.marginLeft,chartrightmargin:c.marginRight,chartbottommargin:c.marginBottom,charttopmargin:c.marginTop,captionendx:a+l.width,captionendy:l.y+l.height,captionheight:l.height,captionstartx:a,captionstarty:l.y,captionwidth:m,subcaptionendx:q+e.width,subcaptionendy:e.y+e.height,subcaptionheight:e.height,subcaptionstartx:q,subcaptionstarty:e.y,subcaptionwidth:r,legendendx:d.xPos+d.width,legendendy:d.yPos+d.height,legendheight:d.height,
legendstartx:d.xPos,legendstarty:d.yPos,legendwidth:d.width,dataset:n,xaxis:w,yaxis:t,gaugestartx:c.gaugeStartX,gaugestarty:c.gaugeStartY,gaugeendx:c.gaugeEndX,gaugeendy:c.gaugeEndY,gaugecenterx:c.gaugeCenterX,gaugecentery:c.gaugeCenterY,gaugestartangle:c.gaugeStartAngle,gaugeendangle:c.gaugeEndAngle,gaugeradius:c.gaugeRadius,plotwidth:c.plotWidth,plotsemiwidth:c.plotSemiWidth}},datasetFunction:function(a,c){var e=this.components.dataset,d,f,l,m;l=this.is3D;if(!e||!e.length)return 0;isNaN(a[0])?d=
0:(d=Number(a[0]),a=a.slice(1));f=a[0];if("set"===f){isNaN(a[1])?(m=0,a=a.slice(1)):(m=Number(a[1]),a=a.slice(2));f=a[0];e=(e=e[d]&&e[d].components.data[m])&&(e.graphics.element||e.graphics.hotElement||e.graphics.upperBoxElem);if(!e)return 0;l=c&&l?e._getBBox2():e.getBBox();m=ia(f,l)}return m},xAxisFunction:function(a){var c=this.components&&this.components.xAxis&&this.components.xAxis[0],e,d;if(!c)return 0;d=a[0];if("label"===d){isNaN(a[1])?(e=0,a=a.slice(1)):(e=Number(a[1]),a=a.slice(2));d=a[0];
a=c._getLabelElement(e);if(!a)return 0;a=a.getBBox();e=ia(d,a)}return e},yAxisFunction:function(a){var c=this.components&&this.components.yAxis,e,d;if(!c||!c.length)return 0;isNaN(a[0])?e=0:(e=Number(a[0]),a=a.slice(1));e=c[e];if(!e)return 0;c=a[0];if("label"===c){isNaN(a[1])?(d=0,a=a.slice(1)):(d=Number(a[1]),a=a.slice(2));c=a[0];a=e._getLabelElement(d);if(!a)return 0;a=a.getBBox();d=ia(c,a)}return d}});f.core.addEventListener("beforeinitialize",function(a){"javascript"===a.sender.options.renderer&&
(a.sender.annotations=new Ja)});f.core.addEventListener("disposed",function(a){a.sender.annotations&&a.sender.annotations.dispose()});f.addEventListener("internal.animationComplete",function(a){a=a.sender;var c=a.annotations,e=c&&c.shapesToDraw,d=e&&e.length,f,l;a=a.apiInstance.config;var m=a.annRenderDelay,r=a.resize,q=(new Date).getTime(),n,w=function(){for(l=0;l<d;l++)f=e[l],f.draw()};if(d){for(l=0;l<d;l++)f=e[l],f.queueDraw=!1,f.scale(),f.setup();n=(new Date).getTime();m&&!r?setTimeout(function(){w();
c.shapesToDraw=[]},m-(n-q)):(w(),c.shapesToDraw=[])}a.resize=!1});m.addEventListener("rendered",function(a,c){if("javascript"===c.renderer){var e=a.sender;e.apiInstance&&(e.apiInstance.showAnnotation||(e.apiInstance.showAnnotation=function(){e.annotations.show.apply(e.annotations,arguments)}),e.apiInstance.hideAnnotation||(e.apiInstance.hideAnnotation=function(){e.annotations.hide.apply(e.annotations,arguments)}))}})}]);FusionCharts.register("module",["private","modules.renderer.jpegtopdf",function(){var f=
this.window,m=f.btoa,C=f.atob;this.hcLib.JpegToPdf=function(f,E){var F=[],K=0,a=f||500,O=E||500,d,l,N;d=function(a){K+=a.length+1;F.push(a)};this.addImage=function(a){a=/base64,(.+?)$/g.exec(a);N=C(a[1])};l=function(){var f=[],l,m;d("%PDF-1.7");f[1]=K;d("1 0 obj");d("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");d("endobj");f[4]=K;d("4 0 obj");d("<< /Length 36>>");d("stream");d("q "+O+" 0 0 "+a+" 0 0 cm /Im3 Do Q");d("endstream");d("endobj");f[5]=K;d("5 0 obj");d("<</Type /Page /Parent 2 0 R /MediaBox [0 0 "+
O+" "+a+"] /Contents [4 0 R ] /Resources <</ProcSet 1 0 R /Font <<>> /XObject <</Im3 3 0 R >> >> >>");d("endobj");f[3]=K;d("3 0 obj");d("<</Type /XObject /Subtype /Image /Width "+O+" /Height "+a+" /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length "+N.length+">>");d("stream");d(N);d("endstream");d("endobj");f[2]=K;d("2 0 obj");d("<</Type /Pages /Kids [5 0 R ] /Count 1>>");d("endobj");f[6]=K;d("6 0 obj");d("<</Type /Catalog /Pages 2 0 R >>");d("endobj");l=K;d("xref");d("0 7");d("0000000000 65535 f ");
for(m=1;6>=m;m++)d(("0000000000"+f[m]).slice(-10)+" 00000 n ");d("trailer");d("<</Size 7 /Root 6 0 R >>");d("startxref");d(l);d("%%EOF");return F.join("\n")};this.getDataUrl=function(){return"data:application/pdf;base64,"+m(l())}}}]);FusionCharts.register("module",["private","modules.exporter.batch-export",function(){var f=this.window,m=this.hcLib,C=Math.max,n=f.Image,E=m.drawSvgOnCanvas,F=m.downloadCharts,K=m.browserDetails,a=m.pluckNumber,O=m.pluck,d=m.JpegToPdf,l=f.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),
N="https:"===f.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/";FusionCharts.batchExport=function(m){var v=m||{},t,q,c,A,P,e=0,r=!1,G,w,L,I={exportTargetWindow:O(v.exportTargetWindow,l?"_blank":"_self"),exportAction:v.exportAction&&"save"===v.exportAction.toString().toLowerCase()&&"save"||"download",exportFileName:O(v.exportFileName,"FusionCharts"),exportHandler:O(v.exportHandler,N),exportParameters:O(v.exportParameters,""),exportFormat:O(v.exportFormat,
"PNG"),exportCallBack:O(v.exportCallBack,""),exportAtClientSide:a(v.exportAtClientSide,1)},fa=I.exportFormat.toLowerCase(),aa=0,U=0,T,ca=f.document,J=FusionCharts.items,ia=function(a){return a.match(/http:\/\/|https:\/\//)&&/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]&&f.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]?!1:!0},B=function(c,e,d,f){var l=c,m=e;isNaN(l)&&(l=a(e,f)*(d/f));isNaN(m)&&(m=a(c,d)*(f/d));return{width:l,height:m}},wa=function(a){!I.exportAtClientSide||"undefined"===
typeof f.btoa||"Chrome"!==K.name&&"Firefox"!==K.name&&"Edge"!==K.name&&"ie"!==K.name?(a={charttype:"combined",stream:a,stream_type:"IMAGE-DATA",parameters:["exportfilename="+I.exportFileName,"exportformat="+fa,"exportaction="+I.exportAction,"exportparameters="+I].join("|")},F(null,null,null,a,I)):F("url",a,I.exportFileName+"."+fa)},Ja=function(a){var f;E(a,c,this.x,this.y,this.width,this.height,function(){--e;if(0===e&&r)switch(fa){case "png":wa(c.toDataURL("image/png"));break;case "jpeg":wa(c.toDataURL("image/jpeg"));
break;case "pdf":f=new d(aa,U);f.addImage(c.toDataURL("image/jpeg"));wa(f.getDataUrl());break;default:wa(c.toDataURL("image/png"))}})};m=function(e){var d=v.background;c=ca.createElement("canvas");c.id="newCanvas";c.width=U;c.height=aa;c.style.border="1px solid black";A=c.getContext("2d");A.fillStyle=d&&d.bgColor||"#ffffff";A.fillRect(0,0,U,aa);d&&d.bgImage&&ia(d.bgImage)?(w=new n,w.src=d.bgImage,w._userData=d,A.globalAlpha=a(d.bgImageAlpha,100)/100,w.onload=function(){var c=this._userData,d=a(c.bgImageX,
0),f=a(c.bgImageY,0),l=B(Number(c.bgImageWidth),Number(c.bgImageHeight),this.width,this.height),c=l.width,l=l.height;try{A.drawImage(this,d,f,c,l)}finally{A.globalAlpha=1,e()}},w.onerror=function(){e()}):e()};if(K.hasCanvas){(function(){var a=v.charts,c,e,d,f;q=[];if(a)for(d in a)a.hasOwnProperty(d)&&(c=J[a[d].id])&&(e=a[d],f=B(Number(e.width),Number(e.height),c.width,c.height),q.push({id:c.id,width:f.width,height:f.height,x:e.x,y:e.y}));else for(d in J)J.hasOwnProperty(d)&&(c=J[d],q.push({id:c.id,
width:c.width,height:c.height}))})();T=0;for(G=q.length;T<G;T+=1)L=q[T],L.x=a(L.x,5),L.y=a(L.y,aa+5),L.height=a(L.height),L.width=a(L.width),aa=C(aa,L.y+L.height),U=C(U,L.x+L.width);aa=v.imageHeight||aa+5;U=v.imageWidth||U+5;m(function(){return function(){T=0;for(G=q.length;T<G;T+=1){L=q[T];T===G-1&&(r=!0);var a=L;t=FusionCharts.items[L.id];P=t.jsVars.instanceAPI.components.paper.toSVG(!0);e+=1;Ja.call(a?a:t,P)}}}())}}}]);FusionCharts.register("module",["private","modules.exporter.main",function(){var f=
this,m=f.window,C=f.hcLib,n=C.extend2,E=C.BLANKSTRING,F=C.graphics.RGBtoHex,K=/\s\bx\b=['"][^'"]+?['"]/ig,a=/\s\by\b=['"][^'"]+?['"]/ig,O=m.document,d=m.Image,l=C.JpegToPdf,N=C.browserDetails;C.exportChart=function(ba){var v=this,t=v.config,q=v.components,c=v.chartInstance,A=C.getSvgDataurl,P=C.removeCrossDomainImages,e=C.downloadCharts,r=t.exportOption;ba="object"===typeof ba&&function(a){var c={},e;for(e in a)c[e.toLowerCase()]=a[e];return c}(ba)||{};var G=n(n({},r),ba),w=(G.exportformat||"png").toLowerCase(),
L=G.exporthandler,I=(G.exportaction||E).toLowerCase(),fa=G.exporttargetwindow||E,aa=G.exportfilename,U=G.exportparameters,T=G.exportcallback,ca=G.exportwithimages,J=G.exportatclientside,ia,B,wa;if(!r||!r.enabled||!L)return!1;f.raiseEvent("beforeExport",G,c,void 0,function(){function r(){var a,c,f;c=function(a){Ba.stream=a;Ba.stream_type="IMAGE-DATA";e(null,null,null,Ba,nb)};N.hasCanvas&&"undefined"!==typeof m.btoa?(a=O.createElement("canvas"),a.width=Na.width,a.height=Na.height,"svg"===w?A(Oa,function(a){c(a)}):
C.drawSvgOnCanvas(Oa,a,0,0,Na.width,Na.height,function(){switch(w){case "png":c(a.toDataURL("image/png"));break;case "jpeg":c(a.toDataURL("image/jpeg"));break;case "pdf":f=new l(Na.height,Na.width);f.addImage(a.toDataURL("image/jpeg"));c(f.getDataUrl());break;default:c(a.toDataURL("image/jpeg"))}})):-1!==Ia.indexOf("<image ")?Da?(La=(fb=Ia.match(/<image [^\>]*\>/gi))&&fb.length,qa=function(a){var c,e;(e=a.match(/data:image\/(.*);/))?a=e[1]:(c=a&&a.split("/"),c=c[c.length-1],a=c.split("."),c=a[0],
a=a[1]||"png","jpg"===a&&(a="jpeg"));return{name:c,type:a}},kb=function(a,c,e,f,l){var m=new d;m.onload=function(){var d="image/"+e,r=O.createElement("canvas"),q=r.getContext("2d"),n="";r.width=m.width;r.height=m.height;q.drawImage(m,0,0);n=r.toDataURL(d);Sa[a]=n;Ha(n,c,e,f,l)};m.onerror=function(){ma()};m.src=a},Ha=function(a,c,e,d,f){Qa["image_"+Va]={name:c,type:e,encodedData:a,width:d,height:f};ma()},ma=function(){var a={},c,d,f,l,m,r=!1;Va<La?(c=fb[Va].replace(/\"/g,""),c.split(" ").forEach(function(c){c=
c.split(/=(.+)?/);a[c[0]]=c[1]}),a["xlink:href"]&&(c=(d=qa(a["xlink:href"]))&&d.name||"temp_image_"+Va,f=d&&d.type||"png",l=parseInt(a.width,10),m=parseInt(a.height,10),d=c+"."+f,Sa[a["xlink:href"]]?r=!0:kb(a["xlink:href"],c,f,l,m)),c='xlink:href="'+a["xlink:href"],Ia=Ia.replace(c,'xlink:href="temp/'+d),Va+=1,r&&ma()):(Ba.encodedImgData=JSON.stringify(Qa),Ba.stream=Ia,e(null,null,null,Ba,nb))},ma()):e(null,null,null,Ba,nb):e(null,null,null,Ba,nb)}function n(){var a=aa+"."+w;"svg"===w?A(Oa,function(c){e("url",
c,a)}):ba(w,Y)}function ha(){var a=0;ia=[];B.replace(/[^\r\n]+/g,function(c){ia[a]=[];c.replace(/"([^",]+)/g,function(c,e){ia[a].push(e)});a+=1})}function ga(){return"data:application/vnd.ms-excel;base64,"+function(a){return m.btoa(m.unescape(encodeURIComponent(a)))}("<html xmlns:o='urn:schemas-microsoft-com:office:office'xmlns:x='urn:schemas-microsoft-com:office:excel'xmlns='http://www.w3.org/TR/REC-html40'><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>"+
function(){var a,c,e,d,f,l;if(!ia.length)return"";e=0;for(l=ia.length;e<l;e+=1)if(0===e){a="<thead valign='top'><tr>";d=0;for(f=ia[e].length;d<f;d+=1)a+="<th>"+ia[e][d]+"</th>";a+="</tr></thead>";c="<tbody>"}else{c+="<tr>";d=0;for(f=ia[e].length;d<f;d+=1)c+="<td>"+ia[e][d]+"</td>";c+="</tr>"}return"<table align='center' >"+a+(c+"</tbody>")+"</table>"}()+"</body></html>")}function Y(a,c,d){d=d+"."+a;switch(a){case "pdf":a=new C.JpegToPdf(Na.height,Na.width);a.addImage(c);c=a.getDataUrl();e("url",c,
d);break;default:e("url",c,d)}}function ba(a,c){var e;e=O.createElement("canvas");e.width=Na.width;e.height=Na.height;C.drawSvgOnCanvas(Oa,e,0,0,Na.width,Na.height,function(){switch(a){case "png":c(a,e.toDataURL("image/png"),aa);break;case "jpeg":c(a,e.toDataURL("image/jpeg"),aa);break;default:c(a,e.toDataURL("image/jpeg"),aa)}})}var hb=c.id,Na=q.paper,Ba,Ia,Oa,Da=C.isCanvasElemSupported(),fb,La,Va=0,Qa={},qa,kb,ma,Ha,Sa={},Ea={DOMId:hb,height:Na.height,width:Na.width,fileName:aa+"."+w,statusCode:void 0,
statusMessage:void 0,notice:void 0},nb={exportAction:I,exportTargetWindow:fa,exportCallback:T,fusionCharts:v,paper:Na,chartId:hb,exportHandler:L};if("xls"===w)if("undefined"!==typeof m.btoa)B=c.getCSVData();else return f.raiseEvent("exportCancelled",G,c),!1;else q.chartMenuBar&&q.chartMenuBar.group.attr("visibility","hidden"),Ia=Na.toSVG(ca&&Da&&"svg"!==w),Oa=Na.toSVG(ca&&Da),q.chartMenuBar&&q.chartMenuBar.group.attr("visibility","visible"),Ia=Ia.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),
Ia=Ia.replace(/NS\d+:/gi,"xlink:"),Ia=P(Ia),Oa=Oa.replace(/NS\d+:/gi,"xlink:"),Oa=Oa.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),Oa=Oa.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),Ia=Ia.replace(/[\w\-]+\=\"undefined\"/ig,""),Ia=Ia.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),Ia=Ia.replace(/rgba\(([^\)]+)\)/ig,function(a,c){return"#"+new F(c.split(","))}),Ia=Ia.replace(/<svg[^>]+/i,function(a){a.match(/height/i)||!Na.height&&!t.height||(a+=' height="'+(Na.height||t.height)+
'"');a.match(/width/i)||!Na.width&&!t.width||(a+=' width="'+(Na.width||t.width)+'"');return a}),Ia=Ia.replace(/(([\w]+\-)?opacity\s*=\s*)['"][\d\.]+e[\-\+][\d]+["']/ig,'$1"0.001"'),Ia=Ia.replace(/(([\w]+\-)?opacity\s*:\s*)[\d\.]+e[\-\+][\d]+/ig,"$10.001"),Ia=Ia.replace(/<text[^\>]+/ig,function(a){a=a.replace(/stroke\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke\s*\:\s*([a-z0-9\#]+)?;?/ig,"");a=a.replace(/stroke-opacity\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke-opacity\s*\:\s*([a-z0-9\#]+)?;?/ig,
"");a=a.replace(/(<text[^\>]+fill\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,'$1$2 stroke=$2 stroke-width="0.2"$3');return a=a.replace(/(<text[^\>]+fill-opacity\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,"$1$2 stroke-opacity=$2 $3")}),Ia=Ia.replace(/<(\b[^<>s\s]+\b)[^\>]+?opacity\s*=\s*['"][^1][^\>]+?(\/>|>[\s\r\n]*?<\/\1>)/ig,function(c,e){var d=K.exec(c)||E,f=a.exec(c)||E;return c+"<"+e+d+f+' opacity="1" stroke-opacity="1" fill="#cccccc" stroke-width="0" r="0" height="0.5" width="0.5" d="M 0 0 L 1 1" />'}),Ba=
{charttype:c.chartType(),stream:Ia,stream_type:"svg",meta_bgColor:G.bgcolor||"",meta_bgAlpha:G.bgalpha||"1",meta_DOMId:c.id,meta_width:Na.width||t.width,meta_height:Na.height||t.height,parameters:["exportfilename="+aa,"exportformat="+w,"exportaction="+I,"exportparameters="+U].join("|")};f.raiseEvent("exportDataReady",Ba,c);"xls"===w?(ha(),wa=ga(),!J||"download"!==I||"undefined"===typeof m.btoa||"Chrome"!==N.name&&"Firefox"!==N.name&&"Edge"!==N.name&&"ie"!==N.name?(Ba={charttype:"combined",stream:wa,
stream_type:"IMAGE-DATA",parameters:["exportfilename="+aa,"exportformat="+w,"exportaction="+I,"exportparameters="+nb].join("|")},e(null,null,null,Ba,nb)):(e("url",wa,aa+"."+w),f.raiseEvent("exported",Ea,c))):J&&"download"===I?"undefined"===typeof m.btoa||"Chrome"!==N.name&&"Firefox"!==N.name&&"Edge"!==N.name&&"ie"!==N.name?(f.raiseWarning(this,"14038823867","run","Export Feature","Client side export requirement not fulfiled so exporting through server side"),r()):(n(),f.raiseEvent("exported",Ea,c)):
r()},function(){f.raiseEvent("exportCancelled",G,c)})}}]);FusionCharts.register("module",["private","modules.renderer.js-component-toolbox",function(){function f(a){"number"===typeof a&&(a="'"+a+"'");return a.split("").reduce(function(a,c){a=(a<<5)-a+c.charCodeAt(0);return a&a},0)}function m(a,c){var e;if(a.getBBox)return a;e=a.getBoundingClientRect();a.getBBox=function(){return{x:c.x,y:c.y,width:e.right-e.left,height:e.bottom-e.top,isArtificial:!0}};return a}function C(a,c,e){var d,f;for(d in a)f=
a[d],void 0!==f&&null!==f&&(e?c[d]||(c[d]=f):c[d]=f)}function n(a,c){switch(a){case "click":return function(a){K.dem.listen(c,"click",function(c){c.target&&c.target.parentNode&&a.call(c.target)})};case "hover":return function(a,e){K.dem.listen(c,"pointerhover",function(c){c.target&&c.target.parentNode&&("start"===c.state?a:e).call(c.target)})}}}function E(){this.pool={}}function F(a,c){var e,d,f;d=this.elemTypes={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_SCROLLER:"scoller",KEY_BUTTON:"button",
KEY_PATH:"path",KEY_DIV:"div"};f=this.cachedState={};e=this.actions={};e[d.KEY_DIV]=function(){return O.createElement("div")};e[d.KEY_RECT]=function(c){return a.paper.rect(c)};e[d.KEY_TEXT]=function(c){return a.paper.text(c)};e[d.KEY_GROUP]=function(c,e){return a.paper.group(c,e)};e[d.KEY_SCROLLER]=function(c,e,d,f,l,m,r){return a.paper.scroller(c,e,d,f,l,m,r)};e[d.KEY_BUTTON]=function(c,e,d,f,l,m){return a.paper.button(c,e,d,f,l,m)};e[d.KEY_PATH]=function(c,e){return a.paper.path(c,e)};d=this.cache=
f[c]||(f[c]={});this._hideRecursive(d.pool);d.initialized||(e=d.pool=(new E).pool,e._tmp=c,d.initialized=!0)}var K=this.hcLib,a=K.Raphael,O=this.window.document,d=K.graphics,l=d.convertColor,N=d.getLightColor,ba=d.rawRGBtoHEX,v=K.pluckNumber,t=K.pluck,q={},c={},A={},P=K.extend2,e,r,G,w,L=function(){},I=K.BLANKSTRING,fa=l("FFFFFF",0),aa=0;e=function(a,c,e){return["M",a-e,c-e]};r=function(a,c,e){var d=e/4;return["M",a-3*d,c,"L",a-d,c+e,a+e,c-e]};G=function(){a.addSymbol("Internal_CB",e);return{register:function(){var c,
e,d;if(1===arguments.length){e=arguments[0];if(null==e||"object"!==typeof e)return;d=e}else if(1<arguments.length){c=arguments[0];e=arguments[1];if("string"!==typeof c||"function"!==typeof e)return;d={};d[c]=e}else return;for(c in d)e=d[c],{}.hasOwnProperty.call(d,c)&&a.addSymbol(c,e)}}}();F.prototype._hideRecursive=function(a){var c,e,d,f,l,m;if(a)for(c in a)for(e in d=a[c],d)if(f=d[e],f instanceof Array)for(l=0,m=f.length;l<m;l++)f[l].hide&&f[l].hide();else f.hide&&f.hide()};F.prototype.isInitialized=
function(){return this.initialized};F.prototype.getCreationStatus=function(){return this.newCreationDataFlag};F.prototype.emptyPool=function(a){a=this.cachedState[a]||{};a.pool&&(a.pool={})};F.prototype.hideRecursive=function(a){this._hideRecursive((this.cachedState[a]||{}).pool)};F.prototype.getKeys=function(){return this.elemTypes};F.prototype.getComponent=function(a,c,e,d){c=(this.cachedState[c||0]||{}).pool;var f=c[a],l,m,r,q=this.actions,n=0;f||(f=c[a]={});return(m=f[e])&&!(m instanceof Array)||
m instanceof Array&&0<m.length?function(){this.newCreationDataFlag=!1;return d?(r=m[n++])?r.show():m[n]=q[e].apply(this,arguments):m.show&&"function"===typeof m.show&&m.show()||m}:function(){this.newCreationDataFlag=!0;return d?(l=f[e]||(f[e]=[]),m=q[e].apply(this,arguments),l.push(m),m.show&&"function"===typeof m.show&&m.show()||m):f[e]=q[e].apply(this,arguments)}};w=function(a,d){function w(a){a=a||{};this.name=a.name;this.handler=a.handler||L;this.action=a.action&&a.action.toLowerCase()||"click";
this.eventMap={};this.style={padding:"3px 8px",margin:"2px 0px",fontFamily:A.baseFontFamily,fontSize:A.baseFontSize+"px"};this.hoverOverStyle=a.hoverOverStyle||{};this.hoverOutStyle=a.hoverOutStyle||{};C(a.style||{},this.style);this.node=this.subConRef=void 0}function t(a,c){var e=this,d,f;d=c&&c.top||0;var l=c&&c.left,m=c&&c.right;this.container=a;this.position=t.POSITION_BOTTOM;this.atomicLists=[];this.refContainers=[];this.parentListCon=void 0;this.hideFnIds=[];this.target=void 0;l&&m||(this.positionCalculation=
!0);this.hoverOverStyle={background:"#333333",color:"#FFFFFF",cursor:"pointer"};this.hoverOutStyle={background:"#FFFFFF",color:"#000000"};this._defaultStyle={position:"absolute","z-index":50,top:void 0===d?"auto":d+"px",right:void 0===m?"auto":m+"px",left:void 0===l?"auto":l+"px",overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",padding:"5px 3px",display:"none"};d=this.container.style;for(f in this._defaultStyle)d[f]=this._defaultStyle[f];Oa.linkedItems&&
(Oa.linkedItems.container.appendChild(this.container),f=n("hover",this.container),f(function(){e.show(this)},function(){e.hide(300,this)}))}function F(a){this.listContainer=this.container=void 0;this.measurement=a}function B(a,c,e,d){this.symbol=a;this._id="TB_SYMBOL"+(e||0);this.node=void 0;this.pId=d;this.isPlaintext=c;this.conf={btnTextStyle:{"stroke-width":"1px",stroke:"none"}};this.evt={tooltext:void 0,click:L,hover:[L,L]}}function I(a,c,e,d){B.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+
(e||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:Na};this.pId=d;this.checked=!!c;this.textNode=void 0;this.interPadding=3;this.pos={};this.regSymbolCmd=void 0;this.checked?this.check():this.uncheck()}function E(a,e,d){B.call(this);this._id="TB_SCROLLER"+(e||0);this.pId=d;this.conf={};this.userConf=c;this.setConfiguaration(a);this.evt.scroll=L;return this}function K(a,c,e){var d;B.call(this,a,void 0,c,e);this.rawContextDefinitation=void 0;this.listContainerManager=(new F(this.position)).init(e);
d=this.listContainerManager.getFirstContainer();this.evt.hover=[function(a){d.show(m(a.target||a.fromElement,a))},function(a){d.hide(300,a.target)}]}function aa(a,c){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=c;P(this.btnConfig={},q);P(this.groupConfig={},za)}function ga(a,c){Y[this.id="TB_MASTER"+a||f((new Date).getTime())]=this;this.toolbarRect=void 0;this.componentGroups=[];this.toolbarConfig=hb;this.group=void 0;this.pId=c}var Y={},za={hPadding:3,vPadding:3,
borderRadius:2,fill:l("DBDBDB",100),borderColor:l("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},hb={hPadding:3,vPadding:3,borderRadius:0,fill:l("EBEBEB",100),borderColor:l("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},Na={fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},Ba,Ia,Oa;Ia=d.graphics;Oa=d.chart;Ba=d.components;w.prototype.updateName=function(a){this.name=a;this.node&&(this.node.innerHTML=a)};w.prototype.assignSubContainer=
function(a){a instanceof t&&(this.subConRef=a)};w.prototype.stickIntoContainer=function(a,c){var e=this.node=O.createElement("div"),d=this.style,f,l,m,r=this;e&&(e.ishot=!0);this.handler&&(this.eventMap[this.action]=this.handler);a.appendChild(e);e.innerHTML=this.name;l=e.style;for(f in d)l[f]=d[f];d=n("hover",e);n("click",e)(function(){r.handler&&((m=r.eventMap.click)&&m.apply(r,[Oa]),c.hide())});d(function(){var a,c=e.style,d=r.hoverOverStyle;for(a in d)c[a]=d[a];r.subConRef&&r.subConRef.show(this)},
function(){var a,c=e.style,d=r.hoverOutStyle;for(a in d)c[a]=d[a];r.subConRef&&r.subConRef.hide(300,this)})};w.prototype.setStyle=function(a){C(a||{},this.style)};w.prototype.dispose=function(){var a=this.node;a&&a.remove&&a.remove();this.node=void 0};t.POSITION_TOP="top";t.POSITION_BOTTOM="bottom";t.prototype.addAtomicListItem=function(a){a instanceof w&&(this.atomicLists.push(a),a.stickIntoContainer(this.container,this))};t.prototype.show=function(a){var c=this.hideFnIds,e=Oa.config.width,d=this.positionCalculation,
f=0,l;this.target=this.target||a;for(l=c.length;f<l;f++)clearTimeout(c[f]);c.length=0;(c=this.parentListCon)?(c.show(this.target),this.container.style.left=c.container.offsetLeft+c.container.offsetWidth+"px",this.container.style.top=c.container.offsetTop+this.target.offsetTop+"px"):(c=a&&a.nodeName&&"DIV"===a.nodeName.toUpperCase()?!0:!1,c||(a=a.getBBox(),d&&(this.container.style.display="block",d=this.container.offsetWidth,d+a.x>e?(this.container.style.left="auto",this.container.style.right=e-a.x-
a.width+"px"):(this.container.style.left=a.x+"px",this.container.style.right="auto"),this.container.style.display="none"),this.position===K.POSITION_BOTTOM?(e=a.isArtificial?.5:1.5,this.container.style.top=a.y+a.height*e+"px",this.container.style.bottom="auto"):(this.container.style.bottom=Oa.config.height-a.y+"px",this.container.style.top="auto")));this.container.style.display="block"};t.prototype.hide=function(a){var c=this.container,e;(e=this.parentListCon)&&e.hide(300);this.hideFnIds.push(setTimeout(function(){c.style.display=
"none"},a))};t.prototype.dispose=function(){var a=this.atomicLists,c=this.refContainers,e,d;e=this.hideFnIds.length=0;for(d=a.length;e<d;e++)a[e].dispose();e=a.length=0;for(d=c.length;e<d;e++)c[e].dispose();c.length=0};F.prototype.init=function(c){var e=a.getKeys();this.container||(c=a.getComponent("div0",c,e.KEY_DIV),(c=c())&&(c.innerHTML=""),this.container=new t(c,this.measurement));return this};F.prototype.getFirstContainer=function(){return this.container};F.prototype.appendAsList=function(a,
c){var e=this,d,f=this.container.hoverOverStyle,l=this.container.hoverOutStyle;(function ma(a,c){var m,r=0,q,n,v,B,A,G,F,I;F=c?c:e.container;m=a instanceof Array?a:[a];for(q=m.length;r<q;r++){n=m[r];v=new w({hoverOverStyle:f,hoverOutStyle:l});for(B in n)v.name=B,A=n[B],v.action=A.action,v.setStyle(A.style),-1!==B.search(/^<[^<]+>$/)&&(v.hoverOverStyle={},v.hoverOutStyle={},A.handler=L),G=A.handler,"function"!==typeof G?I=ma(G,new t(O.createElement("div"))):v.handler=A.handler;F.addAtomicListItem(v);
I&&(I.parentListCon=F,F.refContainers.push(I),v.assignSubContainer(I));I=void 0}return d=F})(a,c);return d};F.prototype.dispose=function(){this.container.dispose();this.container=void 0};B.prototype.registerSymbol=function(a){G.register(this.symbol,a)};B.prototype._setConfiguaration=function(a){this.conf?C(a,this.conf,!0):this.conf=a};B.prototype.attachEventHandlers=function(a,c){var e=this.evt,d=a.tooltext,f=a.click||L,l=a.hover,m=c&&c.click||L,r=this;d&&(e.tooltext=d);e.click="function"===typeof f?
function(){m();f.apply(r,arguments)}:function(){var a=f.fn,c=f.context,e=(f.args||[]).slice(0);f.hasOwnProperty("context")?e.push(r):c=r;[].push.apply(e,arguments);m();a.apply(c,e)};l&&l instanceof Array&&(e.hover=l);this.node&&this.node.tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);return r};B.prototype.getLogicalSpace=function(){return{width:this.conf.width,height:this.conf.height}};B.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};
B.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};B.prototype.draw=function(c,e,d){var f=this.conf||{},m,r,q=a.getKeys(),n=Oa.get("config","animationObj"),w=n.animObj,t=n.dummyObj,v=n.duration;this.isPlaintext?r=this.symbol:m=this.symbol;void 0!==d.idCount&&(this._id+=d.idCount);f.hoverFill=f.hoverFill?l(f.hoverFill):l(N(ba(f.fill),80));d=this.node=a.getComponent(this._id,this.pId,q.KEY_BUTTON,!0)(c,e,r,m,{width:f.width,height:f.height,r:f.radius,verticalPadding:f.symbolHPadding*
f.scale,horizontalPadding:f.symbolHPadding},d.parentLayer).labelcss(this.conf.btnTextStyle);d.attr({ishot:!0,fill:[f.fill,f.labelFill,f.symbolFill,f.hoverFill,!0],stroke:[f.stroke,f.symbolStroke],"stroke-width":[f.strokeWidth,f.symbolStrokeWidth]}).tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);a.getCreationStatus()||(this.node.unclick(),this.node.animateWith(t,w,{"button-repaint":[c,e,f.width,f.height,f.radius]},v,n.animType),this.node.attr({"button-label":r,
"button-padding":[f.symbolHPadding,f.symbolHPadding*f.scale]}),this.node.buttonclick(this.evt.click));d.getBBox=function(){return{x:c,y:e,width:f.width,height:f.height}};return d};B.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};I.prototype=Object.create(B.prototype);I.prototype.constructor=I;I.prototype.check=function(){var a=this.pos;this.checked=!0;this.regSymbolCmd=r;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,
a.height,a.r]}))};I.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=e;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};I.prototype.click=function(){this.checked?this.uncheck():this.check()};I.prototype.attachEventHandlers=function(a){var c=this;B.prototype.attachEventHandlers.apply(this,[a,{click:function(){c.click()}}])};I.prototype.getLogicalSpace=function(){var a=Oa.linkedItems.smartLabel,c=this.text.style,
e;e=B.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(Oa.config.useEllipsesWhenOverflow);a.setStyle(c);a=a.getSmartText(this.text.plaintext);return{width:a.width+this.interPadding+e.width,height:Math.max(e.height,a.height)}};I.prototype.draw=function(c,e,d){var f,l=this.conf,m;m=Oa.linkedItems.smartLabel;var r=Ba.colorManager,q=this.text.plaintext,n,w=a.getKeys();this.registerSymbol(this.regSymbolCmd);f=this.node=B.prototype.draw.apply(this,arguments);this.pos={x:c,y:e,width:l.width,
height:l.height,r:l.radius};n=this.text.style;n.fill=n.fill||"#"+r.getColor("baseFontColor");m.useEllipsesOnOverflow(Oa.config.useEllipsesWhenOverflow);m.setStyle(n);m=m.getSmartText(q);f=f.getBBox();r=a.getComponent(this._id,this.pId,w.KEY_TEXT);this.textNode=r(d.parentLayer).attr({text:q,x:f.x+f.width+m.width/2+this.interPadding,y:f.y+f.height/2}).css(n);l=l.height>m.height?l.height:m.height;r=a.getComponent(this._id,this.pId,w.KEY_RECT);return r(d.parentLayer).attr({height:l,width:f.width+m.width+
this.interPadding,x:c,y:e,stroke:fa})};I.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;B.prototype.dispose.call(this)};E.prototype=Object.create(B.prototype);E.prototype.constructor=I;E.prototype.setConfiguaration=function(a){var e=Ba.colorManager;c.color||(c.color="#"+e.getColor("altHGridColor"));C(c,this.conf);C(a,this.conf)};E.prototype.getLogicalSpace=function(){var a=this.conf,e={};C(c,e);C(e,a);return B.prototype.getLogicalSpace.call(this)};E.prototype.getDefaultLayer=
function(){var c=a.getKeys();return a.getComponent(this._id,this.pId,c.KEY_GROUP)("scroll")};E.prototype.registerSymbol=void 0;E.prototype._setConfiguaration=function(){};E.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);B.prototype.attachEventHandlers.apply(this,arguments);return this};E.prototype.draw=function(){var e,d,f,l,m,r,q,n,w,t,B,A,F,G,I,E;I=this.conf;var J,L=a.getKeys(),K={},N=Oa.get("config","animationObj"),P=N.animObj,O=
N.dummyObj;f={};var ca=N.duration;1===arguments.length?(I=arguments[0],e=I.x,d=I.y,q=I.parentLayer,m=!!I.sepLayer):(e=arguments[0],d=arguments[1],m=arguments[2],I&&m?C(m,I):m={},q=m.parentLayer,m=!!m.sepLayer);C(c,f);I.isHorizontal?delete f.width:delete f.height;C(f,I);d+=I.padding;f=I.height;l=I.width;r=I.isHorizontal;E=I.startPercent;n=I.scrollRatio;w=I.showButtons;t=I.displayFlat;B=I.fullCanvasWidth;A=I.windowedCanvasWidth;F=I.color;G=I.roundEdges;K["scroll-repaint"]=[e,d,l,f];q=q?q:this.getDefaultLayer();
J=a.getComponent(this._id,this.pId,L.KEY_RECT);q=m?J("scroll-child"):q;J=a.getComponent(this._id,this.pId,L.KEY_SCROLLER);this.node=J(e,d,l,f,r,{scrollPosition:I.scrollPosition||v(E,0),displayStyleFlat:t,showButtons:w},q).data("fullCanvasWidth",B).data("windowedCanvasWidth",A).attr({"scroll-ratio":n,fill:F,r:G&&2||0}).scroll(this.evt.scroll);a.getCreationStatus()||(this.node.undrag(),this.node.animateWith(O,P,K,ca,N.animType),this.node.attr({"scroll-display-style":t?"flat":"3d","scroll-position":I.scrollPosition||
v(E,0)}).scroll(this.evt.scroll));return this.node};K.POSITION_TOP="top";K.POSITION_BOTTOM="bottom";K.prototype=Object.create(B.prototype);K.prototype.constructor=K;K.allNodes=[];K.prototype.getListRefernce=function(){return this.listContainerManager};K.prototype.attachEventHandler=function(a){var c=this.evt;if(a=a.tooltext)c.tooltext=a};K.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:B.prototype.getLogicalSpace.call(this)};
K.prototype.draw=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;if(a&&0===a.length)return this.hide(),{getBBox:function(){return{width:0,height:0}}};a=B.prototype.draw.apply(this,arguments);K.allNodes.push(this.node);return a};K.prototype.dispose=function(){this.listContainerManager&&this.listContainerManager.dispose();this.listContainerManager=void 0;B.prototype.dispose.call(this)};aa.prototype.addSymbol=function(a,c){var e=this.symbolList;c?e.unshift(a):e.push(a)};aa.prototype.setConfiguaration=
function(a){var c=a.buttons;a=a.group;c&&C(c,this.btnConfig);a&&C(a,this.groupConfig)};aa.prototype.draw=function(c,e,d){var f=this.preId,l=this.symbolList,m,r,q=this.groupConfig,n=this.btnConfig,w=e.x,t=e.y,v=0,B=0,A=Number.NEGATIVE_INFINITY;m=a.getKeys();f=this.id=f.toString()+d;Ia.toolbarGroup=Ia.toolbar||{};d=a.getComponent(this.id,this.pId,m.KEY_GROUP);c=d("toolbar-group"+f,c).trackTooltip(!0);d=a.getComponent(this.id,this.pId,m.KEY_RECT);f=this.groupRect=d(c).attr({height:0,width:0,x:w,y:t});
w+=q.hPadding;t+=q.vPadding;B+=q.hPadding;v+=q.vPadding;m=0;for(d=l.length;m<d;m++)r=l[m],r._setConfiguaration(n),r=r.draw(w,t,{parentLayer:c}),r=r.getBBox(),A<r.height&&(A=r.height),w+=r.width+(r=n.spacing);B+=w+q.hPadding-e.x-r-q.offsetAdjustment;v+=A+q.vPadding+q.offsetAdjustment;isFinite(v)||(v=0);isFinite(B)||(B=0);f.attr({height:v,width:B}).attr({fill:q.fill,r:q.radius,stroke:q.borderColor,"stroke-width":q.borderThickness});r=f.getBBox();return{height:r.height,width:r.width}};aa.prototype.getLogicalSpace=
function(){var a=this.symbolList,c,e,d,f=0,m=0,l=Number.NEGATIVE_INFINITY,r=0;e=0;for(d=a.length;e<d;e++)c=a[e],c._setConfiguaration(this.btnConfig),c=c.getLogicalSpace(),m+=c.width+this.btnConfig.spacing,r+=c.width,l=l<c.height?c.height:l;if(!r)return{width:0,height:0};l!==Number.NEGATIVE_INFINITY&&m&&(m-=this.btnConfig.spacing-2*this.groupConfig.hPadding-this.groupConfig.offsetAdjustment,f=l+2*this.groupConfig.vPadding+this.groupConfig.offsetAdjustment);return{width:m,height:f}};aa.prototype.dispose=
function(){for(var a=this.symbolList,c=0,e=a.length;c<e;c++)a[c].dispose();a.length=0;this.groupRect.remove()};ga.prototype.getId=function(){return this.id};ga.prototype.addComponent=function(a){this.componentGroups.push(a)};ga.prototype.draw=function(c,e,d){var f=this.componentGroups,m,l,r;r=this.id;var q=c,n=e,w;e=this.toolbarConfig;var t,v=Number.NEGATIVE_INFINITY;w=a.getKeys();d=d||{};l=Ia.toolbar=d.parentGroup||Ia.toolbar||{};d=a.getComponent(this.id,this.pId,w.KEY_GROUP,!0);this.group=r=d(r,
l);d=a.getComponent(this.id,this.pId,w.KEY_RECT,!0);w=this.toolbarRect=d(r).attr({height:0,width:0,x:q,y:n});q+=e.hPadding;n+=e.vPadding;d=0;for(l=f.length;d<l;d++)m=f[d],t=m.groupConfig.spacing||1,m=m.draw(r,{x:q,y:n},d),q+=m.width+t,v=v>m.height?v:m.height;f=v;c=q-t-e.hPadding-c;isFinite(f)||(f=0);isFinite(c)||(c=0);w.attr({height:f+=2*e.vPadding,width:c+=2*e.hPadding}).attr({fill:e.fill,r:e.radius,stroke:e.borderColor,"stroke-width":e.borderThickness});return{height:f,width:c}};ga.prototype.getLogicalSpace=
function(){var a=this.componentGroups,c,e,d,f=c=0,m=Number.NEGATIVE_INFINITY,l,r=0;c=0;for(e=a.length;c<e;c++)d=a[c],l=d.getLogicalSpace(),d=d.groupConfig.spacing||1,f+=l.width+d,r+=l.width,m=m<l.height?l.height:m;if(!r)return{width:0,height:0};f-=d-2*this.toolbarConfig.hPadding;c=m+2*this.toolbarConfig.vPadding;return{width:f,height:c}};ga.prototype.dispose=function(){for(var c=this.componentGroups,e=0,d=c.length;e<d;e++)c[e].dispose();c.length=0;this.toolbarRect.remove();a.emptyPool(this.pId)};
return{HorizontalToolbar:ga,ComponentGroup:aa,Symbol:B,CheckboxSymbol:I,Scroller:E,SymbolWithContext:K,getInstanceById:function(a){return Y[a]}}};FusionCharts.register("component",["toolbox","toolbox",{onceInitialized:!1,ALIGNMENT_HORIZONTAL:0,ALIGNMENT_VERTICAL:1,POSITION_TOP:0,POSITION_RIGHT:1,POSITION_BOTTOM:2,POSITION_LEFT:3,init:function(a){if(this.onceInitialized)return this.configure(),this._iCount;this._options=a;this._chart=a.chart;this._iCount=++aa;this.configure();this.onceInitialized=
!0;return this._iCount},configure:function(){var a,e,d=this._chart.jsonData.chart;q.scale=v(d.toolbarbuttonscale,1.15);q.width=v(d.toolbarbuttonwidth,15);q.height=v(d.toolbarbuttonheight,15);q.radius=v(d.toolbarbuttonradius,2);q.spacing=v(d.toolbarbuttonspacing,5);q.fill=l(t(d.toolbarbuttoncolor,"ffffff"));q.labelFill=l(t(d.toolbarlabelcolor,"cccccc"));q.symbolFill=l(t(d.toolbarsymbolcolor,"ffffff"));q.hoverFill=t(d.toolbarbuttonhovercolor);q.stroke=l(t(d.toolbarbuttonbordercolor,"bbbbbb"));q.symbolStroke=
l(t(d.toolbarsymbolbordercolor,"9a9a9a"));q.strokeWidth=v(d.toolbarbuttonborderthickness,1);q.symbolStrokeWidth=v(d.toolbarsymbolborderthickness,1);e=q.symbolPadding=v(d.toolbarsymbolpadding,5);q.symbolHPadding=v(d.toolbarsymbolhpadding,e);q.symbolVPadding=v(d.toolbarsymbolvpadding,e);a=q.position=t(d.toolbarposition,"tr").toLowerCase();switch(a){case "tr":case "rt":case "top right":case "right top":a="tr";break;case "br":case "rb":case "bottom right":case "right bottom":a="br";break;case "tl":case "lt":case "top left":case "left top":a=
"tl";break;case "bl":case "lb":case "bottom left":case "left bottom":a="bl";break;default:a="tr"}e=q.hAlign="left"===(I+d.toolbarhalign).toLowerCase()?"l":a.charAt(1);a=q.vAlign="bottom"===(I+d.toolbarvalign).toLowerCase()?"b":a.charAt(0);q.hDirection=v(d.toolbarhdirection,"r"===e?-1:1);q.vDirection=v(d.toolbarvdirection,"b"===a?-1:1);q.vMargin=v(d.toolbarvmargin,6);q.hMargin=v(d.toolbarhmargin,10);d.toolbary&&d.toolbarx?(q.x=v(d.toolbarx),q.y=v(d.toolbary),delete q.spaceNotHardCoded):q.spaceNotHardCoded=
!0;c.color=d.scrollcolor&&l(d.scrollcolor);c.padding=v(d.scrollpadding,0);c.height=v(d.scrollheight,12);c.width=v(d.scrollwidth,12);c.displayFlat=v(d.flatscrollbars,0);c.scrollBar3DLighting=v(d.scrollbar3dlighting,1);c.startPercent=Math.min(1,Math.max(0,parseFloat(d.scrolltoend)||0));c.showButtons=!!v(d.scrollshowbuttons,1);c.buttonPadding=v(d.scrollbtnpadding,0);A.baseFontFamily=t(d.basefont,"Verdana,sans");A.baseFontSize=v(d.basefontsize,10);A.baseFontColor=t(d.basefontcolor,"595959")},getAPIInstances:function(a){var c=
{},e;e=this.componentPool=new F(this._chart.components,this._iCount);e=w(e,this._options);switch(a){case this.ALIGNMENT_HORIZONTAL:c.Toolbar=e.HorizontalToolbar}c.ComponentGroup=e.ComponentGroup;c.Symbol=e.Symbol;c.Scroller=e.Scroller;c.SymbolWithContext=e.SymbolWithContext;c.SymbolStore=G;c.CheckboxSymbol=e.CheckboxSymbol;return c},getDefaultConfiguration:function(){return q},clean:function(){this.componentPool.hideRecursive(this._iCount)}}])}]);FusionCharts.register("module",["private","modules.renderer.js-base",
function(){var f=this,m=f.hcLib,C=m.Raphael,n=C._availableAnimAttrs,E="VML"===C.type,F=f.window,K=F.document,a=m.BLANKSTRING,O=m.HUNDREDSTRING,d=m.preDefStr,l=d.configStr,N=d.animationObjStr,ba=d.NORMAL,v=d.BOLD,t=d.hiddenStr,q=d.visibleStr,c=d.ROUND,A=d.miterStr,P=d.POSITION_START,e=d.POSITION_TOP,r=d.POSITION_END,G=d.POSITION_BOTTOM,w=d.POSITION_MIDDLE,L=d.POINTER,I=d.noneStr,fa=d.SEVENTYSTRING,d=d.AUTOSTRING,aa=m.parseConfiguration,U=m.componentConfigurer,T=m.BLANKSTRING,ca="https:"===F.location.protocol?
"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/",J=m.pluck,ia=m.getValidValue,B=m.pluckNumber,wa=m.getFirstValue,Ja=m.parseUnsafeString,sa=m.extend2,ha=m.getDashStyle,ga=m.graphics.mapSymbolName,Y=m.regex.dropHash,za=m.HASHSTRING,hb=F.Image,Na=m.setImageDisplayMode,Ba=m.removeEvent,Ia=m.getPosition,Oa=m.getMouseCoordinate,Da=m.addEvent,fb=8===F.document.documentMode?q:T,La=m.toRaphaelColor,Va=Math,Qa=Va.min,qa=Va.max,kb=Va.abs,ma=Va.ceil,Ha=Va.floor,Sa=Va.round,Ea=Va.sin,
nb=Va.cos,rb=Math.PI,Gb=rb/2,Ab=2*rb,Fb=rb+Gb,wb=m.getFirstColor,Ra=m.setLineHeight,Za=m.pluckFontSize,ab=m.graphics.getDarkColor,db=m.graphics.getLightColor,Ya=m.graphics.convertColor,ob=m.POSITION_CENTER,xb=m.POSITION_RIGHT,ib=m.POSITION_LEFT,Ka=m.chartAPI,ub=m.COMMASTRING,vb=m.PXSTRING,bb=m.componentDispose,Ma,Ga=F.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),Pa={left:P,right:r,center:w},lb=m.each,jb="rgba(255,0,0,"+(m.isIE?.002:1E-6)+")",yb=m.BGRATIOSTRING,gb=m.graphics.getAngle,Db=m.NumberFormatter,
Bb=m.getLinkAction,mb=m.hasTouch=void 0!==K.documentElement.ontouchstart,qb={1:v,0:ba},pb=function(b){b=b.replace("rgba(",T).split(",");return"#"+("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},b=!/fusioncharts\.com$/i.test(F.location.hostname),u=m.chartPaletteStr={chart2D:{bgColor:"bgColor",bgAlpha:"bgAlpha",bgAngle:"bgAngle",bgRatio:"bgRatio",canvasBgColor:"canvasBgColor",canvasBaseColor:"canvasBaseColor",divLineColor:"divLineColor",legendBgColor:"legendBgColor",legendBorderColor:"legendBorderColor",
toolTipbgColor:"toolTipbgColor",toolTipBorderColor:"toolTipBorderColor",baseFontColor:"baseFontColor",anchorBgColor:"anchorBgColor"},chart3D:{bgColor:"bgColor3D",bgAlpha:"bgAlpha3D",bgAngle:"bgAngle3D",bgRatio:"bgRatio3D",canvasBgColor:"canvasBgColor3D",canvasBaseColor:"canvasBaseColor3D",divLineColor:"divLineColor3D",divLineAlpha:"divLineAlpha3D",legendBgColor:"legendBgColor3D",legendBorderColor:"legendBorderColor3D",toolTipbgColor:"toolTipbgColor3D",toolTipBorderColor:"toolTipBorderColor3D",baseFontColor:"baseFontColor3D",
anchorBgColor:"anchorBgColor3D"}},D=function(){var b={},a,z=function(){var c,g,u,e,d=0,D,H,M=parseInt(f.core.options.resizeTrackingInterval,10)||300,m={},l=function(){m.itemVar._containerOffsetW=m.parentEle.offsetWidth;m.itemVar._containerOffsetH=m.parentEle.offsetHeight},r;for(c in b)d+=1,g=b[c],u=g.jsVars,D=g.ref,!g.disposed&&(e=D&&D.parentNode)&&(H=D.style)&&(/\%/g.test(H.width)||/\%/g.test(H.height))?(D=e.offsetWidth,r=e.offsetHeight,!u.resizeLocked&&(D&&u._containerOffsetW!==D||r&&u._containerOffsetH!==
r)&&(g.resizeTo&&g.resizeTo(),m.itemVar=u,m.parentEle=e,setTimeout(l,1))):(delete b[c],--d);a=d?setTimeout(z,M):clearTimeout(a)};return function(c,g){var u=c.jsVars,e=g||c.ref&&c.ref.parentNode||{};u._containerOffsetW=e.parentNode.offsetWidth;u._containerOffsetH=e.parentNode.offsetHeight;b[c.id]=c;a||(a=setTimeout(z,parseInt(f.core.options.resizeTrackingInterval,10)||300))}}(),H=m.schedular,M={getExternalInterfaceMethods:function(){var b=Ka[this.jsVars.type],b=b&&b.eiMethods,a="saveAsImage,print,exportChart,getXML,hasRendered,signature,cancelExport,getSVGString,lockResize,showChartMessage,",
z;if("string"===typeof b)a+=b+ub;else if(void 0!==b||null!==b)for(z in b)a+=z+ub;return a.substr(0,a.length-1)},drawOverlayButton:function(b){var a=this.jsVars,z=a.overlayButton,c,g;if(b&&b.show){z||(z=a.overlayButton=K.createElement("span"),m.dem.listen(z,"click",function(){f.raiseEvent("OverlayButtonClick",b,a.fcObj)}));for(c=b.message?b.message:"Back";z.firstChild;)z.removeChild(z.firstChild);z.appendChild(K.createTextNode(c));a.overlayButtonMessage=c;c={border:"1px solid "+(b.borderColor?b.borderColor.replace(Y,
za):"#7f8975"),backgroundColor:b.bgColor?b.bgColor.replace(Y,za):"#edefec",fontFamily:b.font?b.font:"Verdana,sans",color:"#"+b.fontColor?b.fontColor:"49563a",fontSize:(b.fontSize?b.fontSize:"10")+vb,padding:(b.padding?b.padding:"3")+vb,fontWeight:0===parseInt(b.bold,10)?ba:v,position:"absolute",top:"0",right:"0",_cursor:"hand",cursor:L};for(g in c)z.style[g]=c[g];a.hcObj.container.appendChild(z);a.overlayButtonActive=!0}else z&&(a.overlayButton=z.parentNode.removeChild(z),a.overlayButtonActive=!1,
delete a.overlayButtonMessage)},print:function(b){var a=this.apiInstance,z=sa({},b);if(a.config.isPrinting||!a.config.hasRendered)return!1;f.raiseEvent("BeforePrint",z,a.chartInstance,void 0,function(){var b=a.linkedItems.container,k=[],c=b.parentNode,u=K.body||K.getElementsByTagName("body")[0],e=u.childNodes,d,D,H,M;a.config.isPrinting=!0;lb(e,function(b,a){1==b.nodeType&&(k[a]=b.style.display,b.style.display="none")});if(!1!==z.hideButtons){D=a.components.chartMenuBar.componentGroups[0].symbolList;
M=0;for(d=D.length;M<d;M++)if((H=D[M])instanceof a.components.toolBoxAPI.SymbolWithContext){H=H.getListRefernce().getFirstContainer();break}H.container.style.display=I}u.appendChild(a.linkedItems.container);F.print();setTimeout(function(){H.container.style.display=q;c.appendChild(b);lb(e,function(b,a){1==b.nodeType&&(b.style.display=k[a])});!1!==z.hideButtons&&(H.container.style.display=q);a.config.isPrinting=!1;f.raiseEvent("PrintComplete",z,a.chartInstance)},1E3)},function(){f.raiseEvent("PrintCancelled",
z,a.chartInstance)})},exportChart:function(b){return m.exportChart.call(this.apiInstance,b)},getSVGString:function(){return this.jsVars&&this.jsVars.instanceAPI&&this.jsVars.instanceAPI.components&&this.jsVars.instanceAPI.components.paper&&this.jsVars.instanceAPI.components.paper.toSVG()},resize:function(){var b=this.jsVars,a=b.container;b.instanceAPI&&b.instanceAPI.redraw?b.instanceAPI.redraw():m.createChart(b.fcObj,a,b.type,void 0,void 0,!1,!0);delete b.isResizing},lockResize:function(b){return"boolean"!==
typeof b?!!this.jsVars.resizeLocked:this.jsVars.resizeLocked=b},showChartMessage:function(b,a,z,c){var g=this.jsVars,u=this.FusionCharts.apiInstance,e=u.chartInstance.options;!c&&(c={});c={fontFamily:J(c.font,e.baseChartMessageFont,"Verdana,sans"),fontSize:B(c.fontSize,e.baseChartMessageFontSize,10),color:J(c.color&&Ya(c.color,c.alpha),e.baseChartMessageColor)};g.msgStore[b]&&(b=g.msgStore[b]);a&&u&&u.config.hasRendered?(u._show(),this.showMessage(b,c,z)):(u._hide(),u.setChartMessage(b,{_chartMessageStyle:c}),
u.drawChartMessage());return b},showMessage:function(b,a,z){var c=this.apiInstance,g=c.config,u=c.components,e=c.graphics.messageGroup,d=u.chartMessage||(u.chartMessage={}),d=d.graphics||(d.graphics={}),D=u.paper,f=c.linkedItems.smartLabel,u=d.messageText,H=d.messageVeil,M=d.message,m=D.width,l=D.height;e||(c.graphics.messageGroup=e=D.group("messageGroup"));H||(H=d.messageVeil=D.rect(0,0,m,l,e).attr({fill:"rgba(0,0,0,0.2)",stroke:I}));H.show().toFront().attr("cursor",z?L:"default")[z?"click":"unclick"](c._hideChartMessage,
c);u||(u=d.messageText=D.text(m/2,l/2,T,e));M&&M.hide();b=b||T;f.setStyle(a);b=f.getSmartText(b,m-(g.marginRight||0)-(g.marginLeft||0),l-(g.marginTop||0)-(g.marginBotton||0));u.attr({"font-size":a.fontSize,"font-family":a.fontFamily,fill:a.color,text:b.text,ishot:!0,cursor:z?L:"default","line-height":14})[z?"click":"unclick"](c._hideChartMessage,c).show().toFront()},signature:function(){return"FusionCharts/3.4.0 (XT)"}};delete n.fill;delete n.stroke;f.core.options.resizeTrackingInterval=300;f.core.options.preventTrackResize=
!1;f.core.options.SVGDefinitionURL="relative";m.createChart=function(b,h,c,p,g,u,e){var d=b.jsVars,H,l=Ka[c||(c=b.chartType())],ua=b.apiInstance,r=d.hasNativeMessage;u=b.options;var q=b.args,n;h.offsetWidth&&h.offsetHeight&&(/^\s*absolute\s*$/i.test(f.core.options.SVGDefinitionURL)&&(C._url=(C._g&&C._g.win||F).location.href.replace(/#.*?$/,a)),n=function(a){var g={renderer:"javascript"},u=d.fcObj,H=u.width,xa=u.height,Fa=l&&l.eiMethods,q=d.overlayButton,n;h.jsVars=b.jsVars;r=d.hasNativeMessage;d.container=
h;d.hcObj=a;d.type=c;d.width=h.offsetWidth;d.height=h.offsetHeight;d.instanceAPI=ua;if(a.hasRendered){f.extend(h,M);if(Fa&&"string"!==typeof Fa)for(n in Fa)h[n]=Fa[n];d.overlayButtonActive&&q&&(q.innerHTML=T,q.appendChild(K.createTextNode(d.overlayButtonMessage)),a.container.appendChild(q))}(/\%/g.test(H)||/\%/g.test(xa))&&h&&h.parentNode&&!f.core.options.preventTrackResize&&D(u,h);if(p&&(p({success:a.hasRendered,ref:h,id:b.id}),a.hasRendered)){m.raiseEvent("loaded",{type:c,renderer:"javascript"},
b,[b.id]);ua.config.hasRendered=!0;if(!0===b.disposed)return;r||(u.__state.firstRenderNotified=!0,setTimeout(function(){m.raiseEvent("rendered",{renderer:"javascript"},u,[u.id])},0))}a.hasRendered&&d.previousDrawCount<d.drawCount&&(g.width=d.width,g.height=d.height,g.drawCount=d.drawCount,g.displayingMessage=r,g.renderer=u.options.renderer,m.raiseEvent("drawcomplete",g,u,[u.id]),r||e||setTimeout(function(){u.__state&&!u.__state.firstRenderNotified&&m.raiseEvent("rendered",{renderer:"javascript"},
u,[u.id]);f.raiseEvent("renderComplete",g,u)},0))},ua&&ua.inited?(f.raiseEvent("internal.drawStart",{chartType:c,logicName:ua.name,logicBase:ua.base&&ua.base.name,defaultSeriesType:ua.defaultSeriesType},b),g=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(f.dataFormats.JSON,!0),H=g.data,ua.config&&ua.config.hasChartMessage&&ua._hideChartMessage(),ua.jsonData=H,e||m.raiseEvent("dataloaded",{},b,[b.id]),ua._removeWaitingJobs(),ua.graphics.dummyObj&&ua.graphics.dummyObj.stop(void 0,
!0,!0),ua.configure(),ua._feedAxesRawData(),ua._setCategories(),U(ua),ua.draw(),n({hasRendered:!0,container:h})):ua&&"base"===c?(ua.setChartMessage(g,b,h),ua.drawChartMessage()):(ua&&"base"===ua.name&&"base"!==c&&(ua.dispose(),ua=void 0),ua?ua.config&&ua.config.hasChartMessage&&ua._hideChartMessage():ua=b.apiInstance=l?new Ka(c):new Ka("base"),ua.chartInstance=b,ua.origRenderWidth=b.__state.renderedWidth,ua.origRenderHeight=b.__state.renderedHeight,"base"===c?(ua.setChartMessage(g,b,h),ua.drawChartMessage()):
void 0!==g?"string"===typeof g&&(ua.setChartMessage(g,b,h),ua.drawChartMessage(),r=d.hasNativeMessage=!0):!ua||!ua.init||ua&&"base"===ua.name?(b._chartMessageImageStyle={imageHAlign:J(q.typeNotSupportedMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.typeNotSupportedMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(q.typeNotSupportedMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:B(q.typeNotSupportedMessageImageScale,u.baseChartMessageImageScale)},
b._chartMessageStyle={color:q.typeNotSupportedMessageColor||u.baseChartMessageColor,fontFamily:q.typeNotSupportedMessageFont||u.baseChartMessageFont,fontSize:q.typeNotSupportedMessageFontSize||u.baseChartMessageFontSize},ua.setChartMessage(u.typeNotSupportedMessage,b,h),ua.drawChartMessage(),r=d.hasNativeMessage=!0):d.message?(ua.setChartMessage(d.message,b,h),ua.drawChartMessage(),r=d.hasNativeMessage=!0):d.loadError?(b._chartMessageImageStyle={imageHAlign:J(q.dataLoadErrorMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),
imageVAlign:J(q.dataLoadErrorMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(q.dataLoadErrorMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:B(q.dataLoadErrorMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={color:q.dataLoadErrorMessageColor||u.baseChartMessageColor,fontFamily:q.dataLoadErrorMessageFont||u.baseChartMessageFont,fontSize:q.dataLoadErrorMessageFontSize||u.baseChartMessageFontSize},ua.setChartMessage(u.dataLoadErrorMessage,b,
h),ua.drawChartMessage(),r=d.hasNativeMessage=!0):d.stallLoad?(b._chartMessageImageStyle={imageHAlign:J(q.dataLoadStartMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.dataLoadStartMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(q.dataLoadStartMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:B(q.dataLoadStartMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:q.dataLoadStartMessageFont||u.baseChartMessageFont,
fontSize:q.dataLoadStartMessageFontSize||u.baseChartMessageFontSize,color:q.dataLoadStartMessageColor||u.baseChartMessageColor},ua.setChartMessage(u.dataLoadStartMessage,b,h),ua.drawChartMessage(),r=d.hasNativeMessage=!0,n({hasRendered:!0,container:h})):"zoomscatter"!==c||K.createElement("canvas").getContext?(f.raiseEvent("internal.drawStart",{chartType:c,logicName:ua.name,logicBase:ua.base&&ua.base.name,defaultSeriesType:ua.defaultSeriesType},b),g=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||
b.getChartData(f.dataFormats.JSON,!0),H=g.data,g.error instanceof Error?(b._chartMessageImageStyle={imageHAlign:J(q.dataInvalidMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.dataInvalidMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(q.dataInvalidMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:B(q.dataInvalidMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:q.dataInvalidMessageFont||u.baseChartMessageFont,
fontSize:q.dataInvalidMessageFontSize||u.baseChartMessageFontSize,color:q.dataInvalidMessageColor||u.baseChartMessageColor},ua.setChartMessage(u.dataInvalidMessage,b,h),ua.drawChartMessage(),r=d.hasNativeMessage=!0,b.__state.dataReady=!1,e||f.raiseEvent("dataInvalid",{error:g.error},d.fcObj,void 0,function(){m.raiseEvent("dataxmlinvalid",{},b,[b.id])})):(e||m.raiseEvent("dataloaded",{},b,[b.id]),!0!==ua.chartInstance.disposed&&ua.init(h,H,b,n))):(b._chartMessageImageStyle={imageHAlign:J(q.browserNotSupportedMessageImageHAlign,
u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.browserNotSupportedMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(q.browserNotSupportedMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:B(q.browserNotSupportedMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={color:q.browserNotSupportedMessageColor||u.baseChartMessageColor,fontFamily:q.browserNotSupportedMessageFont||u.baseChartMessageFont,fontSize:q.browserNotSupportedMessageFontSize||
u.baseChartMessageFontSize},ua.setChartMessage(J(q.browserNotSupportedMessage,u.browserNotSupportedMessage),b,h),ua.drawChartMessage(),r=d.hasNativeMessage=!0)))};FusionCharts.register("component",["legend","legend",{customConfigFn:null,init:function(){this.graphics||(this.graphics={});this.item||(this.items=[]);this.components||(this.components={})},drawLegend:function(b,a){var c,p,g,u=this.chart,d=u.config;c=u.components;var D=c.paper,f=this.config,H=this.graphics||(this.graphics={}),M=u.graphics.legendGroup,
m;p=H.box;var q=H.caption,n,t=d.height-d.canvasBottom,v=d.canvasLeft,$a=d.canvasWidth,Hb=f.chartMarginLeft||0,zb=f.chartMarginRight||0,A=f.chartMarginBottom||0,Q=d.actionBarHeight||0,R=f.actualCanvasMarginLeft||0,F=d.actualCanvasMarginBottom||0,G=d.actualCanvasMarginRight||0,I=f.alignLegendWithCanvas,E=d.height,J=d.canvasTop,V=f.width,L=f.height,S=d.borderWidth;g=f.borderRadius;var W=f.backgroundColor,X=f.borderColor,q=f.borderWidth||0,Z=f.legendPos,K=.5*q,Ua=.5*q+2,cb=B(f.padding,4),da=.5*cb,O=f.scroll.enabled,
ka=f.drawn,u=u.get(l,N),U=u.dummyObj,ja=u.animObj,la=u.transposeAnimDuration,oa=u.animType,aa,Y,fa,ca,ra,u=c.legendScrollBar,ta=0,va=0,ta=d.oriCanvasLeft,eb=d.oriTopSpace,va=d.oriBottomSpace,Cb=c.tb,ba=c.toolBoxAPI.Scroller;Z===xb&&(f.align=xb,f.verticalAlign=w,n=f.layout="vertical");n?(void 0===b&&(b=d.width-zb-G-V-S),void 0===a&&(ta=B(eb,J),va=B(va,t),a=ta+.5*(E-va-ta-L)+(f.y||0))):(void 0===b&&(n=d.width-(Hb+R+(zb+G)),n=I?$a-V:n-V,v=I?B(ta,v):Hb+R,b=v+n/2),void 0===a&&(a=E-L-F-A-Q));L=C.crispBound(b,
a,V,L,q);b=L.x;a=L.y;V=L.width;L=L.height;ka?(f.xL&&(f.xL=Qa(qa(f.xL,Ua),d.width-f.width-Ua)),f.yL&&(f.yL=Qa(qa(f.yL,Ua),d.height-f.height-Ua)),M.show().animateWith(U,ja,{transform:["T",f.xL||b,f.yL||a]},la,oa)):M.show().transform(["T",b,a]);f.xPos=b;f.yPos=a;M.attr({cursor:f.legendAllowDrag?"move":T});f.legendAllowDrag&&!f._dragEvtListenerBinded&&(M.drag(function(b,a){f.legendAllowDrag&&(ca=Y+b,ra=fa+a,ca=Qa(qa(ca,Ua),d.width-f.width-Ua),ra=Qa(qa(ra,Ua),d.height-f.height-Ua),M.transform("t"+ca+","+
ra),f.xPos=f.xL=ca,f.yPos=f.yL=ra)},function(){f.legendAllowDrag&&(Y=f.xL||f.xPos,fa=f.yL||f.yPos)}),f._dragEvtListenerBinded=!0);ka={x:0,y:0,width:V,height:L,r:g,stroke:X,"stroke-width":q,fill:W||"none",ishot:f.legendAllowDrag};p?(p.animateWith(U,ja,{x:0,y:0,width:V,height:L,r:g},la,oa),p.attr({stroke:X,"stroke-width":q,fill:W||"none"})):p=H.box=D.rect(ka,M);ka=f.drawn=!0;p.shadow(f&&f.shadow);m=H.itemGroup||(H.itemGroup=D.group("item",M));O?(p={isHorizontal:!1},g={scroll:function(b){m.transform(["T",
0,(aa-f.totalHeight)*b])},mousedown:function(b){b.preventDefault();b.stopPropagation()}},u=c.legendScrollBar,u||(c.legendScrollBar=u=(new ba(p,(Cb.idCount||0)+1,Cb.pId)).attachEventHandlers(g)),aa=L-cb,m.attr({"clip-rect":"0,"+da+(","+V+","+aa)}),c=(aa+cb)/f.totalHeight,u.draw(V-10+da-q,K,{height:L-q,scrollRatio:c,startPercent:0,color:f.legendScrollBgColor}),M.appendChild(u.node)):(u&&u.node&&u.node.hide(),m.attr({"clip-rect":null}),m.node&&m.node.removeAttribute("clip-path"));q=H.caption;if(f.title&&
f.title.text!==T&&f.validLegendItem){switch(f.title.align){case P:O=cb;break;case r:O=V-cb-(O?10:0);break;default:O=.5*V}M.trackTooltip(!0);V=f.title.style;ka={text:f.title.text,title:f.title.originalText||T,x:O,y:cb,fill:f.title.style.color,direction:f.textDirection,"line-height":V.lineHeight,"vertical-align":e,"text-anchor":f.title.align};cb={"font-weight":V.fontWeight,"font-style":V.fontStyle,"font-family":V.fontFamily,"font-size":V.fontSize};q?(q.show().attr(ka),q.css(cb)):q=H.caption=D.text(ka,
cb,m);q.tooltip(f.title.originalText)}else q&&q.hide();f.showLegend&&!1!==f.enabled?this._drawPointLegendItem():M.hide()},reverseLegendFn:function(){var b=this.components.items||[],a,c=[],p,g=0,u=this.config;for(a=b.length-1;0<=a;a--)b[a].configuration.mainDS?(p=a,c=c.concat(b.splice(p,g+1)),g=0):g++;c.length&&(u.orderReversed=!0,this.components.items=c.slice(0))},_manageLegendPosition:function(b){var a=this.config,c=this.chart.hasSubDataset,p=a.legendPos,g=this.components.items;a.reversed?c?!a.orderReversed&&
this.reverseLegendFn():g&&g.reverse():c&&a.orderReversed&&this.reverseLegendFn();return p===xb?this._placeLegendBlockRight(b):this._placeLegendBlockBottom(b)},_placeLegendBlockBottom:function(b){var h=this.chart,c=this.components,p=h.config,g=m.TESTSTR,u=p.width,e=p.height,d=p.canvasLeft,D=p.width-(p.canvasRight||0),f=h.linkedItems.smartLabel,H=this.config,M=H.chartMarginLeft,l=H.chartMarginRight,r=H.chartMarginTop,q=H.alignLegendWithCanvas,n=H.minimiseWrappingInLegend,w=H.legendScale,t=H.numColumns,
v=H.padding,A=2*b,Q=2*v,R=Q,G=H.title,F=G.padding,I=parseInt(H.itemStyle.fontSize,10)||10,C=c.items||[],E=C.length,c=H.oriSymbolPadding,J=H.textPadding,L=H.legendPadding,S=p.canvasMarginRight,W=p.canvasMarginLeft,X=h.components.yAxis||[],h=X[0],X=X[1],h=h&&h.config||{},X=X&&X.config||{},K=h.nameMaxW,pa=X.nameMaxW,N=h.name&&h.name.style||{},P=X.name&&X.name.style||{},da=h.axisName||T,O=X.axisName||T,ka=0,U=0,ja=0,la=0,oa=X=0,aa=0,Y=0,ca=[],fa=!1,ra=0,ta=0,va,eb,Cb=h=p.canvasWidth-p.canvasMarginLeft-
p.canvasMarginRight,ba;H.paddingBottom=p.height-p.canvasBottom;f.useEllipsesOnOverflow(p.useEllipsesWhenOverflow);f.setStyle(N);la=f.getOriSize(da);f.setStyle(P);P=f.getOriSize(O);I+=1;0>=I&&(I=1);h-=Q;c*=w;I=Qa(I*w,h);0>=I&&(c=I=0);H.symbolWidth=I;H.textPadding=4;H.legendHeight=p=I+2*c;H.rowHeight=w=qa(parseInt(H.itemStyle.lineHeight,10)||12,p);v=J+c+v;f.setStyle(H.itemStyle);N=f.getOriSize(g).height;g=L+H.borderWidth/2+1;g=Qa(g,b-N-8);L=.05*w;if(la||P)va=B(la.height,0)>B(P.height,0)?(ba=K)&&la.width:
(ba=pa)&&P.width;h=q?h:u-(va+r>e-b?2*ba+l+M+S+W:l+M+W+S);H.initialItemY=0;H.initialItemX=0;if(H.showLegend&&0!==E){for(u=0;u<E;u+=1)va=C[u],e=va.config||(va.config={}),r=va.configuration,va=e.name=Ja(r.label),va===a||0===r.enabled||!1===r.enabled?e.enabled=0:(e.enabled=1,ja+=1,eb=!0,va=f.getOriSize(va),ka=qa(ka,va.width),oa=qa(oa,Qa(va.height,A)),U+=va.width);H.validLegendItem=eb;la=U/ja;r=p+L+J+c+Q;U+=r*ja;H.x=(d-M-D+l)/2;H.x=!q&&U>Cb?0:H.x;if(eb){la+=r;ka+=r;0<t&&ja<t&&(t=ja);U<=h&&(0>=t||t===ja)?
(t=ja,X=U/ja,fa=!0,oa>w&&(Y=(oa-w)/2,w=oa)):0<t&&(X=h/t)>la?X>ka&&(X=ka):h>ka&&(n||1.5*la>ka)?(t=Ha(h/ka),ja<t&&(t=ja),X=ka):h>=2*la?(t=Ha(h/la),ja<t&&(t=ja),X=Ha(h/t),X>ka&&(X=ka)):(t=1,X=h);H.itemWidth=X;d=ma(X-r);0>d&&(c=d=J=0);H.symbolPadding=c;H.textPadding=J;H.width=X*t-L;G.oriText!==a&&(f.setStyle(G.style),va=f.getSmartText(G.oriText,h,A),G.text=va.text,va.tooltext&&(G.originalText=va.tooltext),G=va.width+Q,H.width<G&&(H.initialItemX=(G-H.width)/2,H.width=G),H.initialItemY=aa=va.height+F);
f.setStyle(H.itemStyle);for(u=0;u<E;u+=1)if(va=C[u],e=va.config,0!==e.enabled){0===d&&(ca[ta]=!0,e.name=a,F=1,G=parseInt(ta/t,10),D=ta%t,e._legendX=D*X,e._legendY=G*w+Q,e._legendH=F*w,e._totalWidth=I+c);if(fa)va=f.getOriSize(e.name),va.height<w&&(e._legendTestY=(w-va.height)/2),e._markerYGutter=Y,e._legendX=ra,e._legendY=Q,e._legendH=w,e._totalWidth=I+v+va.width,ra+=va.width+r;else{va=f.getSmartText(e.name,d,A);e.name=va.text;for(va.tooltext&&(e.originalText=va.tooltext);!0===ca[ta];)ta+=1;G=va.height/
w;D=ta;for(F=0;F<G;F+=1,D+=t)ca[D]=!0;va.height<w&&(e._legendTestY=(w-va.height)/2);G=parseInt(ta/t,10);D=ta%t;e._legendX=D*X;e._legendY=G*w+Q;e._legendH=F*w;e._totalWidth=I+v+va.width}ta++}f=fa?1:ma(ca.length/t);H.height=H.totalHeight=R+(f*w+aa);H.rowHeight=w;H.legendNumColumns=t;H.height-2*c>b?(H.height=b,b=H.scroll||(H.scroll={}),b.enabled=!0,b.flatScrollBars=H.flatScrollBars,b.scrollBar3DLighting=H.scrollBar3DLighting,H.width=H.width+12>h?H.width:H.width+12):H.scroll.enabled=!1;g+=H.height;H.isActive=
!0;H.enabled=!0}else H.enabled=!1,g=H.width=0}else g=0,H.height=0,H.width=0;return{bottom:g,right:0}},_placeLegendBlockRight:function(b){var h=this.config,c=this.components,p=this.chart,g=p.config,u=p.linkedItems.smartLabel,e=p.components.canvas.config.canvasBorderThickness||0,d=h.textPadding,p=h.title.padding,D=h.oriSymbolPadding,f=h.legendPadding,H=h.legendScale,M=parseInt(h.itemStyle.fontSize,10),m=2*g.canvasHeight,l=0,r=2*h.padding,q=r,n={},w=!1,c=c.items||[],t=c.length,v,B,A,G=0;b-=r+f;M+=1;
0>=M&&(M=1);D*=H;M=Qa(M*H,b);0>=M&&(D=M=0);h.symbolPadding=D;h.symbolWidth=M;h.legendHeight=H=M+2*D;h.rowHeight=qa(parseInt(h.itemStyle.lineHeight,10)||12,H);e=f+h.borderWidth/2+e;B=b-H-f-d;0>B&&(B=0);u.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);u.setStyle(h.itemStyle);if(h.showLegend&&0!==t){for(G=0;G<t;G+=1)v=c[G],g=v.config||(v.config={}),A=v.configuration,v=g.name=Ja(A.label),g._legendX=0,g._legendY=q,0===A.enabled||!1===A.enabled||v===a?g.enabled=0:(g.enabled=1,w=!0,0===B?(q+=g._legendH=
H,g.name=a,g._totalWidth=M+D):(v=u.getSmartText(v,B,m),g.name=v.text,v.tooltext&&(g.originalText=v.tooltext),v.height<H&&(g._legendTestY=(H-v.height)/2),g._totalWidth=M+D+d+v.width+f,q+=g._legendH=qa(v.height,H),l=qa(v.width,l)));(h.validLegendItem=w)?(h.itemWidth=l+H+f+d,h.width=h.itemWidth+r,h.title.oriText!==a&&(u.setStyle(h.title.style),v=u.getSmartText(h.title.oriText,b,m),h.title.text=v.text,v.tooltext&&(h.title.originalText=v.tooltext),u=v.width+r,h.width<u&&(h.initialItemX=(u-h.width)/2,h.width=
u),h.initialItemY=v.height+p,q+=h.initialItemY),h.height=h.totalHeight=q,e=Qa(h.width+e,b),n.right=e+f,h.isActive=!0,h.enabled=!0):(h.enabled=!1,h.width=0,n.right=0)}else n.right=0,h.height=0,h.width=0;return n},postSpaceManager:function(){var b=this.config,a=this.chart.config.canvasHeight;b.legendPos===xb&&(b.height>a?(b.height=a,b.scroll.enabled=!0,b.scroll.flatScrollBars=b.flatScrollBars,b.scroll.scrollBar3DLighting=b.scrollBar3DLighting,b.width+=(b.scroll.scrollBarWidth=10)+(b.scroll.scrollBarPadding=
2)):b.scroll.enabled=!1)},configure:function(){var b=this.chart,h=this.config,c=b.config,p=c.style,g=b.jsonData.chart||b.jsonData.map,e=b.components.colorManager,d=b.is3D?u.chart3D:u.chart2D,D,f,H=B(g.useroundedges,0);D=p.outCancolor;f=B(g.legendpadding,7);var M=J(g.legenditemfont,p.outCanfontFamily),m=B(g.legendiconscale,1),l=Za(g.legenditemfontsize,p.fontSize),r=J(g.legenditemfontcolor,D).replace(/^#?([a-f0-9]+)/ig,"#$1"),q=J(g.legendiconbgcolor),n=J(g.legendiconbordercolor),w=J(g.legendiconbgalpha,
g.legendiconalpha,100),t=J(g.legendiconborderalpha,g.legendiconalpha,100),v=B(g.legendiconsides,4),A=B(g.legendiconborderthickness),Q=B(g.legendiconstartangle,45),R=wb(J(g.legenditemhoverfontcolor,r)),F=qb[B(g.legenditemfontbold,0)]||T,p=Za(g.legendcaptionfontsize,p.fontSize)+"px";h.isActive=!1;h.chartMarginTop=c.origMarginTop;h.chartMarginRight=c.origMarginRight;h.chartMarginBottom=c.origMarginBottom;h.chartMarginLeft=c.origMarginLeft;h.showLegend=B(g.showlegend,!b.dontShowLegendByDefault,1);l+=
"px";h.legendPos=J(g.legendposition,b.legendposition,G).toLowerCase();h.numColumns=B(g.legendnumcolumns,0);h.xL=h.yL=0;if(0>=m||5<m)m=1;h.drawCustomLegendIcon=B(g.drawcustomlegendicon,0);h.customLegendConfig={bgColor:q,borderColor:n,bgAlpha:w,borderAlpha:t,borderThickness:A,startAngle:Q,sides:v};h.legendScale=m;h.legendPadding=f;h.oriSymbolPadding=3;h.textPadding=4;h.alignLegendWithCanvas=B(g.alignlegendwithcanvas,1);h.itemStyle={color:Ya(r),fontFamily:M,fontSize:l,fontWeight:F};Ra(h.itemStyle);h.itemHiddenStyle=
{fontFamily:M,fontSize:l,color:Ya(J(g.legenditemhiddencolor,"cccccc").replace(/^#?([a-f0-9]+)/ig,"#$1")),fontWeight:F};Ra(h.itemHiddenStyle);h.title.style={fontFamily:J(g.legendcaptionfont,M),fontSize:p,color:J(g.legendcaptionfontcolor,D).replace(/^#?([a-f0-9]+)/ig,"#$1"),fontWeight:qb[B(g.legendcaptionfontbold,1)]||T};h.title.align=Pa[g.legendcaptionalignment&&g.legendcaptionalignment.toLowerCase()||Pa.center]||Pa.center;h.itemHoverStyle={color:Ya(R.replace(/^#?([a-f0-9]+)/ig,"#$1"))};h.title.style["text-anchor"]=
h.title.align;h.padding=4;c=J(g.legendbordercolor,e.getColor(d.legendBorderColor));D=B(g.legendborderalpha,100);f=B(g.legendbgalpha,100);h.backgroundColor=Ya(J(g.legendbgcolor,e.getColor(d.legendBgColor)),f);h.borderColor=Ya(c,D);h.borderWidth=B(g.legendborderthickness,!H||g.legendbordercolor?1:0);h.borderRadius=B(H,0);h.shadow=!!B(g.legendshadow,1);h.symbol3DLighting=!!B(g.use3dlighting,g.useplotgradientcolor,1);h.shadow&&(h.shadow={enabled:h.shadow,opacity:qa(D,f)/100});h.reversed=!!B(g.reverselegend,
0);h.style={padding:4};h.lineWidth=B(g.linethickness,2);(h.interactiveLegend=!1!==b.hasInteractiveLegend&&!!B(g.interactivelegend,1))?(h.interactiveLegend=!0,h.symbolStyle={_cursor:"hand",cursor:L}):(h.interactiveLegend=!1,h.itemStyle.cursor="default",h.itemHoverStyle.cursor="inherit");h.borderRadius=B(g.legendborderradius,H?3:0);h.legendAllowDrag=!!B(g.legendallowdrag,0);h.title.text=h.title.oriText=Ja(wa(g.legendcaption,a));h.legendScrollBgColor=wb(J(g.legendscrollbgcolor,g.scrollcolor,e.getColor("altHGridColor")));
h.legendScrollBarColor=J(g.legendscrollbarcolor,c);h.legendScrollBtnColor=J(g.legendscrollbtncolor,c);h.minimiseWrappingInLegend=B(g.minimisewrappinginlegend,0);h.flatScrollBars=B(g.flatscrollbars,0);h.scrollBar3DLighting=B(g.scrollbar3dlighting,1);h.orderReversed=!1},_drawPointLegendItem:function(){var b=this,a=b.chart,c=a.hasSubDataset,p=a.config,g=a.get(l,N),u=g.transposeAnimDuration,d=g.animType,D=g.dummyObj,g=g.animObj,H=a.components.dataset,M=a.components.paper,r=b.config,q=r.reversed,n=b.components.items||
[],w=r.legendHeight,t=r.symbolPadding,v=r.symbolWidth,$a=r.interactiveLegend,Hb=r.textPadding||2,zb=B(r.padding,4),p=p.textDirection,A=r.itemHiddenStyle,Q=r.itemStyle,R=r.itemHoverStyle,G=r.lineWidth,F=Q.color,I=A&&A.color||"#CCCCCC",A=b.graphics,C=A.itemGroup,E=r.drawCustomLegendIcon,V=r.customLegendConfig,K,S,W,X,Z,pa,Ua,cb,da,O,U,aa,ja,la,oa,T,ca,fa,Aa,ra,ta,va,eb,Cb,ba,ha,ia,qa,sa,wa=m.hashify,ma=function(b){var k=this.data("legendItem"),g=k.configuration.datasetObj||k.dataset,g=g.getEventArgs?
g.getEventArgs(k):{};b=Oa(a.chartInstance,b);g.chartX=b.chartX;g.chartY=b.chartY;g.pageX=b.pageX;g.pageY=b.pageY;g.legendItemIndex=k.index;g.legendItemId=k.legendItemId;g.preventDefaults=function(){};f.raiseEvent("LegendItemClicked",g,a.chartInstance)},Da=function(b){var k=this.data("legendItem")||{},g=k.configuration.datasetObj||k.dataset,c=this.data("interactive"),g=g.getEventArgs?g.getEventArgs(k):{};b=Oa(a.chartInstance,b);var z=this.data("itemHoverStyle"),p=k.graphics&&k.graphics.legendItemText;
!1!==k.dataset.visible&&c&&p&&p.attr({fill:z.color});g.chartX=b.chartX;g.chartY=b.chartY;g.pageX=b.pageX;g.pageY=b.pageY;g.legendItemIndex=k.index;g.legendItemId=k.legendItemId;f.raiseEvent("LegendItemRollover",g,a.chartInstance)},Ga=function(b){var k=this.data("legendItem")||{},g=k.configuration.datasetObj||k.dataset,c=this.data("interactive"),g=g.getEventArgs?g.getEventArgs(k):{};b=Oa(a.chartInstance,b);var z=!1!==k.dataset.visible,p=this.data("itemStyle"),u=k.graphics&&k.graphics.legendItemText;
z&&c&&u&&u.attr({fill:p.color});g.chartX=b.chartX;g.chartY=b.chartY;g.pageX=b.pageX;g.pageY=b.pageY;g.legendItemIndex=k.index;g.legendItemId=k.legendItemId;f.raiseEvent("LegendItemRollout",g,a.chartInstance)},Ja=function(a){var h=this.data("legendItem"),g=h.dataset;this.data("interactive")&&h.legendClickFN.call(b,g,h,H);ma.call(this,a)},Ha=function(){fa=.5*v;ca=cb+t+fa;X=da+(oa._markerYGutter||0)+t+fa;Ba&&(fa*=.6);qa=ga(va.anchorSide);ra=va.symbol=qa&&qa.split("_")||[];Aa="spoke"===ra[0]?1:0;Ma={polypath:[ra[1]||
2,ca,X,fa,va.startAngle,va.spoke||Aa]};Ia={cursor:Q.cursor||L,stroke:W?eb:I,fill:W?Cb:I,"stroke-width":ta,ishot:$a}},Na,Ia,Ea={},Ba,Ma,Ka;K=r.initialItemX||0;S=r.initialItemY||0;if(!1!==r.enabled&&r.showLegend){C.css(Q);U=0;for(aa=n.length;U<aa;U+=1)r=n[U],r.index=U,va=r.configuration,pa=va.type,oa=r.config=r.config||(r.config={}),A=r.graphics||(r.graphics={}),ja=r.dataset,ja.graphics&&(ja.graphics.legendGraphics=A),eb=oa.strokeColor=va.strokeColor||"000000",Cb=oa.fillColor=va.fillColor||"000000",
oa.interactiveLegend=va.interactiveLegend,oa.legendBackgroundColor=va.legendBackgroundColor?La({color:va.legendBackgroundColor,alpha:20}):La(jb),ba=va.anchorSide,ha=oa.drawLine=va.drawLine,G=va.lineWidth||G,ia=va.lineColor||eb,cb=K+oa._legendX+zb,da=S+oa._legendY-zb,ta=oa.strokeWidth=va.strokeWidth||.5,O=oa._legendH,W=!1!==ja.visible,ja=A.legendItemBackground,Z=A.legendItemText,la=A.legendItemLine,T=A.legendItemSymbol,$a=J(oa.interactiveLegend,$a),!$a&&(Q.cursor="default"),0!==oa.enabled?(sa=cb+w+
Hb-2,Ka=da+(oa._legendTestY||0),Ua={text:oa.name,fill:W?F:I,"text-anchor":P,"vertical-align":e,cursor:Q.cursor||L,direction:p,"line-height":Q.lineHeight},Na=Ma=null,oa.textAttr=Ua,Z?(Z.show().animateWith(D,g,{x:sa,y:Ka},u,d),Z.attr(Ua)):(Ua.x=sa,Ua.y=Ka,Z=A.legendItemText=M.text(Ua,C).data("legendItem",oa)),Ba=!1,E&&!1!==va.customLegendIcon?(sa=V.borderColor,Z=J(V.borderAlpha),ia=V.bgColor,Ua=J(V.bgAlpha,"100"),ba||"line"===pa||ha||"spline"===pa?(pa=wa(va.rawStrokeColor),va.rawFillColor=wa(va.rawFillColor),
Cb=J(ia,va.rawFillColor,oa.color),/^#/.test(Cb)&&(Cb=Ya(Cb,Ua)),ia=J(sa,pa,oa.strokeColor),ia=Ya(ia,Z),oa.anchorSide=V.sides):(pa=J(va.rawFillColor,oa.fillColor),Cb=J(ia,pa),Cb=Ya(Cb,Ua),V.borderColor?ia=Ya(V.borderColor,Z):(/rgb/.test(pa)&&(pa=pb(pa)),ia=db(pa,60).replace(Y,za),ia=Ya(ia,Z))),oa.fillColor=Cb,oa.strokeColor=ia,fa=.5*v,ca=cb+t+fa,X=da+(oa._markerYGutter||0)+t+fa,ra=(qa=ga(V.sides))&&ga(V.sides).split("_")||[],Aa="spoke"===ra[0]?1:0,Ma={polypath:[ra[1]||2,ca,X,fa,V.startAngle,Aa]},Ia=
{cursor:Q.cursor||L,stroke:W?ia:I,fill:W?Cb:I,"stroke-width":B(V.borderThickness,1),ishot:$a}):"line"===pa||ha?(X=da+(oa._markerYGutter||0)+t+.5*v,Na={path:["M",cb+t,X,"L",cb+t+v,X]},Ba=!0,Ea={"stroke-width":G,stroke:W?ia:I,cursor:Q.cursor||L,ishot:$a},ba&&Ha()):ba?Ha():"line"!==pa&&(T=A.legendItemSymbol,pa=b._getSymbolPath(cb+t,da+(oa._markerYGutter||0)+t,v,v,pa),Ma={path:pa.path},Ia={"stroke-width":.5,stroke:W?eb:I,fill:W?Cb:I,cursor:Q.cursor||L,ishot:$a}),Na&&Ba?(oa.lineAttr=Ea,la||(la=A.legendItemLine=
M.path(C),la.attr(Na)),la.show().animateWith(D,g,Na,u,d),la.attr(Ea).data("legendItem",oa)):la&&la.hide(),Ma?(oa.symbolAttr=Ia,T||(T=A.legendItemSymbol=M.polypath(C),T.attr(Ma)),T.show().animateWith(D,g,Ma,u,d),T.attr(Ia),T.data("legendItem",oa)):T&&T.hide(),O={x:cb,y:da,width:oa._totalWidth,height:O},la={r:0,fill:oa.legendBackgroundColor,"stroke-width":1,stroke:"none",cursor:Q.cursor||L,ishot:$a},ja||(ja=A.legendItemBackground=M.rect(C),ja.attr(O).mouseover(Da).mouseout(Ga).click(Ja)),ja.show().animateWith(D,
g,O,u,d),ja.attr(la),ja.data("legendItem",r).data("interactive",$a).data("itemHoverStyle",R).data("itemStyle",Q)):(Z&&Z.hide(),ja&&ja.hide(),T&&T.hide(),la&&la.hide());!c&&q&&n.reverse()}},_getSymbolPath:function(b,a,c,p,g){var u=["M"],e,d,D;switch(g){case "column":case "dragcolumn":case "column3d":e=.25*c;g=.5*e;d=.7*p;D=.4*p;u=u.concat([b,a+p,"l",0,-d,e,0,0,d,"z","m",e+g,0,"l",0,-p,e,0,0,p,"z","m",e+g,0,"l",0,-D,e,0,0,D,"z"]);break;case "bar":case "bar3d":e=.3*c;g=.6*c;d=p/4;D=d/2;u=u.concat([b,
a,"L",b+g,a,b+g,a+d,b,a+d,"Z","M",b,a+d+D,"L",b+c,a+d+D,b+c,a+d+D+d,b,a+2*d+D,"Z","M",b,a+2*(d+D),"L",b+e,a+2*(d+D),b+e,a+p,b,a+p,"Z"]);break;case "area":case "area3d":case "areaspline":case "dragarea":d=.6*p;D=.2*p;g=.8*p;u=u.concat([b,a+g,"L",b,a+d,b+.3*c,a+D,b+.6*c,a+d,b+c,a+D,b+c,a+g,"Z"]);break;case "pie2d":case "pie3d":case "doughnut2d":case "doughnut3d":e=.5*c;g=.9*e;c=b+e+1;p=a+e-1;b=b+e-1;a=a+e+1;u=u.concat(["M",c,p,"L",c,p-g+1,"A",g-1,g-1,0,0,1,c+g-1,p,"Z","M",b,a,"L",b,a-g,"A",g,g,0,1,
0,b+g,a,"Z"]);break;case "boxandwhisker2d":u=u.concat([b,a,"L",b+c,a,b+c,a+p,b,a+p,"Z"]);break;default:u=u.concat([b,a,"L",b+c,a,b+c,a+p,b,a+p,"Z"])}return{path:u}},emptyItems:function(b,a){var c=this.components,p=c.items||(c.items=[]),g,u,c=void 0!==a?a:p.length,e=p.splice(b,c);b=0;for(c=e.length;b<c;b+=1)for(g in p=(e[b]||(e[b]={})).graphics,p)(u=p[g])&&u.remove&&"function"===typeof u.remove&&u.remove()},removeItem:function(b){var a=this.getItems()||[],c,p,g,u=a.length;for(c=0;c<u;c++)if(p=a[c],
g=p.legendItemId,b===g){bb.call(p);a.splice(c,1);break}},addItems:function(b,a,c){var p,g=this.components;p=this.lastItemId;var u=J(b.legendItemId,c.legendItemId),g=g.items||(g.items=[]);void 0!==u?(this.configureItems(u,{legendClickFN:a,configuration:c,dataset:b}),p=u):(void 0===p?this.lastItemId=p="FCLEGEND_0":(p=(p=p.split("_"))&&p[1],this.lastItemId=p="FCLEGEND_"+ ++p),g.push({legendItemId:p,dataset:b,legendClickFN:a,configuration:c||{}}));return p},configureItems:function(b,a){var c=this.components.items,
p,g,u=c.length,e,d;for(g=0;g<u&&(d=c[g],!d.dataset||(e=J(d.dataset.legendItemId,d.legendItemId),e!==b));g++);for(p in d)if(p in a)switch(p){case "configuration":this.mergeConf(a[p],d[p]);break;default:d[p]=a[p]}},mergeConf:function(b,a){var c,p;for(c in b)p=b[c],void 0!==p&&null!==p&&(a[c]=p)},getItems:function(){return this.components.items},hide:function(){this.chart.graphics.legendGroup.hide()}},void 0,{enabled:!0,symbolWidth:12,borderRadius:1,backgroundColor:"#FFFFFF",initialItemX:0,title:{text:T,
x:0,y:0,padding:2},scroll:{},itemStyle:{}}]);FusionCharts.register("component",["toolbox","horizontaltoolbox",{init:function(b){this.config={type:b};this.components={};this.graphics={};this._configure()},_getPosition:function(){var b=this.config.type,a=b.frame,c=b.orientation,p=b.placement,g={chart:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}},canvas:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}}};!b&&(b={});return a&&p&&c?g[a][p][c]:
b},_configure:function(){var b,h,c=this.config,p=this.chart,g=p.jsonData.chart,u=p.config,p=u.width,u=u.height;c.scale=B(g.toolbarbuttonscale,1.15);c.width=B(g.toolbarbuttonwidth,15);c.height=B(g.toolbarbuttonheight,15);c.radius=B(g.toolbarbuttonradius,2);c.spacing=B(g.toolbarbuttonspacing,5);c.fill=Ya(J(g.toolbarbuttoncolor,"ffffff"));c.labelFill=Ya(J(g.toolbarlabelcolor,"cccccc"));c.symbolFill=Ya(J(g.toolbarsymbolcolor,"ffffff"));c.hoverFill=Ya(J(g.toolbarbuttonhovercolor,"ffffff"));c.stroke=Ya(J(g.toolbarbuttonbordercolor,
"bbbbbb"));c.symbolStroke=Ya(J(g.toolbarsymbolbordercolor,"9a9a9a"));c.strokeWidth=B(g.toolbarbuttonborderthickness,1);c.symbolStrokeWidth=B(g.toolbarsymbolborderthickness,1);b=c.symbolPadding=B(g.toolbarsymbolpadding,5);c.symbolHPadding=B(g.toolbarsymbolhpadding,b);c.symbolVPadding=B(g.toolbarsymbolvpadding,b);h=c.position=J(g.toolbarposition,"tr").toLowerCase();switch(h){case "tr":case "rt":case "top right":case "right top":h="tr";break;case "br":case "rb":case "bottom right":case "right bottom":h=
"br";break;case "tl":case "lt":case "top left":case "left top":h="tl";break;case "bl":case "lb":case "bottom left":case "left bottom":h="bl";break;default:h="tr"}b=c.hAlign=(a+g.toolbarhalign).toLowerCase()===ib?"l":h.charAt(1);h=c.vAlign=(a+g.toolbarvalign).toLowerCase()===G?"b":h.charAt(0);c.hDirection=B(g.toolbarhdirection,"r"===b?-1:1);c.vDirection=B(g.toolbarvdirection,"b"===h?-1:1);c.vMargin=B(g.toolbarvmargin,6);c.hMargin=B(g.toolbarhmargin,10);c.x=B(g.toolbarx,"l"===b?0:p);c.y=B(g.toolbary,
"t"===h?0:u)},_manageToolBoxPosition:function(b,a){var c,p,g=0,u=this.components;for(c in u)u.hasOwnProperty(c)&&(p=u[c],p=p._spaceOccupied(),g=qa(g,p.height));g>a&&this._postSpaceManager();return{top:0,bottom:g,left:0,right:0}},addItem:function(b){var a,c,p,g=this.components;for(a=0;a<b.length;a+=1)p=b[a],c=g[p.name]=new (FusionCharts.register("component",["toolButton","button"])),c.init(this,p),c.chart=this.chart},draw:function(){var b,a,c=this.components,p=this.x,g=this.y;for(b in c)c.hasOwnProperty(b)&&
(a=c[b],a.draw(p,g))},_postSpaceManager:function(){}}]);FusionCharts.register("component",["toolBox","verticalToolBox",{},"horizontaltoolbox"]);FusionCharts.register("component",["toolButton","button",{init:function(){this.config={};this.components={};this.graphics={};this._configure.apply(this,arguments)},_configure:function(b,a){var c=b.config,p=this.config;p.type=a.type;p.scale=B(a.scale,c.scale);p.width=B(a.width,c.width);p.height=B(a.height,c.height);p.radius=B(a.radius,c.radius);p.spacing=B(a.spacing,
c.spacing);p.fill=Ya(J(a.fill,c.fill));c.x=B(a.x,c.x);c.y=B(a.y,c.y)},draw:function(){this["_draw"+this.config.type]()},_drawScroller:function(){var b=this.chart,a=b.components,c=b.config,p=b.jsonData.chart,g=a.paper,u=b.graphics,e=a.xAxis["0"]||{},d=e.config||{},D=d.rawAttr.axisLineThickness,a=c.scrollOptions||{},H=c.canvasTop,M=c.canvasLeft,l=c.canvasWidth,r=c.canvasHeight,q=c.canvasBorderWidth,d=q||(d.showLine?D:0),n=q||D,D=q||D,p=c.useRoundEdges||(c.useRoundEdges=B(p.useroundedges,0)),w,t,v,A,
G,Q,R,F,I,E,J,ea=u.scroller,q=u.datasetGroup,V;a.enabled&&(V=u.scroll=u.scroll||g.group("scroll").insertAfter(q),q=a.scrollRatio,A=B(a.startPercent),G=a.viewPortMax,Q=a.viewPortMin,t=a.vxLength,ma(t),R=a.showButtons,F=a.height,I=a.padding,E=a.color,J=a.flatScrollBars,t=a.windowedCanvasWidth=e.getAxisPosition(t),w=a.fullCanvasWidth=e.getAxisPosition(G-Q)-t,v=Sa(A*w),ea||(ea=u.scroller=g.scroller(M-n,H+r+d+I-!!d,l+n+D,F,!0,{showButtons:R,displayStyleFlat:J,scrollRatio:q,scrollPosition:A},V).data("fullCanvasWidth",
w).data("windowedCanvasWidth",t).attr({"scroll-display-style":J,fill:E,r:p&&2||0}).scroll(function(a){var h=c.viewPortConfig;v=-Sa(a*w);h.x=-v/h.scaleX;m.chartAPI.mscolumn2d._drawDataset.call(b);e.draw()})),function(){var a;C.eve.on("raphael.scroll.start."+ea.node.id,function(h){a=h;f.raiseEvent("scrollstart",{scrollPosition:h},b.chartInstance)});C.eve.on("raphael.scroll.end."+ea.node.id,function(h){f.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:h},b.chartInstance)})}());this._finalizeScrollPlots();
return a.enabled},_finalizeScrollPlots:function(){var b=this.chart,a=b.config,c=b.container,p=b.graphics,g=p.scroller,u=p.datasetGroup,e=p.datalabelsGroup,d=p.trackerGroup,D,H={},M,l,q=b.components.xAxis["0"]||{};M=a.scrollOptions||{};var n=B(M.startPercent),w=M.fullCanvasWidth,t,v=a.animation,A=M.startPercent,a=[qa(0,a.canvasLeft),qa(0,a.canvasTop),qa(1,a.canvasWidth),qa(1,a.canvasHeight)];M.enabled&&(u.attr({"clip-rect":a}),e.attr({"clip-rect":a}),d.attr({"clip-rect":a}),M=function(a){var h=p.canvas,
c=D.left,z=D.top,u={pageX:0,pageY:0},e=a.state,u=mb&&m.getTouchEvent(a)||u;a=a.originalEvent;c=(a.clientX||a.pageX||u.pageX)-c;z=(a.clientY||a.pageY||u.pageY)-z;switch(e){case P:l=h.isPointInside(c,z);H.ox=l&&c||null;if(!l)return!1;H.prevScrollPosition=g.attrs["scroll-position"];f.raiseEvent("scrollstart",{scrollPosition:H.prevScrollPosition},b.logic.chartInstance);break;case r:f.raiseEvent("scrollend",{prevScrollPosition:H.prevScrollPosition,scrollPosition:H.scrollPosition},b.logic.chartInstance);
l=!1;H={};break;default:l&&(h=c-H.ox,H.ox=c,H.scrollPosition=g.attrs["scroll-position"]-h/w,g.attr({"scroll-position":H.scrollPosition}))}},mb&&(D=Ia(c),c&&(Ba(c,"pointerdrag",M),Da(c,"pointerdrag",M))),0<n&&(t=-Sa(n*w),u&&u.transform(["T",t,0]),d&&d.transform(["T",t,0]),q.setOffset&&q.setOffset(t),v&&A?b.animationCompleteQueue.push({fn:function(){e&&e.transform(["T",t,0])},scope:b}):e&&e.transform(["T",t,0])))},_spaceOccupied:function(){var b=this.config;return{x:b.x,y:b.y,width:b.width,height:b.height}}}]);
Ka("base",{creditLabel:b,setChartMessage:function(b,a,z){var p=this.components||(this.components={}),g=this.chartInstance,u=g.options,e=g.args,d=this.config||(this.config={}),D=this.linkedItems&&this.linkedItems.smartLabel||g.jsVars.smartLabel,f=m.getImageURL(void 0!==b?b:u.dataEmptyMessage),H,M;z&&!this.linkedItems?this.linkedItems={container:z}:z=this.linkedItems.container;H=d.prevWidth=z.offsetWidth;M=d.prevHeight=z.offsetHeight;b=d.height=Number(M);g=d.width=Number(H);d.hasChartMessage=!0;p.paper?
p.paper.setSize(H,M):(z=p.paper=new C(z,H,M),z.setConfig("stroke-linecap",c));f.image?(b=f.string,a=a?{imageHAlign:J(a._chartMessageImageStyle.imageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(a._chartMessageImageStyle.imageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(a._chartMessageImageStyle.imageAlpha,u.baseChartMessageImageAlpha),imageScale:B(a._chartMessageImageStyle.imageScale,u.baseChartMessageImageScale)}:{imageHAlign:J(e.dataEmptyMessageImageHAlign,
u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(e.dataEmptyMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:B(e.dataEmptyMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:B(e.dataEmptyMessageImageScale,u.baseChartMessageImageScale)},d.chartMessageType="image"):(a=a?{"font-family":a._chartMessageStyle.fontFamily||u.baseChartMessageFont,"font-size":a._chartMessageStyle.fontSize||u.baseChartMessageFontSize,fill:a._chartMessageStyle.color||u.baseChartMessageColor}:
{"font-family":e.dataEmptyMessageFont||u.baseChartMessageFont,"font-size":e.dataEmptyMessageFontSize||u.baseChartMessageFontSize,fill:e.dataEmptyMessageColor||u.baseChartMessageColor},D.setStyle(a),u=D.getSmartText(Ja(f.string),g,b),b={text:u.text,x:g/2,y:b/2},d.chartMessageType="text");d.chartMessageAttr=b;d.chartMessageStyle=a},_hideChartMessage:function(){var b=this.config,a=this.components.chartMessage.graphics,c;"image"===b.chartMessageType&&!a.backgroundImage&&a.backgroundElement&&(b.stopImageDraw=
!0);b&&(b.hasChartMessage=!1);for(c in a)a[c].hide?a[c].hide():a[c][0]&&a[c][0].hide()},drawChartMessage:function(){var b=this.config,a=this.components,c=a.paper,p,a=a.chartMessage||(a.chartMessage={}),a=a.graphics||(a.graphics={});p=this.graphics||(this.graphics={});var g=sa(b.chartMessageAttr,b.chartMessageStyle);p=p.messageGroup||(p.messageGroup=c.group("messageGroup"));this._hideChartMessage();b.hasChartMessage=!0;"image"===b.chartMessageType?this._drawBackground(b.chartMessageAttr,b.chartMessageStyle):
a.message||"text"!==b.chartMessageType?(a.message=a.message.attr(g),a.message.show()):a.message=c.text(g,p);this._drawCreditLabel()},dispose:function(){var b=this.components,b=b&&b.paper,a=this.linkedItems&&this.linkedItems.eventListeners,c=a&&a.length;for(this._clearTimers&&this._clearTimers();c--;)a[c].unlisten();this._removeWaitingJobs();b&&(b.clear(),b.remove());this.chartInstance&&delete this.chartInstance.apiInstance;bb.call(this)},_removeWaitingJobs:function(){var b=this.jobList,a,c,p,g;for(g in b)for(p=
b[g],c=p.length,a=0;a<c;a++)H.removeJob(p[a])},_drawBackground:function(b,h){var c=this,p=c.components,g=c.graphics,u=c.jsonData&&c.jsonData.chart||{},d=p.paper,D=b?p.chartMessage:p.background,H=D.graphics,p=H.backgroundElement,M=H.borderElement,D=D.config||{},r=c.config,q=r.width,n=r.height,Wa,t,v,$a,A,zb,F,Q=c.get&&c.get(l,N)||{},R=Q.animType,C=Q.animObj,Xa=Q.dummyObj,E=Q.duration,Ta,ea,V=b?g.messageGroup:g.backgroundGroup,L=D.borderWidth||0,g=D.borderRadius,Q=D.borderDashStyle,S=D.borderColor,
W=D.bgSWF=J(b,u.bgimage,u.bgswf),X=D.bgSWFAlpha=B(h&&h.imageAlpha,u.bgimagealpha,u.bgswfalpha,100),K=D.imgClipRect=L+","+L+","+(q-2*L)+","+(n-2*L),pa=J(u.bgimagedisplaymode,I).toLowerCase(),P=(h&&ia(h.imageVAlign)||ia(u.bgimagevalign,a)).toLowerCase(),O=(h&&h.imageHAlign||u.bgimagehalign||a).toLowerCase(),da=D.bgImageScale=B(h&&h.imageScale,u.bgimagescale,100),u=D.containerBackgroundColor=m.getContainerBackgroundColor(c);d.canvas.style.backgroundColor=u;"tile"==pa||"fill"==pa||"fit"==pa?(P!=e&&P!=
w&&P!=G&&(P=w),O!=ib&&O!=w&&O!=xb&&(O=w)):(P!=e&&P!=w&&P!=G&&(P=e),O!=ib&&O!=w&&O!=xb&&(O=ib));D.bgSWFAlpha=X;D.bgImageVAlign=P;D.bgImageHAlign=O;D.backgroundColor=D=!b&&c._getBackgroundCosmetics();u={x:L,y:L,width:q-2*L,height:n-2*L,stroke:"none",fill:La(D)};p?(p.animateWith(Xa,C,{x:L,y:L,width:q-2*L,height:n-2*L},E,R),p.attr({stroke:"none",fill:La(D)})):H.backgroundElement=d.rect(u,V);u={x:L/2,y:L/2,width:q-L,height:n-L,stroke:S,"stroke-width":L,"stroke-dasharray":Q,fill:"none",r:g||0};M||b?b||
(M.animateWith(Xa,C,{x:L/2,y:L/2,width:q-L,height:n-L,r:g||0},E,R),M.attr({stroke:S,"stroke-width":L,"stroke-dasharray":Q,fill:"none"})):H.borderElement=d.rect(u,V);if(W)Wa=new hb,v=t=1,Wa.onload=function(){if(r.stopImageDraw)r.stopImageDraw=!1;else{!H.backgroundImage&&(H.backgroundImage=[]);if(H.backgroundImage)for(ea=0,Ta=H.backgroundImage.length;ea<Ta;ea++)H.backgroundImage[ea].hide();$a=Na(pa,P,O,da,L,q,n,Wa);$a["clip-rect"]=K;if($a.tileInfo)for(t=$a.tileInfo.xCount,v=zb=$a.tileInfo.yCount,A=
$a.y,delete $a.tileInfo,F=0;t&&$a.width&&$a.height;)--zb,H.backgroundImage[F]||(H.backgroundImage[F]=d.image(W,V)),H.backgroundImage[F].show(),H.backgroundImage[F].animateWith(Xa,C,$a,E,R),H.backgroundImage[F].attr({src:W}).css({opacity:.01*X}),$a.y+=$a.height,0===zb&&(zb=v,--t,$a.x+=$a.width,$a.y=A),F++;else H.backgroundImage[0]||(H.backgroundImage[0]=d.image(W,V),H.backgroundImage[0].attr($a)),H.backgroundImage[0].show(),H.backgroundImage[0].animateWith(Xa,C,$a,E,R),H.backgroundImage[0].css({opacity:.01*
X}).attr({src:W,visibility:fb,"clip-rect":K});f.raiseEvent("BackgroundLoaded",{url:W,bgImageAlpha:100*X,bgImageDisplayMode:pa,bgImageVAlign:P,bgImageHAlign:O,bgImageScale:da,imageWidth:Wa.width,imageHeight:Wa.height},c.chartInstance)}},Wa.onerror=function(b){f.raiseEvent("BackgroundLoadError",{url:W,bgImageAlpha:100*X,error:b,bgImageDisplayMode:pa,bgImageVAlign:P,bgImageHAlign:O,bgImageScale:da},c.chartInstance)},Wa.src=W;else if(H.backgroundImage)for(ea=0,Ta=H.backgroundImage.length;ea<Ta;ea++)H.backgroundImage[ea].hide()},
redraw:function(){var b=this.graphics.dummyObj;b&&b.stop(void 0,!0,!0);this.draw&&this.draw()},_drawCreditLabel:function(){var b=f.core.options.creditLabel,a=this.chartInstance.args.creditLabel,c=this.config.height,u=this.graphics,g=u.creditLabel,e=u.creditGroup,d=u.parentGroup||u.messageGroup,D=this.components.paper,H={href:m.CREDIT_HREF,text:m.CREDIT_STRING},b=this.creditLabel&&(void 0===a?!1!==b:!1!==a);e||(e=u.creditGroup=D.group("creditgroup"));d&&e.insertAfter(d);c={text:H.text,x:6,y:c-4,"vertical-align":G,
"text-anchor":P,fill:"rgba(0,0,0,0.5)",title:H.title||T};u={fontSize:9,fontFamily:"Verdana,sans",cursor:L,_cursor:"hand"};b&&(g?g.attr(c).css(u):g=this.graphics.creditLabel=D.text(c,u,e).click(function(){try{F.open(H.href)}catch(b){(F.top||F).location.href=H.href}}))},eiMethods:{hideChartMessage:function(){var b=this.apiInstance;b._show.apply(b);b._hideChartMessage(b)}}});Ka("mscartesian",{standaloneInit:!1,tooltipConstraint:"chart",annotationInteractionEvents:!0,useScaleRecursively:!0,init:function(b,
a,c,u){c=this.chartInstance||c;var g=c.jsVars,e=a.colorrange,d;a.chart=a.chart||a.graph||a.map||{};this.jsonData=a;a=this.components||(this.components={});a.background||(a.background={graphics:{},config:{}});a.canvas||(a.canvas={graphics:{},config:{}});d=FusionCharts.register("component",["caption","caption"]);a.caption||(a.caption=new d);a.caption.init();a.caption.chart=this;d=FusionCharts.register("component",["caption","subCaption"]);a.subCaption||(a.subCaption=new d);a.subCaption.init();a.dataset||
(a.dataset=[]);this.linkedItems={container:b,smartLabel:g.smartLabel};a.colorManager=new m.colorManager(this);a.numberFormatter=new Db(this);e&&(a.colorRange=new m.ColorRange(this));this._checkInvalidData()?m.raiseEvent("nodatatodisplay",{},c,[c.id]):(this._createLegend(),this._createGradientLegend(),this.configure(),this.disposeChartStyleSheet(),this._createAxes(),this._feedAxesRawData(),this.config.realtimeEnabled&&(c=FusionCharts.get("component",["manager","alert"]))&&(a.alertManager=new c,a.alertManager.init(this),
a.alertManager.configure()),this._createDatasets(),this._createQuadrant&&this._createQuadrant(),this.draw(),this.setChartEvents());u({hasRendered:!0,container:b})},_checkInvalidData:function(){var b=this.jsonData,a=this.chartInstance;if(!(this.isWidget||this.isMap||b.data&&0!==b.data.length||b.dataset||b.value||b.lineset||b.annotations||b.category||b.tasks||b.process||b.axis))return this.setChartMessage(),this.drawChartMessage(),a.__state.dataReady=!1,a.jsVars.hasNativeMessage=!0,a.jsVars.drawCount+=
1,!0},_createToolBox:function(){var b,a,c,u,g,e,d,D;g=!!F.btoa;var f=this,H=f.jsonData.chart,M=B(H.exportshowmenuitem),l=H.exportformats,r=f.chartMenuTools,H=r.get,q=r.set,r=this.components,n=f.config,w=n.exportOption.enabled;b=r.chartMenuBar;c=r.actionBar;var n=n.printOption.enabled,t={PNG:"Export As PNG",JPG:"Export As JPG",PDF:"Export As PDF",SVG:"Export As SVG",XLS:"Export As XLS"},v,A={},G=[],Q;if(!(b&&b.drawn||c&&c.drawn)){b=r.tb||(r.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));
D=b.init({graphics:f.graphics||(f.graphics={}),chart:f,components:r});r.toolBoxAPI=c=r.toolBoxAPI||(r.toolBoxAPI=b.getAPIInstances(b.ALIGNMENT_HORIZONTAL));u=c.SymbolWithContext;a=c.SymbolStore;e=c.ComponentGroup;d=c.Toolbar;b.idCount=b.idCount||0;b.pId=D;c=b.getDefaultConfiguration();a.register("ContextIcon",function(b,a,h){var k=2*h;h=Sa(k/4);var g=.7*Sa(k/2),k=b-g;b+=g;g=a+h;h=a-h;return["M",k,a,"L",b,a,"M",k,g,"L",b,g,"M",k,h,"L",b,h]});a=new u("ContextIcon",b.idCount++,D);u=a.getListRefernce();
if(w&&0!==M){if(l)for(M=l.split("|"),A=0,w=M.length;A<w;A++)l=M[A].split("="),Q=l[0].toUpperCase(),t[Q]&&(t[Q]=l[1]||t[Q]),t[Q]&&(v||(v={}))&&(v[Q]=!0);M=function(b){return function(){m.exportChart.call(f,b)}};for(Q in t)"XLS"===Q&&!g||v&&!v[Q]||(A={},A[t[Q]]={handler:M({exportformat:Q}),action:"click"},G.push(A));q(G)}n&&q([{Print:{handler:function(b){f.chartInstance.print.call(f.chartInstance,b)},action:"click"}}]);u.appendAsList(H());g=new e(b.idCount++,D);g.setConfiguaration({buttons:c,group:{fill:jb,
borderColor:jb}});g.addSymbol(a);delete r.chartMenuBar;delete r.actionBar;b="t"===g.btnConfig.vAlign?r.chartMenuBar=new d(b.idCount++,b.pId):r.actionBar=new d(b.idCount++,b.pId);b.addComponent(g)}},chartMenuTools:function(){var b=[];return{get:function(){return b},set:function(a){var c,u=a.length||0;for(c=0;c<u;c+=1)b.push(a[c])},reset:function(a,c){var u=c.components,g=u.actionBar;(u=u.chartMenuBar)&&(u.drawn=!1);g&&(g.drawn=!1);b.length=0;a&&(a.idCount=0,a.clean())},update:function(b,a,k){var g=
k.components;k=k.components.toolBoxAPI.SymbolWithContext;var c=(g.chartMenuBar||g.actionBar).componentGroups,u,e,d,D,f,g=0;for(d=c.length;g<d;g++)for(e=c[g],e=e.symbolList||[],D=0,f=e.length;D<f;D++)e[D]instanceof k&&(u=e[D],u=u.getListRefernce().getFirstContainer().atomicLists);u=u||[];g=0;for(d=u.length;g<d;g++)if(k=u[g],k.name===b){k.updateName(a);break}}}}(),getConfig:function(b){return b?this.config[b]:this.config},get:function(b,a){var c=this[b];return a?c&&c[a]:c},disposeChartStyleSheet:function(){var b=
this.components.paper;b&&b.cssClear()},createChartStyleSheet:function(){this.components.paper.cssRender()},configure:function(){var b,h,c,p=this.components,g=this.jsonData,e,d=this.chartInstance,D=p.colorManager,f=this.is3D,H=f?u.chart3D:u.chart2D,M=this.isBar,l,r;l=!1;var q=p.legend,n={linear:"linear",easein:"easeIn",easeout:"easeOut",easeinout:"easeInOut",backin:"backIn",backout:"backOut",elastic:"elastic",bounce:"bounce"};g.chart=g.chart||g.graph||g.map||{};delete g.map;delete g.graph;e=g.chart;
!e&&(e=g.chart={});p.colorRange||(p.colorRange=new m.ColorRange(this));g=this.config||(this.config={});this.__setDefaultConfig();aa(e,g);g.snapLiterals={};g.viewPortConfig={scaleY:1,scaleX:1,x:0,y:0};f&&(M?(g.xDepth=5,g.yDepth=5):(g.xDepth=10,g.yDepth=10),g.showCanvasBase=M=!!B(e.showcanvasbase,1),g.canvasBasePadding=B(e.canvasbasepadding,2),g.canvasBaseDepth=M?B(e.canvasbasedepth,10):0,g.canvasBgDepth=B(e.canvasbgdepth,3));p.colorManager&&p.colorManager.configure();g.placeAxisLabelsOnTop=B(e.placexaxislabelsontop,
0);g.enableAnimation=M=B(e.animation,e.defaultanimation,1);p=B(e.transposeanimation,0);M=M?1E3*B(e.animationduration,1):0;p=p?1E3*B(e.transposeanimduration,.2):0;g.animationObj&&(l=!0);g.animationObj=p={initAnimDuration:M,transposeAnimDuration:p};p.duration=l||void 0!==p.duration?p.transposeAnimDuration:p.initAnimDuration;for(r in n)r===J(e.animationeffect)&&(g.animationeffect=n[r]);g.showToolTip=B(e.showtooltip,1);g.exportOption={enabled:B(e.exportenabled,0),bgcolor:d.jsVars.transparent||0===B(d.options.containerBackgroundOpacity,
1)?a:d.options.containerBackgroundColor||"#ffffff",bgalpha:(d.jsVars.transparent?0:B(d.options.containerBackgroundOpacity,1))+a,exporttargetwindow:J(e.exporttargetwindow,Ga?"_blank":"_self"),exportaction:e.exportaction&&"save"===e.exportaction.toString().toLowerCase()&&"save"||"download",exportfilename:J(e.exportfilename,"FusionCharts"),exporthandler:J(e.html5exporthandler,e.exporthandler,ca),exportparameters:J(e.exportparameters,a),exportformat:J(e.exportformat,"PNG"),exportcallback:J(e.exportcallback,
a),exportwithimages:B(e.exportwithimages,1),exportatclientside:B(e.exportatclientside,0)};g.printOption={enabled:B(e.printshowbutton,e.showprintmenuitem,0)};g.chartMenuOptions={position:b=J(e.toolbarposition,"tr").toLowerCase(),hAlign:h=(a+e.toolbarhalign).toLowerCase()===ib?"l":b.charAt(1),vAlign:c=(a+e.toolbarvalign).toLowerCase()===G?"b":b.charAt(0),hDirection:B(e.toolbarhdirection,"r"===h?-1:1),vDirection:B(e.toolbarvdirection,"b"===c?-1:1),vMargin:B(e.toolbarvmargin,6),hMargin:B(e.toolbarhmargin,
10),x:B(e.toolbarx,"l"===h?0:g.width),y:B(e.toolbary,"t"===c?0:g.height)};b=g.style={};g.textDirection="1"===e.hasrtltext?"rtl":T;b.inCanfontFamily=h=J(e.basefont,"Verdana,sans");b.inCanfontSize=c=Za(e.basefontsize,10);b.inCancolor=d=J(e.basefontcolor,D.getColor(H.baseFontColor));b.outCanfontFamily=J(e.outcnvbasefont,h);b.fontSize=l=Za(e.outcnvbasefontsize,c);b.outCanfontSize=l+vb;b.outCancolor=J(e.outcnvbasefontcolor,d).replace(/^#? ([a-f0-9]+)/ig,"#$1");b.baseFontSize=c;b.inCanfontSize=c+vb;b.inCancolor=
d.replace(/^#? ([a-f0-9]+)/ig,"#$1");b.inCanvasStyle=l={fontFamily:h,fontSize:c,color:d};b.inCanLineHeight=l=Ra(l);r=(r=wa(e.valuebordercolor,a))?Ya(r,B(e.valueborderalpha,e.valuealpha,100)):a;g.showBorder=B(e.showborder,f?0:1);g.borderWidth=qa(g.showBorder?B(e.borderthickness,1):0,0);g.valuefontbold=B(e.valuefontbold,g.valuefontbold);g.dataLabelStyle=f={fontFamily:J(e.valuefont,h),fontSize:J(e.valuefontsize,parseInt(c,10))+vb,lineHeight:l,color:Ya(J(e.valuefontcolor,d),B(e.valuefontalpha,e.valuealpha,
100)),fontWeight:g.valuefontbold?v:ba,fontStyle:B(e.valuefontitalic)?"italic":ba,border:r||e.valuebgcolor?B(e.valueborderthickness,1)+"px solid":T,borderColor:r,borderThickness:B(e.valueborderthickness,1),borderPadding:B(e.valueborderpadding,2),borderRadius:B(e.valueborderradius,0),backgroundColor:e.valuebgcolor?Ya(e.valuebgcolor,B(e.valuebgalpha,e.valuealpha,100)):a,borderDash:B(e.valueborderdashed,0)?ha(B(e.valueborderdashlen,4),B(e.valueborderdashgap,2),B(e.valueborderthickness,1)):"none"};Ra(f);
g.orphanStyles={defaultStyle:{style:sa({},b.inCanvasStyle)},connectorlabels:{style:sa({},g.dataLabelStyle)},vyaxisname:{style:sa({},b.inCanvasStyle)}};g.legendPosition=J(e.legendposition,G);g.logoURL=ia(e.logourl);g.logoPosition=J(e.logoposition,"tl").toLowerCase();g.logoAlpha=B(e.logoalpha,100);g.logoLink=ia(e.logolink);g.logoScale=B(e.logoscale,100);g.logoLeftMargin=B(e.logoleftmargin,0);g.logoTopMargin=B(e.logotopmargin,0);g.minChartWidthPercent=B(e.minchartwidth,this.minChartWidth,50)/100;g.minChartHeightPercent=
B(e.minchartheight,this.minChartHeight,50)/100;g.minCanvasWidthPercent=B(e.mincanvaswidth,this.minCanvasWidth,60)/100;g.minCanvasHeightPercent=B(e.mincanvasheight,this.minCanvasHeight,30)/100;this._parseBackgroundCosmetics();this.components.caption.configure();this._parseCanvasCosmetics();g.origMarginTop=B(e.charttopmargin,this.chartTopMargin,15);g.origMarginLeft=B(e.chartleftmargin,this.chartLeftMargin,15);g.origMarginBottom=B(e.chartbottommargin,this.chartBottomMargin,15);g.origMarginRight=B(e.chartrightmargin,
this.chartRightMargin,15);H=J(e.zeroplanecolor,e.divlinecolor,D.getColor(H.divLineColor));D=J(e.zeroplanealpha,e.divlinealpha,D.getColor("divLineAlpha"));g.zeroPlaneColor=Ya(H,D);g.zeroPlaneBorderColor=Ya(J(e.zeroplanebordercolor,H),B(e.zeroplaneshowborder,1)?D:0);g.zeroPlaneShowBorder=B(e.zeroplaneshowborder,1);g.dataStreamURL=Ja(e.datastreamurl);g.realtimeEnabled=D=B(e.realtimeenabled,this.isRealTime);g.showLegend=B(e.showlegend,this.showLegend,1);g.link=e.clickurl;g.annRenderDelay=1E3*B(e.annrenderdelay,
0);g.transposeAxis=B(this.transposeAxis,e.transposeaxis,0);g.useEllipsesWhenOverflow=B(e.useellipseswhenoverflow,e.useellipsewhenoverflow,1);this.chartMenuTools.reset(this.components.tb,this);g.gLegendPadding=B(e.legendpadding,10);D&&this._realTimeConfigure();this._setToolTipOptions();q.configure();this.linkedItems.linkClickFN=Bb(this.jsonData,this.chartInstance);this._createConfigurableComponents()},_createConfigurableComponents:function(){var b=this.config,a=this.components,c;b.realtimeEnabled&&
b.usemessagelog&&(b=FusionCharts.get("component",["logger","message"]))&&(c=a.messageLogger,c||(a.messageLogger=new b,a.messageLogger.init(this)),a.messageLogger.configure())},_parseBackgroundCosmetics:function(){var b=this.is3D,a=this.components.background.config,c=this.components.colorManager,u=this.jsonData.chart,g;g=a.showBorder=B(u.showborder,this.showBorder,b?0:1);a.borderWidth=g=qa(g?B(u.borderthickness,1):0,0);a.borderRadius=a.borderRadius=B(u.borderradius,0);a.borderDashStyle=a.borderDashStyle=
B(u.borderdashed,0)?ha(B(u.borderdashlen,4),B(u.borderdashgap,2),g):"none";a.borderAlpha=J(u.borderalpha,b?"100":c&&c.getColor("borderAlpha"));a.borderColor=a.borderColor=Ya(J(u.bordercolor,b?"#666666":c&&c.getColor("borderColor")),a.borderAlpha)},_parseCanvasCosmetics:function(){var b,a,c=this.config;a=this.components;var p=a.canvas.config,g=this.jsonData.chart;a=a.colorManager;var e,d=this.is3D?u.chart3D:u.chart2D,D=p.isRoundEdges=B(g.useroundedges,0);b=B(g.showxaxisline,g.showyaxisline,g.showaxislines,
0)?0:1;p.canvasBorderRadius=B(g.plotborderradius,D?2:0);b=p.showCanvasBorder=!!B(g.showcanvasborder,b,void 0,D?0:1);e=p.oriCanvasBorderThickness=qa(B(g.canvasborderthickness,D?0:B(this.canvasborderthickness,2),0));p.canvasBorderWidth=this.is3D?0:b?e:0;p.canvasBorderColor=Ya(J(g.canvasbordercolor,a.getColor("canvasBorderColor")),J(g.canvasborderalpha,a.getColor("canvasBorderAlpha")));b=p.canBGAlpha=J(g.canvasbgalpha,a.getColor("canvasBgAlpha"));p.canBGColor={FCcolor:{color:J(g.canvasbgcolor,a.getColor(d.canvasBgColor)),
alpha:J(g.canvasbgalpha,100),angle:J(g.canvasbgangle,0),ratio:J(g.canvasbgratio)}};a=p.shadow=B(g.showshadow,D,0)&&D?{enabled:!0,opacity:b/100}:0;p.shadowOnCanvasFill=a&&a.enabled;c.origMarginTop=B(g.charttopmargin,15);c.origMarginLeft=B(g.chartleftmargin,15);c.origMarginBottom=B(g.chartbottommargin,15);c.origMarginRight=B(g.chartrightmargin,15);c.origCanvasLeftMargin=B(g.canvasleftmargin,0);c.origCanvasRightMargin=B(g.canvasrightmargin,0);c.origCanvasTopMargin=B(g.canvastopmargin,0);c.origCanvasBottomMargin=
B(g.canvasbottommargin,0);p.canvasPadding=B(g.canvaspadding,0);p.origCanvasTopPad=B(g.canvastoppadding,0);p.origCanvasBottomPad=B(g.canvasbottompadding,0);p.origCanvasLeftPad=B(g.canvasleftpadding,0);p.origCanvasRightPad=B(g.canvasrightpadding,0)},_preDraw:function(){this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._setAxisValuePadding();this._setAxisLimits()},_manageSpace:function(){var b=this.components.canvas.config,a=this.linkedItems.container,c=this.config,
u,g,e,d,D,f,H,M,l,m,r;c.width=u=a.offsetWidth;c.height=r=a.offsetHeight;c.minChartHeight=l=c.minChartHeightPercent*r;c.minChartWidth=m=c.minChartWidthPercent*u;c.minCanvasWidth=a=c.minCanvasWidthPercent*m;c.minCanvasHeight=g=c.minCanvasHeightPercent*l;c.marginTop=e=c.origMarginTop;c.marginLeft=d=c.origMarginLeft;c.marginBottom=D=c.origMarginBottom;c.marginRight=f=c.origMarginRight;c.canvasMarginTop=c.origCanvasTopMargin;c.canvasMarginLeft=c.origCanvasLeftMargin;c.canvasMarginBottom=c.origCanvasBottomMargin;
c.canvasMarginRight=c.origCanvasRightMargin;c.canvasHeight=H=c.height-c.marginTop-c.marginBottom;c.canvasWidth=M=c.width-c.marginLeft-c.marginRight;c.availableHeight=H-g;c.availableWidth=M-a;H<l&&(H=r-l,c.canvasHeight=l,r=e+D,c.marginTop=H*e/r,c.marginBottom=H*D/r,c.availableHeight=l-g);M<m&&(H=u-m,r=f+d,c.canvasWidth=m,c.marginLeft=H*d/r,c.marginRight=H*f/r,c.availableWidth=m-a);c.canvasLeft=c.marginLeft;c.canvasTop=c.marginTop;b.canvasPaddingLeft=Qa(b.origCanvasLeftPad,Sa(.1*c.height));b.canvasPaddingRight=
Qa(b.origCanvasRightPad,Sa(.1*c.height));b.canvasPaddingTop=Qa(b.origCanvasTopPad,Sa(.1*c.height));b.canvasPaddingBottom=Qa(b.origCanvasBottomPad,Sa(.1*c.height));this._spaceManager()},_postSpaceManagement:function(){var b=this.config,a=this.components,c=a.xAxis&&a.xAxis[0],u=a.yAxis&&a.yAxis[0],g=a.legend,e=b.xDepth,d=a.canvas.config,a=d.canvasBorderWidth,D=d.canvasPadding||0,f=d.canvasPaddingLeft,H=d.canvasPaddingRight,M=d.canvasPaddingTop,d=d.canvasPaddingBottom;c&&c.setAxisDimention({x:b.canvasLeft+
(e||0)+qa(f,D),y:b.canvasBottom+(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-(e||0)-qa(f,D)-qa(H,D)});c&&this._allocateXAxisLabelSpace(c);u&&u.setAxisDimention({x:b.canvasLeft-a,y:b.canvasTop+M,opposite:b.canvasRight+a,axisLength:b.canvasHeight-M-d});c&&c.shiftLabels(-e,0);g.postSpaceManager();this._adjustCanvasPadding()},_allocateXAxisLabelSpace:function(b){var a=this.config,c=b.getAxisEndLabelDisplaySpace();b=c.left;var u=c.right,g=c.top,c=c.bottom,e=a.availableWidth,d=a.availableHeight,
D=a.canvasLeft,f=a.canvasRight,H=a.canvasTop,M=a.canvasBottom,l=a.width,m=a.height,r=function(b,a){return b<a&&0<a?a-b:0};g+c>d&&(a=g+c,g=d*g/a,c=d*c/a);b+u>e&&(a=b+u,b=e*b/a,u=e*u/a);b=r(D,b);u=r(l-f,u);g=r(H,g);c=r(m-M,c);this._allocateSpace({left:b,right:u,top:g,bottom:c})},_animCallBack:function(){var b=this.config;b.animationStarted&&(f.raiseEvent("internal.animationComplete",{},this.chartInstance),b.animationStarted=!1)},_setAnimDuration:function(){var b=this.config.animationObj;b&&(b.duration=
b.transposeAnimDuration)},_setDataLabelStyle:function(){var b=this.config.dataLabelStyle;this.graphics.datalabelsGroup.css({fontFamily:b.fontFamily,fontSize:b.fontSize,fontWeight:b.fontWeight,fontStyle:b.fontStyle})},_updateVisuals:function(){var b=this.linkedItems.container,a=this.components,u=a.paper,p=a.tooltip,g=this.chartInstance,e=this.get(l,N),d=e.animType,D=e.dummyObj,f=e.animObj,e=e.duration,H=this.config,M,m=H.prevWidth,r=H.prevHeight;H.animationStarted=!0;u?((m||r)&&u.setSize(m,r),m={width:b.offsetWidth,
height:b.offsetHeight},M=!0,this._chartAnimation(!0),u.animateWith(D,f,m,e,d)):(u=a.paper=new C(b,b.offsetWidth,b.offsetHeight),u.setConfig("stroke-linecap",c));H.prevWidth=b.offsetWidth;H.prevHeight=b.offsetHeight;u.tooltip(p.style,p.config.shadow,p.config.constrain);this.setChartCursor();this._createLayers();this._setDataLabelStyle();!M&&this._chartAnimation(!0);this._drawBackground();!1!==this.hasCanvas&&this._drawCanvas();a.chartMenuBar&&this._drawChartMenuBar();this._manageCaptionPosition();
a.caption&&a.caption.draw();this.drawLegend();a.actionBar&&this.drawActionBar();this._drawAxis&&this._drawAxis();this._drawDataset();this._drawQuadrant&&this._drawQuadrant();this._drawCreditLabel();this._drawLogo();g.annotations&&this._drawAnnotations();this.drawAxisUpdateUI&&this.drawAxisUpdateUI();a.messageLogger&&a.messageLogger.isDrawn()&&a.messageLogger.draw();this.drawScrollBar&&this.drawScrollBar();this.showRTvalue&&H.realTimeConfig.showRTValue&&this._drawRealTimeValue()},_chartAnimation:function(b){var a=
this,c=a.graphics,u=a.components.paper,g=a.config.animationObj,e,d=g.duration||g.transposeAnimDuration,D=a.config,f=D.animationeffect,H=function(){a._animCallBack()};!d||D.parentElementPause?setTimeout(a._animCallBack.bind(a),0):(g.animObj=d=C.animation({x:0},d,f,H,!1),g.animType=f,(e=c.dummyObj)?e.attr({x:100}):(c.dummyObj=e=u.rect({x:100,y:0,width:10,height:30}),e.hide()),g.dummyObj=c.dummyObj,b?(e.stop(void 0,!0,!0),e.animate(d),e.pause(void 0,!0),D.parentElementPause=!0,setTimeout(function(){D.parentElementPause=
!1;a._setAnimDuration();e.resume(void 0,!0)},0)):(setTimeout(function(){a._setAnimDuration()},0),e.animate(d)))},draw:function(){var b=this.chartInstance;this.config.hasChartMessage?(this._hide(),this.drawChartMessage(),m.raiseEvent("nodatatodisplay",{},b,[b.id]),this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!1,this.chartInstance.jsVars.hasNativeMessage=!0):(this._clearTimers&&this._clearTimers(),this._show(),this._preDraw(),this._createToolBox(),this._manageSpace(),
this._postSpaceManagement(),this._updateVisuals(),this.inited=!0,this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!0,this.chartInstance.jsVars.hasNativeMessage=!1)},drawLegend:function(){var b=this.components,a=b.legend,b=b.gradientLegend,c=this.hasLegend;this.config.gLegendEnabled?(a&&a.hide(),this.drawGradientLegend&&this.drawGradientLegend()):(b&&b.elem&&b.elem.gl.carpet&&b.elem.gl.carpet.node&&b.elem.gl.carpet.group.hide(),!1!==c&&a.drawLegend())},manageGradientLegendSpace:function(b){var a=
this.components.gradientLegend,c=a&&a.conf,u;u=Qa(this.config.gLegendPadding,.5*b);c?(c=c.legendPosition,b=a.getLogicalSpace(b),u=c===G?{bottom:(b.height||0)+u}:{right:(b.width||0)+u}):u={bottom:0,right:0};return u},drawGradientLegend:function(){var b=this.components,a=this.config,c=this.jsonData.colorrange,u=b.gradientLegend||{},g=(u.conf||{}).legendPosition,e=a.canvasLeft,d=a.canvasTop,D=a.canvasWidth,f=a.canvasHeight,H=a.marginBottom,M=a.marginRight,l=this.hasGradientLegend,m,r,q;m=u.getLogicalSpace();
r=m.width;q=m.height;g===G?(g=D-r,M=e+(0>g?0:g/2),H=a.height-m.height-H-(a.actionBarHeight||0)):(g=f-q,H=d+(0>g?0:g/2),M=a.width-m.width-M);c&&l&&u.draw(M,H,{paper:b.paper,parentGroup:this.graphics.parentGroup})},_drawAxis:function(){var b=this.components,a=b.yAxis||[],c=b.xAxis||[],b=b.scale,u,g;u=0;for(g=c.length;u<g;u++)c[u].draw();u=0;for(g=a.length;u<g;u++)a[u].draw();b&&b.draw()},_drawAnnotations:function(){var b=this.jsonData,a=b.chart,c=this.config,u=c.width,g=c.height,c=b&&b.annotations||
{},e=this.chartInstance.annotations;if(b&&a&&B(a.showannotations,1)){var b=B(c.scaleonresize,a.scaleonresize,1),a={interactionevents:J(this.annotationInteractionEvents,!0),showbelow:J(c.showbelow,c.showbelowchart),autoscale:c.autoscale,scaletext:c.scaletext,scaleimages:c.scaleimages,constrainedscale:c.constrainedscale,scaleonresize:b,origw:J(c.origw,a.origw,this.origRenderWidth,u),origh:J(c.origh,a.origh,this.origRenderHeight,g),xshift:c.xshift,yshift:c.yshift,grpxshift:c.grpxshift,grpyshift:c.grpyshift,
xscale:c.xscale,yscale:c.yscale,rootxscale:B(c.xscale,100)/100,rootyscale:B(c.yscale,100)/100},d;a||(a={});for(d in void 0)a[d]=(void 0)[d];e.reset(c,a,this)}else e.clear();e.draw(this)},_clearTimers:function(){var b=this.config&&this.config.realTimeConfig,a=this.linkedItems.timers,c=a&&a.setTimeout,a=a&&a.setInterval,u;b&&(b.refreshIntervalFlag=!1);for(u in c)clearTimeout(c[u]);for(u in a)clearInterval(a[u])},_createLayers:function(){var b=this.graphics||(this.graphics={}),a,c,u=this.components.paper,
b=this.graphics;b.parentGroup=a=b.parentGroup||u.group("parentgroup");b.backgroundGroup=b.backgroundGroup||u.group("background",a);b.canvasGroup=b.canvasGroup||u.group("canvas",a);b.axisBottomGroup=b.axisBottomGroup||u.group("axisbottom",a);b.datasetGroup=c=b.datasetGroup||u.group("dataset",a);b.axisTopGroup=b.axisTopGroup||u.group("axistop",a);b.sumLabelsLayer=b.sumLabelsLayer||u.group("sumlabels",a);b.datalabelsGroup=b.datalabelsGroup||u.group("datalabel",a);b.legendGroup=b.legendGroup||u.group("legend",
a);b.captionGroup=b.captionGroup||u.group("caption",a);b.captionGroup.trackTooltip(!0);b.columnGroup=b.columnGroup||u.group("column",c);b.areaGroup=b.areaGroup||u.group("area",c);b.lineGroup=b.lineGroup||u.group("line",c);b.trackerGroup||(b.trackerGroup=u.group("tracker",a),b.trackerGroup.trackTooltip(!0));b.buttonGroup=b.buttonGroup||u.group("buttons")},_spaceManager:function(){var b,a,c=this.config,u=this.components,g=u.xAxis&&u.xAxis[0];a=u.yAxis&&u.yAxis||[];var e,d,D=u.legend.config.legendPos,
f=c.xDepth,H=c.yDepth,M=c.canvasBgDepth,l=c.canvasBaseDepth,m=c.canvasBasePadding,r=u.canvas.config.canvasBorderWidth,q=c.realTimeConfig&&c.realTimeConfig.showRTValue,n=c.borderWidth,w=c.canvasMarginTop,t=c.canvasMarginBottom,v=c.canvasMarginLeft,B=c.canvasMarginRight,u=c.minCanvasHeight,A=c.minCanvasWidth;b=c.minChartWidth;var F=c.minChartHeight,I=c.height,C=c.width,E=!1,J=!1,L,V=c.origCanvasTopMargin,K=c.origCanvasBottomMargin,S=c.origCanvasLeftMargin,W=c.origCanvasRightMargin,X,Z,P=[];c.canvasWidth-
2*n<b&&(d=(c.canvasWidth-b)/2);c.canvasHeight-2*n<F&&(e=(c.canvasHeight-F)/2);this._allocateSpace({top:e||n,bottom:e||n,left:d||n,right:d||n});n=0;for(d=a.length;n<d;n++)e=a[n],b=.7*c.availableWidth,b=e&&e.placeAxis(b)||{},P.push({axisIndex:n,spaceTaken:b}),e&&this._allocateSpace(b);c.yAxisSpaceAllocation=P;this._allocateSpace(this._manageActionBarSpace&&this._manageActionBarSpace(.225*c.availableHeight)||{});this._manageLegendSpace(void 0);a=D===G?.6*c.availableHeight:.6*c.availableWidth;H&&(this._allocateSpace({bottom:H}),
c.shift=f+m+l);M&&this._allocateSpace({right:M});c.canvasWidth-2*r<A&&(Z=(c.canvasWidth-A)/2);this._allocateSpace({left:Z||r,right:Z||r});A>C-v-B&&(J=!0,H=c.canvasWidth-A,f=v+B,v=c.canvasMarginLeft=H*v/f,B=c.canvasMarginRight=H*B/f);v=v>c.canvasLeft?v-c.canvasLeft:0;B=B>C-c.canvasRight?B+c.canvasRight-C:0;this._allocateSpace({left:v,right:B});J&&(f=S+W,J=c.canvasWidth,J>A&&(H=J-A,v=H*S/f,B=H*W/f),this._allocateSpace({left:v,right:B}));c.actualCanvasMarginRight=B;c.actualCanvasMarginBottom=L;this._manageChartMenuBar(a);
a=.2*c.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*c.availableHeight;c.realtimeEnabled&&(q?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());this._resetViewPortConfig&&this._resetViewPortConfig();this._setAxisScale&&this._setAxisScale();a=.6*c.availableHeight;c.xAxisSpaceAllocation=L=g&&g.placeAxis(a);g&&this._allocateSpace(L);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*c.canvasWidth));a=.3*c.availableHeight;this._manageScrollerPosition&&
this._manageScrollerPosition(a);c.canvasHeight-2*r<u&&(X=(c.canvasHeight-u)/2);this._allocateSpace({top:X||r,bottom:X||r});this._allocateSpace({bottom:l});u>I-w-t&&(E=!0,H=c.canvasHeight-u,f=w+t,w=c.canvasMarginTop=H*w/f,t=c.canvasMarginBottom=H*t/f);g=w>c.canvasTop?w-c.canvasTop:0;L=t>I-c.canvasBottom?t+c.canvasBottom-I:0;this._allocateSpace({top:g,bottom:L});E&&(f=V+K,l=c.canvasHeight,l>u&&(H=l-u,g=H*V/f,L=H*K/f),this._allocateSpace({top:g,bottom:L}));c.actualCanvasMarginTop=g;c.actualCanvasMarginLeft=
v},_manageLegendSpace:function(){var b=this.config,a=this.components,c=a.legend,u=a.gradientLegend,g;g=this.jsonData.colorrange;var a=this.hasLegend,e={},d=this.hasGradientLegend,D=B(this.jsonData.chart.mapbycategory,0);d&&g&&B(g.gradient)&&!D?(g=u.conf,d=!0,b.gLegendEnabled=!0,u=.5,g=g.legendPosition):(g=c.config,d=!1,b.gLegendEnabled=!1,g=g.legendPos,u=g===xb?.8:.4);b=g===xb?b.availableWidth*u:b.availableHeight*u;d?e=this.manageGradientLegendSpace(b):!1!==a&&(e=c._manageLegendPosition(b));this._allocateSpace({bottom:e.bottom||
0,right:e.right||0})},_getSumValueSpace:function(b){var a={},c=this.isBar,u=this.jsonData.chart,a=0!==this.showsum?B(u.showsum,this.showsum,0):0,g=this.config.stack100percent,e=this.config.isstacked,u=0,d=this.components["datasetGroup_"+this.defaultDatasetType],D=0;a&&g&&e&&d&&(a=d.getMaxSumValueSpace(),c?u=a.maxWidth:D=a.maxHeight,D>b&&(D=b),u>b&&(u=b));return{top:D,right:u}},_setAxisValuePadding:function(){var b=this.components.dataset,a=b.length,c,u,g=-Infinity,e=-Infinity,d=this.components.xAxis;
for(c=0;c<a;c++)u=b[c],u=u.getAxisValuePadding&&u.getAxisValuePadding()||{},g=qa(g,u.left||-Infinity),e=qa(e,u.right||-Infinity);-Infinity===g&&(g=0);-Infinity===e&&(e=0);d&&d[0].setAxisPadding(g,e)},_fetchCaptionPos:function(b){var a=this.config,c=this.components,u=a.width,g=c.chartMenuBar,e=g.componentGroups[0].btnConfig,g=g.getLogicalSpace().width,c=c.caption.config,d=c.width,e="l"===e.hAlign,D=a.width-b,f=a.origMarginRight,H=a.origMarginLeft,M=e?H:f;return c.align===w?(e?b:D)-d/2-M-g:c.align===
P?e?-1:u-a.canvasLeft-M-d-g+c.horizontalPadding:e?u-(f+H+g+d):-1},_manageChartMenuBar:function(b){var a=this.config,c=this.components,u=c.chartMenuBar,g=u&&u.getLogicalSpace(),c=c.caption.config,e=c.isOnTop,d=a.width/2,D=a.canvasRight,f=D?(a.canvasLeft+D)/2:d,D=0,d=c.alignWithCanvas?f:d,D=u&&u.componentGroups[0].btnConfig,u=g&&D.spaceNotHardCoded;D&&D.spaceNotHardCoded&&(D.x=B("l"===D.hAlign?0:a.width),D.y=B("t"===D.vAlign?0:a.height));delete c._offsetHeight;e?(b=this._manageCaptionSpacing(b),u&&
(D=this._fetchCaptionPos(d),c._offsetHeight=0>D?g.height:0,b.top=0>D?B(b.top,0)+g.height:qa(b.top,g.height))):(this._allocateSpace({top:u?g.height:0}),b=this._manageCaptionSpacing(b));this._allocateSpace(b);return{top:g?qa(g.height,b.top):b.top,bottom:b.bottom}},_manageActionBarSpace:function(){var b=this.config,a=this.components.actionBar,a=(a&&a.getLogicalSpace()||{}).height||0;b.actionBarHeight=a;return{bottom:a}},_getDSspace:function(b){var a=this.components.dataset,c,u=a.length,g,e,d={},D={left:0,
right:0,top:0,bottom:0,paddingLeft:0,paddingRight:0,paddingBottom:0,paddingTop:0},f;for(g=0;g<u;g++)if(c=a[g],e=c.groupManager)d[c.type]=e;else if(c.manageSpace)for(f in c=c.manageSpace&&c.manageSpace(),c)D[f]=qa(c[f],D[f]);for(f in d)if(e=d[f],e.manageSpace)for(f in c=e.manageSpace&&e.manageSpace(b),c)D[f]=qa(c[f],D[f]);a=D.paddingLeft;u=D.paddingRight;g=a+u;b<g&&(D.paddingLeft=b*a/g,D.paddingRight=b*u/g);return D},_adjustCanvasPadding:function(){for(var b=this.config,a=this.components,c=a.dataset,
u=c.length,g=a.xAxis&&a.xAxis[0],e=b.xDepth,d={},D,f,H,M=a.canvas.config,l=M.canvasBorderWidth,m=M.canvasPadding,a=0;a<u;a++)D=c[a],(f=D.groupManager)&&(d[D.type]=f);for(H in d)f=d[H],f.preDrawCalculate&&f.preDrawCalculate();this._getDSspace&&(this._allocateSpace(this._getDSspace(.4*b.canvasWidth)),g&&g.setAxisDimention({x:b.canvasLeft+(e||0)+qa(M.canvasPaddingLeft,m),y:b.canvasBottom+(b.shift||0)+l,opposite:b.canvasTop-l,axisLength:b.canvasWidth-(e||0)-qa(M.canvasPaddingLeft,m)-qa(M.canvasPaddingRight,
m)}))},_setAxisLimits:function(){var b=this.components,a=b.dataset,c=b.yAxis,b=b.xAxis,u,g=a.length,e,d=-Infinity,D=Infinity,f=Infinity,H=-Infinity,M,l,m,r={},q=[],n=function(b){l=J(b.xMax,-Infinity);m=J(b.xMin,Infinity);d=qa(d,b.max);D=Qa(D,b.min);H=qa(H,l);f=Qa(f,m)};for(e=0;e<g;e++)u=a[e],(M=u.groupManager)?r[u.type]=M:q.push(u);for(M in r)a=r[M].getDataLimits(),n(a);g=q.length;for(e=0;e<g;e++)a=q[e].getDataLimits(),n(a);n(this._getTrendLineMinMax("h"));-Infinity===d&&(d=0);Infinity===D&&(D=0);
this.config.yMax=d;this.config.yMin=D;c[0].setAxisConfig({isPercent:this.config.isstacked?this.config.stack100percent:0});c[0].setDataLimit(d,D);if(-Infinity!==H||Infinity!==f)b[0].config.xaxisrange={max:H,min:f},b[0].setDataLimit(H,f)},_getTrendLineMinMax:function(b,a){var c="v"===b?this.jsonData.vtrendlines:this.jsonData.trendlines,u={max:-Infinity,min:Infinity},g,e,d,D,f;a=a||"p";if(c)for(e=0,D=c.length;e<D;e+=1)for(d=0,f=c[e].line?c[e].line.length:0;d<f;d+=1)g=c[e].line[d],"s"===a&&"s"!==g.parentyaxis||
"s"!==a&&"s"===g.parentyaxis||(u.max=qa(g.startvalue||-Infinity,g.endvalue||-Infinity,u.max),u.min=Qa(g.startvalue||Infinity,g.endvalue||Infinity,u.min));return u},_setToolTipOptions:function(){var b=this.components,a=this.components.colorManager,c=this.jsonData.chart,u=b.tooltip||(u=b.tooltip={}),b=u.config||(b=u.config={}),g=this.config,e=g.style,g=g.style.inCanvasStyle,d,D,f;d=Ya(J(c.tooltipbgcolor,a.getColor("toolTipBgColor")),J(c.tooltipbgalpha,100));a=Ya(J(c.tooltipbordercolor,a.getColor("toolTipBorderColor")),
J(c.tooltipborderalpha,100));D=B(c.tooltipborderthickness,1)+"px";f=B(c.tooltippadding,3)+"px";u=u.style={fontFamily:e.inCanfontFamily,fontSize:e.inCanfontSize,lineHeight:g.lineHeight,color:Ya(e.inCancolor),backgroundColor:d,borderColor:a,borderWidth:D,padding:f};c.tooltipcolor&&(u.color=wb(c.tooltipcolor));if(c.tooltipborderradius||c.useroundedges)u.borderRadius=B(c.tooltipborderradius,2)+"px";b.shadow=B(c.showtooltipshadow,c.showshadow,1)?{enabled:!0,opacity:qa(B(c.tooltipbgalpha,100),B(c.tooltipborderalpha,
100))/100}:!1;b.constrain=B(c.constraintooltip,1)},_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),c;b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new a;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,c=a.colorManager,e=this.jsonData,g=e.chart,d,D=this.is3d,f=D?u.chart3D:u.chart2D;d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,
g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:g.xaxisbreaks,axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,
axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(f.divLineColor)),
divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:B(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:!!B(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:B(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatevgridcolor,0),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,
c.getColor("altVGridAlpha")),numDivLines:B(g.numvdivlines,this.numVDivLines),labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,maxLabelHeight:g.maxlabelheight,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:B(g.setadaptivexmin,this.setadaptivexmin,b.setadaptivexmin),adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,
rotateLabels:g.rotatelabels,slantLabel:B(g.slantlabels,g.slantlabel),labelStep:B(g.labelstep,g.xaxisvaluesstep),showAxisValues:B(g.showxaxisvalues,g.showxaxisvalue),showLimits:B(g.showvlimits,this.showvlimits),showDivLineValues:B(g.showvdivlinevalues,g.showvdivlinevalues,this.showvdivlinevalues),showZeroPlane:B(g.showvzeroplane,this.showzeroplane),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:B(g.vzeroplanethickness,g.vdivlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:B(g.vzeroplanealpha,
g.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:B(g.showvzeroplanevalue,this.showzeroplanevalue),trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:D?0:B(g.showxaxisline,g.showaxislines,g.drawAxisLines,this.showxaxisline,0),axisLineThickness:B(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,
g.axislinecolor,"#000000")};b={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:g.yaxisbreaks,axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,
axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,
axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:B(g.rotateyaxisname,1),axisName:g.yaxisname,divLineColor:J(g.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:J(g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:B(g.divlinethickness,1),divLineIsDashed:!!B(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.divlinedashlen,4),divLineDashGap:B(g.divlinedashgap,
2),showAlternateGridColor:B(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:B(g.numdivlines,this.numDivLines),axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:B(g.setadaptivesymin,g.setadaptiveymin),adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:B(g.showyaxisvalues,g.showyaxisvalue,this.showyaxisvalues),showLimits:B(g.showyaxislimits,
g.showlimits,this.showLimits),showDivLineValues:B(g.showdivlinevalues,g.showdivlinevalue,this.showdivlinevalues),showZeroPlane:B(g.showzeroplane,this.showzeroplane),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:B(g.zeroplanethickness,g.divlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:B(g.zeroplanealpha,g.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:B(g.showzeroplanevalue,this.showzeroplanevalue),showZeroPlaneOnTop:b.showzeroplaneontop,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,
trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:D?0:B(g.showyaxisline,g.showaxislines,g.drawAxisLines,this.showyaxisline,0),axisLineThickness:B(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000")};d.vtrendlines=e.vtrendlines;b.trendlines=e.trendlines;e=a.yAxis&&a.yAxis[0];a=a.xAxis&&a.xAxis[0];e&&(e.setCommonConfigArr(b,
!0,!1,!1),e.configure());a&&(a.setCommonConfigArr(d,!1,!1,!1),a.configure())},_createLegend:function(){var b=this.components,a=FusionCharts.register("component",["legend","legend"]);Ma=b.legend=new a;Ma.chart=this;Ma.init()},_createGradientLegend:function(){var b=this.components,a;this.hasGradientLegend&&(a=b.gradientLegend=b.gradientLegend||new (FusionCharts.register("component",["gradientLegend","gradientLegend"])),b.postLegendInitFn=a.init({chart:this}))},_setCategories:function(){var b=this.jsonData,
a=this.components.xAxis,b=b.categories&&b.categories[0].category;a&&a[0].setCategory(b)},_getDiff:function(b,a,c,u){c>b&&(b=c,a=u);return{diff:b,startIndex:a}},_createDatasets:function(){var b,a=this.components,c=a.xAxis[0],u=this.jsonData,g=u.dataset,e=g&&g.length,d,D,f,H=this.defaultDatasetType,M=this.applicableDSList,l=this.components.legend.components.items||[],m,r,q,n=this.config.isstacked,w,t,v=[],B=this.isRealTime,A=this.config.catLen,G={};g&&0!==g.length||this.setChartMessage();this.config.categories=
u.categories&&u.categories[0].category;d=a.dataset||(a.dataset=[]);D=d.length;for(u=0;u<e;u++)if(q=g[u],q.seriesname&&(q.seriesname=Ja(q.seriesname)),f=q.parentyaxis||T,r=(r=this.isDual&&"s"===f.toLowerCase()?J(q.renderas,this.sDefaultDatasetType):J(q.renderas,H))&&r.toLowerCase(),M[r]||(r=H),b=FusionCharts.get("component",["dataset",r]))void 0===G[r]?G[r]=0:G[r]++,w="datasetGroup_"+r,f=FusionCharts.register("component",["datasetGroup",r]),(m=a[w])&&v.push(m),f&&!m&&(m=a[w]=new f,m.chart=this,m.init()),
(f=d[u])?(r=c.getCategoryLen(),b=A-r,w=B?f.components:f.JSONData,t=w.data&&w.data.length,w=B?0:q.data&&q.data.length||0,t-=w,b=this._getDiff(t,w,b,r),r=b.diff,b=b.startIndex,this.config._dataUpdated=!0,0<r&&f.removeData(b,r,!1),this.config._dataUpdated=!1,d[u].JSONData=q,d[u].configure(),d[u]._deleteGridImages&&d[u]._deleteGridImages()):(f=new b,d.push(f),f.chart=this,f.index=u,m&&(n?m.addDataSet(f,0,G[r]):m.addDataSet(f,G[r],0)),f.init(q));if(D>e){r=D-e;m&&n&&m.removeDataSet(0,u,r);a=u;for(e=r+u;a<
e;a++)m&&!n&&m.removeDataSet(u,0,1),bb.call(d[a]);d.splice(u,r);l.splice(u,r)}this.config.catLen=c.getCategoryLen()},_drawDataset:function(){var b=this.components.dataset,a,c=b.length,u,g,e={},d=[];for(u=0;u<c;u++)a=b[u],(g=a.groupManager)?e[a.type]=g:d.push(a);for(g in e)e[g].draw();c=d.length;for(u=0;u<c;u++)d[u].draw()},_drawCanvas:function(){var b=this.jsonData.chart,a=this.components,u=this.config,e=this.graphics,g=a.paper,d=a.canvas,a=d.graphics,D=d.config,d=D.clip={},f=a.canvasBorderElement,
H=this.get(l,N),M=H.animType,m=H.animObj,r=H.dummyObj,H=H.duration,q=a.canvasElement,n=u.canvasLeft,w=u.canvasTop,t=u.canvasWidth,v=u.canvasHeight,Hb=D.xDepth=u.xDepth||0,u=D.yDepth=u.yDepth||0,e=e.canvasGroup,G=D.canvasBorderRadius,F=D.canvasBorderWidth,Q=.5*F,R=D.canvasBorderColor,I=D.canBGColor,C=D.canBGAlpha,E=D.shadow,b=D.showCanvasBG=!!B(b.showcanvasbg,1),J=D.shadowOnCanvasFill,L=D.showCanvasBorder,D={x:n-Q,y:w-Q,width:t+F,height:v+F,r:G,"stroke-width":F,stroke:R,"stroke-linejoin":2<F?c:A};
L?f?(f.show(),f.animateWith(r,m,{x:n-Q,y:w-Q,width:t+F,height:v+F,r:G},H,M),f.attr({"stroke-width":F,stroke:R,"stroke-linejoin":2<F?c:A}),f.shadow(E)):a.canvasBorderElement=g.rect(D,e).shadow(E):f&&f.hide();d["clip-canvas"]=[qa(0,n-Hb),qa(0,w-u),qa(1,t+2*Hb),qa(1,v+u)];d["clip-canvas-init"]=[qa(0,n-Hb),qa(0,w-u),1,qa(1,v+2*u)];b?(D={x:n,y:w,width:t,height:v,r:G,"stroke-width":0,stroke:"none",fill:La(I)},q?(q.show(),q.animateWith(r,m,{x:n,y:w,width:t,height:v,r:G},H,M),q.attr({"stroke-width":0,stroke:"none",
fill:La(I)})):q=a.canvasElement=g.rect(D,e),J?q.shadow({opacity:C/100}):q.shadow(!1)):q&&q.hide()},_getBackgroundCosmetics:function(){var b=this.jsonData.chart,a=this.components.colorManager,c=this.is3D?u.chart3D:u.chart2D;return{FCcolor:{color:J(b.bgcolor,this.bgColor,a.getColor(c.bgColor)),alpha:J(b.bgalpha,this.bgAlpha,a.getColor(c.bgAlpha)),angle:J(b.bgangle,a.getColor(c.bgAngle)),ratio:J(b.bgratio,a.getColor(c.bgRatio))}}},_manageCaptionSpacing:function(b,a){return this.components.caption.manageSpace(b,
a)},_manageCaptionPosition:function(){this.components.caption.managePosition()},drawActionBar:function(){var b=this.config,a=this.components,c=a.actionBar||{},u=this.graphics,g=u.toolbarWrapperGroup,e=a.paper,d=c.componentGroups[0].btnConfig,a=c&&c.getLogicalSpace();c.toolbarConfig.fill=jb;c.toolbarConfig.vPadding=0;c.toolbarConfig.borderColor=jb;g||(g=u.toolbarWrapperGroup=e.group("toolbarWrapper",u.parentGroup).insertBefore(u.datalabelsGroup));d.spaceNotHardCoded?c.draw("b"===d.vAlign&&"r"===d.hAlign?
b.width-b.marginRight-a.width:b.marginLeft,b.height-b.marginBottom-a.height,{parentGroup:g}):c.draw(d.x,d.y);c.drawn=!0},_drawChartMenuBar:function(){var b=this.components.chartMenuBar,a=b.getLogicalSpace(),c=b.toolbarConfig,u=b.componentGroups[0].btnConfig,g=u.vDirection,e=u.hDirection,d=u.y,D=u.x;c.fill=jb;c.borderColor=jb;u.spaceNotHardCoded?(d+=u.vMargin*g+Qa(0,a.height*g),D+=u.hMargin*e-qa(0,a.width*e),b.draw("l"===u.hAlign?D+a.width:D-a.width,d)):b.draw(D,d);b.drawn=!0},_drawLogo:function(){var b=
this,a=b.components.paper,c=b.config,u=c.borderWidth||0,g=c.height,d=c.width,D=b.graphics.logoImage,H=c.logoURL,M=c.logoAlpha/100,m=c.logoPosition,r=c.logoLink,q=c.logoScale,n=c.logoLeftMargin,t=c.logoTopMargin,v,B,c=b.get(l,N),A=c.animType,Hb=c.animObj,F=c.dummyObj,I=c.duration,c={tr:{vAlign:e,hAlign:xb},bl:{vAlign:G,hAlign:ib},br:{vAlign:G,hAlign:xb},cc:{vAlign:w,hAlign:w}},Q,R,C;H?(Q=new hb,(C=c[m])||(C={vAlign:e,hAlign:ib}),Q.onload=function(){R=Na("none",C.vAlign,C.hAlign,q,u,d,g,Q);E&&(R.w=
R.width||0,R.h=R.height||0);R.src=H;D?D.animateWith(F,Hb,R,I,A):D=b.graphics.logoImage=a.image(R);D.show();D.translate(n,t).css("opacity",M);r?D.css({cursor:L,_cursor:"hand"}):D.css({cursor:"default",_cursor:ba});if(D.events&&D.events.length)for(B=0,v=D.events.length;B<v;B++)D.events[B].unbind(),D.events.splice(B,1),--v,--B;D.mouseover(function(a){a=Oa(b.chartInstance.ref,a);f.raiseEvent("LogoRollover",{logoURL:H,logoAlpha:100*M,logoPosition:m||"tl",logoScale:q,logoLink:r,chartX:a.chartX,chartY:a.chartY,
pageX:a.pageX,pageY:a.pageY},b.chartInstance)});D.mouseout(function(a){a=Oa(b.chartInstance.ref,a);f.raiseEvent("LogoRollout",{logoURL:H,logoAlpha:100*M,logoPosition:m||"tl",logoScale:q,logoLink:r,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});D.click(function(a){a=Oa(b.chartInstance.ref,a);f.raiseEvent("LogoClick",{logoURL:H,logoAlpha:100*M,logoPosition:m||"tl",logoScale:q,logoLink:r,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance,void 0,
function(){r&&b.linkedItems.linkClickFN.call({link:r},b)})});f.raiseEvent("LogoLoaded",{logoURL:H,logoAlpha:100*M,logoPosition:m||"tl",logoScale:q,logoLink:r},b.chartInstance)},Q.onerror=function(a){f.raiseEvent("LogoLoadError",{logoURL:H,logoAlpha:100*M,logoPosition:m||"tl",logoScale:q,logoLink:r,error:a},b.chartInstance)},Q.src=H):D&&D.hide()},_addCSSDefinition:function(b,a){var c=this.components.paper;a.color&&(a.fill=a.color);c.cssAddRule(b,a)},_allocateSpace:function(b){var a=this.components.canvas.config,
c=this.config,u=c.canvasHeight,g=c.canvasWidth,e=c.availableHeight,d=c.availableWidth;c.canvasLeft+=b.left||0;c.canvasTop+=b.top||0;g=c.canvasWidth=qa(g-((b.left||0)+(b.right||0)),0);u=c.canvasHeight=qa(u-((b.top||0)+(b.bottom||0)),0);c.availableHeight=qa(e-((b.top||0)+(b.bottom||0)),0);c.availableWidth=qa(d-((b.left||0)+(b.right||0)),0);c.canvasRight=c.canvasLeft+g;c.canvasBottom=c.canvasTop+u;a.canvasPaddingLeft=qa(a.canvasPaddingLeft,b.paddingLeft||0);a.canvasPaddingRight=qa(a.canvasPaddingRight,
b.paddingRight||0);a.canvasPaddingTop=qa(a.canvasPaddingTop,b.paddingTop||0);a.canvasPaddingBottom=qa(a.canvasPaddingBottom,b.paddingBottom||0)},_updateCategory:function(b){var a=this.jsonData,a=a.categories&&a.categories[0].category,c=b.category,u=c.length,g=b.index,e=b.prepend;b=b.add;var d;for(d=0;d<u;d++)g?(b&&a.splice(g-1+d,0,c[d]),!b&&(a[g-1+d]=c[d])):e?(b&&a.splice(d,0,c[d]),!b&&(a[d]=c[d])):(b&&a.push(c),!b&&(a[a.length-1]=c))},realTimeUpdate:function(b){var a=this.components,c=a.xAxis&&a.xAxis[0],
a=a.dataset,u=b.dataset;b=b.categories&&b.categories.category||[];var g=c&&c.getCategoryLen(),e=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig={}),d=0,D;if(a){if(c){c.categoryInsert(g,b,!0);g=0;for(D=b.length;g<D;g++)b[g].vline||(d+=1);c.categoryDelete(0,d,!0)}this.config._sumValuesUpdated=!1;g=0;for(D=a.length;g<D;g++)d=u[g],a[g].addData(d),a[g].removeData(0,d.data.length),a[g].maxminFlag&&(e.maxminFlag=a[g].maxminFlag)}},_RTmanageSpace:function(){var b=this.config,
a=this.components,c=a.xAxis[0],u=a.yAxis[0],g=a.yAxis[1],e,d=a.canvas.config,a=d.canvasBorderWidth,D=d.canvasPaddingTop,f=d.canvasPaddingBottom,H=d.canvasPadding||0,M=d.canvasPaddingLeft,d=d.canvasPaddingRight,m;e=b.xAxisSpaceAllocation;m=b.yAxisSpaceAllocation||[];var l=m[0]&&m[0].spaceTaken||{},r=m[1]&&m[1].spaceTaken||{},q=b.primaryAxisOnleft,n,w,t;e=(b.xAxisSpaceAllocation=c.placeAxis(b.availableHeight+e.bottom)).bottom-e.bottom;0!==e&&(this._allocateSpace({bottom:e}),e=b.availableWidth,m[0].spaceTaken=
e=u.placeAxis(e+l.left),this._allocateSpace({left:e.left-l.left}),e=b.availableWidth,l=b.canvasLeft-a,w=b.canvasRight+a,g&&(n=w,t=l,0===q&&(q=l,l=n,n=q,q=w,w=t,t=q),m[1].spaceTaken=m=g.placeAxis(e+(r.right||0)),this._allocateSpace({right:(m.right||0)-(r.right||0)}),g.setAxisDimention({x:n,y:b.canvasTop+D,opposite:t,axisLength:b.canvasHeight-D-f})),c&&c.setAxisDimention({x:b.canvasLeft+qa(M,H),y:b.canvasBottom+(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-qa(M,H)-qa(d,H)}),u&&u.setAxisDimention({x:l,
y:b.canvasTop+D,opposite:w,axisLength:b.canvasHeight-D-f}),u.draw(),this._drawCanvas())},realTimeDraw:function(b,a,c,u,g){var e=this.components,d=e.xAxis&&e.xAxis[0],D=e.yAxis&&e.yAxis[0],H=e.yAxis&&e.yAxis[1],M=e.scale,e=e.dataset,m=this.config.realTimeConfig,l=m.sync,r=m.showRTValue,q=m.maxminFlag,n,w,t=e.length;w=(new Date).getTime();this._chartAnimation(l);this.rtManageSpace&&this._RTmanageSpace();if(e){d&&d.draw();this._setAxisLimits();q&&D&&D.draw();H&&H.draw();q&&M&&M.draw();for(d=0;d<t;d++)n=
e[d].groupManager,!n&&e[d].draw();r&&this._drawRealTimeValue&&this._drawRealTimeValue();n&&n.draw()}w=(new Date).getTime()-w;a={data:a,updateObject:m.legacyUpdateObj,prevData:c,source:b?"XmlHttpRequest":"feedData",latency:w};b&&(a.networkLatency=g,a.url=u);f.raiseEvent("realTimeUpdateComplete",a,this.chartInstance)},_getPrevData:function(){return this.config.realTimeConfig&&this.config.realTimeConfig.prevData},feedData:function(b,a,c,u){var g=this,e=g.config.realtimeEnabled,d=g.config.realTimeConfig||
(g.config.realTimeConfig={}),D,f=g.components,H=f.xAxis,M=g.components.dataset,m,l,r=d.clearInterval,q=d.refreshInterval,n=d.updateInterval,w=g.linkedItems.timers||(g.linkedItems.timers={setTimeout:{},setInterval:{}}),t=M.length,v=d.prevData;D=g._linearDataParser(b);if(e&&g.chartInstance.isActive()){if(d.clear){for(e=0;e<t;e++)M[e]._realTimeConfigure(!0);d.clear=!1}q<n&&(q=d.refreshInterval=d.updateInterval);f.messageLogger&&f.messageLogger.addLog(D);f.alertManager&&f.alertManager.processRTData(D);
g.realTimeUpdate(D);g.canvasPadding&&g._adjustCanvasPadding();q&&!1===d.clearIntervalFlag?(g.realTimeDraw(a,b,v,c,u),d.refreshIntervalFlag=!1):q&&!d.refreshIntervalFlag?(d.refreshIntervalFlag=!0,w.setTimeout.loadData=setTimeout(function(){m=(new Date).getTime();g.realTimeDraw(a,b,v,c,u);l=(new Date).getTime();d.refreshIntervalFlag=!1;d.refreshIntervalTimeDifference=l-m},1E3*q-(d.refreshIntervalTimeDifference||0)-(u||0))):q||g.realTimeDraw(a,b,v,c,u);r&&!d.clearIntervalFlag&&H&&(d.clearIntervalFlag=
!0,w.setTimeout.clearData=setTimeout(function(b){m=(new Date).getTime();try{clearTimeout(b.setTimeout.loadData)}catch(a){clearTimeout(w.setTimeout.loadData)}g._clearChart();l=(new Date).getTime();d.clearIntervalTimeDifference=l-m;d.clearIntervalFlag=!1},1E3*r-(d.clearIntervalTimeDifference||0)-(u||0),w));return!0}return!1},_clearChart:function(b){var a=this.components,c=a.xAxis&&a.xAxis[0],a=a.dataset,u=c.getCategoryLen(),g=this.config.realTimeConfig||(this.config.realTimeConfig={}),e=a.length;g.clear=
!0;if(a){c&&c.categoryDelete(0,u,!0);this.config._sumValuesUpdated=!1;for(u=0;u<e;u++)c=a[u],a[u].removeData(0,c.components.data.length),a[u].maxminFlag&&(g.maxminFlag=a[u].maxminFlag);this.realTimeDraw()}this._setRealTimeCategories();m.raiseEvent("ChartCleared",{source:b},this.chartInstance,[this.id,b])},_linearDataParser:function(b,c){var u,e,g,d,D,f,H,M,m,l,r,q,n,w,t,v,B,A,G,F,I,C,E=this.components.dataset,E=E&&E.length;w=this.config.realTimeConfig;var J=w.prevData=[],L=w.legacyUpdateObj={},V=
L.values=[],K=L.target=[],S=L.valueVisibility=[],W=L.toolTexts=[],X=L.toolTextsTarget=[],Z=L.colors=[],P=L.links=[],N=0,O={categories:{category:[]},dataset:[]},da=O.categories.category,U=O.dataset,ka,aa=b,ja;b=b&&b.toString&&b.toString()||T;this.rtParserModify&&(aa=aa.replace(/([^\\])(\|)/g,"$1,"),b=b.replace(/\|/g,","));u=b.split("&");w=0;for(t=u.length;w<t;w+=1)if(e=u[w].split("="),g=e[1],e=e[0],e!==a&&void 0!==e&&void 0!==g&&(g!==a||c))switch(ka=e.toLowerCase(),ka){case "label":L.labels=v=g.split(",");
break;case "vline":L.vlines=B=g.split(",");break;case "vlinelabel":L.vlineLabels=m=g.split(",");break;case "vlinecolor":L.vlineColors=l=g.split(",");break;case "vlinethickness":L.vlineThickness=r=g.split(",");break;case "vlinedashed":L.vlineDashed=q=g.split(",");break;case "value":A=g.split("|");break;case "target":G=g.split("|");break;case "showlabel":L.showLabels=n=g.split(",");break;case "showvalue":d=g.split("|");break;case "tooltext":D=(D=(D=aa.match(/tooltext=(.*?\\&)*.*?[^\\]&/i))?D[0].substr(9,
D[0].length-10):aa.match(/(tooltext=)(.*)/i)[2])&&D.replace(/([^\\])(\|)/g,"$1_FC@@**");D=D.split("_FC@@**");break;case "targettooltext":f=g.split("|");break;case "link":M=g.split("|");break;case "color":H=g.split("|");break;case "datastamp":L.dataStamp=F=g;break;case "stopupdate":L.pause=I="1"==g;break;case "clear":L.clear=C="1"==g;break;default:L[e]=O[e]=g}u=A&&A.length;for(w=0;w<u;w++)V[w]=A[w].split(","),K[w]=G&&G[w]&&G[w].split(","),S[w]=d&&d[w]&&d[w].split(","),X[w]=f&&f[w]&&f[w].split(","),
Z[w]=H&&H[w]&&H[w].split(","),P[w]=M&&M[w]&&M[w].split(","),D&&(ja=D[w])&&(ja=ja.replace(/([^\\])(\,)/g,"$1_FC@@**"),W[w]=ja.split("_FC@@**")),N=qa(N,V[w].length);d=qa(v&&v.length||0,N||0);for(w=0;w<d;w++)da.push({label:v&&v[w],color:l&&l[w],showlabel:n&&n[w]});B&&da.push({label:m&&m[0],vline:B&&B[0],color:l&&l[0],thickness:r&&r[0],dashed:q&&q[0],showlabel:n&&n[0]});for(w=0;w<E;w++){r={};m=r.data=[];q=J[w]=[];for(l=0;l<d;l++)m.push({value:V[w]&&V[w][l],target:K[w]&&K[w][l],showvalue:S[w]&&S[w][l],
tooltext:W[w]&&W[w][l]&&W[w][l].replace(/\\/g,""),tooltexttarget:X[w]&&X[w][l],color:Z[w]&&Z[w][l],link:P[w]&&P[w][l]}),q.push(V[w]&&V[w][l]);U.push(r)}I&&this._stopUpdate();C&&this._clearChart();F&&(this.config.dataStamp=F);return O},exportChart:function(b){return m.exportChart.call(this,b)},chartHoverManager:function(){return function(b){var a=b.type,c=b.data,u=c.linkedItems.eventListeners||(c.linkedItems.eventListeners=[]);"mouseover"!==a&&"touchstart"!==a||!1!==c.mouseStateIn||(c.mouseStateIn=
!0,c.onContainerRollOver(b),u.push(Da(E?K:F,"mouseover",c.winMouseHover,c)))}}(),setChartEvents:function(){var b=this.linkedItems.eventListeners||(this.linkedItems.eventListeners=[]),a=this.components.paper.canvas,c=this.linkedItems.container,u=B(this.jsonData.chart.enablechartmousemoveevent,0);Ba(c,"click",this.onContainerClick);b.push(Da(c,"click",this.onContainerClick,this));Ba(a,"mouseover",this.chartHoverManager,this);Ba(a,"touchstart",this.chartHoverManager,this);Ba(a,"mouseout",this.chartHoverManager,
this);Ba(a,"touchend",this.chartHoverManager,this);b.push(Da(a,"mouseover touchstart mouseout touchend",this.chartHoverManager,this));Ba(c,"mousemove",this.onContainerMouseMove,this);Ba(c,"touchmove",this.onContainerMouseMove,this);u&&b.push(Da(c,"mousemove touchmove",this.onContainerMouseMove,this))},setChartCursor:function(){var b=this.config.link,a=this.components.paper.canvas.style;C.svg?a.cursor=b?L:"default":this.components.paper.canvas.style.cursor=b?"hand":"default"},onContainerClick:function(b){var a=
b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,c=a&&a.parentElement,u=a&&a.nodeName.toLowerCase(),g=b.data,e=g.chartInstance;b=m.getMouseCoordinate(g.linkedItems.container,b.originalEvent);e.ref&&(e=sa({height:e.args.height,width:e.args.width,pixelHeight:e.ref.offsetHeight,pixelWidth:e.ref.offsetWidth,id:e.args.id,renderer:e.args.renderer,container:e.options.containerElement},b),f.raiseEvent("chartclick",e,g.chartInstance),a&&a.ishot&&g||"tspan"===u&&c&&c.ishot&&g||g.config.link&&
g.linkedItems.linkClickFN.call(g,g))},onContainerMouseMove:function(b){var a=b.data,c=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);c.ref&&(c=sa({height:c.args.height,width:c.args.width,pixelHeight:c.ref.offsetHeight,pixelWidth:c.ref.offsetWidth,id:c.args.id,renderer:c.args.renderer,container:c.options.containerElement},b),f.raiseEvent("chartMouseMove",c,a.chartInstance))},onContainerRollOver:function(b){var a=b.data,c=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,
b.originalEvent);c.ref&&(c=sa({height:c.args.height,width:c.args.width,pixelHeight:c.ref.offsetHeight,pixelWidth:c.ref.offsetWidth,id:c.args.id,renderer:c.args.renderer,container:c.options.containerElement},b),f.raiseEvent("chartRollOver",c,a.chartInstance))},onContainerRollOut:function(b){var a=b.chart,c=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.event);c.ref&&(c=sa({height:c.args.height,width:c.args.width,pixelHeight:c.ref.offsetHeight,pixelWidth:c.ref.offsetWidth,id:c.args.id,
renderer:c.args.renderer,container:c.options.containerElement},b),f.raiseEvent("chartRollOut",c,a.chartInstance))},mouseStateIn:!1,winMouseHover:function(b){var a=b.originalEvent,a=a.target||a.originalTarget||a.srcElement||a.relatedTarget||a.fromElement,c=b.data,u=c.components.paper;b={chart:c,event:b.originalEvent};E?u.getById(a.parentNode.raphaelid)||(c.onContainerRollOut(b),c.mouseStateIn=!1,Ba(K,"mouseover",c.winMouseHover)):a.viewportElement||(c.mouseStateIn=!1,c.onContainerRollOut(b),Ba(F,"mouseover",
c.winMouseHover))},_show:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.show()},_hide:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.hide()},getJobList:function(){this.jobList||(this.jobList={trackerDrawID:[],labelDrawID:[],entityDrawID:[],kdTreeID:[]});return this.jobList}},Ka.base,{valuefontbold:0,usemessagelog:0,zeroplanethickness:void 0,animationeffect:"easeIn",showshadow:1,showhovereffect:void 0,plothovereffect:void 0,anchorhovereffect:void 0,
plotborderdashed:void 0,stack100percent:void 0,showpercentvalues:void 0,showpercentintooltip:void 0,plotbordercolor:void 0,showtooltip:1,seriesnameintooltip:1,rotatevalues:0,minimizetendency:0,plotfillangle:270,valuepadding:2,useplotgradientcolor:1,plotborderthickness:1,plotfillalpha:fa,showvalues:1,valueposition:d,tooltipsepchar:", ",usedataplotcolorforlabels:0,placevaluesinside:0,showplotborder:1,use3dlighting:1,useroundedges:0,plotspacepercent:20,plotpaddingpercent:void 0,plotfillratio:void 0,
maxcolwidth:50,plotborderdashlen:5,plotborderdashgap:4});FusionCharts.register("component",["caption","caption",{pIndex:2,customConfigFn:null,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})},configure:function(){var b=this.chart,a=b.jsonData.chart,c=b.components,u=c.caption,g=u.config,d=b.config.style,D=d.outCanfontFamily,f=d.outCancolor,d=d.fontSize,c=c.subCaption,H=c.config;u.components.text=Ja(a.caption);c.components.text=Ja(a.subcaption);g.style=
{fontFamily:J(a.captionfont,D),color:Ya(J(a.captionfontcolor,f).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:B(a.captionfontsize,d+3)+vb,fontWeight:0===B(a.captionfontbold)?ba:v};g.align=H.align=J(a.captionalignment,ob);switch(g.align){case xb:g.align=r;break;case ib:g.align=P;break;default:g.align=w}g.isOnTop=H.isOnTop=B(a.captionontop,1);g.isOnLeft=!B(a.captiononright,0);g.captionPosition=ia(a.captionposition,e).toLowerCase();g.alignWithCanvas=H.alignWithCanvas=B(b.aligncaptionwithcanvas,a.aligncaptionwithcanvas,
1);g.horizontalPadding=H.horizontalPadding=B(a.captionhorizontalpadding,g.alignWithCanvas?0:15);g.drawCaption=!0;Ra(g.style);H.style={fontFamily:J(a.subcaptionfont,a.captionfont,D),color:Ya(J(a.subcaptionfontcolor,a.captionfontcolor,f).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:B(a.subcaptionfontsize,B(qa(B(a.captionfontsize)-3,-1),d)+B(b.subTitleFontSizeExtender,1))+vb,fontWeight:0===B(a.subcaptionfontbold,b.subTitleFontWeight,a.captionfontbold)?ba:v};Ra(H.style)},draw:function(){var b=this.chart,
a=b.config,c=b.components,u=b.config.textDirection,g=b.graphics,d=g.captionGroup,D=c.paper,f=b.linkedItems.smartLabel,H=c.caption,M=H.graphics,m=M.captionElement,r=c.subCaption,c=r.graphics,n=c.subCaptionElement,v=H.components,H=H.config,B=r.config,A=H.style,$a=B.style,r=r.components,G=v.text,F=r.text,I=H.x,Q=H.align,R,C=a.showToolTip;R=b.get(l,N);var b=R.animType,E=R.animObj,J=R.dummyObj,L=R.duration;!G&&!F||d||(d=g.captionGroup=D.group("caption"),d.trackTooltip(!0),g.tracker?d.insertBefore(g.trackerGroup):
d.insertAfter(g.datasetGroup));G?(R={text:v.text,fill:A.color,x:I,y:H.y,"text-anchor":Q||w,"vertical-align":H.verticalAlign||e,visibility:H.drawCaption?q:t,direction:u},m?(m.animateWith(J,E,{x:I,y:H.y,"text-anchor":Q||w,"vertical-align":H.verticalAlign||e,direction:u},L,b),m.attr({"text-anchor":Q||w,text:v.text,fill:A.color,visibility:H.drawCaption?q:t}),m.css(A)):m=M.captionElement=D.text(R,A,d),m.tooltip(v.originalText),f&&(f.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),f.setStyle(A),f.getOriSize(v.text))):
m&&(M.captionElement=m.remove());F?(R={text:r.text,fill:$a.color,x:I,y:B.y,"text-anchor":Q||w,"vertical-align":e,direction:u,visibility:H.drawCaption?q:t},n?(n.animateWith(J,E,{x:I,y:B.y,"text-anchor":Q||w,"vertical-align":e,direction:u},L,b),n.attr({"text-anchor":Q||w,text:r.text,fill:$a.color,visibility:H.drawCaption?q:t}),n.css($a)):n=c.subCaptionElement=D.text(R,$a,d),n.tooltip(r.originalText)):n&&(c.subCaptionElement=n.remove());d&&d.trackTooltip(C?!0:!1);G||F||!d||(g.captionGroup=d.remove())},
manageSpace:function(b,c){var u=this.chart,e=u.config,g=u.components,d=g.caption,D=g.subCaption,f=d.config,H=D.config,d=d.components,D=D.components,M=u.jsonData.chart,u=u.linkedItems.smartLabel,m=b,l=Ja(M.caption),r=Ja(M.subcaption),q=M=B(M.captionpadding,10),n=e.canvasWidth,w=!1,t,v,A=0,G=0,F=0,R=0,I=0,G=qa(g.canvas.config.canvasBorderThickness,0),C=g=0;!c&&(c=n);if(3<m){M<G&&(M=G+2);l!==a&&(t=f.style,R=ma(B(parseFloat(t.fontHeight,10),parseFloat(t.lineHeight,10),12)));r!==a&&(v=H.style,I=B(parseInt(v.fontHeight,
10),parseInt(v.lineHeight,10),12));if(0<R||0<I)m=qa(m,0),A=R+I+M,A>m?(G=m-A,w=!0,G<M?M=qa(G,5):(G-=M,M=0,I>G?(F=I-G+10,I=0,D._originalText=D.text,D.text=T):(G-=I,I=0,R>G&&(F=R-G)))):F=m-A,u.useEllipsesOnOverflow(e.useEllipsesWhenOverflow),0<R&&(u.setStyle(t),R+=F,t=u.getSmartText(l,c,R),F=R-t.height,f.height=R=t.height,d.text=t.text,d.originalText=t.tooltext?t.tooltext:!1,g=t.width),0<I&&(u.setStyle(v),I+=F,v=u.getSmartText(r,c,I),F=I-v.height,I=v.height,D.text=v.text,H.height=v.height,D.originalText=
v.tooltext?v.tooltext:!1,C=v.width),w&&0<F&&(M+=Qa(q-M,F)),f.captionPadding=M,f.height=R,f.width=g,H.width=C,H.height=I,A=R+I+M;A>e.canvasHeight?(A=0,f.drawCaption=!1):f.drawCaption=!0;e=f.isOnTop?{top:A}:{bottom:A,top:5}}else e={bottom:0,top:0},f.drawCaption=!1;return e},managePosition:function(){var b=this.chart,a=b.config,c=b.components,u=c.caption,g=u.config,e=g.widgetValueHeight||0,d=c.subCaption.config,D=g.x,f=a.canvasWidth,D=g.align,u=u.components.text,H=g.alignWithCanvas,M=g.horizontalPadding,
m=a.width,l=a.canvasLeft,q=a.canvasRight,n=a.marginRight,w=a.marginLeft,a=a.marginTop,t=(Sa(l)||0)+B(f,m)/2,f=g.height,v=d.height,A=c.legend.config,G=A.height,F=A.legendPadding,I=A.legendPos,C=c.gradientLegend||{},E=0,J=!!(C.conf||{}).showLegend,L=b.config.borderWidth,c=c.actionBar,ea=0;A.isActive||(G=0);J&&b.config.gLegendEnabled&&(E=C.getLogicalSpace().height);switch(D){case r:D=H?q-M:m-M;break;case P:D=H?l+M:M;break;default:D=H?t:w+.5*(m-w-n)||m/2}g.x=D;g.isOnTop?g.y=(L||0)+(a||0):(I===xb&&(E=
G=F=0),c&&(D=c.getLogicalSpace()||{},ea=D.height,void 0===ea||Infinity===ea||0>ea)&&(ea=0),g.y=b.config.height-b.config.marginBottom-f-(v||0)-(L||0)-(F||0)-(G||0)-E-e-ea);g.y+=g._offsetHeight||0;d.y=u?g.y+f+2:g.y||a||0}}]);FusionCharts.register("component",["caption","subcaption",{pIndex:2,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})}}]);Ka("scrollbase",{standaloneInit:!1,_scrollBar:function(){var b=[];return{get:function(){return b},clear:function(){b.length=
0},add:function(a,c){b.push({conf:a,handler:c})}}}()},Ka.mscartesian);Ka("msinversecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),c;b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new a;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=this.config,c=b.colorManager,e=this.jsonData,g=e.chart,d,D=(d=this.is3d)?u.chart3D:u.chart2D;d={outCanfontFamily:J(g.outcnvbasefont,
g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(D.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,
axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,
g.divlinecolor,c.getColor(D.divLineColor)),divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,d?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:B(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:!!B(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:B(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatevgridcolor,0),alternateGridColor:J(g.alternatevgridcolor,
c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,c.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,maxLabelHeight:g.maxlabelheight,labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,
rotateLabels:g.rotatelabels,slantLabel:B(g.slantlabels,g.slantlabel),labelStep:B(g.labelstep,g.xaxisvaluesstep),showAxisValues:B(g.showxaxisvalues,g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:B(g.showvdivlinevalues,g.showvdivlinevalues),showZeroPlane:g.showvzeroplane,zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:g.vzeroplanethickness,zeroPlaneAlpha:g.vzeroplanealpha,showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,
trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:B(g.showxaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,g.axislinecolor,"#000000")};a={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,
g.basefontcolor,c.getColor(D.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,
axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:B(g.rotateyaxisname,1),axisName:g.yaxisname,divLineColor:J(g.divlinecolor,c.getColor(D.divLineColor)),
divLineAlpha:J(g.divlinealpha,c.getColor("divLineAlpha")),divLineThickness:B(g.divlinethickness,1),divLineIsDashed:!!B(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.divlinedashlen,4),divLineDashGap:B(g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,
setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:B(g.showyaxisvalues,g.showyaxisvalue),showLimits:B(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:B(g.showdivlinevalues,g.showdivlinevalue),showZeroPlane:g.showzeroplane,zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:B(g.zeroplanethickness,g.divlinethickness,a.zeroplanethickness,2),zeroPlaneAlpha:B(g.zeroplanealpha,g.zeroplanealpha,a.zeroplanealpha,80),showZeroPlaneValue:g.showzeroplanevalue,
showZeroPlaneOnTop:a.showzeroplaneontop,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:B(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000")};d.vtrendlines=e.vtrendlines;a.trendlines=
e.trendlines;e=b.yAxis&&b.yAxis[0];b=b.xAxis&&b.xAxis[0];e&&(e.setCommonConfigArr(a,!0,!0,!1),e.configure());b&&(b.setCommonConfigArr(d,!1,!1,!1),b.configure(),b.setAxisConfig({isRelativeAxisInverse:!0}))}},Ka.mscartesian);Ka("sscartesian",{standaloneInit:!1,hasLegend:!1,_createDatasets:function(){var b=this.components,a=b.legend,c=this.jsonData,u=c.dataset,g=c.data||u&&u[0].data,e=this.defaultDatasetType,d,D,c=this._dataSegregator(g);this.config.categories=c.data;u=b.dataset||(b.dataset=[]);if(!g||
0===g.length)this.setChartMessage();else if(e&&(D=FusionCharts.get("component",["dataset",e])))if(g="datasetGroup_"+e,d=FusionCharts.register("component",["datasetGroup",e]),e=b[g],d&&!e&&(e=b[g]=new d,e.chart=this,e.init()),u[0]){b=u[0];e=b.JSONData;u=b.components.data||[];g=e.data.length-(b.config.showSum||0);D=c.data&&c.data.length||0;if(g>D){if(a)for(e=D;e<g;e++)u[e]&&u[e].legendItemId&&a.removeItem(u[e].legendItemId);b.removeData(D,g-D,!1)}b.JSONData=c;b.configure()}else b=new D,u.push(b),b.chart=
this,e&&e.addDataSet(b,0,0),b.index=0,b.init(c)},_dataSegregator:function(b){var a=[];lb(b,function(b){"true"!==b.vline&&!0!==b.vline&&1!==b.vline&&"1"!==b.vline&&a.push(b)});return{data:a}},_setCategories:function(){var b=this.jsonData,a=b.dataset;this.components.xAxis[0].setCategory(b.data||a&&a[0].data)}},Ka.mscartesian,{linethickness:4});Ka("msdybasecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a,c=FusionCharts.register("component",["axis","cartesian"]),u;b.yAxis=
[];b.xAxis=[];b.yAxis[0]=u=new c;b.yAxis[1]=a=new c;b.xAxis[0]=b=new c;u.chart=this;a.chart=this;b.chart=this;u.init();a.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,c=a.colorManager,e=this.jsonData,g=e.chart,d,D,f=this.is3d,H=f?u.chart3D:u.chart2D,M,m=b.primaryAxisOnleft=B(g.primaryaxisonleft,1),l=B(g.syncaxislimits,0);D=[{line:[]}];M=[{line:[]}];var r,q=e.trendlines||[];d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,
g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(H.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,
axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(H.divLineColor)),divLineAlpha:J(g.vdivlinealpha,
g.divlinealpha,f?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:B(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:!!B(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:B(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatevgridcolor,0),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,
c.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,maxLabelHeight:g.maxlabelheight,labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:B(g.slantlabels,
g.slantlabel),labelStep:B(g.labelstep,g.xaxisvaluesstep),showAxisValues:B(g.showxaxisvalues,g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:B(g.showvdivlinevalues,g.showvdivlinevalues),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:B(g.vzeroplanethickness,g.vdivlinethickness,2),zeroPlaneAlpha:B(g.vzeroplanealpha,g.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,
trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:f?0:B(g.showxaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,g.axislinecolor,"#000000")};b={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(H.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:B(g.pyaxisnamepadding,g.yaxisnamepadding),axisValuePadding:B(g.pyaxisvaluespadding,g.yaxisvaluespadding),axisNameFont:J(g.pyaxisnamefont,g.yaxisnamefont),axisNameFontSize:B(g.pyaxisnamefontsize,g.yaxisnamefontsize),axisNameFontColor:J(g.pyaxisnamefontcolor,g.yaxisnamefontcolor),axisNameFontBold:B(g.pyaxisnamefontbold,g.yaxisnamefontbold),axisNameFontItalic:B(g.pyaxisnamefontitalic,g.yaxisnamefontitalic),axisNameBgColor:J(g.pyaxisnamebgcolor,g.yaxisnamebgcolor),axisNameBorderColor:J(g.pyaxisnamebordercolor,
g.yaxisnamebordercolor),axisNameAlpha:B(g.pyaxisnamealpha,g.yaxisnamealpha),axisNameFontAlpha:B(g.pyaxisnamefontalpha,g.yaxisnamefontalpha),axisNameBgAlpha:B(g.pyaxisnamebgalpha,g.yaxisnamebgalpha),axisNameBorderAlpha:B(g.pyaxisnameborderalpha,g.yaxisnameborderalpha),axisNameBorderPadding:B(g.pyaxisnameborderpadding,g.yaxisnameborderpadding),axisNameBorderRadius:B(g.pyaxisnameborderradius,g.yaxisnameborderradius),axisNameBorderThickness:B(g.pyaxisnameborderthickness,g.yaxisnameborderthickness),axisNameBorderDashed:B(g.pyaxisnameborderdashed,
g.yaxisnameborderdashed),axisNameBorderDashLen:B(g.pyaxisnameborderdashlen,g.yaxisnameborderdashlen),axisNameBorderDashGap:B(g.pyaxisnameborderdashgap,g.yaxisnameborderdashgap),axisNameWidth:B(g.pyaxisnamewidth,g.yaxisnamewidth),useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:B(g.rotateyaxisname,1),axisName:J(g.pyaxisname,g.yaxisname),divLineColor:J(g.divlinecolor,c.getColor(H.divLineColor)),divLineAlpha:J(g.divlinealpha,c.getColor("divLineAlpha")),divLineThickness:B(g.divlinethickness,
1),divLineIsDashed:!!B(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.divlinedashlen,4),divLineDashGap:B(g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:l?B(g.syaxisminvalue,g.pyaxisminvalue,g.yaxisminvalue):B(g.pyaxisminvalue,g.yaxisminvalue),axisMaxValue:l?B(g.syaxismaxvalue,g.pyaxismaxvalue,
g.yaxismaxvalue):B(g.pyaxismaxvalue,g.yaxismaxvalue),setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:B(g.showyaxisvalues,g.showyaxisvalue),showLimits:B(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:B(g.showdivlinevalues,g.showdivlinevalue),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:B(g.zeroplanethickness,g.divlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:B(g.zeroplanealpha,g.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showzeroplanevalue,
showZeroPlaneOnTop:b.showzeroplaneontop,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:f?0:B(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000")};c={outCanfontFamily:J(g.outcnvbasefont,
g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(H.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.syaxisnamefont,axisNameFontSize:g.syaxisnamefontsize,axisNameFontColor:g.syaxisnamefontcolor,axisNameFontBold:g.syaxisnamefontbold,axisNameFontItalic:g.syaxisnamefontitalic,axisNameBgColor:g.syaxisnamebgcolor,axisNameBorderColor:g.syaxisnamebordercolor,
axisNameAlpha:g.syaxisnamealpha,axisNameFontAlpha:g.syaxisnamefontalpha,axisNameBgAlpha:g.syaxisnamebgalpha,axisNameBorderAlpha:g.syaxisnameborderalpha,axisNameBorderPadding:g.syaxisnameborderpadding,axisNameBorderRadius:g.syaxisnameborderradius,axisNameBorderThickness:g.syaxisnameborderthickness,axisNameBorderDashed:g.syaxisnameborderdashed,axisNameBorderDashLen:g.syaxisnameborderdashlen,axisNameBorderDashGap:g.syaxisnameborderdashgap,axisNameWidth:g.syaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,
rotateAxisName:B(g.rotateyaxisname,1),axisName:g.syaxisname,divLineColor:J(g.divlinecolor,c.getColor(H.divLineColor)),divLineAlpha:J(g.divlinealpha,c.getColor("divLineAlpha")),divLineThickness:B(g.divlinethickness,1),divLineIsDashed:!!B(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.divlinedashlen,4),divLineDashGap:B(g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,
c.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:l?B(g.syaxisminvalue,g.pyaxisminvalue,g.yaxisminvalue):g.syaxisminvalue,axisMaxValue:l?B(g.syaxismaxvalue,g.pyaxismaxvalue,g.yaxismaxvalue):g.syaxismaxvalue,setAdaptiveMin:g.setadaptivesymin||g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:B(g.showsyaxisvalues,g.showsyaxisvalue,g.showyaxisvalues,g.showyaxisvalue),showLimits:B(g.showsecondarylimits,g.showyaxislimits,g.showlimits),showDivLineValues:B(g.showdivlinesecondaryvalue,
g.showyaxisvalues,g.showyaxisvalue,1),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:B(g.zeroplanethickness,g.divlinethickness,2),zeroPlaneAlpha:g.zeroplanealpha,showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:f?0:B(g.showsyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.syaxislinethickness,
g.axislinethickness,1),axisLineAlpha:B(g.syaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.syaxislinecolor,g.axislinecolor,"#000000")};d.vtrendlines=e.vtrendlines;l=0;for(H=q.length;l<H;l++)for(e=q[l]&&q[l].line||[],f=e.length,r=0;r<f;r++)g=e[r]||{},g.parentyaxis&&g.parentyaxis.toLowerCase(),"s"===g.parentyaxis?D[0].line.push(g):M[0].line.push(g);b.trendlines=M;c.trendlines=D;M=a.yAxis[0];D=a.yAxis[1];a=a.xAxis[0];1===m?(M.setCommonConfigArr(b,!0,!1,!1),D.setCommonConfigArr(c,!0,!1,!0)):(M.setCommonConfigArr(b,
!0,!1,!0),D.setCommonConfigArr(c,!0,!1,!1));a.setCommonConfigArr(d,!1,!1,!1);M.configure();D.configure();a.configure();D.setAxisConfig({isActive:!1,isPercent:this.isPercentage,axisIndex:1,uniqueClassName:1})},_setAxisLimits:function(){var b=this.components,a=b.dataset,c=b.yAxis,b=b.xAxis,u,g=a.length,e,d=-Infinity,D=Infinity,f=-Infinity,H=Infinity,M=Infinity,m=-Infinity,l,r,q;l=B(this.jsonData.chart.syncaxislimits,0);var n={};r=function(b){return-Infinity===b||Infinity===b?null:b};var w=function(b){t?
(f=qa(f,b.sYMax||b.max),H=Qa(H,b.sYMin||b.min)):(d=qa(d,b.max),D=Qa(D,b.min));m=qa(m,b.xMax||-Infinity);M=Qa(M,b.xMin||Infinity)},t=0;for(e=0;e<g;e++)u=a[e],q=u.groupManager,t=u.config.parentYAxis,q?(n[u.type]=q,n[u.type].yAxisIndex=t):(u=u.getDataLimits(),w(u));for(q in n)t=n[q].yAxisIndex,u=n[q].getDataLimits(),d=qa(d,u.max),D=Qa(D,u.min),f=qa(f,u.sYMax),H=Qa(H,u.sYMin);a=this._getTrendLineMinMax("h");q=this._getTrendLineMinMax("h","s");d=qa(d,a.max);D=Qa(D,a.min);f=qa(f,q.max);H=Qa(H,q.min);l?
(l=qa(d,f),r=Qa(D,H),c[0].setDataLimit(l,r),c[1].setDataLimit(l,r)):(d=r(d),D=r(D),f=r(f),H=r(H),c[0].setDataLimit(d,D),c[1].setDataLimit(f,H));c[0].getDivLineCount();if(-Infinity!==m||Infinity!==M)b[0].config.xaxisrange={max:m,min:M},b[0].setDataLimit(m,M)},_postSpaceManagement:function(){var b=this.config,a=this.components,c=a.yAxis,u=a.xAxis&&a.xAxis[0],g=c[0],c=c[1],e=a.legend,d=b.xDepth,D=a.canvas.config,f=D.canvasBorderWidth,H=D.canvasPadding,M=D.canvasPaddingLeft,m=D.canvasPaddingRight,a=D.canvasPaddingTop,
l=b.primaryAxisOnleft,D=D.canvasPaddingBottom;u&&u.setAxisDimention({x:b.canvasLeft+(d||0)+qa(M,H),y:b.canvasBottom+(b.shift||0)+f,opposite:b.canvasTop-f,axisLength:b.canvasWidth-(d||0)-qa(M,H)-qa(m,H)});l?(b.yAxisStartXPos=b.canvasLeft-f,b.sYAxisStartXPos=b.canvasRight+f):(b.yAxisStartXPos=b.canvasRight+f,b.sYAxisStartXPos=b.canvasLeft-f);f=b.yAxisStartXPos;H=b.sYAxisStartXPos;g&&g.setAxisDimention({x:f,y:b.canvasTop+a,opposite:H,axisLength:b.canvasHeight-a-D});c&&c.setAxisDimention({x:H,y:b.canvasTop+
a,opposite:f,axisLength:b.canvasHeight-a-D});u&&u.shiftLabels(-d,0);e.postSpaceManager();this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._adjustCanvasPadding()}},Ka.mscartesian);Ka("mscartesian3d",{standaloneInit:!1,is3d:!0,_createDatasets:function(){var b=this.components,a=b.xAxis[0],c=this.jsonData,u=c.dataset,g=u&&u.length,e,d,D,f=this.defaultDatasetType,H=this.applicableDSList,M=this.components.legend,m,l,r,q,n=this.config.isstacked,w,t,v=[],B=this.isRealTime,
A=this.config.catLen,G={};u||this.setChartMessage();this.config.categories=c.categories&&c.categories[0].category;e=b.dataset||(b.dataset=[]);d=e.length;for(c=0;c<g;c++)if(q=u[c],q.seriesname&&(q.seriesname=Ja(q.seriesname)),D=q.parentyaxis||T,l=(l=this.isDual&&"s"===D.toLowerCase()?J(q.renderas,this.sDefaultDatasetType):J(q.renderas,f))&&l.toLowerCase(),H[l]||(l=f),r=FusionCharts.get("component",["dataset",l]))void 0===G[l]?G[l]=0:G[l]++,w="datasetGroup_"+l,D=FusionCharts.register("component",["datasetGroup",
l]),(m=b[w])&&v.push(m),D&&!m&&(m=b[w]=new D,m.chart=this,m.init()),(D=e[c])?(l=a.getCategoryLen(),w=A-l,r=B?D.components:D.JSONData,t=r.data&&r.data.length||0,r=q.data&&q.data.length||0,t-=r,w>t||(w=t,l=r),0<w&&D.removeData(l,w,!1),e[c].JSONData=q,e[c].configure(),e[c]._deleteGridImages&&e[c]._deleteGridImages()):(D=new r,e.push(D),D.chart=this,D.index=c,m&&(n?m.addDataSet(D,0,G[l]):m.addDataSet(D,G[l],0)),D.init(q));if(d>g){w=d-g;m&&n&&m.removeDataSet(0,c,w);b=c;for(g=w+c;b<g;b++)m&&!n&&m.removeDataSet(c,
0,1),e[b].visible=!1,e[b].draw(),M.removeItem(e[b].legendItemId);e.splice(c,w)}this.config.catLen=a.getCategoryLen()},_drawCanvas:function(){var b=this.config,a=b.canvasLeft,c=b.canvasTop,e=b.canvasWidth,g=b.canvasHeight,d=this.jsonData.chart,D=this.components,f=D.canvas,H=D.colorManager,D=D.paper,M=f.graphics,m=M.canvasBorderElement,r=M.canvasElement,q=f.config,n=q.clip={},f=this.graphics.canvasGroup,w=M.canvasBg,t=M.canvas3DBase,v=this.get(l,N),G=v.animType,F=v.animObj,I=v.dummyObj,v=v.duration,
Q=M.canvas3dbaseline,R=q.canvasBgColor,E=q.showCanvasBG=!!B(d.showcanvasbg,1),L=b.canvasBgDepth,K=b.showCanvasBase,Ta=b.canvasBaseDepth,ea=q.canvasBaseColor3D=J(d.canvasbasecolor,H.getColor("canvasBaseColor3D")),V=q.use3DLighting=B(d.use3dlighting,1),R=u.chart3D,P=q.canvasBorderRadius=B(d.plotborderradius,0),S=q.canvasBorderColor=Ya(J(d.canvasbordercolor,H.getColor("canvasBorderColor"))),W=q.canBGAlpha=J(d.canvasbgalpha,H.getColor("canvasBgAlpha")),X=q.canBGColor=J(d.canvasbgcolor,H.getColor(R.canvasBgColor)),
Z=b.xDepth,d=b.yDepth,H=b.canvasBasePadding||2,R=V?q.canvasBgColor={FCcolor:{color:ab(X,85)+ub+db(X,55),alpha:W+ub+W,ratio:yb,angle:gb(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:q.canvasBgColor=Ya(X,W);X.split(ub);W.split(ub);Z=q.xDepth=10;d=q.yDepth=10;b={x:a-0,y:c-0,width:e+0,height:g+0,r:P,"stroke-width":0,stroke:S,"stroke-linejoin":A};m?(m.animateWith(I,F,{x:a-0,y:c-0,width:e+0,height:g+0,r:P},v,G),m.attr({"stroke-width":0,stroke:S,"stroke-linejoin":A})):M.canvasBorderElement=
D.rect(b,f);n["clip-canvas"]=[qa(0,a-Z),qa(0,c),qa(1,e+Z),qa(1,g+d)];n["clip-canvas-init"]=[qa(0,a-Z),qa(0,c-d),1,qa(1,g+2*d)];b={x:a,y:c,width:e,height:g,r:P,"stroke-width":0,stroke:"none",fill:La(R)};E?(r?(r.show(),r.animateWith(I,F,{x:a,y:c,width:e,height:g,r:P},v,G),r.attr({"stroke-width":0,stroke:"none",fill:La(R)})):M.canvasElement=D.rect(b,f),b=["M",a+e,",",c,"L",a+e+L,",",c+1.2*L,",",a+e+L,",",c+g-L,",",a+e,",",c+g,"Z"],w?(w.show(),w.animateWith(I,F,{path:b},v,G),w.attr({path:b})):w=M.canvasBg=
D.path(b,f),w.attr({"stroke-width":0,stroke:"none",fill:La(R)})):(r&&r.hide(),w&&w.hide());K?(b=a-Z-H,m=c+g+d+H,r=Z+H,w=d+H,t?(t.show(),t._.cubeside.show(),t._.cubetop.show(),t.animateWith(I,F,{cubepath:[b,m,e,Ta,r,w]},v,G),t.attr({cubepath:[b,m,e,Ta,r,w]})):t=M.canvas3DBase=D.cubepath(b,m,e,Ta,r,w,f),t.attr({stroke:"none","stroke-width":0,fill:[ea.replace(Y,za),!V]}),Q?(Q.show(),Q.animateWith(I,F,{path:["M",a,c+g,"H",e+a]},v,G)):Q=M.canvas3dbaseline=D.path(void 0,f),Q.attr({path:["M",a,c+g,"H",e+
a],stroke:C.tintshade(ea.replace(Y,za),.05).rgba})):(t&&(t.hide(),t._.cubeside.hide(),t._.cubetop.hide()),Q&&Q.hide())}},Ka.mscartesian,{showplotborder:0});Ka("msdybasecartesian3d",{standaloneInit:!1,is3d:!0,_drawCanvas:Ka.mscartesian3d},Ka.msdybasecartesian);Ka("sscartesian3d",{standaloneInit:!1,hasLegend:!1,is3d:!0,_drawCanvas:Ka.mscartesian3d},Ka.sscartesian,{showplotborder:0});Ka("msbarcartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.get("component",["axis",
"cartesian"]),c;b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new a;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,c=a.colorManager,e=this.jsonData,g=e.chart,d,D=this.is3d,f=D?u.chart3D:u.chart2D;d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:g.xaxisnamepadding,maxLabelWidthPercent:g.maxlabelwidthpercent,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,
axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,axisNameWidth:g.xaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,D?c.getColor("divLineAlpha3D"):
c.getColor("divLineAlpha")),divLineThickness:B(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:!!B(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:B(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:B(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:g.numvdivlines,
labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:B(g.slantlabels,g.slantlabel),labelStep:B(g.labelstep,g.xaxisvaluesstep),showAxisValues:B(g.showxaxisvalues,
g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:B(g.showvdivlinevalues,g.showvdivlinevalues),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:B(g.vzeroplanethickness,g.vdivlinethickness,2),zeroPlaneAlpha:B(g.vzeroplanealpha,g.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,rotateAxisName:B(g.rotatexaxisname,1),trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,
showAxisLine:D?0:B(g.showxaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,g.axislinecolor,"#000000")};b={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Za(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,
axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,
axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,axisName:g.yaxisname,divLineColor:J(g.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:J(g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:B(g.divlinethickness,1),divLineIsDashed:!!B(g.divlinedashed,
g.divlineisdashed,0),divLineDashLen:B(g.divlinedashlen,4),divLineDashGap:B(g.divlinedashgap,2),showAlternateGridColor:B(g.showalternatevgridcolor,1),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,c.getColor("altVGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:B(g.showyaxisvalues,g.showyaxisvalue),
showLimits:B(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:B(g.showdivlinevalues,g.showdivlinevalue),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:B(g.zeroplanethickness,g.divlinethickness,2),zeroPlaneAlpha:B(g.zeroplanealpha,g.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,isTrendZone:0,showTrendlinesOnTop:g.showtrendlinesontop,
showAxisLine:D?0:B(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:B(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:B(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000"),numberFormatterFn:"yAxis"};b.vtrendlines=e.trendlines;d.trendlines=e.vtrendlines;e=a.yAxis[0];a=a.xAxis[0];e.setCommonConfigArr(b,!1,!1,!1);a.setCommonConfigArr(d,!0,!0,!1);e.configure();a.configure()},_spaceManager:function(){var b,a,c=this.config,u=this.components,
g=u.yAxis&&u.yAxis[0],e=u.xAxis&&u.xAxis||[];a=u.legend.config.legendPos;var d=c.xDepth,D=c.yDepth,f=c.canvasBgDepth,H=c.canvasBaseDepth,M=c.canvasBasePadding,m=u.canvas.config.canvasBorderWidth,l=c.realTimeConfig&&c.realTimeConfig.showRTValue,r=c.borderWidth,q=c.canvasMarginTop,n=c.canvasMarginBottom,w=c.canvasMarginLeft,t=c.canvasMarginRight,u=c.minCanvasHeight,v=c.minCanvasWidth,B=c.minChartWidth,A=c.minChartHeight,F=c.height,I=c.width,C=!1,E=!1,J,L=c.origCanvasTopMargin,V=c.origCanvasBottomMargin,
K=c.origCanvasLeftMargin,S=c.origCanvasRightMargin,W,X,P;c.canvasWidth-2*r<B&&(W=(c.canvasWidth-B)/2);c.canvasHeight-2*r<A&&(b=(c.canvasHeight-A)/2);this._allocateSpace({top:b||r,bottom:b||r,left:W||r,right:W||r});e=e[0];b=.7*c.availableWidth;c.yAxisSpaceAllocation=b=e&&e.placeAxis(b);e&&this._allocateSpace(b);e=.225*c.availableHeight;e=this._manageActionBarSpace&&this._manageActionBarSpace(e)||{};this._allocateSpace(e);this._manageLegendSpace();a=a===G?.6*c.availableHeight:.6*c.availableWidth;D&&
(this._allocateSpace({left:D}),c.shift=d+M+H);f&&this._allocateSpace({top:f});c.canvasWidth-2*m<v&&(P=(c.canvasWidth-v)/2);this._allocateSpace({left:P||m,right:P||m});v>I-w-t&&(E=!0,D=c.canvasWidth-v,d=w+t,w=c.canvasMarginLeft=D*w/d,t=c.canvasMarginRight=D*t/d);w=w>c.canvasLeft?w-c.canvasLeft:0;t=t>I-c.canvasRight?t+c.canvasRight-I:0;this._allocateSpace({left:w,right:t});this._allocateSpace({left:H});E&&(d=K+S,H=c.canvasWidth,H>v&&(D=H-v,w=D*K/d,t=D*S/d),this._allocateSpace({left:w,right:t}));c.actualCanvasMarginRight=
t;c.actualCanvasMarginBottom=J;this._manageChartMenuBar(a);a=.2*c.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*c.availableHeight;c.realtimeEnabled&&(l?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());a=.6*c.availableHeight;c.xAxisSpaceAllocation=J=g&&g.placeAxis(a);g&&this._allocateSpace(J);a=.3*c.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);c.canvasHeight-2*m<u&&(X=(c.canvasHeight-u)/2);this._allocateSpace({top:X||
m,bottom:X||m});u>F-q-n&&(C=!0,D=c.canvasHeight-u,d=q+n,q=c.canvasMarginTop=D*q/d,n=c.canvasMarginBottom=D*n/d);g=q>c.canvasTop?q-c.canvasTop:0;J=n>F-c.canvasBottom?n+c.canvasBottom-F:0;this._allocateSpace({top:g,bottom:J});C&&(d=L+V,n=c.canvasHeight,n>u&&(D=n-u,g=D*L/d,J=D*V/d),this._allocateSpace({top:g,bottom:J}));c.actualCanvasMarginTop=g;c.actualCanvasMarginLeft=w},_postSpaceManagement:function(){var b=this.config,a=this.components,c=a.xAxis&&a.xAxis[0],u=a.yAxis&&a.yAxis[0],g=a.legend,e=b.xDepth,
d=a.canvas.config,a=d.canvasBorderWidth,D=d.canvasPadding,f,H,M;u&&this._allocateXAxisLabelSpace(u);f=d.canvasPaddingLeft;H=d.canvasPaddingRight;M=d.canvasPaddingTop;d=d.canvasPaddingBottom;u&&u.setAxisDimention({x:b.canvasLeft+f,y:b.canvasBottom+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-f-H});c&&c.setAxisDimention({x:b.canvasLeft-(b.shift||0)-a,y:b.canvasTop+(e||0)+qa(M,D),opposite:b.canvasRight+a,axisLength:b.canvasHeight-(e||0)-qa(M,D)-qa(d,D)});g.postSpaceManager()}},Ka.mscartesian,{maxbarheight:50});
Ka("ssbarcartesian",{standaloneInit:!1,_createAxes:Ka.msbarcartesian,_feedAxesRawData:Ka.msbarcartesian,_spaceManager:Ka.msbarcartesian,_postSpaceManagement:Ka.msbarcartesian,_allocateXAxisLabelSpace:Ka.msbarcartesian},Ka.sscartesian);Ka("msbarcartesian3d",{standaloneInit:!1,_createDatasets:Ka.mscartesian3d,is3d:!0,_drawCanvas:function(){var b=this.config,a=b.canvasLeft,e=b.canvasTop,d=b.canvasWidth,g=b.canvasHeight,D=this.jsonData.chart,f=this.components,H=f.canvas,M=f.colorManager,f=f.paper,m=H.graphics,
r=m.canvasBorderElement,q=m.canvasElement,w=H.config,n=w.clip={},H=this.graphics.canvasGroup,t=m.canvasBg,v=m.canvas3DBase,G=this.get(l,N),F=G.animType,I=G.animObj,E=G.dummyObj,G=G.duration,Q=m.canvas3dbaseline,R=w.canvasBgColor,L=w.showCanvasBG=!!B(D.showcanvasbg,1),Xa=b.canvasBgDepth,K=b.showCanvasBase,Ta=b.canvasBaseDepth,ea=w.canvasBaseColor3D=J(D.canvasbasecolor,M.getColor("canvasBaseColor3D")),V=w.use3DLighting=B(D.use3dlighting,1),R=u.chart3D,P=w.canvasBorderRadius=B(D.plotborderradius,0),
S=w.canvasBorderWidth=0,W=.5*S,X=w.canvasBorderColor=Ya(J(D.canvasbordercolor,M.getColor("canvasBorderColor"))),Z=w.canBGAlpha=J(D.canvasbgalpha,M.getColor("canvasBgAlpha")),pa=w.canBGColor=J(D.canvasbgcolor,M.getColor(R.canvasBgColor)),M=w.xDepth,D=w.yDepth,R=V?w.canvasBgColor={FCcolor:{color:ab(pa,85)+ub+db(pa,55),alpha:Z+ub+Z,ratio:yb,angle:gb(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:w.canvasBgColor=Ya(pa,Z);pa.split(ub);Z.split(ub);M=w.xDepth=5;D=w.yDepth=
5;b={x:a-W,y:e-W,width:d+S,height:g+S,r:P,"stroke-width":S,stroke:X,"stroke-linejoin":2<S?c:A};r?(r.animateWith(E,I,{x:a-W,y:e-W,width:d+S,height:g+S,r:P},G,F),r.attr({"stroke-width":S,stroke:X,"stroke-linejoin":2<S?c:A})):m.canvasBorderElement=f.rect(b,H);n["clip-canvas"]=[qa(0,a-M),qa(0,e),qa(1,d+M),qa(1,g+D)];n["clip-canvas-init"]=[qa(0,a-M),qa(0,e-D),1,qa(1,g+2*D)];b={x:a,y:e,width:d,height:g,r:P,"stroke-width":0,stroke:"none",fill:La(R)};L?(q?(q.show(),q.animateWith(E,I,{x:a,y:e,width:d,height:g,
r:P},G,F),q.attr({"stroke-width":0,stroke:"none",fill:La(R)})):m.canvasElement=f.rect(b,H),d=["M",a,",",e,"L",a+1.2*Xa,",",e-Xa,",",a+d-Xa,",",e-Xa,",",a+d,",",e,"Z"],t?(t.show(),t.animateWith(E,I,{path:d},G,F),t.attr({path:d})):t=m.canvasBg=f.path(d,H),t.attr({"stroke-width":0,stroke:"none",fill:La(R)})):(q&&q.hide(),t&&t.hide());K?(d=a-M-Ta-1,b=e+D+1,r=M+1,q=D+1,v?(v.show(),v._.cubeside.show(),v._.cubetop.show(),v.animateWith(E,I,{cubepath:[d,b,Ta,g,r,q]},G,F),v.attr({cubepath:[d,b,Ta,g,r,q]})):
v=m.canvas3DBase=f.cubepath(d,b,Ta,g,r,q,H),v.attr({stroke:"none","stroke-width":0,fill:[ea.replace(Y,za),!V]}),Q?(Q.show(),Q.animateWith(E,I,{path:["M",a,e,"V",g+e]},G,F)):Q=m.canvas3dbaseline=f.path(void 0,H),Q.attr({path:["M",a,e,"V",g+e],stroke:C.tintshade(ea.replace(Y,za),.05).rgba})):(v&&(v.hide(),v._.cubeside.hide(),v._.cubetop.hide()),Q&&Q.hide())}},Ka.msbarcartesian,{showplotborder:0});Ka("ssbarcartesian3d",{standaloneInit:!1,_createAxes:Ka.msbarcartesian,_feedAxesRawData:Ka.msbarcartesian,
_drawCanvas:Ka.msbarcartesian3d,_spaceManager:Ka.msbarcartesian,_postSpaceManagement:Ka.msbarcartesian,_allocateXAxisLabelSpace:Ka.msbarcartesian},Ka.sscartesian3d);Ka("mspolar",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","polarcartesan"]),c=FusionCharts.register("component",["axis","polar"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=a=new a;b.xAxis[0]=b=new c;a.chart=this;b.chart=this;a.init();b.init();a.setAxisConfig({polarAxis:b});
this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,c=this.jsonData,e=c.chart,g,d=(g=this.is3d)?u.chart3D:u.chart2D;g={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Za(e.outcnvbasefontsize,e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.xaxisnamepadding,axisValuePadding:e.labelpadding,axisNameFont:e.xaxisnamefont,axisNameFontSize:e.xaxisnamefontsize,
axisNameFontColor:e.xaxisnamefontcolor,axisNameFontBold:e.xaxisnamefontbold,axisNameFontItalic:e.xaxisnamefontitalic,axisNameBgColor:e.xaxisnamebgcolor,axisNameBorderColor:e.xaxisnamebordercolor,axisNameAlpha:e.xaxisnamealpha,axisNameFontAlpha:e.xaxisnamefontalpha,axisNameBgAlpha:e.xaxisnamebgalpha,axisNameBorderAlpha:e.xaxisnameborderalpha,axisNameBorderPadding:e.xaxisnameborderpadding,axisNameBorderRadius:e.xaxisnameborderradius,axisNameBorderThickness:e.xaxisnameborderthickness,axisNameBorderDashed:e.xaxisnameborderdashed,
axisNameBorderDashLen:e.xaxisnameborderdashlen,axisNameBorderDashGap:e.xaxisnameborderdashgap,useEllipsesWhenOverflow:e.useellipseswhenoverflow,divLineColor:J(e.vdivlinecolor,e.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:J(e.vdivlinealpha,e.divlinealpha,g?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:B(e.vdivlinethickness,e.divlinethickness,1),divLineIsDashed:!!B(e.vdivlinedashed,e.vdivlineisdashed,e.divlinedashed,e.divlineisdashed,0),divLineDashLen:B(e.vdivlinedashlen,
e.divlinedashlen,4),divLineDashGap:B(e.vdivlinedashgap,e.divlinedashgap,2),showAlternateGridColor:B(e.showalternatevgridcolor,1),alternateGridColor:J(e.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:J(e.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:e.numvdivlines,labelFont:e.labelfont,labelFontSize:e.labelfontsize,labelFontColor:e.labelfontcolor,labelFontAlpha:e.labelalpha,labelFontBold:e.labelfontbold,labelFontItalic:e.labelfontitalic,axisName:e.yaxisname,axisMinValue:e.xaxisminvalue,
axisMaxValue:e.xaxismaxvalue,setAdaptiveMin:e.setadaptivexmin,adjustDiv:e.adjustvdiv,labelDisplay:e.labeldisplay,showLabels:e.showlabels,rotateLabels:e.rotatelabels,slantLabel:B(e.slantlabels,e.slantlabel),labelStep:B(e.labelstep,e.xaxisvaluesstep),showAxisValues:B(e.showxaxisvalues,e.showxaxisvalue),showLimits:e.showvlimits,showDivLineValues:B(e.showvdivlinevalues,e.showvdivlinevalues),zeroPlaneColor:e.vzeroplanecolor,zeroPlaneThickness:e.vzeroplanethickness,zeroPlaneAlpha:e.vzeroplanealpha,showZeroPlaneValue:e.showvzeroplanevalue,
trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:B(e.showxaxisline,e.showaxislines,e.drawAxisLines,0),axisLineThickness:B(e.xaxislinethickness,e.axislinethickness,1),axisLineAlpha:B(e.xaxislinealpha,e.axislinealpha,100),axisLineColor:J(e.xaxislinecolor,e.axislinecolor,"#000000"),showRadarBorder:e.showradarborder,radarBorderColor:e.radarbordercolor,radarBorderThickness:e.radarborderthickness,
radarBorderAlpha:e.radarborderalpha,radarFillColor:e.radarfillcolor,radarFillAlpha:e.radarfillalpha,radarSpikeColor:e.radarspikecolor,radarSpikeThickness:e.radarspikethickness,radarSpikeAlpha:e.radarspikealpha,radarInLineAlpha:e.radarinlinealpha};a={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Za(e.outcnvbasefontsize,e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.yaxisnamepadding,
axisValuePadding:e.yaxisvaluespadding,axisNameFont:e.yaxisnamefont,axisNameFontSize:e.yaxisnamefontsize,axisNameFontColor:e.yaxisnamefontcolor,axisNameFontBold:e.yaxisnamefontbold,axisNameFontItalic:e.yaxisnamefontitalic,axisNameBgColor:e.yaxisnamebgcolor,axisNameBorderColor:e.yaxisnamebordercolor,axisNameAlpha:e.yaxisnamealpha,axisNameFontAlpha:e.yaxisnamefontalpha,axisNameBgAlpha:e.yaxisnamebgalpha,axisNameBorderAlpha:e.yaxisnameborderalpha,axisNameBorderPadding:e.yaxisnameborderpadding,axisNameBorderRadius:e.yaxisnameborderradius,
axisNameBorderThickness:e.yaxisnameborderthickness,axisNameBorderDashed:e.yaxisnameborderdashed,axisNameBorderDashLen:e.yaxisnameborderdashlen,axisNameBorderDashGap:e.yaxisnameborderdashgap,axisNameWidth:e.yaxisnamewidth,useEllipsesWhenOverflow:e.useellipseswhenoverflow,rotateAxisName:B(e.rotateyaxisname,1),axisName:e.xaxisname,divLineColor:J(e.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:J(e.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:B(e.divlinethickness,1),divLineIsDashed:!!B(e.divlinedashed,
e.divlineisdashed,0),divLineDashLen:B(e.divlinedashlen,4),divLineDashGap:B(e.divlinedashgap,2),showAlternateGridColor:B(e.showalternatehgridcolor,1),alternateGridColor:J(e.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:J(e.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:e.numdivlines,axisMinValue:e.yaxisminvalue,axisMaxValue:e.yaxismaxvalue,setAdaptiveMin:e.setadaptiveymin,adjustDiv:e.adjustdiv,labelStep:e.yaxisvaluesstep,showAxisValues:B(e.showyaxisvalues,e.showyaxisvalue),
showLimits:B(e.showyaxislimits,e.showlimits,this.showLimits),showDivLineValues:B(e.showdivlinevalues,e.showdivlinevalue),zeroPlaneColor:e.zeroplanecolor,zeroPlaneThickness:B(e.zeroplanethickness,e.divlinethickness,2),zeroPlaneAlpha:e.zeroplanealpha,showZeroPlaneValue:e.showzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:B(e.showyaxisline,
e.showaxislines,e.drawAxisLines,0),axisLineThickness:B(e.yaxislinethickness,e.axislinethickness,1),axisLineAlpha:B(e.yaxislinealpha,e.axislinealpha,100),axisLineColor:J(e.yaxislinecolor,e.axislinecolor,"#000000")};g.vtrendlines=c.trendlines;a.trendlines=c.vtrendlines;c=b.yAxis[0];b=b.xAxis[0];c.setCommonConfigArr(a,!0,!1,!1);b.setCommonConfigArr(g,!1,!1,!1);c.configure();b.configure()},_spaceManager:function(){var b,a,c=this.config;a=this.components;var u=c.radarborderthickness,g=c.legendPosition,
e=a.xAxis&&a.xAxis[0],d=a.yAxis&&a.yAxis[0];b=this.hasLegend;a=a.legend;var D;D=g===G?.3*c.canvasHeight:.3*c.canvasWidth;!1!==b&&e&&this._allocateSpace(a._manageLegendPosition(D));a=.7*c.canvasHeight;b=.7*c.canvasWidth;e&&this._allocateSpace(e.placeAxis(b,a));b=.7*c.canvasWidth;d&&d.placeAxis(b);b=.225*c.availableHeight;b=this._manageActionBarSpace&&this._manageActionBarSpace(b)||{};this._allocateSpace(b);b=0<c.radarradius?2*c.radarradius:Qa(c.canvasHeight,c.canvasWidth);c.canvasHeight>b&&(a=kb((c.canvasHeight-
b)/2),this._allocateSpace({top:a,bottom:a}));c.canvasWidth>b&&(a=kb((c.canvasWidth-b)/2),this._allocateSpace({left:a,right:a}));a=g===G?.6*c.availableHeight:.6*c.availableWidth;this._manageChartMenuBar(a);d.setAxisDimention({x:c.canvasLeft+c.canvasWidth/2-u/2,y:c.canvasTop,axisLength:c.canvasHeight/2});e.setAxisConfig({centerX:c.canvasLeft+c.canvasWidth/2,centerY:c.canvasTop+c.canvasHeight/2,radius:Qa(c.canvasWidth/2,c.canvasHeight/2)-u/2})}},Ka.mscartesian);Ka("mslog",{standaloneInit:!1,_createAxes:function(){var b=
this.components,a=FusionCharts.register("component",["axis","cartesian"]),c=FusionCharts.register("component",["axis","log"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new c;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,c=this.jsonData,e=c.chart,g,d=(g=this.is3d)?u.chart3D:u.chart2D,D=1===B(e.invertyaxis,0)?!0:!1;g={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Za(e.outcnvbasefontsize,
e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.xaxisnamepadding,axisValuePadding:e.labelpadding,axisNameFont:e.xaxisnamefont,axisNameFontSize:e.xaxisnamefontsize,axisNameFontColor:e.xaxisnamefontcolor,axisNameFontBold:e.xaxisnamefontbold,axisNameFontItalic:e.xaxisnamefontitalic,axisNameBgColor:e.xaxisnamebgcolor,axisNameBorderColor:e.xaxisnamebordercolor,axisNameAlpha:e.xaxisnamealpha,axisNameFontAlpha:e.xaxisnamefontalpha,
axisNameBgAlpha:e.xaxisnamebgalpha,axisNameBorderAlpha:e.xaxisnameborderalpha,axisNameBorderPadding:e.xaxisnameborderpadding,axisNameBorderRadius:e.xaxisnameborderradius,axisNameBorderThickness:e.xaxisnameborderthickness,axisNameBorderDashed:e.xaxisnameborderdashed,axisNameBorderDashLen:e.xaxisnameborderdashlen,axisNameBorderDashGap:e.xaxisnameborderdashgap,useEllipsesWhenOverflow:e.useellipseswhenoverflow,divLineColor:J(e.vdivlinecolor,e.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:J(e.vdivlinealpha,
e.divlinealpha,g?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:B(e.vdivlinethickness,e.divlinethickness,1),divLineIsDashed:!!B(e.vdivlinedashed,e.vdivlineisdashed,e.divlinedashed,e.divlineisdashed,0),divLineDashLen:B(e.vdivlinedashlen,e.divlinedashlen,4),divLineDashGap:B(e.vdivlinedashgap,e.divlinedashgap,2),showAlternateGridColor:B(e.showalternatevgridcolor,0),alternateGridColor:J(e.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:J(e.alternatevgridalpha,
a.getColor("altVGridAlpha")),numDivLines:e.numvdivlines,maxLabelHeight:e.maxlabelheight,labelFont:e.labelfont,labelFontSize:e.labelfontsize,labelFontColor:e.labelfontcolor,labelFontAlpha:e.labelalpha,labelFontBold:e.labelfontbold,labelFontItalic:e.labelfontitalic,axisName:e.xaxisname,axisMinValue:e.xaxisminvalue,axisMaxValue:e.xaxismaxvalue,setAdaptiveMin:e.setadaptivexmin,adjustDiv:e.adjustvdiv,labelDisplay:e.labeldisplay,showLabels:e.showlabels,rotateLabels:e.rotatelabels,slantLabel:B(e.slantlabels,
e.slantlabel),labelStep:B(e.labelstep,e.xaxisvaluesstep),showAxisValues:B(e.showxaxisvalues,e.showxaxisvalue),showLimits:e.showvlimits,showDivLineValues:B(e.showvdivlinevalues,e.showvdivlinevalues),showZeroPlane:e.showvzeroplane,zeroPlaneColor:e.vzeroplanecolor,zeroPlaneThickness:e.vzeroplanethickness,zeroPlaneAlpha:e.vzeroplanealpha,showZeroPlaneValue:e.showvzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,
showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:B(e.showxaxisline,e.showaxislines,e.drawAxisLines,0),axisLineThickness:B(e.xaxislinethickness,e.axislinethickness,1),axisLineAlpha:B(e.xaxislinealpha,e.axislinealpha,100),axisLineColor:J(e.xaxislinecolor,e.axislinecolor,"#000000")};a={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Za(e.outcnvbasefontsize,e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:e.yaxisnamepadding,axisValuePadding:e.yaxisvaluespadding,axisNameFont:e.yaxisnamefont,axisNameFontSize:e.yaxisnamefontsize,axisNameFontColor:e.yaxisnamefontcolor,axisNameFontBold:e.yaxisnamefontbold,axisNameFontItalic:e.yaxisnamefontitalic,axisNameBgColor:e.yaxisnamebgcolor,axisNameBorderColor:e.yaxisnamebordercolor,axisNameAlpha:e.yaxisnamealpha,axisNameFontAlpha:e.yaxisnamefontalpha,axisNameBgAlpha:e.yaxisnamebgalpha,axisNameBorderAlpha:e.yaxisnameborderalpha,axisNameBorderPadding:e.yaxisnameborderpadding,
axisNameBorderRadius:e.yaxisnameborderradius,axisNameBorderThickness:e.yaxisnameborderthickness,axisNameBorderDashed:e.yaxisnameborderdashed,axisNameBorderDashLen:e.yaxisnameborderdashlen,axisNameBorderDashGap:e.yaxisnameborderdashgap,axisNameWidth:e.yaxisnamewidth,useEllipsesWhenOverflow:e.useellipseswhenoverflow,rotateAxisName:B(e.rotateyaxisname,1),axisName:e.yaxisname,divLineColor:J(e.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:J(e.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:B(e.divlinethickness,
2),divLineIsDashed:!!B(e.divlinedashed,e.divlineisdashed,0),divLineDashLen:B(e.divlinedashlen,4),divLineDashGap:B(e.divlinedashgap,2),showAlternateGridColor:B(e.showalternatehgridcolor,1),alternateGridColor:J(e.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:J(e.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:e.numdivlines,axisMinValue:e.yaxisminvalue,axisMaxValue:e.yaxismaxvalue,setAdaptiveMin:e.setadaptiveymin,adjustDiv:e.adjustdiv,labelStep:e.yaxisvaluesstep,showAxisValues:B(e.showyaxisvalues,
e.showyaxisvalue),showLimits:B(e.showyaxislimits,e.showlimits,this.showLimits),showDivLineValues:B(e.showdivlinevalues,e.showdivlinevalue),showZeroPlane:e.showzeroplane,zeroPlaneColor:e.zeroplanecolor,zeroPlaneThickness:e.zeroplanethickness,zeroPlaneAlpha:e.zeroplanealpha,showZeroPlaneValue:e.showzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:B(e.showyaxisline,
e.showaxislines,e.drawAxisLines,0),axisLineThickness:B(e.yaxislinethickness,e.axislinethickness,1),axisLineAlpha:B(e.yaxislinealpha,e.axislinealpha,100),base:e.base,logBase:e.logbase,axisLineColor:J(e.yaxislinecolor,e.axislinecolor,"#000000"),showMinorDivLineValues:B(e.showminordivlinevalues,0),numMinorDivLines:e.numminordivlines};"1"===a.base&&(a.base=10,a.logBase=10);a.minorDivlinecolor=J(e.minordivlinecolor,a.divLineColor);a.minorDivLineThickness=J(e.minordivlinethickness,1);a.minorDivLineAlpha=
J(e.minordivlinealpha,a.divLineAlpha/2);g.vtrendlines=c.vtrendlines;a.trendlines=c.trendlines;c=b.yAxis[0];b=b.xAxis[0];c.setCommonConfigArr(a,!0,D,!1);b.setCommonConfigArr(g,!1,!1,!1);c.configure();b.configure()},_setAxisLimits:function(){var b=this.components,a=b.dataset,c=b.yAxis,b=b.xAxis,e,g=a.length,u,d=-Infinity,D=Infinity,f=Infinity,H=-Infinity,M,m={},l=[],r=function(b){d=qa(d,b.max);D=Qa(D,b.min);H=qa(H,b.xMax||-Infinity);f=Qa(f,b.xMin||Infinity)};for(u=0;u<g;u++)e=a[u],(M=e.groupManager)?
m[e.type]=M:l.push(e);for(M in m)a=m[M].getDataLimits(),r(a);g=l.length;for(u=0;u<g;u++)a=l[u].getDataLimits(),r(a);r(this._getTrendLineMinMax("h"));-Infinity===d&&(d=1);Infinity===D&&(D=1);c[0].setDataLimit(d,D);if(-Infinity!==H||Infinity!==f)b[0].config.xaxisrange={max:H,min:f},b[0].setDataLimit(H,f)}},Ka.mscartesian);Ka("guageBase",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},_adjustCanvasPadding:function(){},
placeDataLabels:function(){var b=function(b,a){return b.point.value-a.point.value},a=function(b,a){return b.angle-a.angle},c=[P,P,r,r],e=[-1,1,1,-1],g=[1,1,-1,-1];return function(u,d,D,f){var H=this.config,M=this.components.dataset[0].conf,m=H.canvasLeft,l=H.canvasTop,r=H.canvasWidth,q=m+.5*H.canvasWidth,n=l+.5*H.canvasHeight,v=this.linkedItems.smartLabel,A=M.dataLabelOptions,G=A.style,F=B(ma(parseFloat(G.lineHeight)),12),I=wa(A.placeLabelsInside,1===d.length?!0:!1),R=A.skipOverlapLabels,E=A.manageLabelOverflow,
C=A.connectorPadding,J;J=f&&f.metrics||[q,n,2*M.pieMinRadius,M.innerSize||0];var L=J[1],K=J[0];f=.5*J[2];var V=[[],[],[],[]],M=D.labelsRadius=f+A.distance,n=q=parseInt(G.fontSize,10),P=n/2,C=[C,C,-C,-C];D=D.labelsMaxInQuadrant||(D.labelsMaxInQuadrant=Ha(M/n));var A=A.isSmartLineSlanted,S=J[3]/2,W,X,Z,N,O,U,da,aa,ka,T,ja,la,oa,fa,ca,Y;J=Number.POSITIVE_INFINITY;var Aa,ra;Z=[];X=[];v.useEllipsesOnOverflow(H.useEllipsesWhenOverflow);u||v.setStyle(G);if(1==d.length&&!S&&I)Z=d[0],(ja=Z.dataLabel)&&ja.show(),
Z.slicedTranslation=[m,l],ja&&(ja.attr({visibility:fb,align:w,transform:["t",K,L]}),ja.x=K);else if(I)Y=S+(f-S)/2,lb(d,function(b){Aa=b.config;ra=b.graphics;(ja=ra.label)&&ja.show();ja&&(T=Aa.angle,ka=L+Y*Ea(T),O=K+Y*nb(T),ja.x=O,ja._x=O,ja.y=ka,b.sliced&&(ca=b.slicedTranslation,oa=ca[0]-m,fa=ca[1]-l,O+=oa,ka+=fa),ja.attr({visibility:fb,align:w,transform:["t",O,ka]}))});else{lb(d,function(b){Aa=b.config;ra=b.graphics;(ja=ra.label)&&ja.show();ja&&(T=Aa.angle%Ab,0>T&&(T=Ab+T),la=0<=T&&T<Gb?1:T<rb?2:
T<Fb?3:0,V[la].push({point:b,angle:T}))});for(d=u=4;d--;){if(R&&(H=V[d].length-D,0<H))for(V[d].sort(b),G=V[d].splice(0,H),H=0,X=G.length;H<X;H+=1)Z=G[H].point,Z.dataLabel.attr({visibility:t}),Z.connector&&Z.connector.attr({visibility:t});V[d].sort(a)}d=qa(V[0].length,V[1].length,V[2].length,V[3].length);H=qa(Qa(d,D)*n,M+n);X=V[0].concat(V[1]);Z=V[2].concat(V[3]);for(d=X.length-1;0<=d;d--)G=X[d].point.config,delete G.clearance,delete G.clearanceShift,S=kb(H*Ea(G.angle)),Math.abs(J-S)<2*F&&(G.clearance=
0,X[d+1].point.clearanceShift=F/2),J=S;J=Number.POSITIVE_INFINITY;d=0;for(X=Z.length;d<X;d++)G=Z[d].point.config,delete G.clearance,delete G.clearanceShift,S=kb(H*Ea(G.angle)),Math.abs(J-S)<2*F&&(G.clearance=0,Z[d-1].point.clearanceShift=F/2),J=S;V[1].reverse();for(V[3].reverse();u--;){G=V[u];X=G.length;R||(n=X>D?H/X:q,P=n/2);F=X*n;J=H;for(d=0;d<X;d+=1,F-=n)S=kb(H*Ea(G[d].angle)),J<S?S=J:S<F&&(S=F),J=(G[d].oriY=S)-n;I=c[u];X=H-(X-1)*n;J=0;for(d=G.length-1;0<=d;--d,X+=n)if(Z=G[d].point,T=G[d].angle,
Aa=Z.config,ra=Z.graphics,Z=Aa.sliced,ja=ra.label,S=kb(H*Ea(T)),S<J?S=J:S>X&&(S=X),J=S+n,F=void 0===Aa.clearance?2*ma(B(parseFloat(Aa.style.border),12),12):2*ma(B(parseFloat(Aa.style.border),Aa.clearance)),da=(S+G[d].oriY)/2,S=K+g[u]*M*nb(Va.asin(da/H)),da*=e[u],da+=L,aa=L+f*Ea(T),N=K+f*nb(T),(2>u&&S<N||1<u&&S>N)&&(S=N),O=S+C[u],ka=da-P-2,U=O+C[u],ja.x=U,ja._x=U,E&&(W=1<u?U-this.canvasLeft:this.canvasLeft+r-U,v.setStyle(Aa.style),F=B(ma(parseFloat(Aa.style.lineHeight)),12)+F,F=v.getSmartText(Aa.labelText,
W,F),void 0===Aa.clearance&&F.height>n&&(da+=n),ja.attr({text:F.text}).tooltip(F.tooltext)),ja.y=ka,Z&&(oa=Aa.transX,fa=Aa.transY,O+=oa,S+=oa,N+=oa,aa+=fa,U+=oa),ja.attr({visibility:fb,"text-anchor":I,vAlign:w,x:U,y:da}),F=ra.connector)ra.connectorPath=Z=["M",N,aa,"L",A?S:N,da,O,da],F.attr({path:Z,visibility:fb})}}}}()},Ka.sscartesian);Ka("scatterBase",{standaloneInit:!1,_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,c=J(b.chart.xaxislabelmode,"categories"),b=b.categories&&
b.categories[0].category;a[0].setAxisConfig({xAxisLabelMode:"categories"});"auto"!==c&&"mixed"!==c&&b&&0<b.length?a[0].setCategory(b):"auto"!==c?(a[0].setCategory(b,!1),a[0].setAxisConfig({xAxisLabelMode:"mixed"})):a[0].setAxisConfig({xAxisLabelMode:"auto"})},_setAxisLimits:function(){var b=this.components,a=this.jsonData,c=b.xAxis,e=J(a.chart.xaxislabelmode,"categories"),a=a.categories&&a.categories[0],a=(a&&a.category||[]).slice(),g,u,d,D,f;g=Infinity;d=-Infinity;var H,M;Ka("mscartesian")._setAxisLimits.call(this);
u=c[0].getLimit();D=u.tickInterval;for(f=0;f<a.length;f+=1)if(H=a[f].x)H<g&&(g=H),H>d&&(d=H);f=this._getTrendLineMinMax("v");d=qa(d,f.max);g=Qa(g,f.min);if(d>u.max||g<u.min)d=qa(d,u.max),g=Qa(g,u.min),c[0].setDataLimit(d,g);if("mixed"===e||"auto"===e||!(a&&0<a.length)){d=[];g=b.numberFormatter.xAxis;if("mixed"===e)for(f=0,e=a.length;f<e;f+=1)d[a[f].x||a[f].y||f]=!0;else a=[];H=c[0].getAxisConfig();M=f=u.min;for(e=u.max;f<=e;)d[f]||a.push({label:T+g.call(b.numberFormatter,f),x:f,showverticalline:0===
f?H.showZeroPlane:1,isNumeric:!0,linecolor:0===f?H.zeroPlaneColor:H.divLineColor,linealpha:0===f?H.zeroPlaneAlpha:H.divLineAlpha,linethickness:0===f?H.zeroPlaneThickness:H.divLineThickness,linedashed:H.divLineIsDashed,linedashLen:H.divLineDashLen,linedashgap:H.divLineDashGap}),0>f&&0<f+D?(f=0,M+=D):f<M?f=M:(f+=D,M+=D);c[0].setCategory(a,!1)}},_createQuadrant:function(){var b;b=this.components;var a=FusionCharts.register("component",["quadrant","cartesian"]);b.quadrant=b=new a;b.chart=this;b.init()},
_drawQuadrant:function(){this.components.quadrant.draw()},_getDiff:function(b,a){return{diff:b,startIndex:a}}},Ka.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,setadaptivexmin:1});Ka("areabase",{standaloneInit:!1},Ka.mscartesian,{anchorborderthickness:1,anchorimageurl:void 0,anchorimagepadding:1,anchorsides:1,anchoralpha:void 0,anchorbgalpha:O,anchorimagealpha:O,anchorimagescale:100,anchorstartangle:90,anchorshadow:0,anchorbgcolor:void 0,anchorbordercolor:void 0,anchorradius:3,
showvalues:1,plotfillalpha:fa,linedashlen:5,linedashgap:4,linedashed:void 0,linealpha:O,linethickness:2,drawfullareaborder:1,connectnulldata:0})}]);FusionCharts.register("module",["private","modules.renderer.js-renderer",function(){var f=this.window,m=this.hcLib,C=m.Raphael,n=m.parseConfiguration,E=/msie/i.test(f.navigator.userAgent)&&!f.opera,F=f.Image,K="VML"===C.type,a=m.BLANKSTRING,O=m.getPosition,d=m.COMMASPACE,l=m.ZEROSTRING,N=m.BGRATIOSTRING,ba=m.hasSVG,v="rgba(192,192,192,"+(E?.002:1E-6)+
")",E=m.TOUCH_THRESHOLD_PIXELS,t=m.CLICK_THRESHOLD_PIXELS,q=m.extend2,c=m.pluck,A=m.parsexAxisStyles,P=m.toPrecision,e=m.pluckNumber,r=m.setLineHeight,G=m.pluckFontSize,w=m.toRaphaelColor,L=m.graphics.convertColor,I=m.parseUnsafeString,fa=m.getDefinedColor,aa=m.graphics.getDarkColor,U=m.ONESTRING,T=m.getFirstAlpha,ca=m.HUNDREDSTRING,J=m.getDashStyle,ia=m.plotEventHandler,B=m.hasTouch?E:t,wa=m.getCrispValues,Ja=m.getValidValue,sa=m.getFirstValue,ha=m.parseTooltext,ga=m.regex.dropHypeash,Y=m.HASHSTRING,
E=m.preDefStr,za=E.noneStr,hb=E.configStr,Na=E.animationObjStr,Ba=E.showHoverEffectStr,Ia=E.columnStr,Oa=E.barStr,Da=E.barHotStr,fb=E.shadowStr,La=E.visibleStr,Va=E.hiddenStr,Qa=E.negativeValueStr,qa=E.positiveValueStr,kb=E.zeroPlaneStr,ma=E.categoryPlotsStr,Ha=E.setRolloverAttrStr,Sa=E.setRolloutAttrStr,Ea=E.elementStr,nb=E.hotElementStr,rb=E.dataLabelStr,Gb=E.strokeWidthStr,Ab=E.strokeDashStr,Fb=E.miterStr,wb=E.POSITION_MIDDLE,Ra=E.POSITION_START,Za=E.POSITION_TOP,ab=E.POSITION_BOTTOM,db=E.POSITION_END,
Ya=m.graphics.getCubePathOutline,ob=function(b,a){var c=!1,e=a%2,d;b[1]===b[4]&&(c=b[1],d=bb(c),b[1]=b[4]=e?d>c?d-.5:d+.5:d,c=!0);b[2]===b[5]&&(c=b[2],d=bb(c),b[2]=b[5]=e?d>c?d-.5:d+.5:d,c=!0);return{path:b,isCrisped:c}},xb=8===f.document.documentMode?La:"",ib=Math,Ka=ib.sqrt,ub=ib.sin,vb=ib.cos,bb=ib.round,Ma=ib.min,Ga=ib.max,Pa=ib.abs,lb=ib.ceil,jb=ib.floor,yb=ib.pow,gb=ib.log,Db=ib.PI,Bb=2*Db,mb=m.getFirstColor,qb=m.graphics.getLightColor,pb=m.schedular;C.ca.ishot=function(b){if(this.removed)return!1;
var a=this.node;b=b||"";a.ishot=b;switch(this.type){case "group":for(a=this.bottom;a;)a.attr("ishot",b),a=a.next;break;case "text":if(C.svg)for(a=a.getElementsByTagName("tspan")[0];a;)a.ishot=b,a=a.nextSibling}return!1};C.addSymbol({printIcon:function(b,a,c){var e=.75*c,d=.5*c,k=.33*c,h=bb(b-c)+.5,f=bb(a-c)+.5,p=bb(b+c)+.5;c=bb(a+c)+.5;var g=bb(b-e)+.5,m=bb(a-e)+.5,e=bb(b+e)+.5,l=bb(a+d)+.5,r=bb(b+d)+.5,q=bb(a+k)+.5;b=bb(b-d)+.5;k=bb(a+k+k)+.5;return["M",g,f,"L",e,f,e,m,g,m,"Z","M",h,m,"L",h,l,g,
l,g,a,e,a,e,l,p,l,p,m,"Z","M",g,a,"L",g,c,e,c,e,a,"Z","M",r,q,"L",b,q,"M",r,k,"L",b,k]},exportIcon:function(b,a,c){var e=.66*c,d=.5*e,k=bb(b-c)+.5,h=bb(a-c)+.5,f=bb(b+c)+.5;c=bb(a+c)-.5;var p=bb(b-d)+.5,g=a<c-3?c-3:bb(a)+.5,d=bb(b+d)-.5,m=bb(b+e)-.5,e=bb(b-e)+.5;return["M",k,g,"L",k,c,f,c,f,g,f,c,k,c,"Z","M",b,c-1,"L",e,a,p,a,p,h,d,h,d,a,m,a,"Z"]}});FusionCharts.register("component",["axis","cartesian",{pIndex:2,customConfigFn:"_feedAxesRawData",init:function(b,a,c,e){var d;this.graphics={};this.components=
{};d=this.config;d.isVertical=a;d.isReverse=c;d.isOpposit=e;d.isActive=!0;d.drawLabels=!0;d.drawOnlyCategoryLine=!1;d.drawLabelsOpposit=!1;d.drawLabelOnBothSide=!1;d.drawPlotlines=!0;d.drawAxisLine=!0;d.drawPlotBands=!0;d.drawAxisName=!0;d.drawAxisNameOpposit=!1;d.axisNameAlignCanvas=!1;d.drawAxisNameFromBottom=!1;d.drawTrendLines=!0;d.drawTrendLabels=!0;d.drawTick=!0;d.drawTickMinor=!0;d.animateAxis=!0;d.drawAxisLineWRTCanvas=!0;d.isRelativeAxisInverse=!1;d.axisIndex=0;d.uniqueClassName=0;d.viewPortRatio=
{};d.canvas={};d.rawAttr=b;d.axisRange={};d.isConfigured=!0;d.axisDimention={};d.extremeLabels={firstLabel:{},lastLabel:{}};d._setRangeAgain=!1;d._defaultForceDecimal=void 0;d._defaultDecimalPrecision=void 0},setCommonConfigArr:function(b,a,c,e){var d=this.config;d.rawAttr=b;d.isVertical=a;d.isReverse=c;d.isOpposit=e},configure:function(){var b=this.config,a=b.rawAttr,d=this.chart,f=d.components,M=this.chart.is3D,d=d.jsonData.chart,k=f.numberFormatter;b.trendLines=a.trendlines;b.vTrendLines=a.vtrendlines;
this.__setDefaultConfig();n(a,b);b.axisName=I(a.axisName);b.axisValuePadding=b.axisNamePadding||e(a.axisValuePadding,4);b.axisNamePadding=b.axisNamePadding||e(a.axisNamePadding,5);b.maxLabelWidthPercent=e(a.maxLabelWidthPercent);b.maxLabelWidthPercent=Pa(b.maxLabelWidthPercent);b.numDivLines=e(a.numDivLines,4);0>b.numDivLines&&(b.numDivLines=0);b.categoryNumDivLines=e(a.numDivLines,0);0>b.axisValuePadding&&(b.axisValuePadding=0);b.categoryDivLinesFromZero=1;b.axisMinValue=k.getCleanValue(a.axisMinValue);
b.axisMaxValue=k.getCleanValue(a.axisMaxValue);b.zeroPlaneColor=c(a.zeroPlaneColor,a.divLineColor);b.zeroPlaneThickness=c(a.zeroPlaneThickness,a.divLineThickness);b.axisLineColor=L(a.axisLineColor,a.axisLineAlpha);b.tickAlpha=e(a.tickAlpha,b.axisLineAlpha);b.tickColor=L(c(a.tickColor,a.axisLineColor),b.tickAlpha);b.tickWidth=e(a.tickWidth,b.axisLineThickness);b.showVLines=e(d.showvlines,1);b.showVLinesOnTop=e(d.showvlinesontop,0);b.showVLineLabels=e(d.showvlinelabels,this.showVLineLabels,1);b.showVLineLabelBorder=
e(d.showvlinelabelborder,1);b.rotateVLineLabels=e(d.rotatevlinelabels,0);b.vLineColor=c(d.vlinecolor,"333333");b.vLineLabelColor=c(d.vlinelabelcolor);b.vLineThickness=c(d.vlinethickness,1);b.vLineAlpha=e(d.vlinealpha,80);b.vLineLabelBgColor=c(d.vlinelabelbgcolor,"ffffff");b.vLineLabelBgAlpha=e(d.vlinelabelbgalpha,M?50:100);b.staggerLines=Math.max(e(d.staggerlines,2),2);1>b.staggerlines&&(b.staggerlines=1);b.trendlineValuesOnOpp=c(a.trendlineValuesOnOpp,a.trendlineValuesOnOpp,0);b.labelDisplay=c(a.labelDisplay,
"auto").toLowerCase();b.labelStep=e(a.labelStep,0);b.labelStep=bb(b.labelStep);0>b.labelStep&&(b.labelStep=0);b._oriLabelStep=b.labelStep;b.showLimits=e(a.showLimits,b.showAxisValues);b.showUpperLimit=a.showLimits;b.showDivLineValues=e(a.showDivLineValues,b.showAxisValues);b.showCanvasBorder=f.canvas.config.showCanvasBorder?1:0;b.axisBreak=a.axisBreaks;b.isBreak=!!b.axisBreak;b.isBreak&&this._processAxisBreak();f=(f=sa(a.axisNameBorderColor,""))?L(f,e(a.axisNameBorderAlpha,a.axisNameAlpha,100)):"";
b.name=b.name||{};b.name.style={fontFamily:c(a.axisNameFont,a.outCanfontFamily),fontSize:c(a.axisNameFontSize,parseInt(a.outCanfontSize,10))+"px",color:L(c(a.axisNameFontColor,a.outCancolor),e(a.axisNameFontAlpha,a.axisNameAlpha,100)),fontWeight:e(a.axisNameFontBold,1)?"bold":"normal",fontStyle:e(a.axisNameFontItalic)?"italic":"normal",border:f||a.axisNameBgColor?e(a.axisNameBorderThickness,1)+"px solid":void 0,borderColor:f,borderThickness:e(a.axisNameBorderThickness,1),borderPadding:e(a.axisNameBorderPadding,
2),borderRadius:e(a.axisNameBorderRadius,0),backgroundColor:a.axisNameBgColor?L(a.axisNameBgColor,e(a.axisNameBgAlpha,a.axisNameAlpha,100)):"",borderDash:e(a.axisNameBorderDashed,0)?J(e(a.axisNameBorderDashLen,4),e(a.axisNameBorderDashGap,2),e(a.axisNameBorderThickness,1)):"none"};b.name.style.lineHeight=r(b.name.style);f=(f=sa(d.trendvaluebordercolor,""))?L(f,e(d.trendvalueborderalpha,d.trendvaluealpha,100)):"";b.trend=b.trend||{};b.trend.trendStyle={fontFamily:c(d.trendvaluefont,a.outCanfontFamily),
color:c(d.trendvaluefontcolor,a.trendlineColor,a.outCancolor,"333333"),fontSize:G(d.trendvaluefontsize,parseInt(a.outCanfontSize,10))+"px",fontWeight:e(d.trendvaluefontbold)?"bold":"normal",fontStyle:e(d.trendvaluefontitalic)?"italic":"normal",border:f||d.trendvaluebgcolor?e(d.trendvalueborderthickness,1)+"px solid":"",borderColor:f,borderThickness:e(d.trendvalueborderthickness,1),borderPadding:e(d.trendvalueborderpadding,2),borderRadius:e(d.trendvalueborderradius,0),backgroundColor:d.trendvaluebgcolor?
L(d.trendvaluebgcolor,e(d.trendvaluebgalpha,d.trendvaluealpha,100)):"",borderDash:e(d.trendvalueborderdashed,0)?J(e(d.trendvalueborderdashlen,4),e(d.trendvalueborderdashgap,2),e(d.trendvalueborderthickness,1)):"none"};b.trend.trendStyle.lineHeight=r(b.trend.trendStyle);b.labels=b.labels||{};b.lines=b.lines||{};b.band=b.band||{};f=(f=sa(d.labelbordercolor,""))?L(f,e(d.labelborderalpha,d.labelalpha,100)):"";b.labels.style={fontFamily:c(a.labelFont,a.outCanfontFamily),fontSize:e(a.labelFontSize,parseInt(a.outCanfontSize,
10))+"px",fontWeight:e(a.labelFontBold)?"bold":"normal",fontStyle:e(a.labelFontItalic)?"italic":"normal",color:L(c(a.labelFontColor,a.outCancolor),e(a.labelFontAlpha,100)),labelLink:d.labellink,border:f||d.labelbgcolor?e(d.labelborderthickness,1)+"px solid":"",borderColor:f,borderThickness:e(d.labelborderthickness,1),borderPadding:e(d.labelborderpadding,2),borderRadius:e(d.labelborderradius,0),backgroundColor:d.labelbgcolor?L(d.labelbgcolor,e(d.labelbgalpha,d.labelalpha,100)):"",borderDash:e(d.labelborderdashed,
0)?J(e(d.labelborderdashlen,4),e(d.labelborderdashgap,2),e(d.labelborderthickness,1)):"none"};b.labels.style.lineHeight=r(b.labels.style);b.numberFormatterFn=c(a.numberFormatterFn);b.axisEndLabelDisplaySpace={left:0,right:0,top:0,bottom:0};b.isConfigured=!0;b._defaultForceDecimal=void 0;b._defaultDecimalPrecision=void 0},_processAxisBreak:function(){var b=this.config,a,c,d,f;b.breakPoints=[];a=b.axisBreak.split("|");d=0;f=a.length;for(c=0;d<f;d+=1)a[d]=a[d].split(","),isNaN(a[d][0])||isNaN(a[d][1])||
(b.breakPoints[c]={start:e(a[d][0]),end:e(a[d][1]),length:e(a[d][2],0)},c+=1);b.breakPoints.sort(function(b,a){return b.start-a.start});b.hasBreakPoints=!0;this._validateBreakPoints()},_validateBreakPoints:function(){var b=this.config,a=b.breakPoints,c=0,e,d=a.length;for(e=0;e<d;e+=1)c+=a[e].end-a[e].start;b.totalBreakAmount=c},_getRelativeBreakValue:function(b){var a=this.config.breakPoints,c,e=a.length,d=0;for(c=0;c<e;c+=1){if(b>=a[c].start&&b<=a[c].end)return a[c].start-d;if(b<a[c].start)break;
d+=a[c].end-a[c].start}return b-d},_getRealBreakValue:function(b){var a=this.config.breakPoints,c,e=a.length;for(c=0;c<e;c+=1)if(b>=a[c].start)b+=a[c].end-a[c].start;else if(b<a[c].start)break;return b},getBreakPoints:function(){var b=this.config;return b.hasBreakPoints?b.breakPoints:!1},setCanvas:function(b){this.config.canvas=b},getAxisBase:function(){var b=this.config,a=b.axisRange.min,c=b.axisRange.max;return 0>a&&0<c?0:b.isReverse?c:0>=c?c:a},getValue:function(b){var a=this.config,c=a.axisRange,
e=a.canvas,d=a.axisDimention||{},k=this.chart.config,h=k.viewPortConfig,f=d.axisLength||e.canvasWidth||k.canvasWidth,d=d.axisLength||e.canvasHeight||k.canvasHeight,e=c.max,c=c.min,k=e-c;a.isVertical?(f=d*h.scaleY/k,b=a.isReverse?c+(h.y*h.scaleY+Number(b))/f:e-(h.y*h.scaleY+Number(b))/f):(f=f*h.scaleX/k,b=a.isReverse?e-(h.x*h.scaleX+Number(b))/f:c+(h.x*h.scaleX+Number(b))/f);return b},_getLabelElement:function(b){var a=this.components;return this.config.hasCategory?a&&a.categoryLabel&&a.categoryLabel[b]&&
a.categoryLabel[b].graphics&&a.categoryLabel[b].graphics.label:this.graphics&&this.graphics.labels&&this.graphics.labels[b]},_getVisibleConfig:function(){var b=this.config,a=b.axisRange,c=b.canvas,e=b.axisDimention||{},d=this.chart.config,k=d.viewPortConfig,h=e.axisLength||c.canvasWidth||d.canvasWidth,c=e.axisLength||c.canvasHeight||d.canvasHeight,e=a.max,a=a.min,d=e-a;b.isVertical?(d/=c,b=k.scaleY,h=e-d*k.y,c=e-d*(k.y+c/b)):(d/=h,b=k.scaleX,c=a+d*k.x,h=a+d*(k.x+h/b));return{maxValue:h,minValue:c}},
_adjustNumberFormatter:function(b){var a=this.config,c=a.axisIndex,e=this.chart.components,d=a._defaultDecimalPrecision,k=a._defaultForceDecimal,h=0,c=a.isVertical||"yAxis"===a.numberFormatterFn?(e.numberFormatter.Y[c]||e.numberFormatter.Y[0]).yAxisLabelConf:e.numberFormatter.paramX;void 0!==d?c.decimalprecision=d:a._defaultDecimalPrecision=c.decimalprecision;void 0!==k?c.forcedecimals=k:a._defaultForceDecimal=c.forcedecimals;0<parseInt(b)||!(b=b.toString().split(".")[1])||(h=b.match(/^[0]*/)[0].length,
h+1>c.decimalprecision&&(c.forcedecimals=1),c.decimalprecision=Ga(h+1,c.decimalprecision))},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,c=b.isVertical,d=b.axisRange,f=m.getAxisLimits,k=b.numDivLines,h=b.setAdaptiveMin,z=b.adjustDiv,z=b.rawAttr,p,g,l,r;b.hasCategory||(c=c?a.scaleY:a.scaleX,a=e(z.axisrange?z.axisrange.max:d.max),r=e(z.axisrange?z.axisrange.min:d.min),g=d.max,l=d.min,h=p=!h,z=e(1===c?b.adjustDiv:0),b=f(a,r,g,l,p,h,k*c,z),d.min=Number(P(b.Min,
10)),d.max=Number(P(b.Max,10)),d.tickInterval=Number(P(b.divGap,10)),this._adjustNumberFormatter(d.tickInterval),0===d.tickInterval&&(d.tickInterval=1))},_getAttribAsObj:function(b){var a,c={};for(a in b)b.hasOwnProperty(a)&&"string"===typeof b[a]&&b[a]&&(c[a]=b[a]);return c},_extractAttribToEnd:function(b,a){var c;b._attrib=q({},a);b._attrib=q(b._attrib,this._getAttribAsObj(b));for(c in b)b.hasOwnProperty(c)&&b[c]&&"object"===typeof b[c]&&"_attrib"!==c&&this._extractAttribToEnd(b[c],b._attrib)},
setCategory:function(b,a){var c;function d(b){var a={labelfont:["fontFamily"],labelfontcolor:["fontColor"],labelfontsize:["fontSize",function(b){return b?e(b)+"px":void 0}],labelfontbold:["fontWeight",function(b){return b?"bold":"normal"}],labelfontitalic:["fontStyle",function(b){return b?"italic":"normal"}],labelfontalpha:["fontAlpha"]},c=function(b){return b},g=!1,u,h,f,D={},H,p;for(u in k)"category"===u||u in b||(h=k[u],b[u]=h);for(u in a){f=a[u];H=f[0];p=f[1]||c;h=b[u];f=b[H.toLowerCase()];if(void 0!==
h||void 0!==f)if(void 0!==(h=p(h))||void 0!==(h=p(f)))D[H]=h,g=!0;g&&(b.style=D)}}var f=this.chart.jsonData.categories,k=f&&f[0]||{},f=this.config,h=f.axisRange;c=b&&b.length;var z=f.startPad||0,p=f.endPad||0,g=0,m=void 0!==a?a:!0,l,r,q,n,w,t;f.hasCategory=1;f.categories={};n=f.categories.category=[];w=f.categories.vline=[];r=f.categories.catIdMap={};f.isCategoryAnimate=!1;f.isCategoryVlineAnimate=!1;for(q=0;q<c;q+=1)(l=b[q])||(l={}),t=Number(l.x),"true"!==l.vline&&!0!==l.vline&&1!==l.vline&&"1"!==
l.vline?(l.id&&(r[l.id.toLowerCase()]={catObj:l,index:q}),d(l),t===t&&(l.x=t,f.irregularCatAxis=!0),n.push(l),n[g].label=I(n[g].label),g+=1):(l.startIndex=n.length-1,w.push(l));f.oriCatLen=g-1;1===g&&(0===z&&(z=.5),0===p&&(p=.5));m&&(c=g-1+p,h.min=Number(P(-z,10)),h.max=Number(P(c,10)),h.tickInterval=Number(P(1,10)));f.isConfigured=!0},updateCategory:function(b,a){var c=this.config,e,d;e=c.categories.category;if(e[b])for(d in a)a.hasOwnProperty(d)&&(e[b][d]=a[d]);c.isConfigured=!0},categoryInsert:function(b,
a,c){var e=this.config,d=e.axisRange,k=a.length,h=e.endPad||0,f,p,g,m,l;f=e.categories.category;g=e.categories.catIdMap;p=e.categories.vline;for(m=0;m<k;m+=1)l=a[m],"true"!==l.vline&&!0!==l.vline&&1!==l.vline&&"1"!==l.vline?(l.id&&(g[l.id]={catObj:l,i:b}),f.splice(b,0,l),b+=1):(l.startIndex=b-2,p.push(l));c&&(d.max=Number(P(f.length-1+h,10)));e.isConfigured=!0},categoryDelete:function(b,a,c){var e=this.config,d=e.axisRange,k,h,f;e.isCategoryAnimate=!0;k=e.animateCategories=e.categories.category.slice();
h=0;for(f=k.length;h<f;h++)k[h].animate=!0,k[h].leftShift=a,k[h]["delete"]=h<a;e.isCategoryVlineAnimate=!0;k=e.animateCategoriesVline=e.categories.vline.slice();h=0;for(f=k.length;h<f;h++)k[h].animate=!0,k[h].leftShift=a;e.categories.category.splice(b,a);this._shiftVline(b,a,"left");c&&(d.max-=a);e.isConfigured=!0},categoryUpdate:function(b,a){var c=this.config,e;e=c.categories.category;e[b]&&(e[b]=a);c.isConfigured=!0},_getRotateTextTransformString:function(b,a,c){var e,d="";b=b.matrix.toMatrixString();
b.replace(/\(([^\)]*)/,function(b,h){e=h.split(",");e[4]=Number(e[4])+a;e[5]=Number(e[5])+c;d=e.join();return b});d="m"+d;""===b&&(d="t"+a+","+c);return d},_shiftVline:function(b,a,c){var e=this.config,d=e.categories.vline,e=e.categories.category.length,k=d.length,h,f;for(h=0;h<k;h+=1)if(f=d[h],f.startIndex>=b&&(f.startIndex="right"===c?f.startIndex+a:f.startIndex-a,0>f.startIndex-a||f.startIndex-a>=e))d.splice(h,1),--k,--h},shiftLabels:function(b,a){var c=this.config.labels;c.shiftX=b;c.shiftY=a},
setAxisPadding:function(b,a){var c=this.config;b=c.startPad=e(b,0);a=c.endPad=e(a,0);0===c.oriCatLen&&(0===b&&(b=.5),0===a&&(a=.5));c.hasCategory?0<=c.oriCatLen&&this.setAxisRange({max:c.oriCatLen+a,min:-b}):c.originalMax&&c.originalMin&&this.setDataLimit(c.originalMax,c.originalMin)},setAxisConfig:function(b){var a=this.config,c;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},getAxisConfig:function(b){var a=this.config;return b?a[b]:a},setLabelConfig:function(b){var a=this.config.labels,c;for(c in b)b.hasOwnProperty(c)&&
(a[c]=b[c])},setAxisRange:function(b){var a=this.config.axisRange,c;for(c in b)b.hasOwnProperty(c)&&void 0!==a[c]&&(a[c]=b[c])},getAxisEndLabelDisplaySpace:function(){return this.config.axisEndLabelDisplaySpace||{}},getDivLineCount:function(){var b=this.config.axisRange;return Pa((b.max-b.min)/b.tickInterval)-1},getLabel:function(b){var a=this.config;b=a.categories&&a.categories.category[b];return{label:b&&(b.oriLabel||b.label),tooltext:b&&b.tooltext}},getCategoryFromId:function(b){var a=this.config;
return(b=a.categories&&a.categories.catIdMap[b])?b:{}},getCategoryPositionById:function(b){var a=this.config;return(b=a.categories&&a.categories.catIdMap[b])?b.catObj.x||b.index:!1},getClosestDiv:function(b,a){var c=this.config,e=c.axisRange,d=e.tickInterval,k=e.min,e=b;c.hasCategory&&(k=0,d=1);a=a||d/2;k=(b-k)%d;d-=k;c.showZeroPlaneValue&&0>b-k&&0<b&&(k=b);c.showZeroPlaneValue&&0<b+d&&0>b&&(d=-b);k<=d?k<=a&&(e=b-k):d<=a&&(e=b+d);return e},setAxisDimention:function(b){var a=this.config,a=a.axisDimention||
(a.axisDimention={});a.x=e(b.x,a.x);a.y=e(b.y,a.y);a.opposite=e(b.opposite,a.opposite);a.axisLength=e(b.axisLength,a.axisLength)},setDataLimit:function(b,a){var c=this.config,d=c.axisRange,f=m.getAxisLimits,k=c.isPercent?100:c.axisMaxValue,h=c.isPercent?0:c.axisMinValue,z=c.numDivLines,p=c.setAdaptiveMin,g=c.adjustDiv,l=c.startPad||0,r=c.endPad||0;c.originalMax=b;c.originalMin=a;b=c.isPercent?100:b+r;a=c.isPercent?0:a-l;p=l=!p;c.hasBreakPoints&&(b-=c.totalBreakAmount);c=f(e(b,k),e(a,h),k,h,l,p,z,
g);d.min=Number(P(c.Min,10));d.max=Number(P(c.Max,10));d.tickInterval=Number(P(c.divGap,10));this._adjustNumberFormatter(d.tickInterval);0===d.tickInterval&&(d.tickInterval=1)},getPixel:function(b){var a=this.config,c=a.canvas,e=this.chart.config,d=a.axisDimention||{},k=e.viewPortConfig,h=d.axisLength||c.canvasHeight||e.canvasHeight,f=d.y||c.canvasTop||e.canvasTop,p=d.x||c.canvasLeft||e.canvasLeft,g=d.y+d.axisLength||c.canvasBottom||e.canvasBottom,c=d.x+d.axisLength||c.canvasRight||e.canvasRight,
e=a.axisRange.min;a.hasBreakPoints&&(b=this._getRelativeBreakValue(b));k||(k={x:p,y:f,scaleX:1,scaleY:1});a.isVertical?(d=-this.getPVR(),b=a.isReverse?g-((b-e)*d+(h*k.scaleY-k.y*k.scaleY)):f+((b-e)*d+(h*k.scaleY-k.y*k.scaleY))):(d=this.getPVR(),b=a.isReverse?c-((b-e)*d-k.x*k.scaleX):p+((b-e)*d-k.x*k.scaleX));return b},_getCustomPixel:function(b,a){var c=this.config,e=c.canvas,d=this.chart.config,k=c.axisRange,h=d.viewPortConfig,f=a||e.canvasHeight||d.canvasHeight,p=a||e.canvasWidth||d.canvasWidth,
g=e.canvasTop||d.canvasTop,m=e.canvasLeft||d.canvasLeft,l=l||d.canvasBottom,e=e.canvasRight||d.canvasRight,d=k.min,k=k.max-d;c.hasBreakPoints&&(b=this._getRelativeBreakValue(b));h||(h={x:m,y:g,scaleX:1,scaleY:1});c.isVertical?(p=-(f*h.scaleY/k),c=c.isReverse?l-((b-d)*p+(f*h.scaleY-h.y*h.scaleY)):g+((b-d)*p+(f*h.scaleY-h.y*h.scaleY))):(p=p*h.scaleX/k,c=c.isReverse?e-((b-d)*p-h.x*h.scaleX):m+((b-d)*p-h.x*h.scaleX));return c},getLimit:function(){var b=this.config.axisRange;return{min:b.min,max:b.max,
tickInterval:b.tickInterval}},getAxisPosition:function(b){return this.getPixel(b)},getPVR:function(){var b=this.config,a=b.canvas,c=b.isVertical,e=b.axisRange,d=b.axisDimention||{},k=this.chart.config,b=k.viewPortConfig,h=d.axisLength||a.canvasHeight||k.canvasHeight,a=d.axisLength||a.canvasWidth||k.canvasWidth,e=e.max-e.min,e=0<e?e:1;return c?h*b.scaleY/e:a*b.scaleX/e},_isZoomed:function(){var b=this.chart.config;if(this.config.isVertical){if(b.viewPortConfig&&1===b.viewPortConfig.scaleY)return!1}else if(b.viewPortConfig&&
1===b.viewPortConfig.scaleX)return!1;return!0},draw:function(){var b=this.config,a=b.canvas,c=this.chart,e=c.config,d=b.isVertical,k=c.graphics,h=c.components.paper,f=e.viewPortConfig,p=b.viewPortRatio||{},g=a.canvasLeft||e.canvasLeft,m=a.canvasTop||e.canvasTop,l=a.canvasWidth||e.canvasWidth,r=a.canvasHeight||e.canvasHeight,a=b.axisContainer,e=b.axisLabelContainerTop,q=b.axisPlotLineContainer,n=b.axisPlotLineContainerTop,w=b.vlineLabelContainer,t=b.axisBandContainer,v=b.axisNameContainer,B=b.axisTrendContainerTop,
A=b.axisTrendContainerBottom,G=b.axisTrendLabelContainer,F=b.axisAxisLineContainer,I=b.axisAxisLineContainerBottom,zb=b.divLineThickness||0,C=k.axisBottomGroup,Q=k.axisTopGroup,R=b.animateAxis,E,J,L,K,ea,V,P,S,W,X,Z,N,O;W=f.y*f.scaleY;X=f.x*f.scaleX;c=c.get("config","animationObj");Z=c.animObj;N=c.dummyObj;E=c.transposeAnimDuration;O=d?g+","+(m-zb)+","+l+","+(r+2*zb):g-zb+","+m+","+(l+2*zb)+","+r;zb=k.axisBandGroup=k.axisBandGroup||h.group("dataset-Band-group",C);J=k.axisPlotLineGroup=k.axisPlotLineGroup||
h.group("dataset-Line-group",C);S=k.axisTrendGroupBottom=k.axisTrendGroupBottom||h.group("dataset-Trend-group-bottom",C);L=k.axisPlotLineGroupTop=k.axisPlotLineGroupTop||h.group("dataset-Line-group-top",Q);ea=k.axisNameGroup=k.axisNameGroup||h.group("dataset-Name-group",C);K=k.axisLineGroup=k.axisLineGroup||h.group("axis-Line-group",Q);P=k.axisTrendGroupTop=k.axisTrendGroupTop||h.group("dataset-Trend-group-top",Q);V=k.axisLabelGroup=k.axisLabelGroup||h.group("dataset-Label-group",C);k=k.axisLabelGroupTop=
k.axisLabelGroupTop||h.group("dataset-Label-group",Q);a||(b.axisContainer=a=h.group("dataset-axis",V));e||(b.axisLabelContainerTop=e=h.group("dataset-top-label",k));F||(b.axisAxisLineContainer=h.group("axis-line-tick",K));w||(b.vlineLabelContainer=w=h.group("axis-vline-label",K));t?E&&R?t.animateWith(N,Z,{"clip-rect":g+","+m+","+l+","+r},E,c.animType):t.attr({"clip-rect":g+","+m+","+l+","+r}):(b.axisBandContainer=t=h.group("dataset-axis-bands",zb),t.attr({"clip-rect":g+","+m+","+l+","+r}));q?E&&R?
q.animateWith(N,Z,{"clip-rect":O},E,c.animType):q.attr({"clip-rect":O}):(b.axisPlotLineContainer=q=h.group("dataset-axis-lines",J),q.attr({"clip-rect":O}));n?E&&R?n.animateWith(N,Z,{"clip-rect":O},E,c.animType):n.attr({"clip-rect":O}):(b.axisPlotLineContainerTop=n=h.group("dataset-axis-lines-top",L),n.attr({"clip-rect":O}));B?E&&R?B.animateWith(N,Z,{"clip-rect":g+","+m+","+l+","+r},E,c.animType):B.attr({"clip-rect":g+","+m+","+l+","+r}):(b.axisTrendContainerTop=B=h.group("dataset-axis-trend-top",
P),B.attr({"clip-rect":g+","+m+","+l+","+r}));A?E&&R?A.animateWith(N,Z,{"clip-rect":g+","+m+","+l+","+r},E,c.animType):A.attr({"clip-rect":g+","+m+","+l+","+r}):(b.axisTrendContainerBottom=A=h.group("dataset-axis-trend-bottom",S),A.attr({"clip-rect":g+","+m+","+l+","+r}));G||(b.axisTrendLabelContainer=h.group("dataset-axis-trend-label",P));v||(b.axisNameContainer=h.group("dataset-axis-name",ea));I||(b.axisAxisLineContainerBottom=h.group("axis-line-tick-bottom",C));p.scaleX!==f.scaleX||p.scaleY!==
f.scaleY?(p.scaleX=f.scaleX,p.scaleY=f.scaleY):d?(b=W-f.y*f.scaleY,w.transform("t0,"+b),a.transform("t0,"+b),e.transform("t0,"+b),q.transform("t0,"+b),n.transform("t0,"+b),t.transform("t0,"+b),B.transform("t0,"+b),A.transform("t0,"+b)):(b=X-f.x*f.scaleX,w.transform("t"+b+",0"),a.transform("t"+b+",0"),e.transform("t"+b+",0"),q.transform("t"+b+",0"),n.transform("t"+b+",0"),t.transform("t"+b+",0"),B.transform("t"+b+",0"),A.transform("t"+b+",0"));this._drawComponents()},hide:function(){var b=this.config;
b.axisContainer&&(b.axisLabelContainerTop.hide(),b.axisContainer.hide(),b.axisPlotLineContainer.hide(),b.axisPlotLineContainerTop.hide(),b.axisBandContainer.hide(),b.axisNameContainer.hide(),b.axisTrendContainerTop.hide(),b.axisTrendContainerBottom.hide(),b.axisTrendLabelContainer.hide(),b.axisAxisLineContainer.hide(),b.axisAxisLineContainerBottom.hide())},show:function(){var b=this.config;b.axisContainer&&(b.axisLabelContainerTop.show(),b.axisContainer.show(),b.axisPlotLineContainer.show(),b.axisPlotLineContainerTop.show(),
b.axisBandContainer.show(),b.axisNameContainer.show(),b.axisTrendContainerTop.show(),b.axisTrendContainerBottom.show(),b.axisTrendLabelContainer.show(),b.axisAxisLineContainer.show(),b.axisAxisLineContainerBottom.show())},_drawComponents:function(){var b=this.config,a=this.chart.is3D,c,e;b.drawAxisName&&this._drawAxisName();b.drawAxisLine&&this._drawAxisLine();b.drawAxisLine&&b.hasBreakPoints&&this._drawBreakPoints();b.isActive||(c=b.lines.isDraw,e=b.band.isDraw,b.lines.isDraw=0,b.band.isDraw=0);
b.hasCategory?(b.drawLabels&&this._drawCategory(),b.drawOnlyCategoryLine&&this._drawCategoryLine()):(b.drawLabels&&this._drawLabel(),b.drawPlotlines&&this._drawPlotLine());b.hasCategory&&"auto"!==b.xAxisLabelMode?(b.drawPlotlines&&this._drawCategoryVline(),b.drawPlotlines&&!a&&this._drawCategoryPlotLine(),b.drawPlotBands&&!b.hasBreakPoints&&!a&&this._drawCategoryPlotBand(),"mixed"===b.xAxisLabelMode&&b.drawPlotBands&&!b.hasBreakPoints&&!a&&this._drawPlotBand()):b.drawPlotBands&&!b.hasBreakPoints&&
!a&&this._drawPlotBand();b.isActive||(b.lines.isDraw=c,b.band.isDraw=e);b.drawTrendLines&&this._drawTrendLine();b.isConfigured=!1},_manageReuseableElement:function(b,a,c){var e=this.config.isConfigured,d=this.chart.components.paper,k,h,f,p;k=b._graphicElem||(b._graphicElem=[]);h=b._freeElem||(b._freeElem=[]);f=b._usedElem||(b._usedElem={});p=b._drawnIds={};return{getElement:function(b,m){var l=m||{};p[b]=!0;if(f[b])return f[b]._applyAllAttr=e,f[b]._firstTimeDraw=!1,f[b];if(0<h.length)return f[b]=
h.pop(),f[b]._applyAllAttr=!0,f[b]._firstTimeDraw=!1,f[b];k.push(d[a](l,c));f[b]=k[k.length-1];f[b]._firstTimeDraw=!0;f[b]._applyAllAttr=!1;return f[b]},freeUnusedElement:function(){for(var b in f)f.hasOwnProperty(b)&&!p[b]&&(f[b].attr({visibility:"hidden"}),h.push(f[b]),delete f[b])}}},_drawLabel:function(){var b=this.config,a=b.canvas,c=b.axisDimention||{},e=this.chart,d=e.config,k=e.components,h=b.axisRange,f=b.isOpposit,p,g=b.labels,m=g.style,l,r,q=b.isVertical,n=b.animateAxis,w=h.max,t=h.min,
v=a.canvasTop||d.canvasTop,B=a.canvasLeft||d.canvasLeft,A=a.canvasBottom||d.canvasBottom,a=a.canvasRight||d.canvasRight,d=b.axisNameContainer,G=b.labelPadding,F=b.showUpperLimit,I=k.paper,zb=b.labelMaxH,E=b.labelMaxW,Q=b.extremeLabels,R=q?c.x:c.y,c=c.opposite,C=b.drawLabelOnBothSide,J=this.graphics.labels||[],L=0,K=!0,ea=!1,V,N,S,W={fontFamily:m.fontFamily,fontSize:m.fontSize,fontWeight:m.fontWeight,fontStyle:m.fontStyle,lineHeight:m.lineHeight},X,Z,O,U,cb,da=function(){(F||!F&&1>=b.labels.step)&&
!ea&&l<w&&l+p>w&&(r=l=w-p,ea=!0);b.showZeroPlane&&0>l&&0<l+p?(l=0,r+=p):l<r?l=r:(l+=p,r+=p)};m.lineHeight&&(V=m.lineHeight,-1!==V.indexOf("px")&&(V=V.replace("px",""),V=parseFloat(V)));if(b.labels.isDraw){!C&&b.drawLabelsOpposit&&(f=!f,R=c);K=e.get("config","animationObj");O=K.animObj;U=K.dummyObj;e=K.transposeAnimDuration;cb=K.animType;K=Pa(this.getPixel(t)-this.getPixel(t+h.tickInterval));q?(b.labelMaxH>K&&!b.hasCategory&&(N=lb(b.labelMaxH/K)),N>b.labels.step&&(b.labels.step=N)):(b.labelMaxW>K&&
!b.hasCategory&&(N=lb(b.labelMaxW/K)),N>b.labels.step&&(b.labels.step=N,F=!0));b.labels.step?p=h.tickInterval*b.labels.step:p=h.tickInterval;S=b.labels.rotation;h=this._getVisibleConfig();K=this._isZoomed();L=t+p*jb((h.minValue-3*p-t)/p);N=t+p*jb((h.maxValue+3*p-t)/p);L=L<t?t:L;N=N>w?w:N;X={fill:m.color,"line-height":V,"font-size":m.fontSize};C&&(Z={fill:m.color,"line-height":V,"font-size":m.fontSize});q||(S?(X["text-anchor"]=f?Ra:db,X["vertical-align"]="center",C&&(Z["text-anchor"]=f?db:Ra,Z["vertical-align"]=
"center")):(X["vertical-align"]=f?ab:Za,C&&(Z["vertical-align"]=f?Za:ab)));d.css(W);Q.firstLabel={};Q.lastLabel={};r=l=L;for(L=0;l<=N;){if(!K||!(l<h.minValue||l>h.maxValue))if(b.labels.drawNormalVal||b.labels.drawLimitVal&&(l===t||l===w))if(b.labels.drawNormalVal||l===t||l===w)if(b.labels.drawLimitVal||l!==t&&l!==w)if(0!==b.showZeroPlane&&0!==b.showZeroPlaneValue||0!==l){if(1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(0>l&&0<l+p||0<l&&0>l-p)&&l!==t&&l!==w)if(q){if(this.getPixel(l)+zb>=this.getPixel(0)&&
this.getPixel(0)>=this.getPixel(l)-zb){da();continue}}else if(this.getPixel(l)+E>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(l)-E){da();continue}m=b.hasBreakPoints?P(this._getRealBreakValue(l),10):P(l,10);if(q)V=b.numberFormatterFn?k.numberFormatter[b.numberFormatterFn]:b.isPercent?k.numberFormatter.percentValue:k.numberFormatter.yAxis,V=""+V.call(k.numberFormatter,m,b.axisIndex),X["text-anchor"]=f?Ra:db,X.text=V,X.x=f?(R||a)+G:(R||B)-G,X.y=this.getPixel(m),C&&(Z["text-anchor"]=f?db:Ra,Z.text=
V,Z.x=f?(c||B)-G:(c||a)+G,Z.y=this.getPixel(m));else{V=b.numberFormatterFn?k.numberFormatter[b.numberFormatterFn]:b.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis;V=""+V.call(k.numberFormatter,m);X.text=V;X.x=this.getPixel(m);X.y=f?(R||v)-G:(R||A)+G;if(l!==w&&F&&X.x+b.labelMaxW>a){da();continue}C&&(Z.text=V,Z.x=this.getPixel(m),Z.y=f?(c||A)+G:(c||v)-G)}g.shiftX&&(X.x+=g.shiftX);g.shiftY&&(X.y+=g.shiftY);X.transform=I.getSuggestiveRotation(S,X.x,X.y);J[L]?(m=J[L],e&&n?m.animateWith(U,
O,X,e,cb):m.attr(X)):J[L]=m=I.text(X,d);L+=1;C&&(Z.transform=I.getSuggestiveRotation(S,Z.x,Z.y),J[L]?(m=J[L],e&&n?m.animateWith(U,O,Z,e,cb):m.attr(Z)):J[L]=m=I.text(Z,d),L+=1);l===w?Q.lastLabel.graphic=m:l===t&&(Q.firstLabel.graphic=m)}da()}if(J[L])for(l=L;l<J.length;l++)J[l].attr({text:""});this.graphics.labels=J}else if(J[L])for(l=L;l<J.length;l++)J[l].attr({text:""})},_drawAxisName:function(){var b=this.config,a=b.canvas,c=this.chart,d=c.config,f=c.components,k=b.axisDimention||{},h=b.name.style,
z=b.name.value,p=b.isVertical,g=b.isOpposit,l=c.linkedItems.smartLabel,m=a.canvasBottom||d.canvasBottom,r=a.canvasLeft||d.canvasLeft,q=a.canvasRight||d.canvasRight,w=a.canvasTop||d.canvasTop,n=a.canvasHeight||d.canvasHeight,t=a.canvasWidth||d.canvasWidth,a=b.axisNameContainer,v=b.axisNamePadding,B=b.nameMaxH,A=b.nameMaxW,G=p?k.x:k.y,F=k.opposite,I=this.graphics.axisName||{},k=e(b.name.rotation,p?270:90),f=f.paper,C={fontFamily:h.fontFamily,fontSize:h.fontSize,lineHeight:h.lineHeight,fontWeight:h.fontWeight,
fontStyle:h.fontStyle},E=b.animateAxis,Q,R,J,L;b.name.isDraw?(Q=c.get("config","animationObj"),R=Q.animObj,J=Q.dummyObj,c=Q.transposeAnimDuration,L=Q.animType,Q={fontFamily:h.fontFamily,fill:h.color,"vertical-align":"center","font-size":h.fontSize,"line-height":h.lineHeight},l.useEllipsesOnOverflow(d.useEllipsesWhenOverflow),l.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight}),!b.drawLabelOnBothSide&&b.drawAxisNameOpposit&&(g=!g,G=F),p?(b.relativeAxis&&
b.relativeAxis.config&&b.relativeAxis.config.axisNamePadding&&(v=Ga(b.relativeAxis.config.axisNamePadding,v)),g&&d.canvasMarginRight&&(v=Ga(v,d.canvasMarginRight-d.marginLeft-A)),!g&&d.canvasMarginLeft&&(v=Ga(v,d.canvasMarginLeft-d.marginRight-A)),t=b.axisNameAlignCanvas||d.captionalignment&&"left"==d.captionalignment?n:Ga(n,b.oriCanvasHeight||0),k?(z=l.getSmartText(z,t,A),l=z.tooltext,t=z.width):(z=l.getSmartText(z,A,t),l=z.tooltext,t=z.height),d=b.drawAxisNameFromBottom?m-t/2:t>n?d.height/2:w+n/
2,Q.text=z.text,Q.x=g?(G||q)+v+A/2:(G||r)-v-A/2,Q.y=d):(z=l.getSmartText(z,t,B),l=z.tooltext,g&&d.canvasMarginTop&&(v=Ga(v,d.canvasMarginTop-d.marginTop-B)),!g&&d.canvasMarginBottom&&(v=Ga(v,d.canvasMarginBottom-d.marginBottom-B)),Q.text=z.text,Q.x=r+t/2,Q.y=g?(G||w)-v-B/2:(G||m)+v+B/2),Q.transform=f.getSuggestiveRotation(p?k:0,Q.x,Q.y),this.graphics.axisName?(Q.visibility=La,c&&E?I.animateWith(J,R,Q,c,L):I.attr(Q),b.showTooltip&&l&&I.trackTooltip(!0),I.css(C)):(I=f.text(Q,C,a).tooltip(l),b.showTooltip&&
l&&I.trackTooltip(!0)),""!==z.text?I.attr({"text-bound":[h.backgroundColor,h.borderColor,h.borderThickness,h.borderPadding,h.borderRadius,h.borderDash]}):I.attr({"text-bound":[]}),this.graphics.axisName=I):this.graphics.axisName&&this.graphics.axisName.attr({visibility:Va})},_drawPlotLine:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,e=b.isVertical,d=b.canvas,k=this.chart,h=this.chart.is3D,f=k.config,p=d.canvasBottom||f.canvasBottom,g=d.canvasLeft||f.canvasLeft,l=d.canvasRight||f.canvasRight,
d=d.canvasTop||f.canvasTop,f=a.max,a=a.min,m=b.axisPlotLineContainer,r=b.axisPlotLineContainerTop,q=b.showCanvasBorder,n=k.components.paper,w=this.graphics.line||[],t=0,v=L(b.divLineColor,b.divLineAlpha),B=b.divLineThickness,A=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,B):"none",G=L(b.zeroPlaneColor,b.zeroPlaneAlpha),F=b.zeroPlaneThickness,I=b.animateAxis,C,E,Q,R,K,Xa,P,N,A={stroke:v,"stroke-width":B,"stroke-dasharray":A};2>Pa(this.getPixel(a)-this.getPixel(a+c))&&(b.lines.isDraw=0);if(b.lines.isDraw){t=
k.get("config","animationObj");Xa=t.animObj;P=t.dummyObj;k=t.transposeAnimDuration;N=t.animType;E=this._getVisibleConfig();t=a+c*jb((E.minValue-3*c-a)/c);E=a+c*jb((E.maxValue+3*c-a)/c);t=t<a?a:t;E=E>f?f:E;K=m;R=Q=t;for(t=0;Q<=E;)0===b.showZeroPlane&&0===Q||q&&(Q===f||Q===a)||(0===Q&&Q!==a&&Q!==f&&(A.stroke=G,A["stroke-width"]=F,b.showZeroPlaneOnTop&&!h&&(K=r)),C=b.hasBreakPoints?this._getRealBreakValue(Q):Q,C=e?ob(["M",g,this.getPixel(C),"L",l,this.getPixel(C)],B):ob(["M",this.getPixel(C),d,"L",this.getPixel(C),
p],B),A.path=C.path,A["shape-rendering"]=C.isCrisped?"crisp":void 0,w[t]?(C=w[t],K.appendChild(C),k&&I?C.animateWith(P,Xa,A,k,N):C.attr(A)):(C=n.path(A,K),w[t]=C),0===Q&&Q!==a&&Q!==f&&(A.stroke=v,A["stroke-width"]=B,K=m),t+=1),b.showZeroPlane&&0>Q&&0<Q+c?(Q=0,R+=c):Q<R?Q=R:(Q+=c,R+=c);if(w[t])for(Q=t;Q<w.length;Q++)w[Q].attr({path:[]});this.graphics.line=w}else if(w[t])for(Q=t;Q<w.length;Q++)w[Q].attr({path:[]})},_drawAxisLine:function(){var b=this.config,a=b.axisRange,c=b.isVertical,d=b.isOpposit,
f=b.canvas,k=this.chart,h=k.config,z=b.breakPoints,p=f.canvasBottom||h.canvasBottom,g=f.canvasLeft||h.canvasLeft,l=f.canvasRight||h.canvasRight,m=f.canvasTop||h.canvasTop,f=b.axisDimention||{},r=c?f.x:f.y,q=b.drawAxisLineWRTCanvas,w=k.jsonData.chart,f=k.components.paper,h=this.graphics.axisLine||[],n=!1,t=0,v=a.max,B=a.min,a=a.tickInterval,A=b.axisAxisLineContainerBottom,G={},F=b.animateAxis,I,C,E,G=1===e(w.showyaxisline,w.showyaxisline)?e(w.yaxislinethickness,w.pyaxislinethickness,1):0;if(b.showAxisLine){I=
k.get("config","animationObj");w=I.animObj;E=I.dummyObj;k=I.transposeAnimDuration;I=I.animType;if(c)if(d?r=(q?l:r||l)+b.axisLineThickness/2:(r=q?g:r||g,r-=b.axisLineThickness/2),b.hasBreakPoints){G=["M",r,p,"L"];p=0;for(q=z.length;p<q;p+=1)g=this.getPixel(z[p].start),G.push(r,g,"M",r,g-4,"L");G.push(r,m)}else C=ob(["M",r,p,"L",r,m],b.axisLineThickness),G=C.path;else if(d?(r=q?m:r||m,r-=b.axisLineThickness/2):(r=q?p:r||p,r+=b.axisLineThickness/2),b.hasBreakPoints){G=["M",g-G,r,"L"];p=0;for(q=z.length;p<
q;p+=1)g=this.getPixel(z[p].start),G.push(g,r,"M",g-4,r,"L");G.push(l,r)}else C=ob(["M",g-G,r,"L",l,r],b.axisLineThickness),G=C.path;h[t]?(z=h[t],k&&F?z.animateWith(E,w,{path:G,stroke:b.axisLineColor,"stroke-linecap":"butt","stroke-width":b.axisLineThickness,"shape-rendering":C.isCrisped?"crisp":void 0},k,I):z.attr({path:G,"stroke-linecap":"butt",stroke:b.axisLineColor,"stroke-width":b.axisLineThickness,"shape-rendering":C.isCrisped?"crisp":void 0})):(z=f.path({path:G,"stroke-linecap":"butt",stroke:b.axisLineColor,
"stroke-width":b.axisLineThickness},A),h[t]=z);t+=1;if(b.drawTick&&b.tickLength)for(G={stroke:b.tickColor,"stroke-width":b.tickWidth},d=c?d?r+b.tickLength:r-b.tickLength:d?r-b.tickLength:r+b.tickLength,C=this._getVisibleConfig(),t=B+a*jb((C.minValue-3*a-B)/a),C=B+a*jb((C.maxValue+3*a-B)/a),C=C>v?v:C,p=t<B?B:t,t=1;p<=C;p+=a)B=b.hasBreakPoints?this._getRealBreakValue(p):p,B=this.getPixel(B),G.path=c?"M"+r+" "+B+"L"+d+" "+B:"M"+B+" "+r+"L"+B+" "+d,h[t]?(B=h[t],k&&F?B.animateWith(E,w,G,k,I):B.attr(G)):
(B=f.path(G,A),h[t]=B),!n&&p<v&&p+a>v&&(p=v-a,n=!0),t+=1}if(h[t])for(p=t;p<h.length;p++)h[p].attr({path:[]});this.graphics.axisLine=h},_drawBreakPoints:function(){var b=this.config,a=b.isVertical,c=this.chart,e=c.config,d=b.breakPoints,e=b.canvas.canvasLeft||e.canvasLeft,k=c.components.paper,h=this.graphics.brokeLine||[],f=c.graphics,p=b.animateAxis,g,l,m,r,q,w,n,t;if(b.showAxisLine)for(g=c.get("config","animationObj"),w=g.animObj,n=g.dummyObj,c=g.transposeAnimDuration,t=g.animType,g=0,r=d.length;g<
r;g+=1)a?(l=e-b.axisLineThickness/2,m=this.getPixel(d[g].start),m=["M",l-4,m+4/3,"L",l+4,m-4/3,"M",l-4,m-8/3,"L",l+4,m-16/3]):m=["M",0,0],h[g]?(l=h[g],c&&p?l.animateWith(n,w,{path:m,stroke:b.axisLineColor,"stroke-width":b.axisLineThickness},c,t):l.attr({path:m,stroke:b.axisLineColor,"stroke-width":b.axisLineThickness})):(l=k.path({path:m,stroke:b.axisLineColor,"stroke-width":b.axisLineThickness},f.axisLineGroup),h[g]=l),q+=1;if(h[q])for(g=q;g<h.length;g++)h[g].attr({path:[]});this.graphics.brokeLine=
h},_drawPlotBand:function(){var b=this.config,a=b.axisRange,c=b.canvas,e=this.chart,d=e.config,k=c.canvasLeft||d.canvasLeft,h=c.canvasTop||d.canvasTop,f=c.canvasHeight||d.canvasHeight,c=c.canvasWidth||d.canvasWidth,d=a.tickInterval,p=b.isVertical,g=b.isReverse,l=a.max,m=a.min,a=b.axisBandContainer,r=e.components.paper,q=this.graphics.band||[],n=0,t=b.showAlternateGridColor,v=b.alternateGridColor,B=b.alternateGridAlpha,A=b.animateAxis,G,F,I,C,E;2>Pa(this.getPixel(m)-this.getPixel(m+d))&&(b.band.isDraw=
0);if(t&&b.band.isDraw){n=e.get("config","animationObj");t=n.animObj;C=n.dummyObj;e=n.transposeAnimDuration;E=n.animType;G=this._getVisibleConfig();n=m+d*jb((G.minValue-3*d-m)/d);G=m+d*jb((G.maxValue+3*d-m)/d);n=n<m?m:n;G=G>l?l:G;l=bb((n-m)/d)+1;v={fill:w(L(v,B)),"stroke-width":0};m=this.getPVR();F=B=n;for(n=0;B<G;l+=1)0===l%2&&(I=b.showZeroPlane&&0>B&&0<B+d?B:B!==F?F-B:d,p?(v.x=k,v.y=this.getPixel(g?B:B+Pa(I)),v.width=c,v.height=Pa(I*m)):(v.x=this.getPixel(B),v.y=h,v.width=Pa(I*m),v.height=f),q[n]?
(I=q[n],e&&A?I.animateWith(C,t,v,e,E):I.attr(v)):(I=r.rect(v,a),q[n]=I),n+=1),b.showZeroPlane&&0>B&&0<B+d?(B=0,F+=d):B<F?B=F:(B+=d,F+=d);if(q[n])for(B=n;B<q.length;B++)q[B].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=q}else if(q[n])for(B=n;B<q.length;B++)q[B].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},_drawTrendLine:function(){var b=this.config,a=b.canvas,d=this.chart,f=d.config,M=d.components,k=b.isOpposit,h=b.isVertical,z=d.is3D,p=b.axisIndex,
g=M.numberFormatter,l=a.canvasBottom||f.canvasBottom,m=a.canvasLeft||f.canvasLeft,r=a.canvasRight||f.canvasRight,q=a.canvasTop||f.canvasTop,n=a.canvasHeight||f.canvasHeight,a=a.canvasWidth||f.canvasWidth,w=b.axisRange,f=w.max,w=w.min,t,v,B=b.trend.trendStyle,A=b.labelPadding,G=b.axisTrendContainerTop,F=b.axisTrendContainerBottom,C=b.axisTrendLabelContainer,M=M.paper,E=this.components.trendObj||[],K={fontFamily:B.fontFamily,fontSize:B.fontSize,lineHeight:B.lineHeight,fontWeight:B.fontWeight,fontStyle:B.fontStyle},
Q=b.vTrendLines,R=b.trendLines,P=!0,Xa=b.drawTrendLabels,N=b.axisDimention||{},Ta=b.animateAxis,ea,V,O,S,W,X,Z=0,pa,Ua,cb,da,T,ka,aa,ja,la,oa,fa;T=this._getVisibleConfig();b.hasBreakPoints&&(T.minValue=this._getRealBreakValue(T.minValue),T.maxValue=this._getRealBreakValue(T.maxValue));(P=this._isZoomed())?(t=Ga(this.getPixel(T.minValue),this.getPixel(T.maxValue)),v=Ma(this.getPixel(T.minValue),this.getPixel(T.maxValue))):(T.minValue=w,T.maxValue=f);Q?la=k?(N.opposite||l)-(b.trendBottomPadding||0):
(N.y||l)+(b.trendBottomPadding||0):(la=k?(N.opposite||m)+(A||0):(N.x||m)-(A||0),oa=k?(N.x||r)+(A||0):(N.opposite||r)+(A||0));if(k=R||Q){ea=d.get("config","animationObj");A=ea.animObj;N=ea.dummyObj;d=ea.transposeAnimDuration;fa=ea.animType;O=0;for(S=k.length;O<S;O+=1)for(ea=0,V=k[O].line&&k[O].line.length;ea<V;ea+=1)ka=k[O].line[ea],pa=h?"yAxis":"xAxis",Ua=g.getCleanValue(c(ka.startvalue,ka.value,0)),X=Number(ka.endvalue)||void 0,W=Ja(I(c(ka.tooltext,k[0].tooltext,b.trendlineToolText))),W=ha(W,[7,
15,16,17,18,19],{startValue:Ua,startDataValue:g[pa](Ua,p),endValue:X||Ua,endDataValue:g[pa](X||Ua,p),axisName:b.axisName},ka),Ua>f||Ua<w||X>f||X<w||!(Q&&Ua>=T.minValue&&Ua<=T.maxValue||X&&X>=T.minValue&&X<=T.maxValue||X&&Ua<=T.minValue&&X>=T.maxValue||R&&Ua>T.minValue&&Ua<=T.maxValue||X&&X>=T.minValue&&X<=T.maxValue||X&&Ua>=T.minValue&&X<=T.maxValue)||(Q?(da=I(ka.displayvalue||""),aa=this.getPixel(b.hasBreakPoints?this._getRelativeBreakValue(Ua):Ua),cb=e(ka.istrendzone,b.isTrendZone,1),ja=X?this.getPixel(b.hasBreakPoints?
this._getRelativeBreakValue(X):X):0,void 0!==X&&""!==X&&X!==Ua&&cb?(cb={fill:L(c(ka.color,b.trendlineColor),c(ka.alpha,b.trendlineAlpha,40)),"stroke-width":0,path:["M",aa,q,"L",aa,l,"L",ja,l,"L",ja,q,"Z"]},da={fill:L(c(ka.color,B.color),c(ka.alpha,b.trendlineAlpha,99)),"vertical-align":Za,text:da,x:aa+(ja-aa)/2,y:la}):(cb=e(ka.thickness,b.trendlineThickness,1),cb=cb>a?1:cb,Ua=X?ob(["M",aa,q,"L",ja,l],cb):ob(["M",aa,q,"L",aa,l],cb),cb={stroke:L(c(ka.color,b.trendlineColor),c(ka.alpha,b.trendlineAlpha,
99)),"stroke-width":cb,"stroke-dasharray":c(ka.dashed,b.trendlinesAreDashed)===U?J(e(ka.dashlen,b.trendlinesDashLen),e(ka.dashgap,b.trendlinesDashGap),cb):"none","shape-rendering":Ua.isCrisped?"crisp":void 0,path:Ua.path},da={fill:L(c(ka.color,B.color),c(ka.alpha,b.trendlineAlpha,99)),"vertical-align":Za,text:da,x:X?ja:aa,y:la}),P&&(!Xa||da.x>t||da.x<v)&&(da.text="")):R&&(da=I(ka.displayvalue||""),pa=e(ka.valueonright,0),cb=e(ka.istrendzone,b.isTrendZone,0),aa=this.getPixel(Ua),ja=X?this.getPixel(X):
0,void 0!==X&&""!==X&&X!==Ua&&cb?(cb={fill:L(c(ka.color,b.trendlineColor),c(ka.alpha,b.trendlineAlpha,40)),"stroke-width":0,path:["M",m,aa,"L",r,aa,"L",r,ja,"L",m,ja,"Z"]},da={"text-anchor":pa?Ra:db,fill:L(c(ka.color,B.color),c(ka.alpha,b.trendlineAlpha,99)),text:da,x:pa?oa:la,y:aa+(ja-aa)/2}):(cb=e(ka.thickness,b.trendlineThickness,1),cb=cb>n?1:cb,Ua=X?ob(["M",m,aa,"L",r,ja],cb):ob(["M",m,aa,"L",r,aa],cb),cb={stroke:L(c(ka.color,b.trendlineColor),c(ka.alpha,b.trendlineAlpha,99)),"stroke-width":cb,
"stroke-dasharray":c(ka.dashed,b.trendlinesAreDashed)===U?J(e(ka.dashlen,b.trendlinesDashLen),e(ka.dashgap,b.trendlinesDashGap),cb):"none","shape-rendering":Ua.isCrisped?"crisp":void 0,path:Ua.path},da={"text-anchor":pa?Ra:db,fill:L(c(ka.color,B.color),c(ka.alpha,b.trendlineAlpha,99)),text:da,x:pa?oa:la,y:X?pa?ja:aa:aa}),P&&(!Xa||da.y>t||da.y<v)&&(da.text="")),X=e(ka.showontop),X=z||1!==X&&1!==b.showTrendlinesOnTop?F:G,E[Z]?(pa=E[Z].graphics.drawing,Ua=E[Z].graphics.label,X.appendChild(pa),E[Z].graphics.config.text=
da.text,d&&Ta?(pa.animateWith(N,A,cb,d,fa),Ua.animateWith(N,A,da,d,fa)):(pa.attr(cb),Ua.attr(da)),Ua.css(K),Ua.tooltip(ka.valueToolText)):(pa=M.path(cb,X),Ua=M.text(da,K,C),Ua.tooltip(ka.valueToolText),E[Z]={},E[Z].graphics={},E[Z].graphics.drawing=pa,E[Z].graphics.label=Ua,E[Z].graphics.config={text:da.text}),b.showTooltip&&ka.valueToolText?Ua.trackTooltip(!0):Ua.trackTooltip(!1),b.showTooltip&&W?pa.tooltip(W).trackTooltip(!0):pa.trackTooltip(!1),Z+=1);if(E[Z])for(ea=Z;ea<E.length;ea++)E[ea].graphics.drawing.attr({path:["M",
0,0]}),E[ea].graphics.label.attr({text:"","text-bound":[]});this.components.trendObj=E;for(ea=0;ea<Z;ea++)E[ea].graphics.label.attr({"text-bound":E[ea].graphics.config.text?[B.backgroundColor,B.borderColor,B.borderThickness,B.borderPadding,B.borderRadius,B.borderDash]:[]})}if(E[Z])for(ea=Z;ea<E.length;ea++)E[ea].graphics.drawing.attr({path:["M",0,0]}),E[ea].graphics.label.attr({text:"","text-bound":[]})},_drawCategory:function(){var b,a,d,f,M,k,h=this.config,z=h.axisDimention||{},p=h.canvas,g=this.chart,
l=g.config,m=h.isOpposit,q=h.labels,n=q.style,w=h.isVertical,t=p.canvasBottom||l.canvasBottom,v=p.canvasLeft||l.canvasLeft,B=p.canvasRight||l.canvasRight,p=p.canvasTop||l.canvasTop,A=h.axisContainer,l=h.labelPadding,G=g.components.paper,F=w?z.x:z.y,z=z.opposite,I=h.drawLabelOnBothSide,C=this.components.categoryLabel||(this.components.categoryLabel=[]),E=g.jsonData.categories,K,Q,R,P=function(b){return function(a){ia.call(this,g,a,b)}},Xa=0,Xa=0,N=h.animateAxis,Ta,ea,V,O,S,W,X,Z,pa,U,T,da,aa,ka,fa;
S=(V=h.isCategoryAnimate&&h.animateCategories?h.animateCategories:h.categories.category)?V.length-1:0;da=0<h.labels.step?h.labels.step:1;this._drawCategoryLine(V,0,S);if(h.labels.isDraw){Ta=g.get("config","animationObj");ka=Ta.animObj;fa=Ta.dummyObj;ea=Ta.transposeAnimDuration;Ta=Ta.animType;w&&(O=Pa(this.getPixel(0)-this.getPixel(1)),h.labelMaxH>O&&(Xa=lb(h.labelMaxH/O)),Xa>h.labels.step&&(h.labels.step=Xa));O=this.getPVR();aa=this._isZoomed();X=this._getVisibleConfig();Z=h.labels.rotation;!h.drawLabelOnBothSide&&
h.drawLabelsOpposit&&(m=!m,F=z);E&&E[0]&&"auto"!==h.xAxisLabelMode&&(K=E[0].font,Q=E[0].fontsize,R=E[0].fontcolor);K={fontFamily:c(K,n.fontFamily),fontSize:c(Q,n.fontSize),fontWeight:c(n.fontWeight),fontStyle:c(n.fontStyle)};K.lineHeight=r(K);A.css(K);E=this._manageReuseableElement(this.components.categoryLabel,"text",A);for(Xa=Q=0;Q<=S;Q+=da)if(A=V[Q])if(a=e(A.x,A.y,Q),!(0===e(A.showlabel,h.showLabels,1)||aa&&(a<X.minValue||a>X.maxValue))&&("auto"!==h.xAxisLabelMode&&"mixed"!==h.xAxisLabelMode||
0!==h.showZeroPlane&&0!==h.showZeroPlaneValue||0!==a)&&(h.labels.drawNormalVal||h.labels.drawLimitVal&&(0===Q||Q===S))&&(h.labels.drawNormalVal||0===Q||Q===S)&&(h.labels.drawLimitVal||0!==Q&&Q!==S)){f=c(A.font,A.labelfont);M=c(A.fontsize,A.labelfontsize);k=c(A.fontbold,A.labelfontbold)?e(A.fontbold,A.labelfontbold,0)?"bold":"normal":void 0;U=c(A.fontitalic,A.labelfontitalic)?e(A.fontitalic,A.labelfontitalic,0)?"italic":"normal":void 0;d=L(c(A.fontcolor,A.labelfontcolor,R,n.color),e(A.labelalpha,h.rawAttr.labelFontAlpha,
g.singleseries?void 0:A.alpha,100));f||M||k||U?(b={},f&&(b.fontFamily=f),M&&(b.fontSize=M),k&&(b.fontWeight=k),U&&(b.fontStyle=U),b.lineHeight=M?r(b):K.lineHeight):b=void 0;if(b||K)f=(b||K).lineHeight,-1!==f.indexOf("px")&&(pa=f.replace(/px/i,""),pa=parseFloat(pa));U=this.getPixel(a);w?(M=A.label||"",k=Number(A.labelPadding)||0,f={fill:d,"line-height":pa,opacity:1,"text-anchor":m?Ra:db,text:M,cursor:A.link||A.labellink||n.labelLink?"pointer":"",x:m?(F||B)+l:(F||v)-l,y:k?U+k:U},I&&(T={fill:d,"line-height":pa,
opacity:1,"text-anchor":m?db:Ra,text:M,cursor:A.link||A.labellink||n.labelLink?"pointer":"",x:m?(z||v)-l:(z||B)+l,y:k?U+k:U})):(M=A.label||"",k=Number(A.labelPadding)||0,f={fill:d,"line-height":pa,opacity:1,text:M,cursor:A.link||A.labellink||n.labelLink?"pointer":"",x:U,y:m?(F||p)-l:(F||t)+l},I&&(T={fill:d,"line-height":pa,opacity:1,text:M,cursor:A.link||A.labellink||n.labelLink?"pointer":"",y:m?(z||t)+l:(z||p)-l}),Z?(f["text-anchor"]=m?Ra:db,f["vertical-align"]="center",I&&(T["text-anchor"]=m?db:
Ra,T["vertical-align"]="center")):(f["text-anchor"]=wb,f["vertical-align"]=m?ab:Za,I&&(T["vertical-align"]=m?Za:ab,T["text-anchor"]=wb)),k&&(f.y=m?f.y-k:f.y+k,I&&(T.y=m?T.y+k:T.y-k)));q.shiftX&&(f.x+=q.shiftX,I&&(T.x+=q.shiftX));q.shiftY&&(f.y+=q.shiftY,I&&(T.y+=q.shiftY));f.transform=G.getSuggestiveRotation(Z,f.x,f.y);I&&(T.transform=G.getSuggestiveRotation(Z,T.x,T.y));C[Xa]||(C[Xa]={},C[Xa].graphics={},C[Xa].config={});d=C[Xa].graphics.label=E.getElement("p"+a,f);d._applyAllAttr&&d.attr(f);b&&d._firstTimeDraw?
(d.css(b),d._appliedCss=!0):d._applyAllAttr&&!d._firstTimeDraw&&b?(d.css({fontFamily:b&&b.fontFamily?b.fontFamily:K.fontFamily,fontSize:b&&b.fontSize?b.fontSize:K.fontSize,fontWeight:b&&b.fontWeight?b.fontWeight:K.fontWeight,fontStyle:b&&b.fontStyle?b.fontStyle:K.fontStyle}),d._appliedCss=!0):d._appliedCss&&!b&&(d.removeCSS(),delete d._appliedCss);d._firstTimeDraw||(d._applyAllAttr?(M=f,M.visibility=xb):M={x:f.x,y:f.y,transform:f.transform,visibility:xb},ea&&N&&!A.animate?d.animateWith(fa,ka,M,ea,
Ta):d.attr(M));h.showTooltip&&A.labelTooltext?(d.tooltip(A.labelTooltext),d.trackTooltip(!0)):d.trackTooltip(!1);I&&(W=C[Xa].graphics.secondLabel=E.getElement("s"+a,T),W.css(b),W._firstTimeDraw||(W._applyAllAttr?(M=T,M.visibility=xb):M={x:T.x,y:T.y,transform:f.transform,visibility:xb},ea&&N&&!A.animate?W.animateWith(fa,ka,M,ea,Ta):W.attr(M)),h.showTooltip&&A.labelTooltext?(W.tooltip(A.labelTooltext),W.trackTooltip(!0)):W.trackTooltip(!1));d._firstTimeDraw&&d.click(P("dataLabelClick")).hover(P("dataLabelRollOver"),
P("dataLabelRollOut"));d.data("eventArgs",{link:A.link||A.labellink||n.labelLink,text:f.text,index:Xa});I&&(W._firstTimeDraw&&W.click(P("dataLabelClick")).hover(P("dataLabelRollOver"),P("dataLabelRollOut")),C[Xa].graphics.secondLabel.data("eventArgs",{link:A.link||A.labellink||n.labelLink,text:f.text,index:Xa}));A.animate&&!w&&(b={x:f.x-A.leftShift*O},A["delete"]&&(b.opacity=0),b.transform=G.getSuggestiveRotation(Z,b.x,f.y),C[Xa].graphics.label.animateWith(fa,ka,b,ea,Ta),I&&(b={x:T.x-A.leftShift*
O},A["delete"]&&(b.opacity=0),b.transform=G.getSuggestiveRotation(Z,b.x,T.y),C[Xa].graphics.secondLabel.animateWith(fa,ka,b,ea,Ta)));if(d._applyAllAttr||d._firstTimeDraw)e(A.borderthickness,A.labelborderthickness)&&e(A.borderthickness,A.labelborderthickness,1),b=A.bordercolor||A.labelbordercolor?L(A.bordercolor||A.labelbordercolor,e(A.borderalpha,A.labelborderalpha,A.alpha,A.labelalpha,100)):"",a=e(A.borderthickness,A.labelborderthickness),d=e(A.borderpadding,A.labelborderpadding),f=e(A.borderradius,
A.labelborderradius),M=A.bgcolor||A.labelbgcolor?L(A.bgcolor||A.labelbgcolor,e(A.bgalpha,A.labelbgalpha,A.alpha,A.labelalpha,h.rawAttr.labelFontAlpha,100)):"",k=e(A.borderdashed,A.labelborderdashed,0)?J(e(A.borderdashlen,A.labelborderdashlen,4),e(A.borderdashgap,A.labelborderdashgap,2),e(A.borderthickness,A.labelborderthickness,1)):0===e(A.borderdashed,A.labelborderdashed)?"none":n.borderDash,A.label?(C[Xa].graphics.label.attr({"text-bound":[c(M,n.backgroundColor),c(b,n.borderColor),c(a,n.borderThickness),
c(d,n.borderPadding),c(f,n.borderRadius),c(k,n.borderDash)]}),I&&C[Xa].graphics.secondLabel.attr({"text-bound":[c(M,n.backgroundColor),c(b,n.borderColor),c(a,n.borderThickness),c(d,n.borderPadding),c(f,n.borderRadius),c(k,n.borderDash)]})):(C[Xa].graphics.label.attr({"text-bound":[]}),I&&C[Q].graphics.secondLabel.attr({"text-bound":[]}));Xa+=1}this.components.categoryLabel=C;E.freeUnusedElement()}},_drawCategoryLine:function(b,a,d){var f=this.config,M=f.canvas,k=this.chart,h=k.config,z=k.components,
p=f.isVertical,g=M.canvasBottom||h.canvasBottom,l=M.canvasLeft||h.canvasLeft,m=M.canvasRight||h.canvasRight,M=M.canvasTop||h.canvasTop,h=f.axisPlotLineContainer,r=f.showCanvasBorder,q=f.xAxisLabelMode,n=z.paper,z=z.colorManager,w=this.components.categoryLabelLine||[],t=k.jsonData.categories,v,A,B,G,F,I,C=0,E=f.animateAxis,Q,R,K,Xa,P,N,ea,V;b||(b=f.isCategoryAnimate&&f.animateCategories?f.animateCategories:f.categories.category);a=a||0;d=d||b?b.length-1:0;if(f.drawPlotlines){C=k.get("config","animationObj");
N=C.animObj;ea=C.dummyObj;k=C.transposeAnimDuration;V=C.animType;this.getPVR();P=this._isZoomed();R=this._getVisibleConfig();t&&t[0]&&(v=t[0].verticallinecolor,A=t[0].verticallinealpha,B=t[0].verticallinethickness,G=t[0].verticallinedashed,F=t[0].verticallinedashlen,I=t[0].verticallinedashgap);t=a;for(C=0;t<=d;t+=1)(Q=b[t])&&(!r||"auto"!==q&&"mixed"!==q||t!==d&&t!==a)&&(Xa=e(Q.x,Q.y,t),1!==Number(Q.showverticalline)||P&&(Xa<R.minValue||Xa>R.maxValue)||(K=this.getPixel(Xa),Xa={stroke:L(c(Q.linecolor,
v,f.divLineColor,z.getColor("divLineColor")),c(Q.linealpha,A,z.getColor("divLineAlpha"))),"stroke-width":e(Q.linethickness,B,1)},Xa["stroke-dasharray"]=e(Q.linedashed,G,0)?J(e(Q.linedashLen,F,4),e(Q.linedashgap,I,2),Xa["stroke-width"]):"none",K=p?ob(["M",l,K,"L",m,K],Xa["stroke-width"]):ob(["M",K,M,"L",K,g],Xa["stroke-width"]),Xa.path=K.path,Xa["shape-rendering"]=K.isCrisped?"crisp":void 0,w[C]?(K=w[C].graphics.line,K.attr(Xa),k&&E&&!Q.animate?K.animateWith(ea,N,Xa,k,V):K.attr(Xa)):(K=n.path(Xa,h),
w[C]={},w[C].graphics={},w[C].config={},w[C].graphics.line=K),C+=1));this.components.categoryLabelLine=w}if(w[C])for(t=C;t<w.length;t++)w[t].graphics.line.attr({path:["M",0,0]})},_drawCategoryVline:function(){var b=this.config,d=b.axisRange,f=d.min,d=d.max,H=b.canvas,M=this.chart,k=M.config,h=k.style||{},z=M.components.paper,p=H.canvasBottom||k.canvasBottom,g=H.canvasLeft||k.canvasLeft,l=H.canvasRight||k.canvasRight,m=H.canvasTop||k.canvasTop,r=H.canvasHeight||k.canvasHeight,H=H.canvasWidth||k.canvasWidth,
q=b.categories.category,n=b.isVertical,w=M.linkedItems.smartLabel,t=b.axisPlotLineContainerTop,v=b.axisPlotLineContainer,A=b.vlineLabelContainer,B=b.isRelativeAxisInverse,G={fontFamily:k.style.inCanfontFamily,fontSize:k.style.inCanfontSize,color:k.style.inCancolor,lineHeight:k.style.inCanLineHeight},F=this.components.categoryVline||[],C=this.components.categoryVlineLabel||[],E=0,K=0,Q=b.animateAxis,R,P,Xa,N,Ta,ea,V,O,S,W,X,Z,pa,U,T,da,aa,ka,fa,ja,la,oa,ca,Y,ba,Aa,ra,ta,va,eb,Cb,ia;P=b.isCategoryVlineAnimate&&
b.animateCategoriesVline?b.animateCategoriesVline:b.categories.vline;R=M.get("config","animationObj");ta=R.animObj;va=R.dummyObj;M=R.transposeAnimDuration;R=R.animType;N=P.length;Xa=this.getPVR();eb=this._isZoomed();Cb=this._getVisibleConfig();for(V=0;V<N;V++)Ta=P[V],ea=I(Ta.label),O=!!e(Ta.showlabelborder,b.showVLineLabelBorder,1),S=!!e(Ta.showlabelbackground,1),W=c(Ta.labelhalign,n?Ra:wb),"center"==W?W=wb:"left"==W?W=Ra:"right"==W&&(W=db),X=c(Ta.labelvalign,n?wb:ab).toLowerCase(),X==wb?X="center":
X==Za?X=ab:X==ab&&(X=Za),Z=e(Ta.labelposition,0),pa=e(Ta.lineposition,.5),U=e(Ta.showvlines,b.showVLines,1),T=e(Ta.alpha,b.vLineAlpha,80),da=c(Ta.color,b.vLineColor).replace(/^#?/,"#"),S=S?c(Ta.labelbgcolor,b.vLineLabelBgColor,"333333").replace(/^#?/,"#"):a,oa=c(Ta.labelcolor,b.vLineLabelColor,Ta.color,h.inCancolor,b.vLineColor).replace(/^#?/,"#"),aa=e(Ta.thickness,b.vLineThickness,1),ka=!!Number(c(Ta.dashed,0)),fa=e(Ta.dashlen,5),la=e(Ta.dashgap,2),ja=G.fontSize,parseInt(ja.replace(/px/i,""),10),
ja=e(Ta.rotatelabel,b.rotateVLineLabels)?270:0,pa=0>pa||1<pa?.5:pa,Z=0>Z||1<Z?0:Z,w.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),w.setStyle(G),w.getOriSize(ea),da=L(da,U?T:"0"),T=1===Number(Ta.showontop)||1===b.showVLinesOnTop?t:v,Aa=!1,ia=Ta.animate&&!n?Ta.startIndex+1:Ta.startIndex,ca=q[ia],Y=q[ia+1],ca?Y||(ba=q[0]&&q[0].x?d:b.oriCatLen,Aa=!0):(ba=q[0]&&q[0].x?f:-1,Aa=!0),Aa||(ba=e(ca.x,ca.y,ia),pa*=ba-e(Y.x,Y.y,ia+1)),pa=ba+Pa(pa),eb&&(pa<Cb.minValue||pa>Cb.maxValue)||!Ta.animate&&(pa<f||pa>
d)||Ta.animate&&(pa<f||pa>d+ra)||(pa=this.getPixel(pa),fa={opacity:1,stroke:da,"stroke-width":aa,"stroke-dasharray":ka?J(fa,la,aa):"none"},ka={opacity:1,text:ea,"text-anchor":W,"vertical-align":X,"text-bound":[]},oa={fill:U?oa:da,fontSize:G.fontSize,fontFamily:G.fontFamily,lineHeight:G.lineHeight,backgroundColor:S},n?(la=ob(["M",g,pa,"L",l,pa],aa),fa.path=la.path,ka.x=g+H*(B?1-Z:Z),ka.y=pa):(la=ob(["M",pa,m,"L",pa,p],aa),fa.path=la.path,ka.x=pa,ka.y=m+r*(B?1-Z:Z)),fa["shape-rendering"]=la.isCrisped?
"crisp":void 0,W==Ra?ka.x+=2:W==db&&(ka.x-=2),X==Za?ka.Y+=2:X==ab&&(ka.Y-=2),F[E]?(W=F[E].graphics.drawing,T.appendChild(W),M&&Q&&!Ta.animate?W.animateWith(va,ta,fa,M):W.attr(fa)):(W=z.path(fa,T),F[E]={},F[E].graphics={},F[E].config={},F[E].graphics.drawing=W),ea&&(ka.transform=z.getSuggestiveRotation(ja,ka.x,ka.y),C[K]?(W=C[K].graphics.label,W.css(oa),M&&Q&&!Ta.animate?W.animateWith(va,ta,ka,M,R):W.attr(ka)):(W=z.text(ka,oa,A).css(oa),C[K]={},C[K].graphics={},C[K].config={},C[K].graphics.label=W)),
Ta.animate&&!n&&(ra=Ta.leftShift*Xa,W={x:ka.x-ra},la=ob(["M",pa-ra,m,"L",pa-ra,p],aa),aa={path:la.path,"shape-rendering":la.isCrisped?"crisp":void 0},Ta["delete"]&&(W.opacity=0,W["text-bound"]=[],aa.opacity=0),ea&&C[K].graphics.label.animateWith(va,ta,W,M,R),F[E].graphics.drawing.animateWith(va,ta,aa,M,R)),ea&&(C[K].graphics.label.attr({"text-bound":[S,U&&O?da:a,U&&O?1:0,2,void 0,U&&O?"solid":a]}),K++),E++);if(F[E])for(V=E;V<F.length;V++)F[V].graphics.drawing.attr({path:["M",0,0]});if(C[K])for(V=
K;V<C.length;V++)C[V].graphics.label.attr({text:"","text-bound":[]});this.components.categoryVline=F;this.components.categoryVlineLabel=C},_drawCategoryPlotLine:function(){var b=this.config,a=b.isVertical,c=b.axisRange,e=c.max,d=c.min,k=b.canvas,h=this.chart,f=h.config,p=b.categories.category,g=p.length,c=k.canvasBottom||f.canvasBottom,l=k.canvasLeft||f.canvasLeft,m=k.canvasRight||f.canvasRight,k=k.canvasTop||f.canvasTop,f=b.axisPlotLineContainer,r=h.components.paper,q=this.graphics.line||[],n=0,
w=L(b.divLineColor,b.divLineAlpha),t=b.divLineThickness,v=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,t):"none",A=b.animateAxis,B,G,w={stroke:w,"stroke-width":t,"stroke-dasharray":v};if(p[0]&&(void 0!==p[0].x||void 0!==p[0].y)){if(q[n]&&"categories"===b.xAxisLabelMode)for(e=n;e<q.length;e++)q[e].attr({path:[]})}else if(b.lines.isDraw&&b.categoryNumDivLines){n=h.get("config","animationObj");p=n.animObj;v=n.dummyObj;h=n.transposeAnimDuration;G=n.animType;b.categoryDivLinesFromZero&&(d=0,e=
g-1);g=Pa(e-d)/(b.categoryNumDivLines+1);g=0===g?1:g;B=this._getVisibleConfig();n=d+g*jb((B.minValue-3*g-d)/g);B=d+g*jb((B.maxValue+3*g-d)/g);n=(n<d?d:n)+g;B=(B>e?e:B)-g;e=n;for(n=0;e<=B;e+=g)d=b.hasBreakPoints?this._getRealBreakValue(e):e,d=a?ob(["M",l,this.getPixel(d),"L",m,this.getPixel(d)],t):ob(["M",this.getPixel(d),k,"L",this.getPixel(d),c],t),w.path=d.path,w["shape-rendering"]=d.isCrisped?"crisp":void 0,q[n]?(d=q[n],h&&A?d.animateWith(v,p,w,h,G):d.attr(w)):(d=r.path(w,f),q[n]=d),n+=1;if(q[n])for(e=
n;e<q.length;e++)q[e].attr({path:[]});this.graphics.line=q}else if(q[n])for(e=n;e<q.length;e++)q[e].attr({path:[]})},_drawCategoryPlotBand:function(){var b=this.config,a=b.axisRange,c=a.max,e=a.min,d=b.canvas,k=this.chart,h=k.config,f=b.categories.category,p=f.length,a=d.canvasLeft||h.canvasLeft,g=d.canvasRight||h.canvasRight,l=d.canvasTop||h.canvasTop,m=d.canvasHeight||h.canvasHeight,d=d.canvasWidth||h.canvasWidth,h=b.isVertical,r=b.axisBandContainer,q=k.components.paper,n=this.graphics.band||[],
t=0,v=b.showAlternateGridColor,A=b.alternateGridColor,B=b.alternateGridAlpha,G=b.categoryDivLinesFromZero,F=b.animateAxis,I,C,E;if(f[0]&&(void 0!==f[0].x||void 0!==f[0].y)){if(n[t])for(B=t;B<n.length;B++)n[B].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})}else if(v&&b.band.isDraw&&b.categoryNumDivLines){t=k.get("config","animationObj");f=t.animObj;v=t.dummyObj;k=t.transposeAnimDuration;E=t.animType;G&&(e=0,c=p-1);b=Pa(c-e)/(b.categoryNumDivLines+1);b=0===b?1:b;t=this._getVisibleConfig();
p=e+b*jb((t.minValue-3*b-e)/b);G=e+b*jb((t.maxValue+3*b-e)/b);p=p<e?e:p;G=G>c?c:G;e=bb((p-e)/b);p+=b;A={fill:w(L(A,B)),"stroke-width":0};C=this.getPVR();B=p;for(t=0;B-b<G;e+=1,B+=b)0===e%2&&(I=B===p?b+Pa(this.getValue(0))+1:B===G?b+Pa(this.getValue(g-a)-c):b,h?(A.x=a,A.y=B===G?this.getPixel(B-Pa(b)):this.getPixel(B-Pa(I)),A.width=d,A.height=Pa(I*C)):(A.x=B===G?this.getPixel(B-Pa(b)):this.getPixel(B-Pa(I)),A.y=l,A.width=Pa(I*C),A.height=m),n[t]?(I=n[t],k&&F?I.animateWith(v,f,A,k,E):I.attr(A)):(I=q.rect(A,
r),n[t]=I),t+=1);if(n[t])for(B=t;B<n.length;B++)n[B].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=n}else if(n[t])for(B=t;B<n.length;B++)n[B].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},resetNumericAxisComponents:function(){var b=this.graphics.line,a=this.graphics.labels,c;if(b&&b[0])for(c=0;c<b.length;c+=1)b[c].attr({path:[]});if(a&&a[0])for(c=0,b=a.length;c<b;c+=1)a[c].attr({text:""})},resetCategoryAxisComponents:function(){var b=this.graphics.line,
a=this.components.categoryVline,c=this.components.categoryLabel,e=this.components.categoryLabelLine,d;if(b&&b[0])for(d=0;d<b.length;d+=1)b[d].attr({path:[]});if(c&&c[0])for(d=0,b=c.length;d<b;d+=1)c[d].graphics.label.attr({text:"","text-bound":[]}),c[d].graphics.secondLabel&&c[d].graphics.secondLabel.attr({text:"","text-bound":[]});if(e&&e[0])for(d=0,b=e.length;d<b;d+=1)e[d].graphics.line.attr({path:["M",0,0]});if(a&&a[0])for(d=0,b=a.length;d<b;d+=1)a[d].graphics.drawing.attr({path:["M",0,0]}),a[d].graphics.label.attr({text:"",
"text-bound":[]})},placeAxis:function(b){return this.config.isVertical?this._placeVerticalAxis(b):this._placeHorizontalAxis(b)},_placeVerticalAxis:function(b){var a=this.config,d=this.chart,f=d.config,M=d.components,k=d.linkedItems.smartLabel,h=a.axisRange,z=a.name,p=a.isOpposit,g=M.numberFormatter,l=f.canvasHeight,m=a.labelPadding=e(a.rawAttr.axisValuePadding,4),r=e(a.rawAttr.axisNamePadding,5),q=a.useEllipsesWhenOverflow,n=a.name.style,w=a.trend.trendStyle,t=a.axisName,v=a.trendLines,B=a.drawLabelsOpposit,
A=a.drawAxisNameOpposit,G=a.drawLabelOnBothSide,F=0,C=0,E=0,J=0,Q=0,R={left:0,right:0},L="",K="",P=0,N,ea,V,O,S,W,X;f.viewPortConfig&&1!==f.viewPortConfig.scaleY&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();a.oriCanvasHeight=l;0>m&&(a.labelPadding=2);P=a.drawTick&&a.tickLength?a.axisLineThickness+a.tickLength:a.axisLineThickness;a.showAxisLine?(a.labelPadding=e(m,2)+P,0>a.labelPadding&&(a.labelPadding=(0>a.axisLineThickness?0:P)+2),b-=a.axisLineThickness):(a.labelPadding=
e(m,2),0>a.labelPadding&&(a.labelPadding=2));m=h.max;ea=h.min;a.name.rotation=0;a.labels.step=a.labelStep;a.labels.isDraw=1;a.lines.isDraw=1;a.band.isDraw=1;a.labels.drawNormalVal=a.showDivLineValues;a.labels.drawLimitVal=a.showLimits;P=n.lineHeight;P=Number(P.replace(/px/i,""));P<b&&(b-=P);1!==a.showLimits&&1!==a.showDivLineValues&&(a.labels.isDraw=0);N=a.drawLabels?this._getVMaxLabelDimention(G?b-2*a.labelPadding/2:b-a.labelPadding):{width:0,height:0};if(N.width+a.labelPadding>b&&!a.hasCategory||
0===N.width)a.labels.isDraw=0;a.labels.isDraw&&(a.labelMaxW=N.width,a.labelMaxH=N.height,F=N.width+a.labelPadding,C=G?2*F:F);if(a.drawTrendLines&&a.drawTrendLabels&&v){h=a.isPercent?M.numberFormatter.percentValue:a.isVertical?M.numberFormatter.yAxis:M.numberFormatter.xAxis;k.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);k.setStyle({fontSize:w.fontSize,fontFamily:w.fontFamily,lineHeight:w.lineHeight,fontWeight:w.fontWeight});f=0;for(w=v.length;f<w;f+=1)for(N=0,O=v[f].line&&v[f].line.length;N<O;N+=
1)S=v[f].line[N],W=g.getCleanValue(c(S.startvalue,S.value,0)),X=e(S.endvalue,W),W<=m&&W>=ea&&X<=m&&X>=ea&&(a.isOpposit&&(S.valueonright=1),W=e(S.valueonright,0),J=1===W?S.endvalue||S.startvalue:S.startvalue||S.endvalue,V=I(S.origText||S.displayvalue||J||""),V===J&&(V=""+h.call(M.numberFormatter,V)),W?V.length>K.length&&(K=V):V.length>L.length&&(L=V));N=k.getOriSize(K);Q=N.width+a.labelPadding;N=k.getOriSize(L);J=N.width+a.labelPadding;p?(Q>C&&Q>b&&(Q=b),C=Ga(C,Q+a.labelPadding),J>b-C&&(J=Ma(J,b-C))):
(J>C&&J>b&&(J=b),C=Ga(C,J+a.labelPadding),Q>b-C&&(Q=Ma(Q,b-C)));f=0;for(w=v.length;f<w;f+=1)for(N=0,O=v[f].line&&v[f].line.length;N<O;N+=1){S=v[f].line[N];W=g.getCleanValue(c(S.startvalue,S.value,0));X=e(S.endvalue,W);V=1===Number(S.valueonright)?S.origText||S.displayvalue||""+X||"":S.origText||S.displayvalue||""+W||"";V=I(""+V);if(Number(V)===X||Number(V)===W)V=""+h.call(M.numberFormatter,V);S.origText=V;L=(W=e(S.valueonright,0))?k.getSmartText(V,Q,d.canvasHeight,q):k.getSmartText(V,C,d.canvasHeight,
q);S.displayvalue=L.text;L.tooltext?S.valueToolText=L.tooltext:delete S.valueToolText}}b+=P;!a.drawAxisName||0>=b-C-Q||""===t?(z.isDraw=!1,z.value=""):(k.setStyle({fontSize:n.fontSize,fontFamily:n.fontFamily,lineHeight:n.lineHeight,fontWeight:n.fontWeight}),z.isDraw=!0,a.rotateAxisName?(a.name.rotation=p?90:270,d=k.getSmartText(t,l,b-C-Q),z.value=t,a.nameMaxW=Ma(d.height)):(d=k.getSmartText(t,b-C-Q,l),z.value=t,a.nameMaxW=Ma(d.width,b-C),a.nameMaxH=d.height,0<=a.axisNameWidth&&(a.nameMaxW=Ma(a.nameMaxW,
a.axisNameWidth))),E=a.nameMaxW+r);p?(G?(R.left+=Ga(F,J),R.right+=Ga(F,Q)):B?(R.left+=Ga(F,J),R.right+=Q):(R.left+=J,R.right+=Ga(F,Q)),A?(a.axisNamePadding=R.left+r,R.left+=E):(a.axisNamePadding=R.right+r,R.right+=E)):(G?(R.left+=Ga(F,J),R.right+=Ga(F,Q)):B?(R.left+=J,R.right+=Ga(F,Q)):(R.left+=Ga(F,J),R.right+=Q),A?(a.axisNamePadding=R.right+r,R.right+=E):(a.axisNamePadding=R.left+r,R.left+=E));z.isDraw&&a.axisNamePadding+a.nameMaxW>b&&(a.axisNamePadding=b-a.nameMaxW);return R},_placeHorizontalAxis:function(b){var a=
this.config,d=this.chart,f=d.config,M=d.components,k=d.linkedItems.smartLabel,h=a.axisRange,z=a.name,p=a.isOpposit,g=M.numberFormatter,l=a.drawLabelsOpposit,m=a.drawAxisNameOpposit,r=a.drawLabelOnBothSide,q=0,n=f.canvasWidth,w=a.labelPadding=e(a.rawAttr.axisValuePadding,4),t=e(a.rawAttr.axisNamePadding,5),v=a.useEllipsesWhenOverflow,B=a.name.style,A=a.trend.trendStyle,G=a.axisName,F=a.vTrendLines,C,E,J=0,Q=0,R={top:0,bottom:0},L=0,K=0,N,P,ea,V,O,S;f.viewPortConfig&&1!==f.viewPortConfig.scaleX&&(a._setRangeAgain=
!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();0>w&&(a.labelPadding=2);K=a.drawTick&&a.tickLength?a.axisLineThickness+a.tickLength:a.axisLineThickness;a.showAxisLine?(a.labelPadding=e(w,2)+K,0>a.labelPadding&&(a.labelPadding=(0>a.axisLineThickness?0:K)+2),b-=a.axisLineThickness):(a.labelPadding=e(w,2),0>a.labelPadding&&(a.labelPadding=2));w=h.max;h=h.min;a.labels.rotation=0;a.labels.step=a.labelStep;a.labels.isDraw=1;a.lines.isDraw=1;a.band.isDraw=1;a.labels.drawNormalVal=a.showDivLineValues;
a.labels.drawLimitVal=a.showLimits;K=B.lineHeight;K=Number(K.replace(/px/i,""));K<b&&(b-=K);a.rotateLabels&&"stagger"!==a.labelDisplay&&"none"!==a.labelDisplay&&(a.labelDisplay="rotate");1!==a.showLimits&&1!==a.showDivLineValues&&(a.labels.isDraw=0);V=a.drawLabels?this._getHMaxLabelDimention(r?(b-2*a.labelPadding)/2:b-a.labelPadding):{width:0,height:0};a.labels.rotation?V.width+a.labelPadding>b&&!a.hasCategory&&(a.labels.isDraw=0):V.height+a.labelPadding>b&&!a.hasCategory&&(a.labels.isDraw=0);a.labels.isDraw&&
(a.labels.rotation?(a.labelMaxW=V.height,a.labelMaxH=V.width,q=V.width+a.labelPadding):(a.labelMaxW=V.width,a.labelMaxH=V.height,q=V.height+a.labelPadding),J=r?2*q:q);J=Ga(J,a.labelPadding);V=J<=b?b-J:b;if(a.drawTrendLines&&a.drawTrendLabels&&F&&a.isActive)for(S=a.isPercent?M.numberFormatter.percentValue:a.isVertical?M.numberFormatter.yAxis:M.numberFormatter.xAxis,k.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),k.setStyle({fontSize:A.fontSize,fontFamily:A.fontFamily,lineHeight:A.lineHeight,fontWeight:A.fontWeight}),
f=0,E=F.length;f<E;f+=1)for(N=0,ea=F[f].line&&F[f].line.length;N<ea;N+=1)O=F[f].line[N],C=g.getCleanValue(c(O.startvalue,O.value,0)),P=e(O.endvalue,C),C<=w&&C>=h&&P<=w&&P>=h&&(C=e(O.valueonright,0),C=1===C?O.endvalue||O.startvalue:O.startvalue||O.endvalue,P=I(O.origText||O.displayvalue||C||""),P===C&&(P=""+S.call(M.numberFormatter,P)),O.origText=P,C=k.getSmartText(P,d.canvasWidth,A.lineHeight,v),P=C.height+2,0>V-P?O.displayvalue="":(O.displayvalue=C.text,L=L<C.height?C.height:L),C.tooltext?O.valueToolText=
C.tooltext:delete O.valueToolText);J+=L;V=V-L+K;b+=K;!a.drawAxisName||0>=V||""===G?(z.isDraw=!1,z.value=""):(k.setStyle({fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight}),z.isDraw=!0,d=k.getSmartText(G,n,V),z.value=G,a.nameMaxW=n,a.nameMaxH=d.height,Q=d.height+t,a.axisNamePadding=t+J,a.axisNamePadding+d.height>b&&(a.axisNamePadding=b-d.height,Q=d.height+a.axisNamePadding-J));p?(r?(R.bottom+=q+L,R.top+=q):l?R.bottom+=q+L:(R.top+=q,R.bottom+=L),a.trendBottomPadding=
R.bottom-L+2,m?R.bottom+=Q:R.top+=Q):(r?(R.bottom+=q+L,R.top+=q):l?(R.top+=q,R.bottom+=L):R.bottom+=q+L,a.trendBottomPadding=R.bottom-L+2,m?R.top+=Q:R.bottom+=Q);return R},_getHMaxLabelDimention:function(b){function a(b,e){switch(e.toLowerCase()){case "left":return Math.abs(c._getCustomPixel(b));case "right":return Math.abs(k.width-c._getCustomPixel(b))}}var c=this,d=c.config,f=c.chart,k=f.config,h=f.components,z=f.linkedItems.smartLabel,p=d.axisRange,g=d.labels,f=d.labelDisplay,l=d.slantLabel,m=
g.style,n=d.maxLabelHeight,w=p.tickInterval,t=d.staggerLines,v=d.labelStep,B=k.canvasLeft,A=k.canvasRight,G=t-2,F,I,C=p.max,E=p.min,v=0,J=d.categories&&d.categories.category,L=0,Q,R,K,N={text:void 0,width:Number.NEGATIVE_INFINITY,style:void 0},p=Number.NEGATIVE_INFINITY,O,Ta,ea,V,U=function(){},S=U,W=U,X=U,Z={},pa,T,aa,da,fa,ka=0,ca=!1,ja=0,la,oa=!1,Y,ba,ia,Aa=Number.POSITIVE_INFINITY,ra,ta=Number.POSITIVE_INFINITY;if(d.hasCategory&&(!J||0===J.length))return{width:0,height:0};"rotate"===f&&(d.rotateLabels=
1);d.hasCategory||(d.irregularCatAxis=!1);F=0===G?1:1===G?1.5:G;z.useEllipsesOnOverflow(k.useEllipsesWhenOverflow);z.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight});if(d.irregularCatAxis){J.sort(function(b,a){return b.x-a.x});G=0;for(L=J.length;G<L;G++){Q=J[G];if(void 0!==da){ta=Math.abs(Q.x-da);ba=Pa(c._getCustomPixel(E)-c._getCustomPixel(E+ta));z.setStyle(Q.style||{});Y=z.getOriSize("W");Y=Y.width;if(ba<1.2*Y){Q.label="";ta=Aa;continue}ia._individualIWR=
ba;Q._individualIWL=ba;Aa=ta}ia=Q;da=Q.x}ta===Number.POSITIVE_INFINITY&&(ta=Math.floor(Math.min(Q.x,C-Q.x)),ta=Math.max(ta,4));G=0;for(L=J.length;G<L;G++)Q=J[G],G||(Q._individualIWL=Infinity),G===L-1&&(Q._individualIWR=Infinity),Q.individualIW=Math.min(Q._individualIWL,Q._individualIWR);K=Pa(c._getCustomPixel(E)-c._getCustomPixel(E+ta));K=Math.min(2*a(J[0].x,"left"),2*a(J[L-1].x,"right"),K)}else K=Pa(c._getCustomPixel(E)-c._getCustomPixel(E+w));b=n?n:b;Z.__root__={getHeight:function(b){return parseInt(J[b]._ovrStyle.lineHeight.replace(/(\d+)px/,
"$1"),10)},getWidth:function(){return b},getCalculatedLabelStep:function(b){var a=0,e=b.length,g=Number.NEGATIVE_INFINITY,h,k=0,f;if(d.irregularCatAxis)return d.labelStep;for(;a<e;a++)if(h=b[a])h.label||(h.label=""),R={fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight},k++,h.style=h.style||{},q(R,h.style),R.lineHeight=r(R),z.setStyle(R),d.rotateLabels&&(f=parseInt(R.lineHeight.replace(/(\d+)px/,"$1"),10)),O=z.getSmartText(h.label,void 0,f),h=0===d.rotateLabels?
60<O.width?60:O.width:O.height,g=Math.max(h,g);b=Math.floor(Pa(c._getCustomPixel(C)-c._getCustomPixel(E))/g);if(k<=b)return d.labelStep;k=Math.max(Math.ceil(k/b),d.labelStep);K=Pa(c._getCustomPixel(E)-c._getCustomPixel(E+k));return k}};Z._inProp={};Z.getCopyById=function(b){var a=this.__root__,c=this._inProp.copyStore,e,c=c||{};if(e=c[b])return e;q(e=c[b]={},a);return e};if(d.hasCategory){switch(f){case "rotate":g.rotation=l?300:270;V=Z.getCopyById("rotate");break;case "stagger":V=Z.getCopyById("stagger");
V.getHeight=function(b){var a;a=(b=d.categories.category[b])&&b.style||(b.style={});R={fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight};q(R,a);z.setStyle(R);return z.getOriSize(b.label).height};V.getWidth=function(b){return b.individualIW?b.individualIW:2*K*F-4};X=function(a){var c,e=a.length,g=0,d,h,k;z.setStyle(m);c=z.getOriSize("WWW").height;if(Math.floor(a[e-1]._cumulativeSum)<=Math.ceil(e*(c+2)))h=Math.floor(b/c),t=0>h-t?h:t;else{h=Math.floor(b/(c+
4));do for(g=0,k=h,d=k-1,e=a.length;d<e;){e-d<h&&(d=e-1);c=a[d];g=c._cumulativeSum-g;if(~~g>-~b){ca=!0;break}else ca=!1;g=c._cumulativeSum;d+=k}while(h--&&ca);h++;t=Math.min(t,h)}};S=function(b){var a,c,e,g,d=0;g=0;for(e=b.length;g<e;g++)a=b[g],a.stepSkipped||(c=a&&a.style||{},(c=c.lineHeight)||(c=m.lineHeight),(I=d++%t)?a.labelPadding=c.replace(/px/i,"")*I:a.labelPadding=0)};break;case "none":V=Z.getCopyById("none");V.getHeight=U;W=V.getWidth=U;d.rotateLabels&&(g.rotation=l?300:270,la=b);V.getCalculatedLabelStep=
function(){return d.labelStep};break;default:V=Z.getCopyById("auto"),V.getHeight=function(){return b},V.getWidth=function(b){return b.individualIW?b.individualIW:K-8},W=function(b,a){var c,h,k,f;if(!d.irregularCatAxis&&(z.setStyle(b),c=z.getOriSize("WWW"),c=c.width,c>=K&&0!==d.rotateLabels)){g.rotation=l?300:270;g.forceRotate=!0;V=Z.getCopyById("rotate");Ta=V.getWidth;ea=V.getHeight;c=N.width=0;for(h=a.length;c<h;c++)(k=a[c])&&(k.label||k.oriLabel)&&0!==e(k.showlabel,d.showLabels,1)&&(f=k._ovrStyle,
z.setStyle({fontSize:f.fontSize,fontFamily:f.fontFamily,lineHeight:f.lineHeight,fontWeight:f.fontWeight}),O=z.getSmartText(k.oriLabel,Ta(k),ea(c)),k.label=O.text,k.labelTooltext=O.tooltext,k._sLabel=O,N.width<O.width&&(N.text=O.text,N.width=O.width,N.style=f));pa=N.text}}}Ta=V.getWidth;ea=V.getHeight;v=d.labels.step=d.labelStep=d._oriLabelStep;v=d.labels.step=d.labelStep=V.getCalculatedLabelStep(J);G=0;for(L=J.length;G<L;G++)(Q=J[G])&&(Q.label||Q.oriLabel)&&0!==e(Q.showlabel,d.showLabels,1)&&(oa=
!0,R={fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight},q(R,Q.style),R.lineHeight=r(R),z.setStyle(R),G%v&&(Q.stepSkipped=!0,ja++),Q._ovrStyle=R,O=z.getSmartText(Q.oriLabel||Q.label,Ta(Q),ea(G)),ka+=Q._nLineHeight=O.height+2,Q._cumulativeSum=ka,Q.oriLabel=Q.oriLabel||Q.label,Q.label=O.text,Q.labelTooltext=O.tooltext,Q._sLabel=O,N.width<O.oriTextWidth&&(q(N,O),N.style=R),p<O.height&&(p=O.height));if(!oa)return{height:0,width:0};X(J,ja);S(J,ja);W(N.style,J);
pa=N.text||"";if("mixed"===d.xAxisLabelMode)for(Q=d.isPercent?h.numberFormatter.percentValue:h.numberFormatter.xAxis,v=pa.length,G=E;G<=C;G+=w)da=d.hasBreakPoints?c._getRealBreakValue(G):G,da=""+Q.call(h.numberFormatter,da,d.axisIndex),da.length>v&&(pa=da,v=da.length);N.height=Math.max(p,N.height||0);T=J.length;G=0;for(L=J.length;G<L&&(fa=J[G],!fa._sLabel);G++);L=J.length;for(G=L-1;0<=G&&(ra=J[G],!ra._sLabel);G--);aa=c._isZoomed();g.rotation||aa?(d.axisEndLabelDisplaySpace.left=0,d.axisEndLabelDisplaySpace.right=
0):(d.axisEndLabelDisplaySpace.left=Math.max(B-(c._getCustomPixel(fa.x||0)-fa._sLabel.width/2),0),d.axisEndLabelDisplaySpace.right=Math.max(c._getCustomPixel(ra.x||T-1)+ra._sLabel.width/2-A,0));fa=N}else{Q=d.numberFormatterFn?h.numberFormatter[d.numberFormatterFn]:d.isPercent?h.numberFormatter.percentValue:h.numberFormatter.xAxis;for(G=E;G<=C;G+=w)da=d.hasBreakPoints?P(c._getRealBreakValue(G),10):P(G,10),da=""+Q.call(h.numberFormatter,da,d.axisIndex),G===E&&(T=da),G===C&&(aa=da),da.length>v&&(pa=
da,v=da.length);z.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight});fa=z.getOriSize(pa||"");"rotate"===f&&(g.rotation=270);d.rotateLabels&&(g.rotation=l?300:270);g.rotation||(T=z.getOriSize(T||""),aa=z.getOriSize(aa||""),d.axisEndLabelDisplaySpace.left=T.width/2+2,d.axisEndLabelDisplaySpace.right=aa.width/2+2)}d.hasCategory&&"stagger"===f&&(fa.height=t*N.height);fa.width=la?Math.min(la,fa.width):fa.width;return fa},_getVMaxLabelDimention:function(b){var a,
d,f,M,k=this.config,h=this.chart,z=h.components,p=h.config,g=h.linkedItems.smartLabel,m=k.axisRange,l=k.labels.style,q=m.tickInterval,n=k.useEllipsesWhenOverflow;d=k.maxLabelWidthPercent;var w=m.max;f=m.min;m=0;M=h.jsonData.categories;var h={height:0,width:0},t,v;g.useEllipsesOnOverflow(p.useEllipsesWhenOverflow);g.setStyle({fontSize:l.fontSize,fontFamily:l.fontFamily,lineHeight:l.lineHeight,fontWeight:l.fontWeight});if(k.hasCategory){M&&(t=M[0].font,v=M[0].fontsize);d&&(p=d/100*p.width,p<b&&(b=p));
z=k.categories.category;p=0;for(q=z.length;p<q;p++)w=z[p],0!==e(w.showlabel,k.showLabels)&&(a=c(w.font,w.labelfont,t,l.fontFamily),d=c(w.fontsize,w.labelfontsize,v,l.fontSize).replace(/px/i,"")+"px",f="normal"==l.fontWeight?e(w.fontbold,w.labelfontbold,0)?"bold":"normal":l.fontWeight,M="normal"==l.fontStyle?e(w.fontitalic,w.labelfontitalic,0)?"italic":"normal":l.fontStyle,a={fontFamily:c(a,t,l.fontFamily),fontSize:c(d,v,l.fontSize),fontWeight:c(f,l.fontWeight),fontStyle:c(M,l.fontStyle)},a.lineHeight=
r(a),g.setStyle(a),a=g.getSmartText(w.oriLabel||w.label,b,l.lineHeight,n),w.oriLabel=w.oriLabel||w.label,w.label=a.text,w.labelTooltext=a.tooltext,a.width>m&&(h=a,m=a.width));return h}b=k.numberFormatterFn?z.numberFormatter[k.numberFormatterFn]:k.isPercent?z.numberFormatter.percentValue:z.numberFormatter.yAxis;for(p=f;p<=w;p+=q)l=k.hasBreakPoints?P(this._getRealBreakValue(p),10):P(p,10),l=""+b.call(z.numberFormatter,l,k.axisIndex),l.length>m&&(a=l,m=l.length);return g.getOriSize(a)},getLogAxisLimits:function(b,
a,c,e,d,k){var h=function(b){return null===b||void 0===b||""===b||isNaN(b)?!1:!0},f=0,p=[],g,m,l,r,q,n,w,t;b===a&&(a-=a/100);h(c)&&Number(c)>=b?b=Number(c):(c=1<d?lb(gb(b)/gb(d)):jb(gb(b)/gb(d)),b=yb(d,c),m=c);m||(m=1<d?lb(gb(b)/gb(d)):jb(gb(b)/gb(d)));h(e)&&Number(e)<=a?a=Number(e):(c=1<d?jb(gb(a)/gb(d)):lb(gb(a)/gb(d)),a=yb(d,c),g=c);g||(g=1<d?jb(gb(a)/gb(d)):lb(gb(a)/gb(d)));e=Number(String(gb(d)/gb(10)));k=Number(k)||(jb(e)==e?8:4);1<d?(l=m,r=g):0<d&&1>d&&(l=g,r=m);e=m;for(g=l;g>=r;--g)if(l=yb(d,
e),a<=l&&b>=l&&(p[f++]={value:l,ismajor:!0}),g!=r){m=1<d?-1:1;l=yb(d,e)-yb(d,e+m);c=l/(k+1);for(h=1;h<=k;++h)l=yb(d,e+m)+c*h,a<=l&&b>=l&&(p[f++]={value:l,ismajor:!1});1<d?e--:e++}for(w in p)for(t in p[w])"value"==t&&(q||(q=p[w][t]==a&&(p[w].isextreme=p[w].isMin=!0)),n||(n=p[w][t]==b&&(p[w].isextreme=p[w].isMax=!0)));q||(p[f++]={value:a,ismajor:!0,isMin:!0,isextreme:!0});n||(p[f]={value:b,ismajor:!0,isMax:!0,isextreme:!0});return{Max:b,Min:a,divArr:p}},getCategoryLen:function(){return this.config.categories?
this.config.categories.category.length:0},getCleanValue:function(b,a){var c=this.chart;return(this.components.numberFormatter||c.components.numberFormatter).getCleanValue(b,a)},dataLabels:function(b){var a=this.chart;return(this.components.numberFormatter||a.components.numberFormatter).dataLabels(b,this.config.axisIndex)},setNumberFormatter:function(b){this.components.numberFormatter=b}},void 0,{setAdaptiveMin:0,adjustDiv:1,axisNameWidth:void 0,rotateAxisName:0,useEllipsesWhenOverflow:1,divLineColor:void 0,
divLineAlpha:void 0,divLineThickness:void 0,divLineIsDashed:void 0,divLineDashLen:void 0,divLineDashGap:void 0,showAlternateGridColor:void 0,alternateGridColor:void 0,alternateGridAlpha:void 0,showZeroPlane:1,zeroPlaneAlpha:80,showZeroPlaneValue:1,showZeroPlaneOnTop:1,showAxisLine:void 0,axisLineThickness:void 0,axisLineAlpha:void 0,tickLength:void 0,trendlineToolText:void 0,trendlineColor:"333333",trendlineThickness:1,trendlineAlpha:void 0,showTrendlinesOnTop:0,trendlinesAreDashed:0,trendlinesDashLen:5,
trendlinesDashGap:2,isTrendZone:void 0,showTrendlines:1,showTrendlineLabels:1,showLabels:1,maxLabelHeight:void 0,rotateLabels:void 0,slantLabel:0,showAxisValues:1,showTooltip:1}]);FusionCharts.register("component",["axis","log",{configure:function(){var b=this.config,a=b.rawAttr,d=this.chart.components,f=d.numberFormatter,d=d.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);b.minorDivlinecolor=L(c(a.minorDivlinecolor,d.getColor("divLineColor")),e(a.minorDivLineAlpha,
d.getColor("divLineAlpha")/2));b.axisMinValue=f.getCleanValue(a.axisMinValue);b.axisMaxValue=f.getCleanValue(a.axisMaxValue);0>=b.axisMinValue&&(b.axisMinValue=void 0);0>=b.axisMaxValue&&(b.axisMaxValue=void 0);b.minorDivLineThickness=e(a.minorDivLineThickness,1)},setDataLimit:function(b,a){var c=this.config,d=c.axisRange,f=this.getLogAxisLimits,k=c.axisMaxValue,h=c.axisMinValue,c=f(e(b,k),e(a,h),k,h,c.base,c.numMinorDivLines);d.min=Number(P(c.Min,10));d.max=Number(P(c.Max,10));d.divArr=c.divArr||
{}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,c=b.isVertical,d=b.axisRange,f=this.getLogAxisLimits,k=b.rawAttr,h,z;b.hasCategory||(c=c?a.scaleY:a.scaleX,a=e(k.axisrange?k.axisrange.max:d.max),z=e(k.axisrange?k.axisrange.min:d.min),k=1===c?b.axisMaxValue:d.max,h=1===c?b.axisMinValue:d.min,e(1===c?b.adjustDiv:0),b=f(a,z,k,h,b.base,b.numMinorDivLines),d.min=Number(P(b.Min,10)),d.max=Number(P(b.Max,10)),d.divArr=b.divArr||{})},getPixel:function(b){var a=
this.config,c=this.chart.config,e=a.axisRange,d=c.viewPortConfig,k=c.canvasHeight,h=c.canvasWidth,f=c.canvasTop,p=c.canvasLeft,g=c.canvasBottom,c=c.canvasRight,l=e.max,e=e.min,m=a.base,r=gb(l)/m,q=gb(e)/m;b=gb(b)/m-q;d||(d={x:p,y:f,scaleX:1,scaleY:1});a.isVertical?(h=-k*d.scaleY/(r-q),a=a.isReverse?g-(b*h+(k*d.scaleY-d.y*d.scaleY)):f+(b*h+(k*d.scaleY-d.y*d.scaleY))):(h=h*d.scaleX/(gb(l-e)/m),a=a.isReverse?c-(b*h-d.x*d.scaleX):p+(b*h-d.x*d.scaleX));return a},_drawPlotLine:function(){var b=this.config,
a=b.axisRange,c=b.isVertical,e=this.chart,d=e.config,k=d.canvasLeft,h=d.canvasRight,f=d.canvasTop,d=d.canvasBottom,p=b.showCanvasBorder,g=a.max,m=a.min,l=b.axisPlotLineContainer,r=e.components.paper,q=this.graphics.line||[],n=0,w=L(b.divLineColor,b.divLineAlpha),t=b.divLineThickness,v=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,t):"none",B=L(b.zeroPlaneColor,b.zeroPlaneAlpha),A=b.zeroPlaneThickness,G=b.animateAxis,F,I,C,E,Q,R,K,N,P;E={stroke:w,"stroke-width":t,"stroke-dasharray":v};v={stroke:b.minorDivlinecolor,
"stroke-width":b.minorDivLineThickness,"stroke-dasharray":v};if(b.lines.isDraw){F=e.get("config","animationObj");N=F.animObj;P=F.dummyObj;e=F.transposeAnimDuration;F=F.animType;this._getVisibleConfig();Q=a.divArr;R=Q.length;for(a=0;a<R;a++)if(C=Q[a],K=C.value,I=this.getPixel(K),C=C.ismajor?E:v,!p||K!==m&&K!==g)if(0!==b.showZeroPlaneValue||0!==b.showZeroPlane||0!==K)0===K&&1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(C.stroke=B,C["stroke-width"]=A),C.path=c?"M"+k+" "+I+"L"+h+" "+I:"M"+I+" "+f+"L"+
I+" "+d,q[n]?(I=q[n],e&&G?I.animateWith(P,N,C,e,F):I.attr(C)):(I=r.path(C,l),q[n]=I),0===K&&1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(C.stroke=w,C["stroke-width"]=t),n+=1;if(q[n])for(a=n;a<q.length;a++)q[a].attr({path:[]});this.graphics.line=q}else if(q[n])for(a=n;a<q.length;a++)q[a].attr({path:[]})},_drawLabel:function(){var b=this.config,a=this.chart,c=a.config,e=a.components,d=b.axisRange,k=b.isOpposit,h,f=b.labels,p=f.style,g=b.isVertical,m=d.max,l=d.min,r=c.canvasBottom,q=c.canvasLeft,
n=c.canvasRight,c=c.canvasTop,w=b.axisContainer,t=b.labelPadding,v=e.paper,B=b.labelMaxH,A=b.labelMaxW,G=b.axisStartPosition,F=this.graphics.labels||[],I=0,C=b.animateAxis,E,Q,R,J,L,K,N,P={fontFamily:p.fontFamily,fontSize:p.fontSize,fontWeight:p.fontWeight,fontStyle:p.fontStyle,lineHeight:p.lineHeight},V,O,S,W;p.lineHeight&&(K=p.lineHeight,-1!==K.indexOf("px")&&(K=K.replace("px",""),parseFloat(K)));if(b.labels.isDraw){E=a.get("config","animationObj");a=E.animObj;K=E.dummyObj;S=E.animType;E=E.transposeAnimDuration;
Pa(this.getPixel(l)-this.getPixel(l+d.tickInterval));W=this._isZoomed();b.labels.step?h=d.tickInterval*b.labels.step:h=d.tickInterval;L=b.labels.rotation;J=this._getVisibleConfig();p={fill:p.color,"font-size":p.fontSize};w.css(P);P=d.divArr;V=P.length;for(d=0;d<V;d++)if(O=P[d],N=O.value,Q=this.getPixel(N),!(!O.ismajor&&!b.showMinorDivLineValues||R&&Q>R-b.labelMaxH&&Q<R+b.labelMaxH||W&&(N<J.minValue||N>J.maxValue)||!b.labels.drawNormalVal&&(!b.labels.drawLimitVal||N!==l&&N!==m)||!b.labels.drawNormalVal&&
N!==l&&N!==m||!(b.labels.drawLimitVal||N!==l&&N!==m)||0===b.showZeroPlaneValue&&0===b.showZeroPlane&&0===N)){if(1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(0>N&&0<N+h||0<N&&0>N-h))if(g){if(Q+B>=this.getPixel(0)&&this.getPixel(0)>=Q-B)continue}else if(Q+A>=this.getPixel(0)&&this.getPixel(0)>=Q-A)continue;g?(R=b.numberFormatterFn?e.numberFormatter[b.numberFormatterFn]:b.isPercent?e.numberFormatter.percentValue:e.numberFormatter.yAxis,R=""+R.call(e.numberFormatter,N),N=b.hasCategory?b.categories.category[d].labelPadding||
0:0,p["text-anchor"]=k?Ra:db,p.text=R,p.x=k?(G||n)+t:(G||q)-t,p.y=N?Q+N:Q,R=p.y):(R=b.numberFormatterFn?e.numberFormatter[b.numberFormatterFn]:b.isPercent?e.numberFormatter.percentValue:e.numberFormatter.xAxis,R=""+R.call(e.numberFormatter,N),N=b.hasCategory?Number(b.categories.category[d].labelPadding)||0:0,p.text=R,p.x=Q,p.y=k?(G||c)-t:(G||r)+t,N&&(p.y+=N),L?(p["text-anchor"]=k?Ra:db,p["vertical-align"]="center"):p["vertical-align"]=k?ab:Za,R=p.x);f.shiftX&&(p.x+=f.shiftX);f.shiftY&&(p.y+=f.shiftY);
p.transform=v.getSuggestiveRotation(L,p.x,p.y);F[I]?(Q=F[I],E&&C?Q.animateWith(K,a,p,E,S):Q.attr(p)):F[I]=v.text(p,w);I+=1}if(F[I])for(d=I;d<F.length;d++)F[d].attr({text:""});this.graphics.labels=F}else if(F[I])for(d=I;d<F.length;d++)F[d].attr({text:""})},_drawPlotBand:function(){},_getVMaxLabelDimention:function(){var b=this.config,a=this.chart,c=a.components,e=a.linkedItems.smartLabel,d=b.labels.style,k=0,h=b.axisRange.divArr,f=h.length,p;e.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);
e.setStyle({fontSize:d.fontSize,fontFamily:d.fontFamily,lineHeight:d.lineHeight,fontWeight:d.fontWeight});a=b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis;for(b=0;b<f;b++)d=h[b],d=""+a.call(c.numberFormatter,d.value),d.length>k&&(p=d,k=d.length);return e.getOriSize(p)},_getHMaxLabelDimention:function(){var b=this.config,a=this.chart,c=a.components,e=a.linkedItems.smartLabel,d=b.labels.style,k=0,h=b.axisRange.divArr,f=h.length,p;e.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);
e.setStyle({fontSize:d.fontSize,fontFamily:d.fontFamily,lineHeight:d.lineHeight,fontWeight:d.fontWeight});a=b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis;for(b=0;b<f;b++)d=h[b],d=""+a.call(c.numberFormatter,d.value),d.length>k&&(p=d,k=d.length);return e.getOriSize(p)},getCleanValue:function(b){var a=null,c=this.chart.components.numberFormatter;b=Pa(b);0<b&&(a=c.getCleanValue(b));return a}},"cartesian",{base:10,showMinorDivLineValues:1,numMinorDivLines:void 0}]);FusionCharts.register("component",
["axis","polarcartesan",{_drawComponents:function(){var b=this.config;b.drawLabels&&this._drawLabel();b.drawPlotlines&&this._drawPlotLine()},_drawPlotLine:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,e=this.chart,d=a.max,a=a.min,k=b.axisPlotLineContainer,h=e.components.paper,f=this.graphics.line||[],p=0,g=L(b.divLineColor,b.divLineAlpha),l=b.divLineThickness,m=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,l):"none",r=L(b.zeroPlaneColor,b.zeroPlaneAlpha),q=b.zeroPlaneThickness,
n=b.animateAxis,w,t,v,B,A,G,F,I,C,m={stroke:g,"stroke-width":l,"stroke-dasharray":m};w=e.get("config","animationObj");I=w.animObj;C=w.dummyObj;e=w.transposeAnimDuration;w=w.animType;if(b.lines.isDraw){v=this._getVisibleConfig();p=a+c*jb((v.minValue-3*c-a)/c);v=a+c*jb((v.maxValue+3*c-a)/c);p=p<a?a:p;v=v>d?d:v;A=d=p;for(p=0;d<v;){if(d!==a&&(0!==b.showZeroPlane||0!==d)){0===d&&1===b.showZeroPlane&&(m.stroke=r,m["stroke-width"]=q);m.path=["M"];t=b.polarAxis;B=t.config.categories.category;G=B.length;for(B=
0;B<G;B++)F=t.getPixel(B,t.config.centerY-this.getPixel(d)),m.path.push(F.x,F.y,"L");m.path.pop();m.path.push("Z");f[p]?(t=f[p],e&&n?t.animateWith(C,I,m,e,w):t.attr(m)):(t=h.path(m,k),f[p]=t);0===d&&1===b.showZeroPlane&&(m.stroke=g,m["stroke-width"]=l);p+=1}b.showZeroPlane&&0>d&&0<d+c?(d=0,A+=c):d<A?d=A:(d+=c,A+=c)}if(f[p])for(d=p;d<f.length;d++)f[d].attr({path:[]});this.graphics.line=f}else if(f[p])for(d=p;d<f.length;d++)f[d].attr({path:[]})}},"cartesian"]);FusionCharts.register("component",["axis",
"gauge",{configure:function(){var b=this.config,a=b.rawAttr,d=this.chart.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);b.majorTMColor=L(c(a.majorTMColor,d.getColor("tickColor")),e(a.majorTMAlpha,100));b.tickValueStep=e(a.tickValueStep,1);b.tickValueStep=bb(b.tickValueStep);0>=b.tickValueStep&&(b.tickValueStep=1);b.connectTickMarks=b.showTickMarks?e(a.connectTickMarks,1):0;b.showTickValues=e(a.showTickValues,b.showTickMarks);b.reverseScale=
1==e(a.reverseScale,0);b.minorTMColor=L(c(a.minorTMColor,b.majorTMColor),e(a.minorTMAlpha,b.majorTMAlpha,100));b.minorTMHeight=b.showTickMarks?e(a.minorTMHeight,bb(b.majorTMHeight/2)):0;b.tickValueDistance=e(a.tickValueDistance,0)+2;b.upperLimitDisplay=I(a.upperLimitDisplay)||"";b.lowerLimitDisplay=I(a.lowerLimitDisplay)||"";b.drawTickMarkConnector=a.drawTickMarkConnector||0},setDataLimit:function(b,a){var c=this.config,d=c.axisRange,f=this.getGaugeAxisLimit,k=c.upperlimit,h=c.lowerlimit,z=c.setAdaptiveMin,
p=c.majorTMNumber,c=c.adjustTM,g;g=!z;f=f.call(this,e(b,k),e(a,h),k,h,z,g,p,c);d.min=Number(P(f.min,10));d.max=Number(P(f.max,10));d.tickInterval=f.majorTickInt||1;d.numMajorTM=f.numMajorTM},_setTickIntervalAfterZoom:function(){},_drawComponents:function(){var b=this.config;b.drawTick&&this._drawTick();b.drawLabels&&this._drawLabel();b.drawTrendLines&&this._drawTrendLine()},_drawTick:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,e=b.isVertical,d=b.isOpposit,f=b.drawTick,h=b.drawTickMinor,
z=b.canvas,p=this.chart,g=p.config,m=z.canvasBottom||g.canvasBottom,l=z.canvasLeft||g.canvasLeft,r=z.canvasRight||g.canvasRight,q=z.canvasTop||g.canvasTop,z=a.max,g=a.min,n=p.components.paper,w=this.graphics.tick||[],t=b.minorTMNumber,a=a.numMajorTM||b.majorTMNumber,v=b.axisAxisLineContainer,B=0,A=b.animateAxis,G,F,I,C,E,Q;I={stroke:b.majorTMColor,"stroke-width":b.majorTMThickness,"stroke-linecap":"round"};F={stroke:b.minorTMColor,"stroke-width":b.minorTMThickness,"stroke-linecap":"round"};if(b.lines.isDraw&&
f){G=p.get("config","animationObj");p=G.animObj;E=G.dummyObj;f=G.transposeAnimDuration;G=G.animType;e?d?b.placeTicksInside?(d=r-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):(d=r+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight):b.placeTicksInside?(d=l+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight):(d=l-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):d?b.placeTicksInside?(d=q+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight):(d=q-b.tickMarkDistance,
m=d-b.majorTMHeight,l=d-b.minorTMHeight):b.placeTicksInside?(d=m-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):(d=m+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight);b=b.drawTickMarkConnector?e?["M",d,this.getPixel(g),"L",d,this.getPixel(z)]:["M",this.getPixel(g),d,"L",this.getPixel(z),d]:[];I.path=b;w[B]?(b=w[B],f&&A?b.animateWith(E,p,{path:I},f,G):b.attr({path:I})):(b=n.path(I,v),w[B]=b);B+=1;for(q=0;q<a;q+=1)if(Q=q<a-1?P(Number(g+c*q),10):z,I.path=e?"M"+d+" "+this.getPixel(Q)+
"L"+m+" "+this.getPixel(Q):"M"+this.getPixel(Q)+" "+d+"L"+this.getPixel(Q)+" "+m,w[B]?(b=w[B],f&&A?b.animateWith(E,p,I,f,G):b.attr(I)):(b=n.path(I,v),w[B]=b),B+=1,Q!==z&&h)for(r=c/(t+1),C=1;C<=t;C+=1)F.path=e?"M"+d+" "+this.getPixel(Q+r*C)+"L"+l+" "+this.getPixel(Q+r*C):"M"+this.getPixel(Q+r*C)+" "+d+"L"+this.getPixel(Q+r*C)+" "+l,w[B]?(b=w[B],f&&A?b.animateWith(E,p,F,f,G):b.attr(F)):(b=n.path(F,v),w[B]=b),B+=1;if(w[B])for(q=B;q<w.length;q++)w[q].attr({path:[]});this.graphics.tick=w}else if(w[B])for(q=
B;q<w.length;q++)w[q].attr({path:[]})},_drawLabel:function(){var b=this.config,a=b.canvas,c=b.axisDimention||{},e=this.chart,d=e.config,f=e.components,h=e.linkedItems.smartLabel,z=b.axisRange,p=b.isOpposit,g=b.isReverse,m=z.numMajorTM||b.majorTMNumber,l=b.labels,r=l.style,q=b.isVertical,n=z.max,w=z.min,t=a.canvasTop||d.canvasTop,v=a.canvasLeft||d.canvasLeft,B=a.canvasBottom||d.canvasBottom,a=a.canvasRight||d.canvasRight,A=b.axisLabelContainerTop,G=b.labelPadding,F=f.paper,I=b.labelMaxH,C=b.labelMaxW,
c=q?c.x:c.y,E=this.graphics.labels||[],Q=0,R=b.animateAxis,J,L,K,N,O,V;V={fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontStyle:r.fontStyle,lineHeight:r.lineHeight};var U,S,W,X;r.lineHeight&&(N=r.lineHeight,-1!==N.indexOf("px")&&(N=N.replace("px",""),N=parseFloat(N)));if(b.labels.isDraw){J=e.get("config","animationObj");U=J.animObj;S=J.dummyObj;e=J.transposeAnimDuration;J=J.animType;L=Pa(this.getPixel(w)-this.getPixel(w+z.tickInterval));q?(b.labelMaxH>L&&!b.hasCategory&&(O=
lb(b.labelMaxH/L)),O>b.labels.step&&(b.labels.step=O)):(b.labelMaxW>L&&!b.hasCategory&&(O=lb(b.labelMaxW/L)),O>b.labels.step&&(b.labels.step=O),W=v,X=d.width-a);O=(q?C:L/2)*b.labels.step;I=q?L/2:I;z=z.tickInterval;C=b.labels.step?b.labels.step:1;h.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);h.setStyle({fontSize:r.fontSize,fontFamily:r.fontFamily,lineHeight:r.lineHeight,fontWeight:r.fontWeight});A.css(V);for(d=0;d<m;d+=C)if(L=d<m-C?P(Number(w+z*d),10):n,b.labels.drawNormalVal||b.labels.drawLimitVal&&
(L===w||L===n))if(b.labels.drawNormalVal||L===w||L===n)if(b.labels.drawLimitVal||L!==w&&L!==n){V=f.numberFormatter.scale;if(L===w&&b.lowerLimitDisplay)V=h.getSmartText(b.lowerLimitDisplay,O,I+N/2),K=V.text;else if(L===n&&b.upperLimitDisplay)V=h.getSmartText(b.upperLimitDisplay,O,I+N/2),K=V.text;else if(b.labels.drawNumericVal||L!==w&&L!==n)if(b.labels.drawNumericVal)K=V.call(f.numberFormatter,L),V=h.getOriSize(""+K);else continue;else if(V=h.getSmartText(V.call(f.numberFormatter,L),O,I+N/2),V.text===
V.oriText)K=V.text;else continue;q?(K={fill:r.color,"line-height":N,"text-anchor":p?Ra:db,text:K,x:p?(c||a)+G:(c||v)-G,y:this.getPixel(L)},(!g&&L===w&&b.lowerLimitDisplay||g&&L===n&&b.upperLimitDisplay)&&V.height>N&&(K["vertical-align"]=ab),(!g&&L===n&&b.upperLimitDisplay||g&&L===w&&b.lowerLimitDisplay)&&V.height>N&&(K["vertical-align"]=Za),b.placeValuesInside&&(K["text-anchor"]=p?db:Ra)):(K={fill:r.color,"line-height":N,text:K,"text-anchor":wb,x:this.getPixel(L),y:p?(c||t)-G:(c||B)+G},(!g&&L===w||
g&&L===n)&&V.width>2*W&&(K["text-anchor"]=Ra),(!g&&L===n||g&&L===w)&&V.width>2*X&&(K["text-anchor"]=db),K["vertical-align"]=b.placeValuesInside?p?Za:ab:p?ab:Za);l.shiftX&&(K.x+=l.shiftX);l.shiftY&&(K.y+=l.shiftY);E[Q]?(L=E[Q],e&&R?L.animateWith(S,U,K,e,J):L.attr(K)):E[Q]=L=F.text(K,A);V&&V.tooltext?(L.tooltip(V.tooltext),L.trackTooltip(!0)):L.trackTooltip(!1);Q+=1}if(E[Q])for(d=Q;d<E.length;d++)E[d].attr({text:""});this.graphics.labels=E}else if(E[Q])for(d=Q;d<E.length;d++)E[d].attr({text:""})},placeAxis:function(b){var a=
this.chart,c=a.components,e=a.linkedItems.smartLabel,d=this.config,f=d.axisRange,h=d.isVertical,z=d.isOpposit,p=d.labels.style,g=f.tickInterval,m=f.max,l=f.min,r,q=0,n=0,f="",w,t,v,B,A;w={left:0,right:0,top:0,bottom:0};if(0>=b)return w;d.labels.isDraw=!0;d.labels.drawNumericVal=!0;d.labels.drawNormalVal=d.showTickValues;d.labels.drawLimitVal=d.showLimits;d.lines.isDraw=!0;d.labels.step=d.tickValueStep;d.labelPadding=0;e.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);e.setStyle({fontSize:p.fontSize,
fontFamily:p.fontFamily,lineHeight:p.lineHeight,fontWeight:p.fontWeight});d.drawTick&&d.showTickMarks&&d.lines.isDraw?(b-=d.tickMarkDistance,n=Ga(d.minorTMHeight,d.majorTMHeight),d.placeTicksInside?(b+=d.tickMarkDistance,d.placeValuesInside&&(d.labelPadding=d.tickMarkDistance+n)):n>b?d.lines.isDraw=!1:(h?z?w.right+=n+d.tickMarkDistance:w.left+=n+d.tickMarkDistance:z?w.top+=n+d.tickMarkDistance:w.bottom+=n+d.tickMarkDistance,b-=n,d.placeValuesInside||(d.labelPadding=d.tickMarkDistance+n))):d.lines.isDraw=
!1;b-=d.tickValueDistance;if(d.drawLabels&&(d.showTickValues||d.showLimits)){a=Pa(this._getCustomPixel(l)-this._getCustomPixel(l+g))/2;d.labelPadding+=d.tickValueDistance;b-=d.tickValueDistance;r=c.numberFormatter.scale;for(t=l+g;t<m;t+=g)p=""+r.call(c.numberFormatter,P(t,10)),p.length>q&&(f=p,q=p.length);n=e.getOriSize(f);h?n.width>b&&(d.labels.drawNumericVal=!1,d.upperLimitDisplay||d.lowerLimitDisplay||(d.labels.isDraw=!1),f="",n=e.getOriSize(f)):n.height>b&&(d.labels.drawNumericVal=!1,d.upperLimitDisplay||
d.lowerLimitDisplay||(d.labels.isDraw=!1),f="",n=e.getOriSize(f));q=h?b:a;p=h?a:b;d.showLimits?(t=r.call(c.numberFormatter,m),B=r.call(c.numberFormatter,l),c=d.upperLimitDisplay||""+t,r=d.lowerLimitDisplay||""+B,A=e.getOriSize(c),A.width>n.width&&(v=e.getSmartText(c,q,p),c===t&&v.text===v.oriText||d.labels.drawNumericVal)&&(f=c,n=A),t=e.getOriSize(r),t.width>n.width&&(v=e.getSmartText(r,q,p),r===B&&v.text===v.oriText||d.labels.drawNumericVal)&&(f=r),""===f&&(f=e.getOriSize(d.upperLimitDisplay).width>
e.getOriSize(d.lowerLimitDisplay).width?c:r,n=e.getOriSize(f))):d.labels.drawLimitVal=!1;if(h)e.getSmartText(f,q,p);else for(t=l;t<=m;t+=g)if(l=e.getSmartText(f,q,p),""===l.text)q+=a;else break;l=e.getSmartText(f,q,p);d.labelMaxW=Ga(l.width,n.width);d.labelMaxH=Ga(l.height,n.height);!d.placeValuesInside&&d.labels.isDraw?h?(d.labelMaxW=Ma(d.labelMaxW,b),z?w.right+=d.labelMaxW+d.tickValueDistance:w.left+=d.labelMaxW+d.tickValueDistance):(d.labelMaxH=Ma(d.labelMaxH,b),z?w.top+=d.labelMaxH+d.tickValueDistance:
w.bottom+=d.labelMaxH+d.tickValueDistance):d.labelPadding=-d.labelPadding}else d.labels.isDraw=!1;return d.spaceTaken=w},getGaugeAxisLimit:function(b,a,c,d,e,f,h,z){var p=!0,g=!0,l=Number(c),m=Number(d),r,q;q={max:0,min:0,MajorTickInterval:1,numMajorTM:h};if(c&&d)l>b&&(b=l),m<a&&(a=m);else if(isNaN(b)&&(b=.9,g=!1),isNaN(a)&&(a=0,p=!1),b===a&&0===b&&(isNaN(l)||(b=l),isNaN(l)||0===l))b=.9;r=Math.max(Math.floor(Math.log(Math.abs(a))/Math.LN10),Math.floor(Math.log(Math.abs(b))/Math.LN10));h=yb(10,r);
2>Math.abs(b)/h&&2>Math.abs(a)/h&&(r--,h=yb(10,r));r=yb(10,Math.floor(Math.log(b-a)/Math.LN10));0<b-a&&10<=h/r&&(h=r);r=(Math.floor(b/h)+1)*h;0>a?f=-1*(Math.floor(Math.abs(a/h))+1)*h:f?f=0:(f=Math.floor(Math.abs(a/h)-1)*h,f=0>f?0:f);e&&0>=b&&(r=0);q.max=!c||c&&l<b&&g?r:l;q.min=!d||d&&m>a&&p?f:m;q.min>q.max?q.min==m&&q.max==l?(b=q.min,q.min=q.max,q.max=b):q.min==m?q.max=q.min+1:q.max==l&&(q.min=q.max-1):q.min==q.max&&(q.max=q.min+1);q.range=Math.abs(q.max-q.min);q.MajorTickInterval=h;this.calcTickInterval(q,
c,z);return q},calcTickInterval:function(b,a,c){var d=0;-1!=b.numMajorTM&&2>b.numMajorTM&&(b.numMajorTM=2);a||a||-1===b.numMajorTM?(b.numMajorTM=-1==b.numMajorTM?5:b.numMajorTM,c&&(a=function(b,a){for(var c=0,d=1,e;;){e=b.numMajorTM+c*d;e=0===e?1:e;if(a.isRangeDivisible(b.range,e,b.MajorTickInterval))break;c=-1==d||c>b.numMajorTM?++c:c;if(25<c){e=b.numMajorTM;break}d=c<=b.numMajorTM?-1*d:1}b.numMajorTM=1<e?e:b.numMajorTM},c=b.numMajorTM,a(b,this),2===b.numMajorTM&&(b.numMajorTM=c,1<b.range&&(b.range+=
1,0>b.min?--b.min:b.max+=1),a(b,this),d=0))):(b.numMajorTM=-1==b.numMajorTM?5:b.numMajorTM,a=this.getDivisibleRange(b.min,b.max,b.range,b.numMajorTM,b.MajorTickInterval,!0),c=a-b.range,b.range=a,0<b.max?b.max+=c:b.min-=c);b.majorTickInt=(b.max-b.min+d)/(b.numMajorTM-1)},isRangeDivisible:function(b,a,c){b/=a-1;a=new m.MathExt;return a.numDecimals(b)>a.numDecimals(c)?!1:!0},getDivisibleRange:function(b,a,c,d,e,f){if(3>d)return c;b=Math.abs(a-b);a=b/(d-1);this.isRangeDivisible(b,d,e)||(f&&Number(a)/
Number(e)<(1<e?2:.5)&&(e/=10),a=(Math.floor(a/e)+1)*e,b=a*(d-1));return b}},"cartesian",{majorTMNumber:-1,majorTMHeight:6,showTickMarks:1,majorTMThickness:1,upperlimit:void 0,lowerlimit:void 0,adjustTM:1,minorTMNumber:4,minorTMThickness:1,tickMarkDistance:3,placeTicksInside:0,placeValuesInside:0}]);FusionCharts.register("component",["axis","polarGauge",{configure:function(){var b=this.config,a=b.rawAttr;FusionCharts.register("component",["axis","gauge"]).prototype.configure.call(this);b.upperLimitDisplay=
a.upperLimitDisplay||"";b.lowerLimitDisplay=a.lowerLimitDisplay||"";b.polarPadding=4},_drawComponents:function(){var b=this.config;b.drawTick&&this._drawTick();b.drawLabels&&this._drawLabel();b.drawTrendLines&&this._drawTrendLine()},getAxisPosition:function(b,a){return this.getPixel(b,a)},getPixel:function(b,a){var c=this.config,d=c.axisRange,f=d.min,k=d.max-f,h=c.startAngle||Bb/2,z=c.totalAngle||Bb/2,p=c.centerX||0,d=c.centerY||0;a=e(a,c.radius,0);c=h+z/k*(b-f);f=p+a*vb(c);d+=a*ub(c);return{x:f,
y:d,angle:c}},getAngle:function(b){var a=this.config,c=a.axisRange,d=c.min;return(a.startAngle||Bb/2)+(a.totalAngle||Bb/2)/(c.max-d)*(b-d)},placeAxis:function(b){var a=this.config,c=this.chart,d=c.components,e=c.linkedItems.smartLabel,f=a.axisRange,h=a.labels.style,z=f.tickInterval,p=a.upperLimitDisplay,g=a.lowerLimitDisplay,l=f.max,m=f.min,f=0,r,q;q={left:0,right:0,top:0,bottom:0};e.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow);e.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,
fontWeight:h.fontWeight});a.labels.isDraw=1;a.labels.drawNormalVal=1;a.labels.drawLimitVal=1;a.lines.isDraw=1;a.labels.step=a.tickValueStep;a.labelPadding=0;if(a.drawLabels&&a.showTickValues&&0<b){Pa(this.getPixel(m)-this.getPixel(m+z));a.labelPadding+=a.tickValueDistance;c=d.numberFormatter.scale;for(h=m;h<=l;h+=z)m=""+c.call(d.numberFormatter,P(h,10)),m.length>f&&(r=m,f=m.length);d=e.getOriSize(r);if(d.width>b/2)return a.labels.isDraw=!1,q;a.showLimits?(p.length>f&&(r=p,f=p.length),g.length>f&&
(r=g)):a.labels.drawLimitVal=!1;d=e.getOriSize(r);a.labelMaxW=d.width;a.labelMaxW>b/2&&(a.labelMaxW=b/2);a.labelMaxH=d.height;a.placeValuesInside?a.labelPadding=-a.labelPadding:(q.right+=a.labelMaxW+a.tickValueDistance,q.left+=a.labelMaxW+a.tickValueDistance,q.top+=a.labelMaxH+a.tickValueDistance,q.bottom+=a.labelMaxH+a.tickValueDistance)}else a.labels.isDraw=!1;return q},_drawLabel:function(){var b=this.config,a=this.chart,c=a.components,d=b.axisRange,f=a.linkedItems.smartLabel,k,h=b.labels.style,
z=b.labelPadding||0,p=!1,g=b.radius,m=e(b.gaugeOuterRadius,g),g=e(b.gaugeInnerRadius,g),l=b.centerX,r=b.centerY,q=b.placeValuesInside,n=b.labelMaxH,w=b.labelMaxW,t=d.max,v=d.min,B=b.axisLabelContainerTop,A=c.paper,G=this.graphics.labels||[],F=0,I=b.animateAxis,C,E,Q;C={fontFamily:h.fontFamily,fontSize:h.fontSize,fontWeight:h.fontWeight,fontStyle:h.fontStyle,lineHeight:h.lineHeight};var L,J,K;h.lineHeight&&(Q=h.lineHeight,-1!==Q.indexOf("px")&&(Q=Q.replace("px",""),Q=parseFloat(Q)));f.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);
f.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight});if(b.labels.isDraw){F=a.get("config","animationObj");L=F.animObj;J=F.dummyObj;a=F.transposeAnimDuration;K=F.animType;b.labels.step?k=d.tickInterval*b.labels.step:k=d.tickInterval;B.css(C);d=v;for(F=0;d<=t;d+=k)if(b.labels.drawNormalVal||b.labels.drawLimitVal&&(d===v||d===t))if(b.labels.drawNormalVal||d===v||d===t)if(b.labels.drawLimitVal||d!==v&&d!==t)if(0!==b.showZeroPlaneValue||0!==b.showZeroPlane||
0!==d)C=c.numberFormatter.scale,d===v&&b.lowerLimitDisplay?(C=f.getSmartText(b.lowerLimitDisplay,w,n),C=C.text):d===t&&b.upperLimitDisplay?(C=f.getSmartText(b.upperLimitDisplay,w,n),C=C.text):C=C.call(c.numberFormatter,P(d,10)),E=q?this.getPixel(d,g+z-b.polarPadding):this.getPixel(d,m+z+b.polarPadding),C={fill:h.color,"line-height":Q,text:C,x:E.x,y:E.y},E.x>l-10&&E.x<l+10&&E.y<r?(C["text-anchor"]=wb,C["text-valign"]=q?Za:ab):E.x>l-10&&E.x<l+10&&E.y<r?(C["text-anchor"]=wb,C["text-valign"]=q?ab:Za):
(C["text-anchor"]=E.x<l?q?Ra:db:q?db:Ra,C["text-valign"]="center"),G[F]?(E=G[F],a&&I?E.animateWith(J,L,C,a,K):E.attr(C)):G[F]=A.text(C,B),F+=1,!p&&d<t&&d+k>t&&(d=t-k,p=!0);if(G[F])for(d=F;d<G.length;d++)G[d].attr({text:""});this.graphics.labels=G}else if(G[F])for(d=F;d<G.length;d++)G[d].attr({text:""})},_drawTick:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,d=b.drawTick,f=b.drawTickMinor,k=this.chart,h=k.components,z=a.max,p=a.min,g=b.radius,a=e(b.gaugeOuterRadius,g),g=e(b.gaugeInnerRadius,
g),h=h.paper,l=this.graphics.tick||[],m=b.minorTMNumber,r=0,q=b.animateAxis,n=!1,w,t,v,B,A,G,F,I,C,E;I=b.axisAxisLineContainer;B={stroke:b.majorTMColor,"stroke-width":b.majorTMThickness,"stroke-linecap":"round"};v={stroke:b.minorTMColor,"stroke-width":b.minorTMThickness,"stroke-linecap":"round"};if(b.lines.isDraw&&d){r=k.get("config","animationObj");k=r.animObj;C=r.dummyObj;d=r.transposeAnimDuration;E=r.animType;t=this._getVisibleConfig();r=p+c*ib.floor((t.minValue-3*c-p)/c);t=p+c*ib.floor((t.maxValue+
3*c-p)/c);t=t>z?z:t;p=r<p?p:r;for(r=0;p<=t;p+=c)if(b.placeTicksInside?(w=this.getPixel(p,g),A=this.getPixel(p,g+b.majorTMHeight)):(w=this.getPixel(p,a),A=this.getPixel(p,a-b.majorTMHeight)),B.path="M"+w.x+" "+w.y+"L"+A.x+" "+A.y,l[r]?(w=l[r],d&&q?w.animateWith(C,k,B,d,E):w.attr(B)):(w=h.path(B,I),l[r]=w),r+=1,!n&&p<z&&p+c>z&&(p=z-c,n=!0),p<z&&f)for(A=c/(m+1),F=1;F<=m;F+=1)G=p+A*F,b.placeTicksInside?(w=this.getPixel(G,g),G=this.getPixel(G,g+b.minorTMHeight)):(w=this.getPixel(G,a),G=this.getPixel(G,
a-b.minorTMHeight)),v.path="M"+w.x+" "+w.y+"L"+G.x+" "+G.y,l[r]?(w=l[r],d&&q?w.animateWith(C,k,v,d,E):w.attr(v)):(w=h.path(v,I),l[r]=w),r+=1;if(l[r])for(p=r;p<l.length;p++)l[p].attr({path:[]});this.graphics.tick=l}else if(l[r])for(p=r;p<l.length;p++)l[p].attr({path:[]})},_drawPlotBand:function(){},_drawPlotLine:function(){},_drawTrendLine:function(){var b,a,d,f,l,k,h,z,p,g,m,r,q,w,n,t,v,B,A=this.config,G=A.axisRange,F=G.max,G=G.min,C=this.chart;r=C.config;var E=C.linkedItems.smartLabel,K=C.components,
N=K.colorManager,Q=A.scaleFactor,R=A.centerX||0,P=A.centerY||0,O=A.canvas.canvasWidth||r.canvasWidth,U=A.trend.trendStyle,T=A.axisTrendContainerTop,ea=A.axisTrendContainerBottom,V=A.axisTrendLabelContainer,aa=K.paper,S=this.components.trendObj||[],W={fontFamily:U.fontFamily,fontSize:U.fontSize,lineHeight:U.lineHeight,fontWeight:U.fontWeight,fontStyle:U.fontStyle},X=A.trendPoints,Z=ib.PI/180,pa={},fa=A.animateAxis,ca,da,Y;ca=0;var ka;f={};z={};d={};l={};var ba={},ja,la,oa,ia,ha,ga,Aa,ra,ta,va,eb,qa;
if(X){ca=C.get("config","animationObj");va=ca.animObj;eb=ca.dummyObj;C=ca.transposeAnimDuration;qa=ca.animType;E.useEllipsesOnOverflow(r.useEllipsesWhenOverflow);E.setStyle(W);ca=da=0;for(Y=X.point.length;da<Y;da+=1)ja=X.point[da],la=e(ja.startvalue,ja.value),oa=e(ja.endvalue,la),ka=la!==oa,la<=F&&la>=G&&oa<=F&&oa>=G&&(b=la,a=oa,Ja(I(ja.markertooltext)),d=Ja(I(ja.displayvalue),ka?"":K.numberFormatter.scale(la)),e(ja.showontop,A.ticksBelowGauge,A.ticksBelowGraph,1),f=c(ja.color,N.getColor("trendLightColor")),
l=e(ja.alpha,99),k=e(ja.thickness,1),h=ja.dashed?J(ja.dashlen||2,ja.dashgap||2,ja.thickness||1):"",z=e(ja.usemarker,0),p=L(c(ja.markercolor,ja.color,N.getColor("trendLightColor")),100),g=L(c(ja.markerbordercolor,ja.bordercolor,N.getColor("trendDarkColor")),100),m=e(e(ja.markerradius)*Q,5),r=sa(ja.markertooltext),q=e(e(ja.trendvaluedistance,A.trendValueDistance)*Q,A.tickValueDistance),w=e(ja.valueinside,A.placeValuesInside,0),n=e(ja.showborder,1),t=L(c(ja.bordercolor,ja.color,N.getColor("trendDarkColor")),
e(ja.borderalpha,ja.alpha,100)),v=e(e(ja.radius)*Q),B=e(e(ja.innerradius)*Q),ia=Math.cos(89.99*Z),ha=-ia,v=e(v,A.gaugeOuterRadius),B=e(B,ka?Math.max(A.gaugeInnerRadius-15,0):A.gaugeInnerRadius),ga=this.getPixel(la,v),Aa=this.getPixel(la,B),ra=ga.x,ga=ga.y,ta=Aa.x,Aa=Aa.y,oa=this.getAngle(oa),la=this.getAngle(la),ka?(la>oa&&(la+=oa,oa=la-oa,la-=oa),f={fill:L(f,l),"stroke-width":n?k:0,stroke:t,"stroke-dasharray":h},l={ringpath:[R,P,v,B,la,oa]}):(f={"stroke-width":n?k:0,stroke:t,"stroke-linecap":"round",
"stroke-dasharray":h},l={path:["M",ra,ga,"L",ta,Aa]}),z?(z={fill:p,"stroke-width":1,stroke:g},ba={polypath:[3,ra,ga,m,(-la+Math.PI)/Z,0]}):z={},""!==d?(pa=(a+b)/2,oa=this.getAngle(pa-G),b=Math.cos(oa),a=Math.sin(oa),m=E.getOriSize(d).width,w?(pa=B-2-q,q=b>ia?db:b<ha?Ra:wb):(pa=v+2+q,q=b>ia?Ra:b<ha?db:wb),ra=R+pa*b,ga=P+pa*a,pa=E.getOriSize(d).height,pa=E.getSmartText(d,O,pa),ra=O<ra+m?O-m/2:ra<m?m/2:ra,m>O&&(ra=O/2),d={fill:ja.color||U.color,text:pa.text,"text-anchor":q,"vertical-align":Za,x:ra,y:ga},
ja=pa.height,ga=b>ia||b<ha?ga+(-(ja/2)+.4*ja*a*(w?-1:1)):w?ga+-(0>a?0:ja):ga+-(0<a?0:ja),d.y=ga):d={text:""},S[ca]?(w=S[ca].graphics.drawing,ka=S[ca].graphics.label,ia=S[ca].graphics.marker,w.attr(f),ia.attr(z),ia.tooltip(r),ka.css(W).tooltip(pa.oriText),C&&fa?(w.animateWith(eb,va,l,C,qa),ia.animateWith(eb,va,ba,C,qa),ka.animateWith(eb,va,d,C,qa)):(w.attr(l),ia.attr(ba),ka.attr(d)),A.showTooltip&&pa.oriText?ka.trackTooltip(!0):ka.trackTooltip(!1),ia.trackTooltip(A.showTooltip&&""!==r)):(w=ka?aa.ringpath(R,
P,v,B,la,oa,ea):aa.path(T),ka=aa.text(d,W,V),ia=aa.polypath(T),w.attr(f),w.attr(l),ia.attr(z),ia.attr(ba),ia.tooltip(r),ka.tooltip(pa.oriText),A.showTooltip&&pa.oriText?ka.trackTooltip(!0):ka.trackTooltip(!1),ia.trackTooltip(A.showTooltip&&""!==r),S[ca]={},S[ca].graphics={},S[ca].graphics.drawing=w,S[ca].graphics.label=ka,S[ca].graphics.marker=ia),ca+=1);this.components.trendObj=S}if(S[ca])for(da=ca;da<S.length;da++)S[da].graphics.drawing.attr({path:["M",0,0]}),S[da].graphics.marker.attr({polypath:["M",
0,0]}),S[da].graphics.label.attr({text:"","text-bound":[]});for(da=0;da<ca;da++)S[da].graphics.label.attr({"text-bound":[U.backgroundColor,U.borderColor,U.borderThickness,U.borderPadding,U.borderRadius,U.borderDash]})}},"gauge",{trendPoints:void 0,ticksBelowGauge:void 0,ticksBelowGraph:void 0,trendValueDistance:void 0}]);FusionCharts.register("component",["axis","polar",{configure:function(){var b=this.config,a=b.rawAttr,d=this.chart.components.colorManager;FusionCharts.register("component",["axis",
"cartesian"]).prototype.configure.call(this);b.gridLineColor=L(c(a.radarSpikeColor,d.getColor("divLineColor")),e(a.radarSpikeAlpha,a.radarInLineAlpha,d.getColor("divLineAlpha")));b.radarBorderColor=L(c(a.radarBorderColor,d.getColor("divLineColor")),e(a.radarBorderAlpha,100));b.radarFillColor=L(c(a.radarFillColor,d.getColor("altHGridColor")),e(a.radarFillAlpha,d.getColor("altHGridAlpha")))},_drawComponents:function(){var b=this.config;b.drawLabels&&b.hasCategory&&this._drawCategory()},getAxisPosition:function(b,
a){return this.getPixel(b,a)},getPixel:function(b,a){var c=this.config,d=c.axisRange,f=d.min,k=d.max-f+1,h=c.startAngle||-(Bb/4),z=c.totalAngle||-Bb,p=c.centerX||0,d=c.centerY||0;a=e(a,c.radius,0);c=h+z/k*(b-f);f=p+a*vb(c);d+=a*ub(c);return{x:f,y:d}},_drawCategory:function(){var b=this.config,a=this.chart,d=b.isOpposit,f=b.labels,l=f.style,k=b.axisContainer,h=b.axisPlotLineContainer,z=a.components.paper,p=this.components.categoryLabel||[],g=this.graphics.radarBorder||[],m=a.jsonData.categories,q=
b.categories.category,w=b.labelPadding,n,t,v,B,A,G,F=b.gridLineColor,I=b.gridLineWidth,C=function(b){return function(c){ia.call(this,a,c,b)}},E=0,K=b.centerX,N=b.centerY,Q=b.animateAxis,R,P,O,U,T,ea,V,aa,S,W,X;aa=e(b.radius,0);O=q?q.length-1:0;R=a.get("config","animationObj");S=R.animObj;W=R.dummyObj;P=R.transposeAnimDuration;X=R.animType;B={stroke:b.radarBorderColor,fill:b.radarFillColor,"stroke-width":b.radarBorderThickness,path:["M"]};if(0!==b.showRadarBorder){for(E=R=0;R<=O;R++)ea=this.getPixel(R,
aa),B.path.push(ea.x,ea.y,"L");B.path.pop();B.path.push("Z")}g[0]?P&&Q?g[0].animate(B,P):g[0].attr(B):g[0]=z.path(B,h);this.graphics.radarBorder=g;if(b.labels.isDraw){m&&(n=m[0].font,t=m[0].fontsize,v=m[0].fontcolor);for(E=R=0;R<=O;R++)if(g=q[R],ea=e(g.x,g.y,R),b.labels.drawNormalVal||b.labels.drawLimitVal&&(0===R||ea===O))if(b.labels.drawNormalVal||0===ea||ea===O)if(b.labels.drawLimitVal||0!==ea&&ea!==O){m=c(g.font,g.labelfont);B=c(g.fontsize,g.labelfontsize);A=e(g.fontbold,g.labelfontbold,0)?"bold":
void 0;G=e(g.fontitalic,g.labelfontitalic,0)?"italic":void 0;T=L(c(g.fontcolor,g.labelfontcolor,v,l.color),e(g.labelalpha,b.rawAttr.labelFontAlpha,100));m={fontFamily:c(m,n,l.fontFamily),fontSize:c(B,t,l.fontSize),fontWeight:c(A,l.fontWeight),fontStyle:c(G,l.fontStyle)};m.lineHeight=r(m);m.lineHeight&&(U=m.lineHeight,-1!==U.indexOf("px")&&(U=U.replace(/px/i,""),U=parseFloat(U)));B=this.getPixel(ea,aa+w);G=B.x;V=B.y;B=g.label||"";if(0===e(g.showlabel,1)||0===b.showLabels)B="";A=Number(g.labelPadding)||
0;T={fill:T,"line-height":U,"font-size":l.fontSize,text:B,cursor:g.link?"pointer":"",x:G,y:V};A&&(T.y+=A);T["vertical-align"]=d?ab:Za;0===R?(T["text-anchor"]=wb,T["vertical-align"]=ab):R===(O+1)/2?(T["text-anchor"]=wb,T["vertical-align"]=Za):(T["text-anchor"]=R<(O+1)/2?db:Ra,T["vertical-align"]="center");ea=this.getPixel(ea,aa);A={stroke:F,"stroke-width":I,"stroke-dasharray":"none",path:["M",K,N,"L",ea.x,ea.y]};f.shiftX&&(T.x+=f.shiftX);f.shiftY&&(T.y+=f.shiftY);p[E]?(ea=p[E].graphics.line,P&&Q?ea.animateWith(W,
S,A,P,X):ea.attr(A),A=p[E].graphics.label,P&&Q?A.animateWith(W,S,T,P,X):A.attr(T),A.css(m),b.showTooltip&&g.tooltext?(A.tooltip(g.tooltext),A.trackTooltip(!0)):A.trackTooltip(!1)):(ea=z.path(A,h),A=z.text(T,m,k),b.showTooltip&&g.tooltext?(A.tooltip(g.tooltext),A.trackTooltip(!0)):A.trackTooltip(!1),A.click(C("datalabelclick")).hover(C("dataLabelRollOver"),C("dataLabelRollOut")),p[E]={},p[E].graphics={},p[E].config={},p[E].graphics.line=ea,p[E].graphics.label=A);p[E].config.labelBox={label:B,lineHeight:m.lineHeight,
border:e(g.borderthickness,g.labelborderthickness)?e(g.borderthickness,g.labelborderthickness,1)+"px solid":"",borderColor:g.bordercolor||g.labelbordercolor?L(g.bordercolor||g.labelbordercolor,e(g.borderalpha,g.labelborderalpha,g.alpha,g.labelalpha,100)):"",borderThickness:e(g.borderthickness,g.labelborderthickness),borderPadding:e(g.borderpadding,g.labelborderpadding),borderRadius:e(g.borderradius,g.labelborderradius),backgroundColor:g.bgcolor||g.labelbgcolor?L(g.bgcolor||g.labelbgcolor,e(g.bgalpha,
g.labelbgalpha,g.alpha,g.labelalpha,100)):"",borderDash:e(g.borderdashed,g.labelborderdashed,0)?J(e(g.borderdashlen,g.labelborderdashlen,4),e(g.borderdashgap,g.labelborderdashgap,2),e(g.borderthickness,g.labelborderthickness,1)):0===e(g.borderdashed,g.labelborderdashed)?"none":l.borderDash};p[E].graphics.label.data("eventArgs",{link:g.link||g.labellink||l.labelLink,text:T.text,index:E});E+=1}if(p[E])for(R=E;R<p.length;R++)p[R].graphics.line.attr({path:["M",0,0]}),p[R].graphics.label.attr({text:"",
"text-bound":[]});this.components.categoryLabel=p}else if(p[E])for(R=E;R<p.length;R++)p[R].graphics.line.attr({path:["M",0,0]}),p[R].graphics.label.attr({text:"","text-bound":[]});for(R=0;R<E;R++)b=p[R].config.labelBox,b.label?p[R].graphics.label.attr({"text-bound":[c(b.backgroundColor,l.backgroundColor),c(b.borderColor,l.borderColor),c(b.borderThickness,l.borderThickness),c(b.borderPadding,l.borderPadding),c(b.borderRadius,l.borderRadius),c(b.borderDash,l.borderDash)]}):p[R].graphics.label.attr({"text-bound":[]})},
placeAxis:function(b,a){var d,f,l,k,h,z,p=this.config,g=this.chart,m=g.linkedItems.smartLabel,q=p.labels.style,w=g.jsonData.categories,n=p.labelPadding=e(p.rawAttr.axisValuePadding,10),t=p.useEllipsesWhenOverflow,v=0,B=0,A=0,G=0,F=a/2,I=a/2,C=b/2,E=b/2,L,J;L=p.categories.category;p.labels.isDraw=1;p.labels.drawNormalVal=1;p.labels.drawLimitVal=1;if(p.showLabels)for(w&&(h=w[0].font,z=w[0].fontsize),p=0,w=L.length;p<w;p++)J=L[p],d=J.font,f=J.fontsize,l=J.fontbold?"bold":"normal",k=J.fontitalic?"italic":
"normal",d={fontFamily:c(d,h,q.fontFamily),fontSize:c(f,z,q.fontSize),fontWeight:c(l,q.fontWeight),fontStyle:c(k,q.fontStyle)},f=r(d),m.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow),m.setStyle(d),0===p?(d=m.getSmartText(J.label,b,Ma(f,F),t),J.oriLabel=J.label,J.label=d.text,d.width+=n,d.height+=n,d.height>v&&(G=v=d.height)):p===w/2?(d=m.getSmartText(J.label,b,Ma(f,I),t),J.oriLabel=J.label,J.label=d.text,d.width+=n,d.height+=n,d.height>G&&(G=d.height)):p<w/2?(d=m.getSmartText(J.label,E,f,
t),J.oriLabel=J.label,J.label=d.text,d.width+=n,d.height+=n,d.width>B&&(B=d.width)):(d=m.getSmartText(J.label,C,f,t),J.oriLabel=J.label,J.label=d.text,d.width+=n,d.height+=n,d.width>A&&(A=d.width));return{top:v,left:B,right:A,bottom:G}}},"cartesian",{axisValuePadding:10,gridLineWidth:1,showRadarBorder:1,radarBorderThickness:2}]);FusionCharts.register("component",["dataset","Column",{type:"column",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var b=this.chart,a=this.config,d=this.JSONData,
f=b.singleseries,l=b.config.isdual,k=b.config,h=b.jsonData.chart,z=b.components,p=z.colorManager,g=a.plotColor=p.getPlotColor(this.index||this.positionIndex),r=e(d.dashed,h.plotborderdashed),q=e(h.useplotgradientcolor,1),w,t,v=m.getDashStyle;t=b.isBar;var B=b.is3D,A;this.__setDefaultConfig();n(d,a,k,{data:!0});a.showplotborder=e(h.showplotborder,B?0:1);w=k.plotborderdashlen;k=k.plotborderdashgap;a.plotfillangle=e(360-h.plotfillangle,t?180:90);a.plotfillalpha=t=c(d.alpha,h.plotfillalpha,ca);a.plotColor=
c(d.color,g);a.legendSymbolColor=a.plotColor;a.plotgradientcolor=m.getDefinedColor(h.plotgradientcolor,p.getColor("plotGradientColor"));!q&&(a.plotgradientcolor="");a.plotborderalpha=c(h.plotborderalpha,t,ca);a.plotbordercolor=c(h.plotbordercolor,B&&!f?"#ffffff":p.getColor("plotBorderColor"));a.plotborderdashstyle=r?v(w,k,void 0):"none";a.showShadow=B?e(h.showshadow,1):e(h.showshadow,p.getColor("showShadow"));a.definedGroupPadding=Ga(e(h.plotspacepercent),0);a.parentYAxis=l?A="s"===c(d.parentyaxis&&
d.parentyaxis.toLowerCase(),"p")?1:0:A=0;this.yAxis=z.yAxis[A];this.visible=1===e(d.visible,!Number(d.initiallyhidden),1);!0===this.visible?this._conatinerHidden=!1:this._containerHidden=!0;this._setConfigure();this._realTimeConfigure&&this._realTimeConfigure();!1!==b.hasLegend&&this._addLegend()},_setConfigure:function(b,a){var d=this.chart,f=d.config,l=this.config,k=this.JSONData,h=b||k.data,z=d.singleseries,p=d.components,g=p.xAxis[0],r=g.getCategoryLen(),r=b?b.data.length:r,q=d.jsonData.chart,
p=p.colorManager,n=l.showplotborder,t=l.plotColor,v=f.showtooltip,B=m.parseUnsafeString,A=f.yaxisname,G=f.xaxisname,F=f.tooltipsepchar,I=f.seriesnameintooltip,C=m.parseTooltext,E,J,K,N,Q,R,P=l.plotborderdashlen,O=l.plotborderdashgap,U=f.plotborderthickness,T=f.useroundedges,ea=f.plothovereffect,V=l.plotfillangle,aa,S,W,X=l.plotborderdashstyle,Z,pa,fa,ca,da,Y,ka,ia,ja,la=m.getDashStyle,oa=this.components.data,ba=d.isBar,ga=d.is3D,ha,Aa=-Infinity,ra=Infinity,ta=this.yAxis,va=f.use3dlighting,eb=f.usedataplotcolorforlabels,
qa;oa||(oa=this.components.data=[]);this.visible=1===e(this.visible,this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);for(ha=0;ha<r;ha++)b?(R=b&&b.data[ha]||{},qa=void 0!==a?a+ha:oa.length-r+ha,J=oa[qa]):(J=oa[ha],R=h&&h[ha]||{}),d=J&&J.config,J||(J=oa[ha]={}),J.config||(d=oa[ha].config={}),d.showValue=e(R.showvalue,l.showvalues),d.setValue=J=ta.getCleanValue(R.value,f.stack100percent),d.setLink=c(R.link),d.toolTipValue=t=ta.dataLabels(J),d.setDisplayValue=N=B(R.displayvalue),d.displayValue=
c(N,t),t=e(R.dashed),N=e(R.dashlen,P),E=O=e(R.dashgap,O),null!==J&&(Aa=Ga(Aa,J),ra=Ma(ra,J)),d.plotBorderDashStyle=N=1===t?la(N,E,U):0===t?"none":X,z?(t=p.getPlotColor(e(qa-r,ha)),t=c(R.color,t),eb&&g.updateCategory(ha,{labelfontcolor:L(t)}),W=c(R.alpha,R.borderalpha,l.plotborderalpha,aa).toString()):(t=c(R.color,l.plotColor),W=c(R.alpha,l.plotborderalpha,aa).toString()),S=c(R.ratio,l.ratio),aa=c(R.alpha,l.plotfillalpha),d.shadow={opacity:l.showShadow?aa/100:0},0>J&&!T&&(Q=l.plotfillangle,V=ba?180-
V:360-V),d.colorArr=E=m.graphics.getColumnColor(t+","+l.plotgradientcolor,aa,S,V,T,l.plotbordercolor,W,ba?1:0,ga?!0:!1),Z=g.getLabel(e(qa-r,ha)),d.origLabel=J=Ja(B(Z.label)),J=d.label=Ja(B(Z.tooltext))||J,0!==ea&&(Z=c(R.hovercolor,k.hovercolor,q.plotfillhovercolor,q.columnhovercolor,t),pa=c(R.hoveralpha,k.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,aa),fa=c(R.hovergradientcolor,k.hovergradientcolor,q.plothovergradientcolor,l.plotgradientcolor),!fa&&(fa=""),S=c(R.hoverratio,k.hoverratio,q.plothoverratio,
S),ca=e(360-R.hoverangle,360-k.hoverangle,360-q.plothoverangle,V),da=c(R.borderhovercolor,k.borderhovercolor,q.plotborderhovercolor,l.plotbordercolor),Y=c(R.borderhoveralpha,k.borderhoveralpha,q.plotborderhoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,W,aa),W=e(R.borderhoverthickness,k.borderhoverthickness,q.plotborderhoverthickness,l.showplotborder&&U),ka=R.borderhoverdashed||k.borderhoverdashed||q.plotborderhoverdashed,ia=e(R.borderhoverdashgap,k.borderhoverdashgap,q.plotborderhoverdashgap,
P),ja=e(R.borderhoverdashlen,k.borderhoverdashlen,q.plotborderhoverdashlen,O),ka=void 0!==ka?Number(ka)?la(ja,ia,W):"":N,1==ea&&Z===t&&(Z=qb(Z,70)),t=m.graphics.getColumnColor(Z+","+fa,pa,S,ca,T,da,Y.toString(),ba?1:0,ga?!0:!1),d.setRolloutAttr={fill:ga?[w(E[0]),!va]:w(E[0]),stroke:n&&w(E[1]),"stroke-width":U,"stroke-dasharray":N},d.setRolloverAttr={fill:ga?[w(t[0]),!va]:w(t[0]),stroke:w(t[1]),"stroke-width":W,"stroke-dasharray":ka}),E=d.toolTipValue,d.origToolText=t=Ja(B(c(R.tooltext,k.plottooltext,
q.plottooltext))),v?null===E?R=!1:void 0!==t?(N=[1,2,3,4,5,6,7],J={yaxisName:A,xaxisName:G,formattedValue:E,label:J},R=C(t,N,J,R,q,k)):(I&&(K=sa(k&&k.seriesname)),R=K?K+F:"",R+=J?J+F:""):R=!1,d.toolText=R,d.setTooltext=R,Q&&(V=Q),qa++;l.maxValue=Aa;l.minValue=ra},init:function(b){var a=this.chart;if(!b)return!1;this.JSONData=b;this.chartGraphics=a.chartGraphics;this.components={};this.graphics={};this.configure()},_addLegend:function(){var b=this.chart,a=b.isBar,c=b.jsonData.chart,d,f;f=this.config;
var k=mb(f.legendSymbolColor),b=b.components.legend;d=e(c.use3dlighting,c.useplotgradientcolor,1);c=qb(k,60).replace(ga,Y);d?(d=qb(k,40),a={FCcolor:{color:k+","+k+","+d+","+k+","+k,ratio:"0,30,30,30,10",angle:a?0:270,alpha:"100,100,100,100,100"}}):a={FCcolor:{color:k,angle:a?0:270,ratio:"0",alpha:"100"}};f={enabled:f.includeinlegend,type:this.type,fillColor:w(a),strokeColor:w(c),rawFillColor:k,rawStrokeColor:k,label:sa(this.JSONData.seriesname)};this.legendItemId=b.addItems(this,this.legendInteractivity,
f)},legendInteractivity:function(b,a){var c=this.config,d=b.visible,e=a.config,f=a.graphics,h=c.itemHiddenStyle.color,c=c.itemStyle.color,l=e.fillColor,p,e=e.strokeColor;d?b.hide():b.show();d={legendItemSymbol:{fill:d?h:l,stroke:d?h:e},legendItemText:{fill:d?h:c},legendItemLine:{stroke:d?h:e}};for(p in f)(h=f[p])&&d[p]&&h.attr(d[p])},draw:function(){var b=this,a=b.JSONData,d=b.chart.jsonData.chart,f=b.config,l=f.legendInteractivity,k=b.groupManager,h=b.index,z,p,g=b.visible,r=b.chart,q=r.getJobList(),
n=r.config,t=r.components,A=t.paper,G=t.xAxis[0],F=G.getCategoryLen(),I=b.yAxis,C=r.graphics.columnGroup,E=n.isstacked,J,L,K,N=r.graphics,P=N.sumLabelsLayer,Q=m.parseUnsafeString,R=m.getValidValue,O=m.Raphael,U=n.showtooltip,T=r.get("config","animationObj"),aa=T.animObj,ea=T.dummyObj,V=T.duration,fa=T.animType,S=G.getAxisPosition(0),W=G.getAxisPosition(1),X=f.groupMaxWidth=W-S,Z=n.definedgrouppadding,pa=n.plotspacepercent/200,ca=k.getDataSetPosition(b),Y=k.stackSumValue[b.positionIndex],da=n.maxcolwidth,
ia=(1-.01*Z)*X||Ma(X*(1-2*pa),1*da),ka=e(ca.columnWidth,ia/1),ba,ja=ca.xPosOffset||0,la=ca.height,oa,ha,ga=b.components,qa=ga.data,Aa,ra,ta,va,eb,sa,wa,ma=b.drawn,Da=ga.removeDataArr,Ga=Da&&Da.length,Ja=ga.addDataArr,za=Ja&&Ja.length,Ha,Na=I.getLimit(),Ia=Na.min,Ea=0<Na.max&&0>Ia,La,Ba=I.getAxisBase(),Ka=I.yBasePos=I.getAxisPosition(Ba),Oa,Sa,Va=n.plotborderthickness,Qa=n.useroundedges,Za=b.graphics,Ya=Za.container,Ra=Za.trackerContainer,db=Za.dataLabelContainer,bb=Za.shadowContainer,fb=ga.pool,gb=
N.trackerGroup,mb,ab=1,nb,ib,hb,kb=G.getAxisPosition(F-1)+ja,qb=G.getAxisPosition(0)+ja,rb,ob=!0,ub,vb=b.startPosition,wb=r.isInverse,xb,yb=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(Ya.hide(),Ra.hide(),bb.hide(),db&&db.hide(),b._conatinerHidden=!0);this.show()},Bb=function(){P.show()},lb=function(){return vb?function(b,a){b.x=qb-X*(za-a);b.y=L;b.height=oa}:!1===vb?function(b){b.x=kb+X*ab++;b.y=L;b.height=oa}:function(b){b.width=0}},Ib,Fb=r.config.viewPortConfig,
Db=Fb.x,Gb=Fb.scaleX,Ab=n.showplotborder;ma&&(lb=lb());Ya||(Ya=b.graphics.container=A.group("columns",C),g?Ya.show():Ya.hide());Ra||(Ra=b.graphics.trackerContainer=A.group("col-hot",gb),g||Ra.hide());bb||(bb=b.graphics.shadowContainer=A.group("shadow",C).toBack(),g||bb.hide());g&&(Ya.show(),Ra.show(),bb.show());for(p=0;p<F;p++)if(eb=(wa=(Aa=qa[p])&&Aa.config)&&wa.setValue,void 0===Aa||void 0===eb||null===eb){if(nb=Aa&&Aa.graphics)for(ib in nb)nb[ib].hide()}else if(ub=Aa.trackerConfig={},La=0<=eb,
va=wa.setLink,mb=wa.colorArr,Aa.graphics||(qa[p].graphics={}),sa=wa.displayValue,Oa=La?wa.previousPositiveY:wa.previousNegativeY,ra=R(Q(c(wa.origToolText,a.plottooltext,d.plottooltext))),E&&(Oa=b._parseValues(p,Oa,Y[p],ra),eb=wa.value),Sa=I.getAxisPosition(Oa||Ba),J=G.getAxisPosition(p)+ja+Db*Gb,0!==la?(L=I.getAxisPosition(eb+(Oa||0)),oa=Pa(Sa-L)):(oa=0,L=Sa),L=Ma(L,Sa),k.isCrisp?(K=O.crispBound(J,L,ka,oa,Va),J=K.x,xb=jb(oa)===K.height,hb=jb(L)!==K.y,L=K.y,ba=K.width,oa=K.height):ba=ka,g&&0<Va&&(0===
Va%2&&(wb&&Ea?La?!hb&&(oa+=1):!xb&&--L:La?hb&&--L:xb&&(oa+=1)),Ha=Math.floor(Va/2),wb&&Ea?La?oa-=Ha:L+=Ha:La?L+=Ha:oa-=Ha),Ib=wa.shadow,ha=!1!==wa.toolText?wa.toolText+(ra?"":wa.toolTipValue):"",rb=wa.plotBorderDashStyle,ub.eventArgs={index:p,link:va,value:eb,displayValue:sa,categoryLabel:wa.origLabel,toolText:ha,id:"",datasetIndex:h,datasetName:a.seriesname,visible:g},Aa._xPos=J,Aa._yPos=L,Aa._height=oa,Aa._width=ba,Aa._index=p,(ta=Aa.graphics.element)||(z={x:J,y:Ka,width:ba,height:1,r:Qa,ishot:!U,
fill:w(mb[0]),stroke:w(mb[1]),"stroke-width":Ab?Va:0,"stroke-dasharray":rb,"stroke-linejoin":"miter",visibility:g},ma&&(lb(z,p),fb&&fb.element[0]&&(ta=Aa.graphics.element=fb.element[0],ta.attr(z),fb.element.splice(0,1)),Aa._newXPos=z.x),ta?wa.elemCreated=!1:(ta=Aa.graphics.element=A.rect(z,Ya),wa.elemCreated=!0),ma||(ta.animateWith(ea,aa,{y:L,height:oa||1},V,fa,ob&&Bb),ob=!1)),(ta=Aa.graphics.element)&&ma&&(wa.elemCreated=!1,z={x:J,y:L,width:ba,height:oa||1,r:Qa},E||!1!==b.visible||0===la||(delete z.y,
delete z.height),l||ta.attr({fill:w(mb[0]),stroke:w(mb[1]),"stroke-width":Ab?Va:0,"stroke-linejoin":"miter","stroke-dasharray":rb,ishot:!U,visibility:g}),ta.animateWith(ea,aa,z,V,fa,ob&&yb),ob=!1),ta.shadow(Ib,bb).data("BBox",K),va||U)oa<B&&(L-=(B-oa)/2,oa=B),ub.attr={x:J,y:L,width:ba,height:oa,r:Qa,cursor:va?"pointer":"",stroke:v,"stroke-width":Ab?Va:0,fill:v,ishot:!0,visibility:g};ma?b.drawTracker():q.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker));ma?b.drawLabel():q.labelDrawID.push(pb.addJob(b.drawLabel,
b,[],m.priorityList.label));!ma&&P.hide();k.drawSumValueFlag&&k.drawSumValueFlag&&k.drawSumValue();b.drawn=!0;Ga&&b.remove()},drawTracker:function(){var b=this.chart,a=this.components,c=a.pool,a=a.data,d=b.config.plothovereffect,e=b.components,f=e.paper,e=e.xAxis[0].getCategoryLen(),h=this.graphics.trackerContainer,l,p,g,m,r,q,w,n,t=function(a){ia.call(this,b,a)},v=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),ia.call(this,
b,c,"DataPlotRollOver"))}},A=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),ia.call(this,b,c,"DataPlotRollOut"))}};for(g=0;g<e;g++)if(m=a[g],void 0!==m&&(p=m.config,l=m.trackerConfig,(r=m.graphics)&&r.element)){r=r.element;w=m.graphics.hotElement;if(n=l.attr)w?w.attr(n):c&&c.hotElement[0]?(w=m.graphics.hotElement=c.hotElement[0],w.attr(n),c.hotElement.splice(0,1)):(w=m.graphics.hotElement=f.rect(n,h),q=!0);(w||r).data("eventArgs",
l.eventArgs).data(Ba,d).data(Ha,p.setRolloverAttr||{}).data(Sa,p.setRolloutAttr||{}).tooltip(l.eventArgs&&l.eventArgs.toolText);(q||p.elemCreated)&&(w||r).click(t).hover(v(r),A(r))}},show:function(){var b=this.graphics&&this.graphics.container,a=this.graphics&&this.graphics.trackerContainer,c=this.graphics&&this.graphics.dataLabelContainer,d=this.graphics&&this.graphics.shadowContainer,e=this.chart.is3D,f=this.components.data,h=this.chart.config.categories,l=this.yAxis,p=this.chart,g=p.components.xAxis[0],
h=Ma(this.JSONData.data&&this.JSONData.data.length,h&&h.length);this.config.legendInteractivity=!0;p._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(e)for(b=0;b<h;b++)f[b]&&f[b].graphics&&f[b].graphics.element&&f[b].graphics.element.attr({visibility:La}),f[b]&&f[b].graphics&&f[b].graphics.hotElement&&f[b].graphics.hotElement.attr({visibility:La});else b.show(),a.show();d.show();c&&c.show();p.config.transposeAxis&&(p._setAxisLimits(),l.draw());p.isRealTime&&g.draw();p._drawDataset();
this.config.legendInteractivity=!1},hide:function(){var b=this.yAxis,a=this.chart,c=a.components.xAxis[0];a._chartAnimation();this.visible=!1;this.config.legendInteractivity=!0;a.config.transposeAxis&&(a._setAxisLimits(),b.draw());a.isRealTime&&c.draw();a._drawDataset();this.config.legendInteractivity=!1},drawLabel:function(b,a){var c=this.chart,d=c.config,f=c.graphics,k=c.components,h=c.get("config","animationObj"),l=h.dummyObj,p=h.animObj,g=h.animType,h=h.duration,m=k.paper,r=c.linkedItems.smartLabel,
w=c.config.dataLabelStyle,n=this.config.legendInteractivity,t=k.xAxis[0].getCategoryLen(),v=this.components,k=v.data,v=v.pool,A=this.visible,B,G,d=d.rotatevalues?270:0,F,I,C,E,J,L=this.graphics.dataLabelContainer,Q=this.labelDrawn;B=e(b,0);t=e(a,t);f=f.datalabelsGroup;L||(L=this.graphics.dataLabelContainer=m.group("datalabel",f));A?L.show():L.hide();r.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow);r.setStyle(w);for(f=B;f<t;f++)if(B=k[f],void 0!==B&&(A=B.graphics))J=B&&B.config,C=B._yPos,
E=B._xPos,I=J.setValue,G=J.displayValue,(F=J.showValue)&&null!==I?(n&&J._state||(F=r.getOriSize(G),J._state=d?{labelWidth:F.height,labelHeight:F.width}:{labelWidth:F.width,labelHeight:F.height}),I=this._getValuePosition({labelWidth:J._state.labelWidth,labelHeight:J._state.labelHeight,width:B._width,height:B._height,yPos:C,xPos:E,value:I}),C=I.textX,I=I.textY,G={x:C,y:I,text:G},n||(G=q(G,{visibility:La,"line-height":w.lineHeight,fill:w.color,"text-bound":[w.backgroundColor,w.borderColor,w.borderThickness,
w.borderPadding,w.borderRadius,w.borderDash]})),!A.label&&Q&&c.isRealTime&&(J=q({},G),J.x=G.x-E+(B._newXPos||0),J.transform=m.getSuggestiveRotation(d,J.x,I),v&&v.label[0]?(A.label=v.label[0].attr(J),v.label.splice(0,1)):A.label=m.text(J,L)),G.transform=m.getSuggestiveRotation(d,C,I),(B=A.label)||(B=A.label=m.text(G,L)),B.show(),Q&&B.animateWith(l,p,G,h,g)):A.label&&(A.label.attr({"text-bound":[]}),A.label.hide());this.labelDrawn=!0},_getValuePosition:function(b){var a=this.chart,d=a.components,e=
a.config,f=d.canvas.config,k=d.yAxis[0],d=f.xDepth,f=f.yDepth,h=e.canvasTop,l=e.canvasHeight+f,p,g,m,r=b.yPos,q=a.is3D,a=a.config.isstacked,w=e.valuepadding+2,n=b.height;p=b.width;e=e.placevaluesinside;m=b.labelHeight;var t=k.getAxisConfig("isReverse"),v=k.getAxisConfig("axisRange"),B=v.min,k=b.value,v=0<v.max&&0>B;b=b.xPos;t&&v&&(g=0>k?!1:!0);g=c(g,0>k);m=t=m+w;w=.5*t+w;p=b+.5*p;b=g?h+l-(r+n+f):r-h;a?(l=Ma(h+l-.5*m,r+.5*n+(f||0)),l=Ga(h+.5*m,l),p-=d):e?n>=m?(l=r+(g?n-w:w),q&&(p-=d,l+=f)):b>=m?(l=
r+(g?n+w:-w),q&&g&&(p-=d,l+=f)):(l=r+(g?n-w:w),q&&(p-=d,l+=f)):b>=m?(l=r+(g?n+w:-w),q&&(g?(p-=d,l+=f):p-=d/2)):(l=r+(g?n-w:w),q&&(p-=d,l+=f));return{textX:p,textY:l}},_parseValues:function(b,a,c,d){var e=this.chart.config;b=this.components.data[b].config;var f=e.showpercentvalues,h=e.showpercentintooltip,l=b.setValue,e=e.stack100percent,p=this.chart.components.numberFormatter,g=this.yAxis,m=b.setDisplayValue,l=(this.visible?l||0:0)/c*100,p=p.percentValue(l);e&&(b.value=l,a=(a||0)/c*100);h&&(b.toolTipValue=
p);f&&!m&&(b.displayValue=p);d&&(b.toolText=ha(b.setTooltext,[14,24,25,112],{percentValue:p,sum:g.dataLabels(c),unformattedSum:c}));return a},getDataLimits:function(){return{max:this.config.maxValue,min:this.config.minValue}},addData:function(b,a,c){var d=this.components,e=this.chart.components.numberFormatter,f=d.data,h=b.data,l=h.length,p=this.config,g=p.maxValue,p=p.minValue,m=this.maxminFlag,r;d.addDataArr=b.data;if(0===a)this.startPosition=!0;else if(a+l===f.length||void 0===a)this.startPosition=
!1;for(r=0;r<l;r++)if(void 0!==a?f.splice(a+r,0,{config:{}}):f.push({config:{}}),!m&&(d=e.getCleanValue(h[r].value),d>g||d<p))m=this.maxminFlag=!0;this._setConfigure(b,a);m&&this.setMaxMin();c&&this.draw()},hideElements:function(b){b.hide()},removeData:function(b,a,c){var d=this.components,e=d.data,f=d.removeDataArr||(d.removeDataArr=[]),h=this.config,l=this.groupManager,p=this.maxminFlag;void 0===a&&(a=1);b=b||0;if(b+a===e.length)this.endPosition=!0;else if(0===b||void 0===b)this.endPosition=!1;
d.removeDataArr=f=f.concat(e.splice(b,a));l&&l.removeSumLabels&&l.removeSumLabels(b,a,this.positionIndex);d=f.length;for(b=0;b<d;b++)if(f[b]){a=f[b].config;if(a.setValue===h.maxValue||a.setValue===h.minValue)p=this.maxminFlag=!0;if(p)break}p&&this.setMaxMin();c&&this.draw()},updateData:function(b,a,c){var d=this.config,e=d.maxValue,f=d.prevMin,h=this.chart,l=this.groupManager||this,p=h.components,g=p.xAxis||p.yAxis,m=g&&p.xAxis[0],p=g&&p.yAxis[0];this._setConfigure(b,a);this.setMaxMin();if(d.maxValue!==
e||d.minValue!==f)this.maxminFlag=!0;c&&(h._setAxisLimits(),g&&m.draw(),g&&p.draw(),l.draw())},setMaxMin:function(){var b=this.components.data,a=this.config,c,d,e=b.length,f=-Infinity,h=Infinity;for(c=0;c<e;c++)b[c]&&(d=b[c].config,d=d.setValue,void 0!==d&&(f=Ga(f,d),h=Ma(h,d)));a.maxValue=f;a.minValue=h},hidingPosition:function(){var b=this.components.removeDataArr.length,a=this.config.groupMaxWidth;return!1===this.endPosition?function(c){return{x:c._xPos-a*b,y:c._yPos}}:!0===this.endPosition?function(c){return{x:c._xPos+
a*b||0,y:c._yPos}}:function(){return{width:0}}},remove:function(){var b=this.components,a=b.removeDataArr,c=b.pool||(b.pool={element:[],hotElement:[],label:[]}),d=this.chart,e=d.get("config","animationObj"),f=e.duration,h=e.dummyObj,l=e.animObj,e=e.animType,p=this.maxminFlag,g,m,r,q,w=d.components.paper,n=d.config.rotatevalues,t=this.chart.config.realTimeConfig&&this.chart.config.realTimeConfig.clear,v=this.hidingPosition(),B=function(){this.hide()};for(r=a.length-1;0<=r;r--)if(d=a[r],a.splice(r,
1),d&&d.graphics){m=d.graphics;for(g in m)"label"===g&&void 0===this.startPosition&&void 0===this.endPosition&&m[g].hide(),q=v(d),"label"===g&&(q.transform=w.getSuggestiveRotation(n,q.x,q.y)),t&&m[g].hide(),m[g].animateWith(h,l,q,f,e,B);d.graphics.element&&(c.element=c.element.concat(d.graphics.element));d.graphics.hotElement&&(c.hotElement=c.hotElement.concat(d.graphics.hotElement));d.graphics.label&&(c.label=c.label.concat(d.graphics.label))}b.pool=c;p&&this.setMaxMin()},getAxisValuePadding:function(){return{left:.5,
right:.5}},manageSpace:function(){var b=this.config||(this.config={}),a=this.chart,c=a.config.rotatevalues,d=a.components.xAxis[0],f=a.components.yAxis[0],k=a.config.dataLabelStyle,h=(this.components||{}).data||[],l=b.leftMostData||h[0],h=b.rightMostData||h[h.length-1],p,g,m={};p={};var r=0,q=0,w,n=d.getPixel(0),m=a.linkedItems.smartLabel,t={paddingLeft:0,paddingRight:0};p=0;var v=this.groupManager,v="column"===this.type&&v.getDataSetPosition(this),B=this.getAxisValuePadding(),A=b.topMostData,b=b.bottomMostData;
l&&(l=l.config,w=l.showValue,g=l&&l.anchorProps||{},w&&(p=l.displayValue,m.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow),m.setStyle(k),p=m.getOriSize(p),p=c?p.height:p.width),null!==l.setValue&&(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=(p||0)/2-(d.getPixel(B.left)-n)-(v&&v.xPosOffset+v.columnWidth/2||0),0>q&&(q=0)),t.paddingLeft=Ga(r,q));h&&(l=h.config,w=l.showValue,g=l&&l.anchorProps||{},w&&!c&&(p=l.displayValue,m.setStyle(k),m=m.getOriSize(p),p=c?m.height:m.width),null!==l.setValue&&
(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=(p||0)/2-(d.getPixel(B.right)-n)+(v&&v.xPosOffset+v.columnWidth/2||0),0>q&&(q=0)),t.paddingRight=Ga(r,q));A&&(g=(l=A.config)&&l.anchorProps||{},null!==l.setValue&&(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=Math.max(r-(f.getPixel(l.setValue.y)-f.getPixel(f.getLimit().max)),0)),t.paddingTop=q);b&&(g=(l=b.config)&&l.anchorProps||{},null!==l.setValue&&(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=Math.max(r-(f.getPixel(f.getLimit().min)-f.getPixel(l.setValue.y)),
0)),t.paddingBottom=q);return t},getPlotClickFn:function(b){return function(a){ia.call(this,b,a)}},getEventArgs:function(){return{datasetName:(this.JSONData||{}).seriesname,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},rolloverResponseSetter:function(b,a){var c=a.jsonData.chart;return function(d){var e=this.data("hoverEnabled"),f=this.data("draged"),h=this.data("dataset");!0!==f&&(h._hoverFunc(b,"DataPlotRollOver",e,c),ia.call(this,a,d,"DataPlotRollOver"))}},rolloutResponseSetter:function(b,
a){var c=a.jsonData.chart;return function(d){var e=this.data("hoverEnabled"),f=this.data("draged"),h=this.data("dataset");!0!==f&&(h._hoverFunc(b,"DataPlotRollOut",e,c),ia.call(this,a,d,"DataPlotRollOut"))}}},void 0,{showvalues:void 0,includeinlegend:1,plotfillalpha:void 0,plotfillangle:void 0,ratio:void 0}]);FusionCharts.register("component",["dataset","realtimecolumn",{_realTimeConfigure:function(b){var a=this.chart,c=this.components.data,d=[],e=a.config.realTimeConfig.numDisplaySets;b=b?0:a.components.xAxis[0].getCategoryLen();
b<e?(d.length=e-b,this.components.data=d.concat(c)):b>e&&this.components.data.splice(e,b-e)}},"Column"]);FusionCharts.register("component",["dataset","scrollcolumn2d",{},"Column"]);FusionCharts.register("component",["dataset","Column3D",{draw:function(){var b=this,d=b.JSONData,f=b.chart.jsonData.chart,l=b.config,r=b.groupManager,k=b.index,h=b.chart.config.categories,z,p,g=b.chart,q=g.getJobList(),n=g.config,t=g.components.paper,A=g.components.xAxis[0],G=b.yAxis,F=g.graphics.columnGroup,I=g.config.isstacked,
C,E,J=g.graphics,L=m.parseUnsafeString,K=m.getValidValue,N=n.showtooltip,P=g.get(hb,Na),O=P.animType,Q=P.animObj,R=P.dummyObj,P=P.duration,U=A.getAxisPosition(0),T=A.getAxisPosition(1),T=l.groupMaxWidth=T-U,aa=l.definedGroupPadding,fa=n.plotspacepercent/200,ea=r.getDataSetPosition(b),U=r.stackSumValue[b.positionIndex],V=n.maxcolwidth,T=(1-.01*aa)*T||Ma(T*(1-2*fa),1*V),T=e(ea.columnWidth,T/1),ca,aa=ea.xPosOffset||0,ea=ea.height,S,fa=b.components.data,W,X,Z,pa,V=G.getLimit();X=V.max;var Y=V.min,V=G.getAxisBase(),
ba=G.yBasePos=G.getAxisPosition(V),da=0,ia=n.plotborderthickness;pa=b.graphics.container;var ka=b.graphics.dataLabelContainer,ha=b.graphics.shadowContainer,ja=J.trackerGroup,la,oa,ga,sa,wa,Aa,ra,ta,va,J=l.use3dlighting,eb,Cb=!0,Da=!1,Ja=b.visible,Ha=(b.components.removeDataArr||[]).length,Ga=b.components.pool||[],Ea=n.showplotborder,Ba,Ka,Oa,Sa=function(){var a,c;if(!1===b.visible&&(!1===b._conatinerHidden||void 0===b._conatinerHidden)){a=b.components.data;for(c=0;c<z;c++)a[c]&&a[c].graphics&&a[c].graphics.element&&
a[c].graphics.element.attr("visibility",Va),a[c]&&a[c].graphics&&a[c].graphics.hotElement&&a[c].graphics.hotElement.attr("visibility",Va);ha.hide();ka&&ka.hide();b._conatinerHidden=!0}},Za=function(){r.drawSumValueFlag&&r.drawSumValue()};pa||(pa=b.graphics.container=g.datasetLayers=g.datasetLayers||t.group(Ia,F));ha||(ha=b.graphics.shadowContainer=t.group(fb,F).toBack());g._cacheObj||(g._cacheObj={});!g._cacheObj.elemAttr&&(g._cacheObj.elemAttr={});Ba=g._cacheObj.elemAttr;!g._cacheObj.zeroplaneAttr&&
(g._cacheObj.zeroplaneAttr={});wa=g._cacheObj.zeroplaneAttr;!g._cacheObj.cubepathObj&&(g._cacheObj.cubepathObj={});Ka=g._cacheObj.cubepathObj;z=A.getCategoryLen();if(Ja)for(p=0;p<z;p++)fa[p].graphics&&fa[p].graphics.element&&fa[p].graphics.element.attr("visibility",La),fa[p].graphics&&fa[p].graphics.hotElement&&fa[p].graphics.hotElement.attr("visibility",La);F=pa.negative=pa.negative||t.group(Qa,pa);ga=pa.column=pa.column||t.group(qa,pa);sa=ja.negative=ja.negative||t.group(Qa,ja);ja=ja.column=ja.column||
t.group(qa,ja);0>Y&&0<=X?(p=pa.zeroPlane,wa.fill=[n.zeroPlaneColor,!J],wa.stroke=n.zeroPlaneBorderColor||"none",wa[Gb]=n.zeroPlaneShowBorder?1:0,p?(p=[g.config.canvasLeft-10,ba+10,g.config.canvasWidth,1,10,10,p],r.graphics.zeroplane.show(),r.graphics.zeroplane._.cubetop.show(),r.graphics.zeroplane._.cubeside.show(),Ka.cubepath=p,r.graphics.zeroplane.animateWith(R,Q,Ka,P,O),r.graphics.zeroplane.attr(wa)):(p=pa.zeroPlane=t.group(kb,pa).insertBefore(ga),!r.graphics&&(r.graphics={}),r.graphics.zeroplane=
t.cubepath(g.config.canvasLeft-10,ba+10,g.config.canvasWidth,1,10,10,p).attr(wa))):r.graphics&&r.graphics.zeroplane&&r.graphics.zeroplane.hide()&&r.graphics.zeroplane._.cubetop.hide()&&r.graphics.zeroplane._.cubeside.hide();(wa=F.data(ma))||(F.data(ma,Array(z)),wa=F.data(ma));(Aa=ga.data(ma))||(ga.data(ma,Array(z)),Aa=ga.data(ma));(ra=sa.data(ma))||(sa.data(ma,Array(z)),ra=sa.data(ma));(ta=ja.data(ma))||(ja.data(ma,Array(z)),ta=ja.data(ma));for(p=0;p<z;p++)if(W=(pa=(n=fa[p])&&n.config)&&pa.setValue,
void 0!==n&&void 0!==W&&null!==W){Oa=n.trackerConfig={};!n||void 0!==W&&null!==W||(n.graphics&&n.graphics.element&&(n.graphics.element.hide(),n.graphics.element._.cubeside.hide(),n.graphics.element._.cubetop.hide()),n.graphics&&n.graphics.hotElement&&n.graphics.hotElement.hide());wa[p]=wa[p]||t.group(F);Aa[p]=Aa[p]||t.group(ga);ra[p]=ra[p]||t.group(sa);ta[p]=ta[p]||t.group(ja);n.graphics||(fa[p].graphics={});X=pa.setLink;Y=pa.colorArr;Z=pa.displayValue;C=0<=W?pa.previousPositiveY:pa.previousNegativeY;
S=K(L(c(pa.origToolText,d.plottooltext,f.plottooltext)));I&&(C=b._parseValues(p,C,U[p],S),W=pa.value);ca=G.getAxisPosition(C||V);g=A.getAxisPosition(p)+aa;0!==ea?(E=G.getAxisPosition(W+(C||0)),C=Pa(ca-E)):(C=0,E=ca);E=Ma(E,ca);ca=T;(Oa.isNegative=va=0>W)?(la=wa,oa=ra):(la=Aa,oa=ta);Oa.targetGroupTracker=oa;S=!1!==pa.toolText&&pa.toolText+(S?"":pa.toolTipValue);Oa.eventArgs={index:p,link:X,value:W,displayValue:Z,categoryLabel:h[p].label,toolText:S?S:"",id:a,datasetIndex:k,datasetName:d.seriesname,
visible:Ja};P||(ba=E,da=C);Z=g;S=E;oa=ca;eb=C;g-=10;E+=10;n.graphics.element?(Da=!0,W=n.graphics.element,la[p].appendChild(W._.cubetop),la[p].appendChild(W._.cubeside),la[p].appendChild(W),Ka.cubepath=[g,!0===b.visible||0===ea||I?E:W.attrs.cubepath[1],ca,!0===b.visible||0===ea||I?C:W.attrs.cubepath[3],10,10],W.animateWith(R,Q,Ka,P,O,Cb&&Sa),Ba.fill=[w(Y[0]),!J],Ba.ishot=!0,Ba.stroke=Ea&&w(Y[1]),Ba[Gb]=Ea?ia:0,Ba[Ab]=pa.plotBorderDashStyle,Ba.cursor=X?"pointer":a,Ba.visibility&&delete Ba.visibility,
Ba.cubepath&&delete Ba.cubepath,W.attr(Ba),pa.elemCreated=!1):(Ga.element&&Ga.element.length?(W=n.graphics.element=Ga.element.shift(),la[p].appendChild(W._.cubetop),la[p].appendChild(W._.cubeside),la[p].appendChild(W),W.show()):W=n.graphics.element=t.cubepath(la[p]),Ba.cubepath=[g,P?ba+10:E,ca,P?0:da,10,10],Ba.fill=[w(Y[0]),!J],Ba.ishot=!0,Ba.stroke=Ea&&w(Y[1]),Ba[Gb]=Ea?ia:0,Ba[Ab]=pa.plotBorderDashStyle,Ba.cursor=X?"pointer":a,Ba.visibility=Ja?La:Va,W.attr(Ba),Ka.cubepath=[g,E,ca,C,10,10],W.animateWith(R,
Q,Ka,P,O,Cb&&Za),Cb=!1,n._newXPos=g,pa.elemCreated=!0);W.shadow(pa.shadow,ha).data("BBox",{height:da,width:ca,x:g,y:E});if(X||N)C<B&&(E-=(B-C)/2,C=B),Oa.attr={path:Ya([g,E,ca,C,10,10]),cursor:X?"pointer":a,stroke:ia&&v||za,"stroke-width":Ea?l.plotBorderThickness:0,fill:v,ishot:!0};I&&va&&W.toBack();n._xPos=Z;n._yPos=S;n._height=eb;n._width=oa}q.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker));b.drawn?b.drawLabel():q.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label));
b.drawn=!0;r.drawSumValueFlag&&Da&&r.drawSumValueFlag&&r.drawSumValue();Ha&&b.remove()},drawTracker:function(){var b=this.chart,a=this.components.data,c=b.config,d=c.isstacked,c=c.plothovereffect,e=b.components,f=e.paper,e=e.xAxis[0].getCategoryLen(),h,l,p,g,m,r,q,n,w,t=this.components.pool||[],v=function(a){ia.call(this,b,a)},B=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),ia.call(this,b,c,"DataPlotRollOver"))}},
A=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),ia.call(this,b,c,"DataPlotRollOut"))}};for(p=0;p<e;p++)if(g=a[p],void 0!==g&&(l=g&&g.config,h=g.trackerConfig,m=g.graphics)){m=g.graphics.element;w=h.targetGroupTracker;if(n=h.attr)g.graphics.hotElement?(q=g.graphics.hotElement,w[p].appendChild(q),q.attr(n),r=!1):(t.hotElement&&t.hotElement.length?(q=g.graphics.hotElement=t.hotElement.shift(),w[p].appendChild(q),q.show()):
(q=g.graphics.hotElement=f.path(w[p]),r=!0),q.attr(n));q=g.graphics.hotElement;(q||m).data("eventArgs",h.eventArgs).data(Ba,c).data(Ha,l.setRolloverAttr||{}).data(Sa,l.setRolloutAttr||{}).tooltip(h.eventArgs&&h.eventArgs.toolText);(r||l.elemCreated)&&(q||m).click(v).hover(B(m),A(m));d&&h.isNegative&&q&&q.toBack()}},remove:function(){var b=this,a=b.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),e=c.length,f=b.config.groupMaxWidth,h,l=b.maxminFlag,p,g,m;(function(){return!1===
b.endPosition?function(){return{x:h._xPos-f*e}}:!0===b.endPosition?function(){return{x:h._xPos+f*e||0}}:function(){return{width:0}}})();for(m=0;m<e;m++)if(h=c[0],c.splice(0,1),h&&h.graphics){g=h.graphics;for(p in g)g[p].hide();h.graphics.element&&(d.element=d.element.concat(h.graphics.element));h.graphics.hotElement&&(d.hotElement=d.hotElement.concat(h.graphics.hotElement));h.graphics.label&&(d.label=d.label.concat(h.graphics.label))}a.pool=d;l&&b.setMaxMin()}},"Column",{use3dlighting:void 0}]);FusionCharts.register("component",
["dataset","Waterfall2D",{configure:function(){var b,d,f=this.chart,l=f.components;b=this.config;d=this.JSONData;var r=d.data,k=f.config.categories,k=Ma(k&&k.length,r&&r.length),h=f.jsonData.chart,z=l.colorManager,p,g=z.getPlotColor(this.index||this.positionIndex),q=e(d.dashed,h.plotborderdashed),n=e(h.useplotgradientcolor,1),t=e(h.showtooltip,1),v=m.parseUnsafeString,B=v(h.yaxisname),A=v(h.xaxisname),G=v(c(h.tooltipsepchar,", ")),F=m.parseTooltext,I,C,E,J,K,N,P,Q,R,O,T,U,aa,ea,V,Y,S,W,X,Z,pa,Ua,
ba,da,ia,ka,ha,ja=m.getDashStyle,la=this.components.data,oa=l.numberFormatter,ga;p={};p=p.dataObj||(p.dataObj={});ga=p.chart||(p.chart={});S=c(h.connectorthickness,1);var qa,wa=-Infinity,Aa=Infinity,ra=0,ta=0,va=0,eb,Cb,ma,Ba;this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);p=b.showplotborder=e(h.showplotborder,1);b.plotBorderThickness=K=p?e(h.plotborderthickness,1):0;b.isRoundEdges=N=e(h.useroundedges,0);b.plotBorderAlpha=T=p?c(h.plotborderalpha,E,ca):0;b.plotBorderColor=
U=c(h.plotbordercolor,z.getColor("plotBorderColor").split(",")[0]);b.plotgradientcolor=O=n?fa(h.plotgradientcolor,z.getColor("plotGradientColor")):a;b.plotDashLen=n=e(h.plotborderdashlen,6);b.plotDashGap=J=e(h.plotborderdashgap,3);b.use3DLighting=e(h.use3dlighting,1);b.showSum=qa=e(h.showsumatend,1);b.plotColor=c(d.color,g);b.plotfillAngle=Q=e(360-h.plotfillangle,90);b.showShadow=N?e(h.showshadow,1):e(h.showshadow,z.getColor("showShadow"));b.showHoverEffect=P=e(h.plothovereffect,h.showhovereffect,
void 0);b.plotFillAlpha=c(d.alpha,h.plotfillalpha,ca);b.plotRadius=e(h.useRoundEdges,b.isRoundEdges?1:0);b.plotFillRatio=R=c(d.ratio,h.plotfillratio);b.plotBorderDashStyle=aa=q?ja(n,J,K):"none";b.showValues=e(d.showvalues,h.showvalues,1);b.valuePadding=e(h.valuepadding,2);b.enableAnimation=g=e(h.animation,h.defaultanimation,1);b.animation=g?{duration:1E3*e(h.animationduration,1)}:!1;ga.transposeAnimation=b.transposeAnimation=e(h.transposeanimation,ga.transposeAnimation,g);b.transposeAnimDuration=
1E3*e(h.transposeanimduration,.2);b.showTooltip=e(h.showtooltip,1);b.stack100Percent=e(f.stack100percent,h.stack100percent,0);b.definedGroupPadding=Ga(e(h.plotspacepercent),0);b.plotSpacePercent=Ga(e(h.plotspacepercent,20)%100,0);b.maxColWidth=e(h.maxcolwidth,50);b.showPercentValues=e(h.showpercentvalues,0);b.showPercentInToolTip=e(h.showpercentintooltip,0);b.plotPaddingPercent=e(h.plotpaddingpercent);b.rotateValues=e(h.rotatevalues)?270:0;b.placeValuesInside=e(h.placevaluesinside,0);b.parentYAxis=
ga="s"===c(d.parentyaxis&&d.parentyaxis.toLowerCase(),"p")?1:0;la||(la=this.components.data=[]);b.zLine=Cb={step:!0,data:[],dashStyle:"1"===h.connectordashed?ja(e(h.connectordashlen,2),e(h.connectordashgap,2),S):"none",useForwardSteps:!0,color:L(c(h.connectorcolor,"000000"),c(h.connectoralpha,100)),lineWidth:S};for(f=0;f<k;f+=1)ea=r[f],Y=oa.getCleanValue(ea.value),C=e(ea.issum,0),ea.vline||C?delete ea._value:(ra+=Y,ea._value=Y);eb=oa.dataLabels(ra);qa&&(qa=!0,k+=1,ma={label:sa(h.sumlabel,"Total"),
_value:ra,value:ra,issum:1,cumulative:1});for(Ba=f=0;f<k;f+=1)ea=r[f],S=(Y=la[f])&&Y.config,Y||(Y=la[f]={graphics:{}}),Y.config||(S=la[f].config={}),!ea&&qa&&(ea=r[f]=ma),g=c(ea.color,z.getPlotColor(f)),Y.vline||(Y=ea._value,delete ea._value,S.issum=C=e(ea.issum,0),E=S.isCumulative=e(ea.cumulative,1),C?(Y=E?ta:ta===va?ta:ta-va,S.lastComTotal=va,va=ta,Cb.data.push({y:null,x:Ba-.5})):ta+=Y,wa=Ga(wa,ta),Aa=Ma(Aa,ta),S.total=ta,C=S.showLabel=e(ea.showlabel,h.showlabels,1),C=S.dataLabel=v(C?sa(ea.label,
ea.name):a),0<Y?(W=c(ea.color,h.positivecolor,g),0!==P&&(X=c(ea.positivehovercolor,h.positivehovercolor,h.plotfillhovercolor,h.columnhovercolor,W))):(W=c(ea.color,h.negativecolor,g),0!==P&&(X=c(ea.negativehovercolor,h.negativehovercolor,h.plotfillhovercolor,h.columnhovercolor,W))),E=c(ea.alpha,b.plotFillAlpha),I=e(ea.dashed,q),Z=e(ea.dashlen,n),pa=J=e(ea.dashgap,J),S.showValue=e(ea.showvalue,b.showValues),S.setValue=V=Y,S.setLink=c(ea.link),S.toolTipValue=V=oa.dataLabels(V,ga),S.setDisplayValue=Ua=
Ja(v(ea.displayvalue)),S.displayValue=c(Ua,V),S.plotBorderDashStyle=I=1===I?ja(Z,pa,K):0===I?"none":aa,S.colorArr=W=m.graphics.getColumnColor(W+","+O.replace(/,+?$/,""),E,R,Q,N,U,T.toString(),0,!1),0!==P&&(Z=c(ea.alpha,ea.hoveralpha,d.hoveralpha,h.plotfillhoveralpha,h.columnhoveralpha,E),pa=c(ea.hovergradientcolor,d.hovergradientcolor,h.plothovergradientcolor,O),!pa&&(pa=""),V=c(ea.hoverratio,d.hoverratio,ea.ratio,h.plothoverratio,R),Ua=e(360-ea.hoverangle,360-d.hoverangle,360-h.plothoverangle,Q),
ba=c(ea.borderhovercolor,d.borderhovercolor,h.plotborderhovercolor,U),da=c(ea.borderhoveralpha,d.borderhoveralpha,h.plotborderhoveralpha,T,E),E=e(ea.borderhoverthickness,d.borderhoverthickness,h.plotborderhoverthickness,K),ia=e(ea.borderhoverdashed,d.borderhoverdashed,h.plotborderhoverdashed),ka=e(ea.borderhoverdashgap,d.borderhoverdashgap,h.plotborderhoverdashgap,n),ha=e(ea.borderhoverdashlen,d.borderhoverdashlen,h.plotborderhoverdashlen,J),ia=ia?ja(ha,ka,E):I,1===P&&X===g&&(X=qb(X,70)),g=m.graphics.getColumnColor(X+
","+pa,Z,V,Ua,N,ba,da.toString(),0,!1),S.setRolloutAttr={fill:w(W[0]),stroke:p&&w(W[1]),"stroke-width":K,"stroke-dasharray":I},S.setRolloverAttr={fill:w(g[0]),stroke:p&&w(g[1]),"stroke-width":E,"stroke-dasharray":ia}),I=S.toolTipValue,g=Ja(v(c(ea.tooltext,d.plottooltext,h.plottooltext))),t?void 0!==g?(E=[1,2,3,5,6,7,20,21,24,25],C={formattedValue:I,label:C,yaxisName:B,xaxisName:A,cumulativeValue:ta,cumulativeDataValue:oa.dataLabels(ta),sum:eb,unformattedSum:ra},g=F(g,E,C,ea,h,d)):g=null===I?!1:C!==
a?C+G+I:I:g=!1,Cb.data.push({y:null===Y?null:ta,x:Ba}),Ba+=1,S.toolText=g,S.setTooltext=g);b.maxValue=wa;b.minValue=Aa;b.connectNullData=e(h.connectnulldata,0);b.showConnectors=e(h.showconnectors,1);b=d.catData;for(f=0;f<b.length;f+=1)d=b[f],r.splice(d.index,0,d.data);l.xAxis[0].setCategory(r);this.maxminFlag=!1},draw:function(){var b,a,c,d=this,f=d.chart,k=f.getJobList(),h=f.config.canvasBottom;c=f.graphics.datasetGroup;var l=d.JSONData,p=d.config,g=d.groupManager,r=d.positionIndex,q=d.chart.config.categories,
n=l.data,t=q&&q.length,A=n&&n.length,G,n=d.visible,F=f.components,I=F.paper,C=F.xAxis[0],E=F.yAxis[0],J=d.components,L,K,N,P=f.graphics,Q=m.Raphael,R=p.showTooltip,O=C.getAxisPosition(0),O=C.getAxisPosition(1)-O,T=p.definedGroupPadding,U=p.plotSpacePercent/200,aa=g.getDataSetPosition(d),ea=p.maxColWidth,O=(1-.01*T)*O||Ma(O*(1-2*U),1*ea),O=e(aa.columnWidth,O/1),V,T=aa.xPosOffset||0,aa=aa.height,fa,S,J=J.data,W,U=E.getAxisBase(),ea=E.yBasePos=E.getAxisPosition(U),X=0,Z=p.showShadow,pa=p.plotBorderThickness,
ca=p.plotRadius,Y=d.graphics.container,da=d.graphics.trackerContainer,ia=d.graphics.dataLabelContainer,ka=d.graphics.shadowContainer;W=P.trackerGroup;var ba,ja,P=!0,la=!1,oa=d.pool||(d.pool={}),ha=function(){!1!==d.visible||!1!==d._conatinerHidden&&void 0!==d._conatinerHidden||(Y.hide(),da.hide(),ka.hide(),ia&&ia.hide(),d._conatinerHidden=!0)},ga=function(){d.drawLabel()},qa=f.get("config","animationObj"),Aa=qa.duration||0,ra=qa.dummyObj,ta=qa.animObj,qa=qa.animType,va,F=F.canvas.config.clip["clip-canvas"].slice(0);
Y||(Y=d.graphics.container=I.group("columns",c),n||Y.hide());Y.attr("clip-rect",F);da||(da=d.graphics.trackerContainer=I.group("col-hot",W),n||da.hide());ka||(ka=d.graphics.shadowContainer=I.group("shadow",c).toBack(),n||ka.hide());p.showConnectors&&d.drawLine();p=Ma(t,A);for(t=0;t<p;t++)if(va=(A=J[t])&&(A.trackerConfig={}),a=A&&A.config,F=(c=A&&A.graphics)&&c.element,a)(G=a.setValue,L=0<=G,null===G)?F&&F.hide():(W=a.setLink,ba=a.colorArr,A.graphics||(J[t].graphics={}),b=a.displayValue,K=L?a.previousPositiveY:
a.previousNegativeY,a.issum?a.isCumulative||(K=a.lastComTotal):K=J[t-1]&&J[t-1].config.total,V=E.getAxisPosition(K||U),L=C.getAxisPosition(t)+T,0!==aa?(K=E.getAxisPosition(G+(K||0)),fa=Pa(V-K)):(fa=0,K=V),K=Ma(K,V),bb(K+fa)>=h&&(fa+=pa/2),g.isCrisp?(N=Q.crispBound(L,K,O,fa,pa),L=N.x,K=N.y,V=N.width,fa=N.height):V=O,S=a.toolText,ja=a.plotBorderDashStyle,va.eventArgs={index:t,link:W,value:G,displayValue:b,categoryLabel:q[t].label,toolText:S,id:"",datasetIndex:r,datasetName:l.seriesname,visible:n,setRolloutAttr:a.setRolloutAttr,
setRolloverAttr:a.setRolloverAttr},Aa||(ea=K,X=fa),G={ishot:!R,fill:w(ba[0]),stroke:w(ba[1]),"stroke-width":pa,"stroke-linejoin":"miter",visibility:n},a={x:L,y:ea,width:V,height:X||1,r:ca,"stroke-dasharray":ja},A._xPos=L,A._yPos=K,A._height=fa,A._width=V,b=!1,F?(la=!0,a.y=K,a.height=fa||1,F.attr(G).animateWith(ra,ta,a,Aa,qa,P&&ha)):(oa.element&&oa.element.length?F=c.element=oa.element.shift():(F=c.element=I.rect(Y),b=!0),F.show().attr(G).attr(a),Aa?(F.animateWith(ra,ta,{y:K,height:fa||1},Aa,qa,P&&
ga),P=!1):la=!0),F.shadow({opacity:Z},ka).data("BBox",N),W||R?(fa<B&&(K-=(B-fa)/2,fa=B),va.attr={x:L,y:K,width:V,height:fa,r:ca,cursor:W?"pointer":"",stroke:v,"stroke-width":pa,fill:v,ishot:!0,visibility:n}):b&&d.attachCallBack.call(F,d,f,A));k.trackerDrawID.push(pb.addJob(d.drawTracker,d,[],m.priorityList.tracker));la&&d.drawLabel()},attachCallBack:function(b,a,c){this.click(b.getPlotClickFn(a)).hover(b.rolloverResponseSetter(c,a),b.rolloutResponseSetter(c,a))},drawTracker:function(){var b,a,c=this.chart,
d=this.config,e=this.components,f=e.pool,h=this.JSONData.data,h=h&&h.length,e=e.data,l=c.components,p=l.paper,g=l.xAxis[0].getCategoryLen(),l=this.graphics.trackerContainer,m,r,q,n,w,t=this.components.removeDataArr||(this.components.removeDataArr=[]),v;q=0;for(v=Ma(g,h);q<v;q++){n=!1;r=(a=e[q])&&a.config;m=a&&a.trackerConfig;g=(b=a&&a.graphics)&&b.element;w=b&&b.hotElement;b=m&&m.eventArgs;if(null===r.setValue)w&&w.hide();else if(m=m.attr)w?w.attr(m):f&&f.hotElement&&f.hotElement[0]?(w=a.graphics.hotElement=
f.hotElement[0],f.hotElement.splice(0,1),w.attr(m)):(w=a.graphics.hotElement=p.rect(m,l),n=!0),w.show(),n&&this.attachCallBack.call(w||g,this,c,a);!(a=b&&b.toolText)&&b&&(b.toolText="");b&&(w||g).tooltip(a).data("eventArgs",b).data("hoverEnabled",0!==d.showHoverEffect).data(Ha,b.setRolloverAttr).data(Sa,b.setRolloutAttr).data("setElem",g).data("dataset",this)}e.length>h&&t.push(e.pop());t.length&&this.remove()},drawLine:function(){var b=this.chart,a=b.components,c=b.graphics,d=this.config,f=a.paper,
k,h,l=a.xAxis[0],a=a.yAxis[0],p=a.getAxisBase();k=a.getAxisPosition(p);var p=this.graphics.lineContainer,g=d.definedGroupPadding,m=d.plotSpacePercent/200,r=l.getAxisPosition(0),r=l.getAxisPosition(1)-r,q=d.maxColWidth,g=((1-.01*g)*r||Ma(r*(1-2*m),1*q))/2,n=d.zLine,d=d.connectNullData,m=n.data,r=m.length,q=this.graphics,w=n.dashStyle,t=n.color,n=n.lineWidth,v,A=q.zLine,B=null,G=[],F=[],I=b.get("config","animationObj"),b=I.duration||0,C=I.dummyObj,E=I.animObj,I=I.animType,c=c.datalabelsGroup;h=q.dataLabelContainer;
h||(h=this.graphics.dataLabelContainer=f.group("datalabel",c));p||(p=q.lineContainer=f.group("line-connector",h));a.yBasePos=k;for(c=0;c<r;c+=1)h=m[c],k=h.y,null===k?(F.length=0,0===d&&(B=null)):(h=e(h.x,c),k=a.getAxisPosition(k),h=l.getAxisPosition(h),h=wa(h,n,n).position,k=wa(k,n,n).position,null!==B?(F.length&&(G=G.concat(F),F.length=0),G.push("M",v,B,"m",-g,0,"H",h,"h",g,"m",0,k-B)):F.push("M",h,k),v=h,B=k);A||(A=q.zLine=f.path(p).attr({path:G,"stroke-linecap":"round","stroke-opacity":0}));A.animateWith(C,
E,{path:G,"stroke-opacity":1,"stroke-dasharray":w,stroke:t,"stroke-linejoin":2<=n?"round":"miter","stroke-width":n},b,I)},hidingPosition:function(){return function(){return{width:0}}},_hoverFunc:function(b,a,c){var d=b.graphics[nb]||b.graphics[Ea];a="DataPlotRollOver"===a?d.data(Ha):d.data(Sa);c&&b.graphics[Ea].attr(a)}},"Column"]);FusionCharts.register("component",["dataset","Bar2D",{type:"bar",draw:function(){var b=this,d=b.JSONData,f=b.chart.jsonData.chart,l=b.config,r=b.groupManager,k=b.index,
h=d.data,z=b.chart.config.categories,p,g,q,n,t=b.chart,A=t.getJobList(),G=t.config,F=t.components.paper,I=t.components.xAxis[0],C=t.components.yAxis[0];p=t.graphics.columnGroup;var E=t.config.isstacked,J,L,K,N=t.graphics,P=m.parseUnsafeString,O=m.getValidValue,Q=m.Raphael,R=G.showtooltip,T=I.getAxisPosition(0),U=I.getAxisPosition(1),aa=l.groupMaxWidth=Pa(U-T),fa=l.definedGroupPadding,ea=G.plotspacepercent/200,V=r.getDataSetPosition(b),l=r.stackSumValue[b.positionIndex],ca=G.maxcolwidth,S=t.get(hb,
Na),t=S.animType,T=S.animObj,U=S.dummyObj,S=S.duration,aa=(1-.01*fa)*aa||Ma(aa*(1-2*ea),1*ca),aa=e(V.columnWidth,aa/1),W,fa=V.xPosOffset||0,V=V.height,X,ea=b.components.data,Z,pa,Y,ba,da,ca=C.getLimit(),ia=ca.min,ca=0<ca.max&&0>ia,ia=C.getAxisBase(),ka=C.yBasePos=C.getAxisPosition(ia),ha,ja=0,la=G.plotborderthickness,oa=la/2,ga=G.useroundedges,qa=b.graphics.container,wa=b.graphics.trackerContainer,Aa=b.graphics.dataLabelContainer,ra=b.graphics.shadowContainer;n=N.trackerGroup;var ta,N=b.visible,va=
!0,eb=!1,sa=(b.components.removeDataArr||[]).length,ma=b.components.pool||[],G=G.showplotborder,Ba,Ja=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(qa.hide(),wa.hide(),ra.hide(),Aa&&Aa.hide(),b._conatinerHidden=!0)},Ga=function(){r.drawSumValueFlag&&r.drawSumValue()};qa||(qa=b.graphics.container=F.group(Oa,p),N||qa.hide());wa||(wa=b.graphics.trackerContainer=F.group(Da,n),N||wa.hide());ra||(ra=b.graphics.shadowContainer=F.group(fb,p).toBack(),N||ra.hide());N&&(qa.show(),
wa.show(),ra.show());p=I.getCategoryLen();for(n=0;n<p;n++)if(g=h&&h[n],q=(da=(Z=ea[n])&&Z.config)&&da.setValue,void 0!==Z&&void 0!==q&&null!==q){Ba=Z.trackerConfig={};!Z||void 0!==q&&null!==q||(Z.graphics&&Z.graphics.element&&Z.graphics.element.hide(),Z.graphics&&Z.graphics.hotElement&&Z.graphics.hotElement.hide());Y=da.setLink;ta=da.colorArr;X=0<=q;Z.graphics||(ea[n].graphics={});ba=da.displayValue;W=X?da.previousPositiveY:da.previousNegativeY;pa=O(P(c(g.tooltext,d.plottooltext,f.plottooltext)));
E&&(W=b._parseValues(n,W,l[n],pa),q=da.value);ha=C.getAxisPosition(W||ia);g=I.getAxisPosition(n)+fa;0!==V?(L=C.getAxisPosition(q+(W||0)),J=Math.abs(ha-L)):(J=0,L=ha);L=Math.min(L,ha);0<J-la&&0<la&&(ca?E?(L+=oa,X||W)?X&&(J=J-la+1,W&&(L=L-la+1)&&(J=J+la-1)):J-=la:(L+=oa,J-=la):X&&(L-=oa));r.isCrisp?(K=Q.crispBound(g,L,aa,J,la),g=K.x,L=K.y,W=K.width,J=K.height):W=aa;X=!1!==da.toolText&&da.toolText+(pa?"":da.toolTipValue);pa=da.plotBorderDashStyle;Ba.eventArgs={index:n,link:Y,value:q,displayValue:ba,
categoryLabel:z[n].label,toolText:X?X:"",id:a,datasetIndex:k,datasetName:d.seriesname,visible:N};S||(ka=L,ja=J);q={x:ka,y:g,width:ja||1,height:W,r:ga,ishot:!R,fill:w(ta[0]),stroke:w(ta[1]),"stroke-width":G?la:0,"stroke-dasharray":pa,"stroke-linejoin":Fb,visibility:La};Z._xPos=L;Z._yPos=g;Z._height=W;Z._width=J;if(Z.graphics.element){eb=!0;Z=Z.graphics.element;q={x:L,y:g,height:W};if(!0===b.visible||0===V||E)q.width=J;Z.animateWith(U,T,q,S,t,va&&Ja);Z.attr({ishot:!R,fill:w(ta[0]),stroke:w(ta[1]),"stroke-width":G?
la:0,"stroke-dasharray":pa,"stroke-linejoin":Fb,visibility:La});da.elemCreated=!1}else ma.element&&ma.element.length?(Z=Z.graphics.element=ma.element.shift(),Z.show()):Z=Z.graphics.element=F.rect(qa),Z.attr(q),Z.animateWith(U,T,{x:L,width:J||1},S,t,va&&Ga),da.elemCreated=!0,va=!1;Z.shadow(da.shadow,ra).data("BBox",K);if(Y||R)J<B&&(L-=(B-J)/2,J=B),Ba.attr={x:L,y:g,width:J,height:W,r:ga,cursor:Y?"pointer":a,stroke:v,"stroke-width":G?la:0,fill:v,ishot:!0,visibility:N}}A.trackerDrawID.push(pb.addJob(b.drawTracker,
b,[],m.priorityList.tracker));b.drawn?b.drawLabel():A.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label));b.drawn=!0;r.drawSumValueFlag&&eb&&r.drawSumValueFlag&&r.drawSumValue();sa&&b.remove()},drawLabel:function(){var b=this.chart,c=b.graphics,d=b.config,f=b.components.canvas.config,l=b.config.dataLabelStyle,k=this.JSONData.data,h=b.config.categories,m=b.is3D,p=b.config.isstacked,g=h&&h.length,r=k.length,h=this.components.data,q=b.components.paper,n=b.linkedItems.smartLabel,w,t,v=
f.yDepth,f=f.xDepth,A=b.components.numberFormatter,B=a,G,F=d.placevaluesinside,I=d.canvasWidth,C=d.canvasLeft,E,d=d.valuepadding+2,J,L,Q,K=b.get(hb,Na),b=K.duration,N=K.animType,P=K.dummyObj,K=K.animObj,O=this.graphics.dataLabelContainer,T,ea,V=this.components.pool||{};Q=this.visible;c=c.datalabelsGroup;O||(O=this.graphics.dataLabelContainer=q.group(rb,c),Q||O.hide());Q&&O.show();n.setStyle(l);c=g<r?g:r;for(g=0;g<c;g++)if(w=h[g],void 0!==w&&(r=w.graphics))if(G=k[g],J=w._yPos,Q=w._xPos,t=w.config,
L=A.getCleanValue(G.value),G=0>e(L),E=w._height,w=w._width,T=p?wb:G?F?Ra:db:F?db:Ra,B=t.displayValue,ea=r.label,t.showValue&&void 0!==B&&null!==B&&B!==a&&null!==L){t={text:B,fill:l.color,"text-bound":[l.backgroundColor,l.borderColor,l.borderThickness,l.borderPadding,l.borderRadius,l.borderDash],"line-height":l.lineHeight,visibility:La};B=n.getOriSize(B);B=B.width;B+=d;ea=d;J+=.5*E;E=Q+(G?0:w);L=G?Q-C:C+I-(Q+w);p?(E+=.5*(G?w:-w),E=Ga(C+.5*B,E),E=Ma(C+I-.5*B,E),E-=m?f:0,J+=m?v:0):F?w>=B?(E+=G?ea:-ea,
m&&(J+=v,E-=f)):B<L?(E+=G?-ea:ea,T=G?db:Ra,m&&G&&(E-=f)):(G?(E=Q+w+Ga(B-Q-w+C,0)-ea,T=db):(E=Q-Ga(B-(C+I-Q),0)+ea,T=Ra),m&&(E-=f,J+=v)):L>=B?(E+=G?-ea:ea,m&&G&&(E-=f,J+=f)):(E+=G?ea+B:-(ea+B),m&&(E-=f,J+=v));if(E>C+I||E<C)E=C+4,T=Ra;t["text-anchor"]=T;(ea=r.label||V.label&&V.label.shift())?ea.show().animateWith(P,K,{x:E,y:J},b,N).attr(t):(t.x=E,t.y=J,r.label=q.text(t,O))}else ea&&ea.hide()},remove:function(){var b=this.components,a=b.removeDataArr,c=b.pool||(b.pool={element:[],hotElement:[],label:[]}),
d=a.length,e,f=this.maxminFlag,h,l,p;for(p=0;p<d;p++)if(e=a[0],a.splice(0,1),e&&e.graphics){l=e.graphics;for(h in l)l[h].hide();e.graphics.element&&(c.element=c.element.concat(e.graphics.element));e.graphics.hotElement&&(c.hotElement=c.hotElement.concat(e.graphics.hotElement));e.graphics.label&&(c.label=c.label.concat(e.graphics.label))}b.pool=c;f&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",["dataset","Bar3D",{draw:function(){var b=this,d=b.JSONData,f=b.chart.jsonData.chart,l=
b.config,r=b.groupManager,k=b.index,h=d.data,z=b.chart.config.categories,p,g,q,n,t=b.chart,A=t.getJobList(),G=t.config,F=t.components.paper,I=t.components.xAxis[0],C=t.components.yAxis[0];n=t.graphics.columnGroup;var E=G.isstacked,J,L,K=t.graphics,N=m.parseUnsafeString,P=m.getValidValue,O=G.showtooltip,Q=I.getAxisPosition(0),R=I.getAxisPosition(1),T=l.groupMaxWidth=Pa(R-Q),U=l.definedGroupPadding,aa=G.plotspacepercent/200,fa=r.getDataSetPosition(b),l=r.stackSumValue[b.positionIndex],ea=G.maxcolwidth,
V=t.get(hb,Na),Q=V.animType,R=V.animObj,ca=V.dummyObj,V=V.duration,T=(1-.01*U)*T||Ma(T*(1-2*aa),1*ea),T=e(fa.columnWidth,T/1),S,U=fa.xPosOffset||0,fa=fa.height,W,aa=b.components.data,X,Z,pa,Y,ia,ea=C.getLimit(),da=ea.max,ba=ea.min,ea=C.getAxisBase(),ka=C.yBasePos=C.getAxisPosition(ea),ha=0,ja=G.plotborderthickness,la=b.graphics.container,oa=b.graphics.dataLabelContainer,ga=b.graphics.shadowContainer,wa=K.trackerGroup,sa,Aa,ra,ta,va=G.use3dlighting,K=!0,eb=!1,Ba=b.visible,Ja=(b.components.removeDataArr||
[]).length,Ga=b.components.pool||[],Da=G.showplotborder,Ha,Ea=function(){var a,c;if(!1===b.visible&&(!1===b._conatinerHidden||void 0===b._conatinerHidden)){oa&&oa.hide();a=b.components.data;for(c=0;c<p;c++)a[c]&&a[c].graphics&&a[c].graphics.element&&a[c].graphics.element.attr("visibility",Va),a[c]&&a[c].graphics&&a[c].graphics.hotElement&&a[c].graphics.hotElement.attr("visibility",Va);ga.hide();b._conatinerHidden=!0}},Ia=function(){var a=b.components.data,c;for(c=0;c<p;c++)a[c]&&a[c].graphics&&a[c].graphics.element&&
a[c].graphics.element.attr("fill",[w(a[c].config.colorArr[0]),!va]);r.drawSumValueFlag&&r.drawSumValue()};la||(la=b.graphics.container=t.datasetLayers=t.datasetLayers||F.group(Oa,n));ga||(ga=b.graphics.shadowContainer=F.group(fb,n).toBack());p=I.getCategoryLen();if(Ba)for(n=0;n<p;n++)aa[n].graphics&&aa[n].graphics.element&&aa[n].graphics.element.attr("visibility",La),aa[n].graphics&&aa[n].graphics.hotElement&&aa[n].graphics.hotElement.attr("visibility",La);X=la.negative=la.negative||F.group(Qa,la);
pa=la.column=la.column||F.group(qa,la);ia=wa.negative=wa.negative||F.group(Qa,wa);wa=wa.column=wa.column||F.group(qa,wa);0>ba&&0<=da?(n=la.zeroPlane)?(n=[ka-5,t.config.canvasTop+5,1,t.config.canvasHeight,5,5,n],r.graphics.zeroplane.show(),r.graphics.zeroplane._.cubetop.show(),r.graphics.zeroplane._.cubeside.show(),r.graphics.zeroplane.animateWith(ca,R,{cubepath:n},V,Q),r.graphics.zeroplane.attr({fill:[G.zeroPlaneColor,!va],stroke:G.zeroPlaneBorderColor||"none","stroke-width":G.zeroPlaneShowBorder?
1:0})):(n=la.zeroPlane=F.group(kb,la).insertBefore(pa),!r.graphics&&(r.graphics={}),r.graphics.zeroplane=F.cubepath(ka-5,t.config.canvasTop+5,1,t.config.canvasHeight,5,5,n).attr({fill:[G.zeroPlaneColor,!va],stroke:G.zeroPlaneBorderColor||"none","stroke-width":G.zeroPlaneShowBorder?1:0})):r.graphics&&r.graphics.zeroplane&&r.graphics.zeroplane.hide()&&r.graphics.zeroplane._.cubetop.hide()&&r.graphics.zeroplane._.cubeside.hide();(t=X.data(ma))||(X.data(ma,Array(p)),t=X.data(ma));(da=pa.data(ma))||(pa.data(ma,
Array(p)),da=pa.data(ma));(la=ia.data(ma))||(ia.data(ma,Array(p)),la=ia.data(ma));(ba=wa.data(ma))||(wa.data(ma,Array(p)),ba=wa.data(ma));for(n=0;n<p;n+=1)t[n]=t[n]||F.group(X),da[n]=da[n]||F.group(pa),la[n]=la[n]||F.group(ia),ba[n]=ba[n]||F.group(wa);n=0;for(Aa=p-1;n<p;n++,Aa--)if(g=h&&h[n],Z=(ia=(X=aa[n])&&X.config)&&ia.setValue,void 0!==X&&void 0!==Z&&null!==Z){Ha=X.trackerConfig={};!X||void 0!==Z&&null!==Z||(X.graphics&&X.graphics.element&&(X.graphics.element.hide(),X.graphics.element._.cubeside.hide(),
X.graphics.element._.cubetop.hide()),X.graphics&&X.graphics.hotElement&&X.graphics.hotElement.hide());pa=ia.setLink;wa=ia.colorArr;X.graphics||(aa[n].graphics={});Y=ia.displayValue;J=0<=Z?ia.previousPositiveY:ia.previousNegativeY;W=P(N(c(g.tooltext,d.plottooltext,f.plottooltext)));E&&(J=b._parseValues(n,J,l[n],W),Z=ia.value);S=C.getAxisPosition(J||ea);g=I.getAxisPosition(n)+U;0!==fa?(L=C.getAxisPosition(Z+(J||0)),J=Math.abs(S-L)):(J=0,L=S);L=Math.min(L,S);S=T;(Ha.isNegative=ra=0>Z)?(q=t,sa=la):(q=
da,sa=ba);Ha.targetGroupTracker=sa;W=!1!==ia.toolText&&ia.toolText+(W?"":ia.toolTipValue);Ha.eventArgs={index:n,link:pa,value:Z,displayValue:Y,categoryLabel:z[n].label,toolText:W?W:"",id:a,datasetIndex:k,datasetName:d.seriesname,visible:Ba};V||(ka=L,ha=J);Y=g;W=L;sa=S;ta=J;g+=5;L-=5;X.graphics.element?(eb=!0,Z=X.graphics.element,q[Aa].appendChild(Z._.cubetop),q[Aa].appendChild(Z._.cubeside),q[Aa].appendChild(Z),q={cubepath:[L,g,!0===b.visible||0===fa||E?J:Z.attrs.cubepath[2],S,5,5]},Z.animateWith(ca,
R,q,V,Q,K&&Ea),Z.attr({fill:[w(wa[0]),!va],ishot:!0,stroke:Da&&w(wa[1]),"stroke-width":Da?G.plotborderthickness:0,"stroke-dasharray":ia.plotBorderDashStyle,cursor:pa?"pointer":a}),ia.elemCreated=!1):(Ga.element&&Ga.element.length?(Z=X.graphics.element=Ga.element.shift(),q[Aa].appendChild(Z._.cubetop),q[Aa].appendChild(Z._.cubeside),q[Aa].appendChild(Z),Z.show()):Z=X.graphics.element=F.cubepath(q[Aa]),Z.attr({cubepath:[V?ka-5:L,g,V?0:ha,S,5,5],fill:[w(wa[0]),!va],ishot:!0,stroke:Da&&w(wa[1]),"stroke-width":Da?
G.plotborderthickness:0,"stroke-dasharray":ia.plotBorderDashStyle,cursor:pa?"pointer":a,visibility:Ba?La:Va}),Z.animateWith(ca,R,{cubepath:[L,g,J,S,5,5]},V,Q,K&&Ia),K=!1,X._newXPos=g,ia.elemCreated=!0);Z.shadow(ia.shadow,ga).data("BBox",{height:S,width:ha,x:L,y:g});if(pa||O)J<B&&(L-=(B-J)/2,J=B),Ha.attr={path:Ya([L,g,J,S,5,5]),cursor:pa?"pointer":a,stroke:ja&&v||za,"stroke-width":Da?G.plotborderthickness:0,fill:v,ishot:!0};E&&!ra||Z.toBack();X._xPos=W;X._yPos=Y;X._height=sa;X._width=ta}A.trackerDrawID.push(pb.addJob(b.drawTracker,
b,[],m.priorityList.tracker));b.drawn?b.drawLabel():A.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label));b.drawn=!0;r.drawSumValueFlag&&eb&&r.drawSumValueFlag&&r.drawSumValue();Ja&&b.remove()},drawTracker:function(){var b=this.chart,a=this.components.data,c=b.config,d=c.isstacked,c=c.plothovereffect,e=b.components,f=e.paper,e=e.xAxis[0].getCategoryLen(),h,l,p,g,m,r,q,n,w,t,v=this.components.pool||[],B=function(a){ia.call(this,b,a)},A=function(a){return function(c){var d=this.getData();
0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),ia.call(this,b,c,"DataPlotRollOver"))}},G=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),ia.call(this,b,c,"DataPlotRollOut"))}};g=0;for(p=e-1;g<e;g++,p--)if(m=a[g],void 0!==m&&(l=m&&m.config,h=m.trackerConfig,r=m.graphics)){r=m.graphics.element;t=h.targetGroupTracker;if(w=h.attr)m.graphics.hotElement?(n=m.graphics.hotElement,t[p].appendChild(n),
n.attr(w),q=!1):(v.hotElement&&v.hotElement.length?(n=m.graphics.hotElement=v.hotElement.shift(),t[p].appendChild(n),n.show()):(n=m.graphics.hotElement=f.path(t[p]),q=!0),n.attr(w));n=m.graphics.hotElement;(n||r).data("eventArgs",h.eventArgs).data(Ba,c).data(Ha,l.setRolloverAttr||{}).data(Sa,l.setRolloutAttr||{}).tooltip(h.eventArgs&&h.eventArgs.toolText);(q||l.elemCreated)&&(n||r).click(B).hover(A(r),G(r));(!d||h.isNegative)&&n&&n.toBack()}},remove:function(){var b=this,a=b.components,c=a.removeDataArr,
d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),e=c.length,f=b.config.groupMaxWidth,h,l=b.maxminFlag,p,g,m;(function(){return!1===b.endPosition?function(){return{x:h._xPos-f*e}}:!0===b.endPosition?function(){return{x:h._xPos+f*e||0}}:function(){return{width:0}}})();for(m=0;m<e;m++)if(h=c[0],c.splice(0,1),h&&h.graphics){g=h.graphics;for(p in g)g[p].hide();h.graphics.element&&(d.element=d.element.concat(h.graphics.element));h.graphics.hotElement&&(d.hotElement=d.hotElement.concat(h.graphics.hotElement));
h.graphics.label&&(d.label=d.label.concat(h.graphics.label))}a.pool=d;l&&b.setMaxMin()}},"Bar2D"]);FusionCharts.register("component",["datasetGroup","Column",{init:function(){this.positionStackArr=[];this.stackSumValue=[];this.stackConfig=[];this.drawSumValueFlag=!0},addDataSet:function(b,a,c){var d=this.positionStackArr[a];b.groupManager=this;b.positionIndex=a;b.stackIndex=c;d||(d=this.positionStackArr[a]=[]);d[c]={dataSet:b}},removeDataSet:function(b,a,c){var d=this.positionStackArr[b];d&&d[a]&&
d.splice(a,c);0===d.length&&this.positionStackArr.splice(b,1)},draw:function(){var b=this.positionStackArr,a=b.length,c,d,e,f,h=this.chart;c=h.config.viewPortConfig.scaleX||1;d=h.graphics.columnGroup;f=h.graphics;e=h.components.canvas.config.clip["clip-canvas"].slice(0);f=f.datalabelsGroup;var l=h.get("config","animationObj"),h=l.animType,p=l.animObj,g=l.dummyObj,m=e[2],l=l.duration;e[2]*=c;d.attrs["clip-rect"]||d.attr({"clip-rect":e});f.attrs["clip-rect"]||f.attr({"clip-rect":[e[0],0,m,e[3]+e[1]]});
d.animateWith(g,p,{"clip-rect":e},l,h);f.animateWith(g,p,{"clip-rect":[e[0],0,m,e[3]+e[1]]},l,h);this.preDrawCalculate();this.drawSumValueFlag=!0;for(c=0;c<a;c++)for(d=b[c],e=d.length,this.manageClip=!0,d=0;d<e;d++)f=b[c][d].dataSet,f.draw()},getDataSetPosition:function(b){var a=this.numVisiblePositions,c=this.stackConfig[b.positionIndex||0];b=b.visible;var d;if(c){if(!b&&c.visible||0===a)d=0;return{xPosOffset:c.xPosOffset,columnWidth:c.columnWidth,height:d}}},preDrawCalculate:function(){var b=this.chart,
a=b.config.transposeAxis,c=this.stackConfig,d=this.stackSumValue,f=this.positionStackArr,k=this.sumValues=[],h=this.dataLimits=[],l=!1,p=b.config.isstacked,g=f.length,m,r,q,n,w,t,v,B,A,G,F,I,C,E,J,L,K,N=b.isBar,P=b.jsonData.chart,O=b.components.xAxis[0],T=e(N?P.overlapbars:P.overlapcolumns,b.is3D?0:1),U=O.getAxisPosition(0),V=O.getAxisPosition(1),aa=Pa(V-U),S=Ga(e(P.plotspacepercent),0),W=e(P.plotpaddingpercent),U=Ga(e(P.plotspacepercent,20)%100,0),X=U/200,Z,V=!0,pa,fa,ca;for(v=this.numVisiblePositions=
0;v<g;v++){B=f[v].length;L=c[v]||(c[v]={});L.visible=!1;L.previousVisibleCount=this.numVisiblePositions;fa=[];for(K=0;K<B;K++)if(ca=Infinity,n=f[v][K],pa=n.dataSet.yAxis,n&&!1!==n.dataSet.visible&&(L.visible=!0),p){t=f[v][K+1];A=K;for(l=!1;0<=A&&!l;)l=(m=f[v][--A])&&m.dataSet.visible;w=n&&n.dataSet.components.data;J=t&&t.dataSet.components.data;G=n.dataSet.components.data;F=m&&m.dataSet.components.data;G||(G=n.dataSet.components.data=[]);I=w&&w.length;for(t=0;t<I;t++){(C=G[t])||(C=G[t]={config:{}});
E=F&&F[t];if(!E)for(;0<=A&&!E;)if(l=(m=f[v][--A])&&m.dataSet.visible)E=(F=m&&m.dataSet.components.data)&&F[t];C=C.config;C.value=l=pa.getCleanValue(w[t].config.setValue);q=(E=E&&E.config)&&E.value;!fa[t]&&(fa[t]=(q||0===q)&&!0);r=(E&&E.previousPositiveY||0)+(E&&(0<q?q:0)||0);q=(E&&E.previousNegativeY||0)+(E&&(0>q?q:0)||0);C.previousPositiveY=r;C.previousNegativeY=q;ca=Ma(ca,(q||r)+C.setValue);J&&J[t]&&J[t].config.setValue||(d[v]||(d[v]=[],d[v].parentYAxis=n.dataSet.config.parentYAxis),d[v][t]=r+(n.dataSet.visible&&
Pa(l))+Pa(q),!d[v][t]&&(d[v][t]=1),k&&(k[v]||(k[v]=[]),k[v][t]=k[v][t]||{},null!==l&&(C=n.dataSet.visible,k[v][t].visible=fa[t]||C&&!0,k[v][t].positive=r+(0<=l?C&&l:0),k[v][t].negative=q+(0>l?C&&l:0))))}t=f[v][K+1];A=K;if(!a)for(m=f[v][K-1],w=n&&n.dataSet.components.data,J=t&&t.dataSet.components.data,G=n.dataSet.components.data,F=m&&m.dataSet.components.data,I=w&&w.length,t=0;t<I;t++){C=G[t];E=F&&F[t];if(!E)for(;0<=A&&!E;)E=(F=(m=f[v][--A])&&m.dataSet.components.data)&&F[t];C=C.config;C.value=l=
pa.getCleanValue(w[t].config.setValue);E=E&&E.config;ca=Ma(ca,(q||r)+C.setValue);Z=(E&&E.previousPositiveDataLimit||0)+(E&&(0<E.value?E.value:0)||0);E=(E&&E.previousNegativeDataLimit||0)+(E&&(0>E.value?E.value:0)||0);C.previousPositiveDataLimit=Z;C.previousNegativeDataLimit=E;J&&J[t]&&J[t].config.setValue||!h||(h[v]||(h[v]=[],h[v].parentYAxis=n.dataSet.config.parentYAxis),h[v][t]=h[v][t]||{},null!==l&&(h[v][t].positive=Z+(0<=l?l:0),h[v][t].negative=E+(0>l?l:0)))}ca&&(n.dataSet.config.minValue=ca)}L.visible&&
(this.numVisiblePositions+=1)}a&&(this.dataLimits=this.sumValues);a=this.numVisiblePositions;v=Pa(e(N?P.maxbarheight:P.maxcolwidth,b.maxColWidth||50));b=(1-.01*S)*aa||Ma(aa*(1-2*X),v*(a||1));N=b/2;P=0===a?b:b/a;T=Ma(P-1,1<a?T||void 0!==W?0<W?P*W/100:0:4:0);for(v=0;v<g;v++)c=this.stackConfig[v],W=c.previousVisibleCount,c.xPosOffset=W*P-N+T/2,P-=T,c.columnWidth=c.visible||0===a?P:0,P+=T;g=O.getAxisPosition(0)-N;4>O.getAxisPosition(1)-N-(g+b)&&(V=!1);"0"==U&&(V=!0);this.isCrisp=V},getMaxSumValueSpace:function(){var b=
this.stackSumValue,a=this.chart,c={},d=b.length,e=a.components.numberFormatter,f,h=0,l=0,p,g,m,r=a.linkedItems.smartLabel;p=a.config.dataLabelStyle;r.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);r.setStyle(p);for(a=0;a<d;a++)for(p=b[a],m=p.length,g=0;g<m;g++)c=p[g],c=e.dataLabels(c),c=r.getOriSize(c),f=c.width,c=c.height,l=Ga(l,f),h=Ga(h,c);return{maxWidth:l,maxHeight:h}},drawSumValue:function(){var b=this.chart,a=b.components,c=a.paper,d=this.positionStackArr,f=this.stackConfig,k=b.linkedItems.smartLabel,
h,l=b.config.rotatevalues?270:0,a=a.xAxis[0],p,g=b.config.isstacked,m,r=b.config.dataLabelStyle,q,n,w,t,v,A,B,G,F,E,C=this.sumValuesDrawn,I,J,L,K,N=a.getPVR(),P,O=this.pool,T=!1,U=!1,V=b.get("config","animationObj"),aa=V.duration,S=V.dummyObj,W=V.animObj,V=V.animType,X=b.config.stack100percent,Z;w=e(b.jsonData.chart.showsum,b.showsum,0);var pa=1,fa=!1,ca=this.sumValues,da=b.config.canvasTop,Y=b.components.canvas.config.clip["clip-canvas"].slice(0),ka,ia=b.graphics.sumLabelsLayer;Y[1]=0;Y[3]+=da;this.drawSumValueFlag=
!1;if(g)if(w){ia.css(r);k.setStyle(r);ia.show();!this.graphics&&(this.graphics={});h=this.graphics.sumLabels;g=this.graphics.sumLabelContainer;h||(h=this.graphics.sumLabels=[]);g||(g=this.graphics.sumLabelContainer=[]);fa=h.length;w=ca.length;if(fa>w)for(;w<fa;w++){da=h[w].length;for(t=0;t<da;t++)p=h[w][t]||{},(E=p.element)&&E.hide();(da=g[w])&&da.hide();h.pop();g.pop()}da=d.length;for(w=0;w<da;w++){(h=g[w])||(h=g[w]=this.graphics.sumLabelContainer[w]||c.group("sumlabels",ia));b.isRealTime&&h.attr({"clip-rect":Y});
t=d[w][0].dataSet;p=t.yAxis;m=ca[w];A=a.getCategoryLen();v=this.graphics.sumLabels[w]=this.graphics.sumLabels[w]||[];F=0;f[w].visible||(U=!0);Z=f[w].xPosOffset;P=f[w].columnWidth;L=a.getPixel(A-1)+Z;I=t.addDataArr&&t.addDataArr.length;T=t.startPosition;J=this.removedSumLabels&&this.removedSumLabels[w]&&this.removedSumLabels[w].length;for(t=0;t<A;t++,F++)if(fa=!1,h.show(),B=m[t]||{},E=B.positive,G=B.negative,!v[F]&&(v[F]={}),void 0!==E||void 0!==G)if(n=E+G,n=p.dataLabels(n),K=Pa(G)>E?G:E,E=v[F].element,
!B.visible)E&&E.hide();else if(n||""===n)B=r.backgroundColor,G=r.borderColor,ka=k.getOriSize(n),q=this.getSumValueConfig({xValue:t,columnWidth:P,sumValue:K,xPosOffset:Z,stack100percent:X,yAxis:p}),K=this.getSumValuePosition(ka,{stack100percent:X,rotateValues:l,xPos:q.xPos,yPos:q.yPos,sumValue:K}),q=K.x,n={text:n,fill:r.color,"text-bound":[B,G,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash],"line-height":r.lineHeight,visibility:La},K.transform=c.getSuggestiveRotation(l,q,K.y),E||(O&&
O.sumLabels[w]&&O.sumLabels[w][0]?(v[F].element=E=O.sumLabels[w][0],O.sumLabels[w].shift()):(n.x=q,n.y=K.y,n.transform=K.transform,K["text-anchor"]&&(n["text-anchor"]=K["text-anchor"]),v[F].element=E=c.text(n,h),fa=!0),C&&aa&&(B=T,B=!0===B?NaN-N*(I-w):!1===B?L+N*pa++:q,E.attr({x:B,y:K.y,transform:c.getSuggestiveRotation(l,B,K.y)}))),fa||(E.show().animateWith(S,W,K,aa,V),E.attr(n));J&&this.removeGraphics(w);U&&(h.hide(),U=!1)}}else ia.hide();this.sumValuesDrawn=!0},getSumValueConfig:function(b){var a=
this.chart,c=b.columnWidth,d=b.yAxis,e=a.config.viewPortConfig,f=e.x,h=e.scaleX,e=b.stack100percent,l=b.sumValue,p=b.xPosOffset;b=a.components.xAxis[0].getAxisPosition(b.xValue)+p+f*h;d=d.getAxisPosition(e?100:l);return{xPos:b+.5*c,yPos:d}},getSumValuePosition:function(b,a){var c=this.chart,d=c.config,e=d.canvasBottom,f=d.canvasTop,h=c.is3D,l=a.stack100percent,p=d.yDepth,d=d.xDepth,g=a.yPos,m,r=a.xPos,q=c.components.canvas.config.canvasBorderWidth,n=a.sumValue;m=c=a.rotateValues?b.width:b.height;
m=m/2+2;l?g=f<=c?m:f-m-q:(0<=n&&(f=g-f,g=f<c?g+m-f:g-m),0>n&&(g=e-g<c?g-m:g+m,h&&(r-=d,g+=p)));return{x:r,y:g}},removeGraphics:function(b){var a=this.removedSumLabels||[],c=this.positionStackArr[b][0].dataSet,d=c.endPosition,e=c.config.rotateValues,f=this.chart,c=(f.config.realTimeConfig||{}).clear,h=f.components.paper,l=a[b]&&a[b].length||0,p=f.components.xAxis[0],g=this.pool||(this.pool={sumLabels:[]}),m=p.getPVR(),r=f.get("config","animationObj"),q,f=function(){this.hide()},p=r.dummyObj,n=r.animObj,
w=r.transposeAnimDuration,t=r.animType,v;v=function(){return!1===d?function(b){var a=b.attr("x")-m*l;b=b.attr("y");return{x:a,transform:h.getSuggestiveRotation(e,a,b)}}:function(b){var a=b.attr("x")+m*l||0;b=b.attr("y");return{x:a,transform:h.getSuggestiveRotation(e,a,b)}}}();g.sumLabels||(g.sumLabels=[]);for(r=0;r<l;r++)q=a[b][0]&&a[b][0].element,a[b].splice(0,1),q&&(void 0===d||c?q&&q.hide().attr({"text-bound":[]}):w?q.animateWith(p,n,v(q),w,t,f):(q.stop(),q.hide()),g.sumLabels[b]||(g.sumLabels[b]=
[]),g.sumLabels[b]=g.sumLabels[b].concat(q))},removeSumLabels:function(b,a,c){var d=this.chart,e=(this.graphics||{}).sumLabels||[],f;if(e.length){this.removedSumLabels||(this.removedSumLabels=[]);this.removedSumLabels[c]||(this.removedSumLabels[c]=[]);if(!this.removedSumLabels[c].length||!d.config._sumValuesUpdated||d.config._dataUpdated){for(f=b;f<b+a;f++)e[c].push({});this.removedSumLabels[c]=this.removedSumLabels[c].concat(e[c].splice(b,a))}d.config._sumValuesUpdated=!0}},getDataLimits:function(){var b=
this.chart,a=this.positionStackArr,c,d,e,f,h,l=-Infinity,p=Infinity,g,m,r;c=b.config.isstacked;var b=b.config.transposeAxis,q=-Infinity,n=Infinity;e=h=Infinity;var w;this.preDrawCalculate();f=this.dataLimits;if(c){c=0;for(m=f.length;c<m;c++)for(g=f[c].length,w=f[c].parentYAxis,d=0;d<g;d++)r=f[c][d],void 0!==r.positive&&void 0!==r.negative&&(1===w?(l=Ga(l,r.positive),p=Ma(p,r.negative),e=Ma(e,l)):(q=Ga(q,r.positive),n=Ma(n,r.negative),h=Ma(h,q)));0===n&&(n=h);0===p&&(p=e)}f=a.length;for(c=0;c<f;c++)for(d=
a[c],h=d.length,d=0;d<h;d++)e=a[c][d].dataSet,!1===e.visible&&b||(e=e.config,1===e.parentYAxis?(l=Ga(l,e.maxValue),p=Ma(p,e.minValue)):(q=Ga(q,e.maxValue),n=Ma(n,e.minValue)));this.maxValue=q;this.minValue=n;return{max:q,min:n,sYMax:l,sYMin:p}},manageSpace:function(){var b=this.positionStackArr,a,c,d,e,f=b.length,h={paddingLeft:-Infinity,paddingRight:-Infinity};for(a=0;a<f;a++)for(d=b[a].length,e=0;e<d;e++)c=b[a][e].dataSet,c=c.manageSpace&&c.manageSpace()||{},h.paddingLeft=Ga(c.paddingLeft,h.paddingLeft),
h.paddingRight=Ga(c.paddingRight,h.paddingRight);return h}}]);FusionCharts.register("component",["datasetGroup","realtimecolumn",{},"Column"]);FusionCharts.register("component",["datasetGroup","Waterfall2D",{},"column"]);FusionCharts.register("component",["datasetGroup","Column3d",{},"column"]);FusionCharts.register("component",["datasetGroup","bar2d",{getSumValueConfig:function(b){var a=this.chart,c=b.columnWidth,d=b.yAxis,e=a.config.viewPortConfig,f=e.x,h=e.scaleX,e=b.stack100percent,l=b.sumValue,
p=b.xPosOffset;b=a.components.xAxis[0].getAxisPosition(b.xValue)+p+f*h;d=d.getAxisPosition(e?100:l);return{xPos:d,yPos:b+.5*c}},getSumValuePosition:function(b,a){var c=this.chart,d=c.config,e=d.canvasLeft,f=d.canvasWidth,h=c.is3D,l=a.stack100percent,p=d.yDepth,d=d.xDepth,g,m={},r=a.sumValue,q=a.xPos,n=a.yPos,w=c.components.canvas.config.canvasBorderWidth,c=g=a.rotateValues?b.height:b.width,c=c/2+2;l?(q+=w,m["text-anchor"]=Ra):(0<=r?(e=e+f-q,e<g?(q=q-c+e,h&&(q-=d,n+=p)):q+=c):(e=q-e,e<g?(q=q+c-e-(h?
d:0),n+=h?p:0):(q-=c,h&&(q-=d,n+=p))),m["text-anchor"]=wb);m.x=q;m.y=n;return m}},"column"]);FusionCharts.register("component",["datasetGroup","bar3d",{},"bar2d"]);FusionCharts.register("component",["datasetGroup","scrollcolumn2d",{},"column"]);FusionCharts.register("component",["datasetGroup","Area",{draw:function(){var b=this.chart,a=b.graphics,c=this.positionStackArr,d,f=c.length;d=a.areaGroup;var a=a.columnGroup,k=b.components.paper,b=e(b.jsonData.chart.areaovercolumns,1);d.area=d.area||k.group("area",
d);d.areaConnector=d.areaConnector||k.group("area-connector",d);d.shadows||(d.shadows=k.group("shadow",d).toBack());b?a&&d.insertAfter(a):d.toBack();this.preDrawCalculate();for(d=0;d<f;d++)for(b=c[d],b=b.length,a=0;a<b;a++)k=c[d][a].dataSet,k.draw();this.drawn=!0}},"column"]);FusionCharts.register("component",["datasetGroup","scrollarea2d",{},"Area"]);FusionCharts.register("component",["dataset","area",{type:"area",_parseShadowOptions:function(){var b=this.chart,a=this.config,c=b.jsonData.chart,b=
e(b.defaultPlotShadow,b.components.colorManager.getColor("showShadow"));return{opacity:e(c.showshadow,b)?a.alpha/100:0}},configure:function(){var b=this.chart,a=b.components,d=b.config,f=this.config,l=this.JSONData,k=b.jsonData.chart,h=b.singleseries,r=a.colorManager,p=e(this.index,this.stackIndex),g=e(l.showplotborder,k.showplotborder||1),p=!h||Ja(k.palettecolors)?r.getPlotColor(p):r.getColor("plotFillColor").split(/\s*\,\s*/)[0],q,w=d.isdual,t=d.haslineset;this.__setDefaultConfig();n(l,f,b.config,
{data:!0});f.plotColor=p;f.parentYAxis=w?t?q=1:q="s"===c(l.parentyaxis&&l.parentyaxis.toLowerCase(),"p")?1:0:q=0;this.yAxis=a.yAxis[q];f.valueposition=f.valueposition.toLowerCase();f.plotfillcolor=c(l.color,k.plotfillcolor,p);f.plotgradientcolor=0!==d.useplotgradientcolor?m.getDefinedColor(k.plotgradientcolor,r.getColor("plotGradientColor")):"";f.plotfillalpha=c(l.alpha,d.plotfillalpha);f.fillColor={color:f.plotfillcolor+(f.plotgradientcolor?","+f.plotgradientcolor:""),alpha:f.plotfillalpha,angle:f.plotfillangle};
f.plotborderalpha=g?c(l.plotborderalpha,k.plotborderalpha,l.alpha,k.plotfillalpha,"95"):0;f.plotbordercolor=c(l.plotbordercolor,k.plotbordercolor,k.areabordercolor,h?Ja(k.palettecolors)?r.getPlotColor(0):r.getColor("plotBorderColor").split(/\s*\,\s*/)[0]:"666666");f.plotborderdashstyle=f.dashed?m.getDashStyle(f.plotborderdashlen,f.plotborderdashgap,f.plotborderthickness):"none";f.linecolor=c(l.color,k.linecolor,f.plotColor);f.legendSymbolColor="line"===this.type?f.linecolor:f.plotfillcolor;a=m.getDashStyle(f.linedashlen,
f.linedashgap,f.linethickness);f.lineDashStyle=f.dashed?a:"none";f.shadow=this._parseShadowOptions();f.drawanchors=e(l.drawanchors,l.showanchors,k.drawanchors,k.showanchors);f.anchorbgcolor=c(l.anchorbgcolor,d.anchorbgcolor,r.getColor("anchorBgColor"));f.anchorbordercolor=c(l.anchorbordercolor,d.anchorbordercolor,f.linecolor,f.plotColor);this.components.data=this.components.data||(this.components.data=[]);this.visible=1===e(l.visible,!Number(l.initiallyhidden),1);this._setConfigure();this._realTimeConfigure&&
this._realTimeConfigure();!1!==b.hasLegend&&this._addLegend()},_setConfigure:function(b,a){var d=this.chart,f=m.parseUnsafeString,l=this.config,k=d.config,h=this.JSONData,r=d.jsonData.chart,p=b||h.data||[],g,q=d.components.xAxis[0],n=b?b.data.length:q.getCategoryLen(),w,t,v,B,A,G,F=-Infinity,E=Infinity,C=f(k.yaxisname),I=f(k.xaxisname),J=this.yAxis,L=k.tooltipsepchar,K=k.linedashed,Q;l.imageCount=0;w=this.components.data;w||(w=this.components.data=[]);for(v=0;v<n;v++)b?(d=b&&b.data[v]||{},Q=void 0!==
a?a+v:w.length-n+v,g=w[Q]):(g=w[v],d=p&&p[v]||{}),t=g&&g.config,g||(g=w[v]={}),g.config||(t=w[v].config={}),g.graphics||(g.graphics={}),A=e(Q-n,v),t.setValue=B=J.getCleanValue(d.value,l.stack100percent),t.setLink=c(d.link),t.anchorProps=this._parseAnchorProperties(A),A=q.getLabel(A),t.label=Ja(f(A.tooltext||A.label)),t.showValue=e(d.showvalue,l.showvalues),t.dashed=e(d.dashed,K),t.dashStyle=t.dashed?m.getDashStyle(l.linedashlen,l.linedashgap,l.linethickness):"none",t.color=c(d.color,l.linecolor),
t.setColor=d.color,t.setAlpha=d.alpha,t.setDashed=d.dashed,t.alpha=c(d.alpha,d.linealpha,l.linealpha),null!==B&&(F=Ga(F,B),E=Ma(E,B)),t.setTooltext=f(d.toolText),t.toolTipValue=B=J.dataLabels(B),t.setDisplayValue=A=f(d.displayvalue),t.displayValue=c(A,B),t.formatedVal=A=t.toolTipValue,t.setTooltext=m.getValidValue(f(c(d.tooltext,h.plottooltext,r.plottooltext))),t.valuePosition=c(d.valueposition,l.valueposition),t.valuePosition&&(t.valuePosition=t.valuePosition.toLowerCase()),k.showtooltip?null===
A?B=!1:void 0!==t.setTooltext?(B=[1,2,3,4,5,6,7],A={yaxisName:C,xaxisName:I,formattedValue:A,label:t.label},B=m.parseTooltext(t.setTooltext,B,A,d,r,h)):(k.seriesnameintooltip&&(G=m.getFirstValue(h&&h.seriesname)),B=G?G+L:"",B+=t.label?t.label+L:""):B=!1,t.toolText=B,t.setLevelTooltext=t.setTooltext,t.setTooltext=B,t.hoverEffects=this._parseHoverEffectOptions(g,d),t.anchorProps.isAnchorHoverRadius=t.hoverEffects.anchorRadius;l.maxValue=F;l.minValue=E;this.ErrorValueConfigure&&this.ErrorValueConfigure()},
init:function(b){this.JSONData=b;this.components={};this.graphics={};this.configure()},draw:function(){var b=this,a=b.chart,d=a.jsonData,e=a.graphics,f=a.config,k=a.getJobList(),h=a.components,l=b.JSONData,p=d.chart,g=b.config,r=a.config.isstacked,n=b.groupManager.stackSumValue[0],t=b.stackIndex,v,A,G=h.paper,E=h.xAxis[0],C=b.yAxis,I,J,L,K=f.showtooltip,N,P=b.components.data,O=b.components.removeDataArr||[],Q=O.length,R,T,U,aa,fa,ea,V,ca,S=e.areaGroup,W=C.getAxisBase(),X,Z,pa=g.plotbordercolor,Y=
g.plotborderalpha,ia=g.plotborderdashstyle,da=g.plotborderthickness,ba=b.graphics.container,ka=b.graphics.trackerContainer,ha=e.trackerGroup,ja,la=m.parseUnsafeString,oa=g.fillColor,ga=a.is3D,qa=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(ba.areaGroup.hide(),eb.hide(),ba.anchorShadowGroup.hide(),ba.anchorGroup.hide(),ka.hide(),za&&za.hide(),b._conatinerHidden=!0)},sa=function(){!1!==b.visible&&(ba.anchorShadowGroup.show(),ba.anchorGroup.show(),za.show(),eb.show());
S.area.attr({"clip-rect":null});S.area.node&&S.area.node.removeAttribute("clip-path");a._animCallBack()},Aa=g.shadow,ra,ta=b.visible,va,eb=b.graphics.shadowContainer,Ba,ma={},Da=e.datalabelsGroup,za=b.graphics.dataLabelContainer,Ea=E.getPVR(),Ia,Na=ga?10:0,La,Ka=ga?10:0,Oa=a.components.scrollBar,Ma=a.components.canvas.config.clip,Pa=q([],Ma["clip-canvas"]),Qa=q([],Ma["clip-canvas-init"]),Za=f.height,Ya=!f.drawfullareaborder,Ra=b.graphics.connector,bb=b.components.pool||(b.components.pool={}),fb=0,
db=!0!==b.drawn,jb,gb,mb,nb=b.startPosition,ab={},hb={},ib=a.get("config","animationObj")||{},kb=ib.duration,ob=ib.dummyObj,qb=ib.animObj,rb=ib.animType,ub=g.lastPath||{},xb,vb=!0,wb,lb,yb,Bb,Fb,Db=a.config.viewPortConfig,Ab=Db.x,Gb=Db.scaleX,Ib,Jb,Zb,Kb,Qb,Ub=b.chart.config.realTimeConfig&&b.chart.config.realTimeConfig.clear,Ob=0,Tb=!db&&kb,Mb=0,Nb;g.imagesLoaded=0;b.noOfNewDataAtEnd=0;ba||(ba=b.graphics.container={anchorShadowGroup:G.group("anchor-shadow",S.areaConnector),areaGroup:G.group("area",
S.area),anchorGroup:G.group("anchors",S.areaConnector)},ta||(ba.anchorShadowGroup.hide(),ba.areaGroup.hide(),ba.anchorGroup.hide()));eb||(eb=b.graphics.shadowContainer=G.group("shadows",S.shadows),ta||eb.hide());ka||(ka=b.graphics.trackerContainer=G.group("area-hot",ha));za||(za=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||G.group("datalabel",Da),ta||za.hide());ta&&(ba.anchorShadowGroup.show(),ba.areaGroup.show(),ba.anchorGroup.show(),eb.show(),za.show(),ka.show(),b._conatinerHidden=
!1);g.groupMaxWidth=E.getAxisPosition(1)-E.getAxisPosition(0);v=E.getCategoryLen();Ia=Ea*v;if(Ub)for(A=0,v=O.length;A<v;A++)b._removeDataVisuals(O.shift());else b._shiftOffRemovedPoints();ab=g.removePath;a.isRealTime&&(Pa[1]=0,Pa[3]=Za,ba.areaGroup.attr({"clip-rect":Pa}),za.attr({"clip-rect":Pa}),ba.anchorGroup.attr({"clip-rect":Pa}),ba.anchorShadowGroup.attr({"clip-rect":Pa}),eb.attr({"clip-rect":Pa}));for(A=0;A<v;A++)N=(R=P[A])&&R.config,R&&void 0!==N.setValue&&(R.graphics||(R.graphics={}),jb=E.getLabel(A).label,
fa=N.setValue,aa=N.setLink,ma=N.anchorProps||{},Ba=ma.shadow,I=Ja(la(c(N.setLevelTooltext,l.plottooltext,p.plottooltext))),N&&(X=0<=fa?N.previousPositiveY:N.previousNegativeY),r&&fa&&(X=b._parseValues(A,X,n[A],I),fa=N.value),U=R.graphics.element,Ib=R.graphics.image,null!==fa?(Z=C.getAxisPosition(X||W)+Ka,L=b.visible?C.getAxisPosition(fa+(X||0))+Ka:Z,J=E.getAxisPosition(A)-Na+Ab*Gb,J=wa(J,da,da).position,L=wa(L,da,da).position,Jb=ma.symbol,Zb=ma.radius,Kb=ma.startAngle,wb=ma.bgColor,Fb=ma.bgAlpha,
lb=ma.borderColor,Bb=ma.borderAlpha,yb=ma.borderThickness,ra=N.hoverEffects,T=K?N.toolText+(I?"":N.toolTipValue):"",N.finalTooltext=T,ea=N.eventArgs=N.eventArgs||{},ea.index=A,ea.link=aa,ea.value=fa,ea.displayValue=N.displayValue,ea.categoryLabel=jb,ea.toolText=T,ea.id=b.userID,ea.datasetIndex=t||0,ea.datasetName=l.seriesname,ea.visible=ta,ra.enabled&&(N.setRolloverAttr={polypath:[ra.anchorSides||2,J,L,ra.anchorRadius,ra.startAngle,ra.dip],fill:w({color:ra.anchorColor,alpha:ra.anchorBgAlpha}),stroke:w({color:ra.anchorBorderColor,
alpha:ra.anchorBorderAlpha}),"stroke-width":ra.anchorBorderThickness},N.setRolloutAttr={polypath:[ma.symbol[1]||2,J,L,ma.radius,ma.startAngle,0],fill:w({color:ma.bgColor,alpha:ma.bgAlpha}),stroke:w({color:ma.borderColor,alpha:ma.borderAlpha}),"stroke-width":ma.borderThickness},ca=N.setRolloverAttr,V=N.setRolloutAttr),Qb={polypath:[Jb[1]||2,J,L,Zb,Kb,0]},!U&&Tb&&!0!==nb&&(mb=v+fb,gb=E.getPixel(mb),R._baseXPos=R._xPos=gb,R._yPos=L,R._baseYPos=Z,ub=this.getLinePath([R],ub),fb++),ma.imageUrl?(N.anchorImageLoaded=
!1,va=new F,va.onload=b._onAnchorImageLoad(b,A,ea,J,L,R),va.onerror=b._onErrorSetter(b,A),va.src=ma.imageUrl,Ob++):(Ib&&Ib.hide(),U||(bb.element&&bb.element.length?U=R.graphics.element=bb.element.shift():(U=R.graphics.element=G.polypath(ba.anchorGroup),U.attr(Qb)),Tb&&U.attr({polypath:[ma.symbol[1]||2,gb,L,ma.radius,ma.startAngle,0]})),U.show().attr({transform:""}).animateWith(ob,qb,Qb,kb,rb,vb&&qa),U.attr({fill:w({color:wb,alpha:Fb}),stroke:w({color:lb,alpha:Bb}),"stroke-width":yb,visibility:Zb?
ta:Va}).shadow(Ba,ba.anchorShadowGroup),vb=!1,Ib&&Ib.hide(),ra.enabled&&U&&U.data("anchorRadius",ma.radius).data("anchorHoverRadius",ra.anchorRadius).data(Ha,ca).data(Sa,V),Nb=N.trackerConfig||(N.trackerConfig={}),Nb.trackerRadius=Ga(ma.radius,ra&&!r&&ra.anchorRadius||0,B)+ma.borderThickness/2)):(U&&U.hide(),Ib&&Ib.hide()),R._xPos=J,R._yPos=L,R._baseXPos=J,R._baseYPos=Z,Mb++);g.noOfImages=Ob;g.totalImages=Ob;0===Ob&&(k.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),!0===
b.drawn?b.drawLabel():k.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label)));hb=this.getLinePath(P,{});Q&&a.isRealTime?(ab=this.getLinePath(P,ab),xb=ab.getPathArr()):xb=hb.getPathArr();g.lastPath=hb;Oa&&(La=Oa.conf.startPercent,Pa[2]=Ia+Qa[0],1===La&&(Qa[0]=Pa[2],Pa[0]=0));Pa[3]+=Ka;(ja=b.graphics.lineElement)?kb&&a.isRealTime&&ja.attr({path:ub.getPathArr()}):(ja=b.graphics.lineElement=G.path(ba.areaGroup),ja.attr({path:hb.getPathArr()}),kb&&ta&&(ba.anchorGroup.hide(),ba.anchorShadowGroup.hide(),
eb.hide(),za.hide(),S.area.attr({"clip-rect":Qa}).animate({"clip-rect":Pa},kb,rb,sa)));Ub?ja.hide():ja.show().animateWith(ob,qb,{path:xb},kb,rb,vb&&qa);vb=!1;ja.attr({stroke:w({color:pa,alpha:Y}),"stroke-width":Ya?0:da,fill:w(oa),"stroke-linecap":"round","stroke-linejoin":2<da?"round":"miter","stroke-dasharray":ia}).shadow(Aa,eb);Ya?(Ra=b.graphics.connector,Ra||(Ra=b.graphics.connector=G.path({path:hb.pathArr,stroke:w({color:pa,alpha:Y}),"stroke-width":da,"stroke-linecap":"round","stroke-linejoin":2<
da?"round":"miter","stroke-dasharray":ia},ba.areaGroup)),Ra.show().animateWith(ob,qb,{path:hb.pathArr},kb,rb)):Ra&&Ra.hide();b.drawn=!0},drawTracker:function(){var b=this.chart,a=this.components.data,c,d,e,f,h,l,p=this.components.pool||[],g,m=this.graphics.trackerContainer,r,q,n=b.components.paper,w=a.length,t,A;for(A=0;A<w;A++)if(c=a[A])d=c.config,e=d.trackerConfig,void 0!==e&&(t=e.trackerRadius||0,e=d.hoverEffects,f=c._xPos,h=c._yPos,l=d.setLink,g=d.finalTooltext,r=d.eventArgs,q=d.groupId,d=d.setValue,
h={cx:f,cy:h,r:t,cursor:l?"pointer":"",stroke:v,fill:v,ishot:!0,visibility:La},f=c.graphics.hotElement||p.hotElement&&p.hotElement.shift(),null!==d?(f?f.show().attr(h):(f=c.graphics.hotElement=n.circle(h,m),f.click(this.getPlotClickFn(b)).hover(this.rolloverResponseSetter(c,b),this.rolloutResponseSetter(c,b))),f.data("eventArgs",r).data("groupId",q).data("hoverEnabled",e.enabled).data("dataset",this).tooltip(g)):f&&f.hide())},getPathArr:function(){var b=this.pathArr,a=this.path2Arr;return b.length||
a.length?b.concat(a):[]},_getPathString:function(b){var a=b.length,c="",d;for(d=0;d<a;d+=1)c+=" "+b[d];return c},getLinePath:function(b,a,c){var d=this.chart.config.connectnulldata,e=a||{};a=e.lastValidValue||!1;var f=e.temp||[],h=e.temp2||[],l=e.pathArr||[],p=e.path2Arr||[],g,m,r,q,n=b.length,e=e.pointsJoined||0,w,t,n=c&&c.end||n;for(c=c&&c.begin||0;c<n;c++)if(w=b[c])g=w.config,t=g.setValue,void 0!==t&&(g=w._xPos,m=w._yPos,r=w._baseXPos,q=w._baseYPos,null===t?d||(0<e&&("Z"!==p[p.length-1]&&void 0!==
q&&p.push("Z"),l=l.concat(p),p=[]),f=[],h=[],a=!1):a?(f.length&&(l=l.concat(f),void 0!==r&&(p=h,h=[]),f=[],e++),l.push(g,",",m),void 0!==q&&p.unshift(g,",",q)):(f.push("M",g,",",m,"L"),void 0!==q&&h.push(r,",",q),e=0,a=!0));"Z"!==p[p.length-1]&&0<e&&void 0!==q&&p.push("Z");return{pathArr:l,path2Arr:p,lastValidValue:a,pointsJoined:e,temp:f,temp2:h,getPathArr:this.getPathArr}},_shiftOffRemovedPoints:function(){var b=this,a=b.chart,c=b.config,d=b.components.removeDataArr,e,f=a.components.xAxis[0].getPVR();
e=a.get("config","animationObj");var a=e.duration,h=b.drawn&&a,l=e.dummyObj,p=e.animObj,g=e.animType,m,r,q,n,w,t={},v,A,B=b.components.removeElementsArr=b.components.removeElementsArr||(b.components.removeElementsArr=[]),G=c.hideAnimFlag=!1,F=function(){var a=b.components.removeElementsArr,c=a.length,d;for(d=0;d<c;d++)b._removeDataVisuals(a.shift())},E,C;if(d){e=d.length;for(v=0;v<e;v++){if(C=d[0])if(B.push(C),h){m=C.config.setValue;r=C._xPos;if(void 0==r){d.splice(0,1);continue}q=C.graphics.element;
n=C.graphics.label;w=C.graphics.image;A=C.graphics.connector;null!==m&&(m=e*f,E="T,"+-m+",0",C._xPos=r-m,r=C._xPos,C._baseXPos=r,q&&q.animateWith(l,p,{transform:E},a,g,!G&&F),c.hideAnimFlag=!0,n&&n.animateWith(l,p,{transform:E},a,g),w&&w.animateWith(l,p,{transform:E},a,g),A&&A.hide());t=b.getLinePath([C],t)}else F();d.splice(0,1)}c.removePath=t}},_removeDataVisuals:function(b){var a=this.components.pool||(this.components.pool={}),c,d,e;if(b)for(c in d=b.graphics,d)b=a[c]||(a[c]=[]),e=d[c],e.hide&&
"function"===typeof e.hide&&(e.attr({"text-bound":[]}),e.hide(),e.shadow&&e.shadow(!1)),b.push(d[c])},_parseAnchorProperties:function(b,a){var d=this.config,f=this.type,l="area"===(!this.chart.config.anchoralpha&&f)?0:1,k=this.JSONData,h=this.chart.jsonData.chart,r=(a||k.data||[])[b]||{},f={},p=m.graphics.mapSymbolName,g,q;g=void 0!==c(r.anchorstartangle,k.anchorstartangle,h.anchorstartangle,r.anchorimagealpha,k.anchorimagealpha,h.anchorimagealpha,r.anchorimagescale,k.anchorimagescale,h.anchorimagescale,
r.anchorimagepadding,k.anchorimagepadding,h.anchorimagepadding,r.anchorimageurl,k.anchorimageurl,h.anchorimageurl,r.anchorradius,k.anchorradius,h.anchorradius,r.anchorbgcolor,k.anchorbgcolor,h.anchorbgcolor,r.anchorbordercolor,k.anchorbordercolor,h.anchorbordercolor,r.anchoralpha,k.anchoralpha,h.anchoralpha,r.anchorsides,k.anchorsides,h.anchorsides,r.anchorborderthickness,k.anchorborderthickness,h.anchorborderthickness,void 0);q=e(r.drawanchors,d.drawanchors);f.enabled=g?e(q,g):e(q,l);f.startAngle=
e(r.anchorstartangle,d.anchorstartangle);f.imageAlpha=e(r.anchorimagealpha,d.anchorimagealpha);f.imageScale=e(r.anchorimagescale,d.anchorimagescale);f.imagePadding=e(r.anchorimagepadding,d.anchorimagepadding);0>f.imagePadding&&(f.imagePadding=0);f.imageUrl=c(r.anchorimageurl,d.anchorimageurl);f.imageUrl&&d.imageCount++;f.radius=e(r.anchorradius,d.anchorradius);f.isAnchorRadius=c(r.anchorradius,k.anchorradius,h.anchorradius);f.bgColor=c(r.anchorbgcolor,d.anchorbgcolor);l=f.enabled?T(c(r.anchoralpha,
d.anchoralpha,f.enabled?ca:"0")):0;f.anchorAlpha=l;f.bgAlpha=T(c(r.anchorbgalpha,d.anchorbgalpha,l))*l/100;f.imageAlpha=f.imageAlpha*l/100;f.borderColor=c(r.anchorbordercolor,d.anchorbordercolor);f.borderAlpha=l;f.sides=c(r.anchorsides,d.anchorsides);f.borderThickness=c(r.anchorborderthickness,d.anchorborderthickness);f.symbol=p(f.sides).split("_");d=e(r.anchorshadow,d.anchorshadow)&&1<=f.radius;f.shadow={opacity:d?l/100:0};return f},_onErrorSetter:function(b){return function(){var a=b.config,c=b.chart.getJobList();
a.imagesLoaded++;a.imagesLoaded===a.imageCount&&(!0===b.drawn?b.drawTracker():c.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),!0===b.drawn?b.drawLabel():c.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label)))}},_onAnchorImageLoad:function(b,a,c,d,e,f){return function(){var c=b.chart,l=c.getJobList(),p=b.config,g=c.config,r=c.components.paper,D=b.components.data,n=void 0!==f?f:D[a],t=n.config,v=n.graphics,A=t.anchorProps,B=b.graphics.container,G=B.anchorGroup,
F=B.anchorShadowGroup,E=c.get("config","animationObj"),B=E.dummyObj,C=E.animObj,I=E.animType,E=E.duration,J=A.imageUrl,L=c.components.xAxis[0],N=D.length,D=t.hoverEffects,c=A.imageScale,Q=A.imageAlpha,R=D.imageHoverAlpha,P=D.imageHoverScale,O=this.height*c*.01,T=this.width*c*.01,U=this.width*P*.01,ea=this.height*P*.01,V=g.showtooltip,aa=b.startPosition,S=b.noOfNewDataAtEnd,W=b.allImagesDrawn&&E,X=t.setLink,Z,fa,ca,Y,da,ia,ka,ba,ja,la,oa,g=b.config.animFlag,ha=p.noOfImages,ga=p.noOfImagesDrawn=p.noOfImagesDrawn||
(p.noOfImagesDrawn=0),qa=b.components.pool||{};t.isRemoving||(ga=t.trackerConfig||(t.trackerConfig={}),K?(da={x:d-this.width*c*.005,y:e-this.height*c*.005,width:T,height:O,alpha:Q},ba={x:d-this.width*P*.005,y:e-this.height*P*.005,width:U,height:this.height*P*.01,alpha:R},(R=v.element)&&"image"!==R.type&&(R.remove(),R=v.element=null),R||(v.element=R=r.image(J,G)),R.css({opacity:.01*Q}).data("alwaysInvisible",!c).data("setRolloverProperties",D).data(Ha,ba).data(Sa,da).data("imgRef",this).data("anchorRadius",
c).data("anchorHoverRadius",P),R.animateWith(B,C,da,E,I),ga.trackerRadius=Ma(T,O)/2):(Z=A.symbol[1],ia=D.isAnchorHoverRadius,fa=A.isAnchorRadius,fa=A.radius=fa?A.radius:Ma(T,O)/2,ca=A.shadow,da=A.imagePadding,D.radius=ia?D.anchorRadius:fa+1,Y=D.radius-da-.5*D.anchorBorderThickness,ia=fa-da-.5*A.borderThickness,ba={},oa=[Z||2,d,e,fa,A.startAngle,void 0],A.markerRadius=fa,la={fill:w({color:A.bgColor,alpha:A.bgAlpha}),"stroke-width":A.borderThickness,stroke:w({color:A.borderColor,alpha:A.borderAlpha})},
da=q({polypath:oa},la),D&&(ba={polypath:[D.anchorSides||2,d,e,D.radius,D.startAngle,D.dip],fill:w({color:D.anchorColor,alpha:D.anchorBgAlpha}),"stroke-width":D.anchorBorderThickness,stroke:w({color:D.anchorBorderColor,alpha:D.anchorBorderAlpha})},ka=Ga(D.anchorAlpha,D.anchorBorderAlpha),R>ka&&(R=ka)),A.bgAlpha&&A.borderAlpha&&(ka=Ga(A.bgAlpha,A.borderAlpha),Q>ka&&(Q=ka)),ka=v.element,oa={polypath:da.polypath},ka||(qa.element&&qa.element.length?ka=v.element=qa.element.shift():(ka=v.element=r.polypath(G),
ka.attr(oa)),W&&!0!==aa&&(ja=L.getPixel(N+S),b.noOfNewDataAtEnd+=1,L=[Z||2,ja,e,fa,A.startAngle,void 0],ka.attr({transform:"",polypath:L}))),ka&&ka.attr({transform:""}),ka.show().animateWith(B,C,oa,E,I,g&&void 0).attr(la),g=b.config.animFlag=!1,ka.attr({fill:w({color:A.bgColor,alpha:A.bgAlpha}),ishot:!V,"stroke-width":A.borderThickness,stroke:w({color:A.borderColor,alpha:A.borderAlpha}),cursor:X?"pointer":"",visibility:fa?La:Va}).data("alwaysInvisible",!fa).data("setRolloverProperties",D).data(Ha,
ba).data(Sa,da).data("anchorRadius",fa).data("anchorHoverRadius",D&&D.radius).shadow(ca,F),F=r.polypath(Z||2,d,e,0<ia?ia:0,A.startAngle,void 0,G).attr({visibility:Va}),da=b._getPathString(F.attrs.path),F.remove(),F=r.polypath(Z||2,d,e,0<Y?Y:0,D.startAngle,D.dip,G).attr({visibility:Va}),L=b._getPathString(F.attrs.path),F.remove(),A.imgRefWidth=this.width,A.imgRefHeight=this.height,A.imgRefScale=c,A.rolloutClipRadius=ia,da={x:d-this.width*c*.005,y:e-this.height*c*.005,width:T,height:O,alpha:Q,"clip-path":da},
ba={x:d-this.width*P*.005,y:e-this.height*P*.005,width:U,height:ea,alpha:R,"clip-path":L},R=v.image,R||(qa.image&&qa.image.length?(R=v.image=qa.image.shift(),R.show()):v.image=R=r.image(J,G),W&&(F=r.polypath(Z||2,ja,e,0<ia?ia:0,A.startAngle,void 0).attr({visibility:Va}),r=b._getPathString(F.attrs.path),F.remove(),ja={x:ja-this.width*c*.005,y:e-this.height*c*.005,width:T,height:O,alpha:Q,"clip-path":r},R.attr({transform:""}).attr(ja))),R.attr({src:J}),R.attr({visibility:fa?La:Va}).css({opacity:.01*
Q}).data("alwaysInvisible",!c).data("setRolloverProperties",D).data(Ha,ba).data(Sa,da).data("anchorRadius",c).data("imgRef",this).data("anchorHoverRadius",P),R.attr({transform:""}).animateWith(B,C,{x:da.x,y:da.y,width:da.width,height:da.height,"clip-path":da["clip-path"]},E,I,g&&void 0),R.attr({alpha:da.alpha}),fa=Ga(fa,D&&D.anchorRadius||0,2),ga.trackerRadius=fa+(A.borderThickness||0)/2),n._xPos=d,n._yPos=e,p.imagesLoaded++,t.anchorImageLoaded=!0,p.imagesLoaded===p.imageCount&&(!0===b.drawn?b.drawTracker():
l.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),!0===b.drawn?b.drawLabel():l.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label))),ga=p.noOfImagesDrawn+=1,ga===ha&&(b.allImagesDrawn=!0))}},_hideGraphics:function(b){var a,c;for(c in b)b.hasOwnProperty(c)&&(a=b[c])&&(a.hide?a.hide():this._hideGraphics(a))},getPlotClickFn:function(b){return function(a){ia.call(this,b,a)}},show:function(){var b=this.chart,a=b.components.xAxis[0],c=this.yAxis;b._chartAnimation();
this.visible=!0;this._conatinerHidden=!1;b.config.transposeAxis&&(b._setAxisLimits(),c.draw());b.isRealTime&&a.draw();b._drawDataset()},hide:function(){var b=this.chart,a=this.yAxis,c=b.components.xAxis[0];b._chartAnimation();this.visible=!1;b.config.transposeAxis&&(b._setAxisLimits(),a.draw());b.isRealTime&&c.draw();b._drawDataset()},_parseHoverEffectOptions:function(b,a){var d=this.JSONData,f=this.chart,l=f.jsonData.chart,f=f.config,k=b.config.anchorProps||{},h=f.plothovereffect,m=this.config.drawanchors,
p={enabled:!1};a=a||{};0!==h&&0!==m&&(p.enabled=void 0!==c(a.hovercolor,a.anchorhovercolor,a.hovercolor,d.hovercolor,a.anchorbghovercolor,d.anchorbghovercolor,l.anchorbghovercolor,d.anchorhovercolor,l.anchorhovercolor,a.hoveralpha,a.anchorhoveralpha,d.anchorhoveralpha,l.anchorhoveralpha,a.bghoveralpha,a.anchorbghoveralpha,d.anchorbghoveralpha,l.anchorbghoveralpha,a.anchorborderhovercolor,a.borderhovercolor,d.anchorborderhovercolor,l.anchorborderhovercolor,a.anchorborderhoverthickness,a.borderhoverthickness,
d.anchorborderhoverthickness,l.anchorborderhoverthickness,a.anchorborderhoveralpha,a.borderhoveralpha,d.anchorborderhoveralpha,l.anchorborderhoveralpha,a.hoverdip,a.anchorhoverdip,d.anchorhoverdip,l.anchorhoverdip,a.anchorhoverstartangle,d.anchorhoverstartangle,l.anchorhoverstartangle,a.hoversides,a.anchorhoversides,d.anchorhoversides,l.anchorhoversides,a.hoverradius,a.anchorhoverradius,d.anchorhoverradius,l.anchorhoverradius,d.plotfillhovercolor,l.plotfillhovercolor,f.plothovereffect,void 0),p.startAngle=
e(a.anchorhoverstartangle,d.anchorhoverstartangle,l.anchorhoverstartangle,k.startAngle),p.anchorSides=e(a.hoversides,a.anchorhoversides,d.anchorhoversides,l.anchorhoversides,k.sides),p.anchorRadius=e(a.anchorhoverradius,d.anchorhoverradius,l.anchorhoverradius),p.isAnchorHoverRadius=p.anchorRadius,p.anchorRadius=e(p.anchorRadius,k.radius+(h?2:0)),p.anchorScale=c(a.hoverscale,d.anchorscale,l.anchorscale),p.imageHoverScale=e(a.anchorimagehoverScale,d.anchorimagehoverscale,l.anchorimagehoverscale,110),
p.imageHoverAlpha=e(a.anchorimagehoveralpha,d.anchorimaghoverealpha,l.anchorimagehoveralpha),p.anchorAlpha=c(a.anchorhoveralpha,a.hoveralpha,d.anchorhoveralpha,l.anchorhoveralpha,k.anchorAlpha),p.anchorColor=mb(c(a.hovercolor,a.anchorhovercolor,a.hoverColor,a.anchorbghovercolor,d.anchorbghovercolor,d.anchorhovercolor,d.hovercolor,l.anchorbghovercolor,l.anchorhovercolor,l.plotfillhovercolor,k.bgColor)),p.anchorBgAlpha=c(a.bghoveralpha,a.anchorbghoveralpha,d.anchorbghoveralpha,l.anchorbghoveralpha,
l.plotfillhoveralpha,k.bgAlpha),p.anchorBgAlpha=p.anchorBgAlpha*p.anchorAlpha/100,p.anchorBorderColor=c(a.borderhovercolor,a.anchorborderhovercolor,d.anchorborderhovercolor,l.anchorborderhovercolor,k.borderColor),p.anchorBorderAlpha=c(a.borderhoveralpha,a.anchorborderhoveralpha,d.anchorborderhoveralpha,l.anchorborderhoveralpha,p.anchorAlpha,k.borderAlpha),p.anchorBorderThickness=e(a.borderhoverthickness,a.anchorborderhoverthickness,d.anchorborderhoverthickness,l.anchorborderhoverthickness,l.anchorBorderThickness,
k.borderThickness),p.dip=c(a.hoverdip,a.anchorhoverdip,d.anchorhoverdip,l.anchorhoverdip,k.dip),p.anchorAnimation=e(a.anchorhoveranimation,d.anchorhoveranimation,l.anchorhoveranimation,1));return p},_hoverPlotAnchor:function(b,a){var c=b.graphics.element,d=b.graphics.label,e=b.config||{},e=e&&e.anchorProps.imageUrl,f=K&&e?b.graphics.element:b.graphics.image,h=c.data(Ha),l=c.data(Sa),p="DataPlotRollOver"===a?c.data(Ha):c.data(Sa),e="image"===c.type,g=c.data("anchorRadius"),m=c.data("anchorHoverRadius"),
r=d&&(d.data("isBelow")?1:-1)*(e?.5*(h.height-l.height):m-g),q=b.config.hoverEffects,n,w={polypath:p.polypath},p={fill:p.fill,"stroke-width":p["stroke-width"],stroke:p.stroke},t=d&&d.data("rotation")||"",r={transform:"T0,"+("DataPlotRollOver"===a?r:0)+t},h=!(/,0\)$/.test(h.fill)&&/,0\)$/.test(l.fill))&&c.data("anchorHoverRadius")-c.data("anchorRadius")&&q.anchorAnimation&&50;f&&(n=f.data(Ha),l=f.data(Sa),n="DataPlotRollOver"==a?n:l);if("DataPlotRollOver"==a&&0!==m||"DataPlotRollOut"==a&&0!==g)c.attr({visibility:La}),
f&&f.attr({visibility:La});f&&f.css({opacity:.01*n.alpha});e?c.css({opacity:.01*w.alpha}):c.attr(p);c.stop();c.animate(w,h,"easeOut",function(){("DataPlotRollOver"==a&&!m||"DataPlotRollOut"==a&&!g)&&c.attr({visibility:Va})});f&&f.animate(n,h,"easeOut",function(){("DataPlotRollOver"==a&&!m||"DataPlotRollOut"==a&&!g)&&f.attr({visibility:Va})});d&&d.stop();h&&d&&d.animate(r,h,"easeOut")},drawLabel:function(b){var c=this.chart,d=c.config,e=c.linkedItems.smartLabel,f=c.config.dataLabelStyle,k=this.components.data,
h=c.components.paper,l=c.get("config","animationObj"),p=l.duration,g=!0===this.drawn&&p,m=d.stack100percent,r=l.dummyObj,q=l.animObj,n="",l=l.animType,w=d.rotatevalues?270:0,t=d.canvasTop,v=d.canvasHeight,A=c.config.isstacked,B,G=this.graphics.dataLabelContainer,F=c.components.xAxis[0],E=0,C=F.getCategoryLen(),I=this.startPosition,J=this.components.pool||{},L,K,N,P,O,T,U,V,aa,S,W;void 0!==b?(W=b,S=W+1):(W=0,S=k.length);for(e.setStyle({"font-weight":f.fontWeight,"font-style":f.fontStyle,"font-family":f.fontFamily,
"font-size":f.fontSize,"line-height":f.lineHeight});W<S;W++)if(L=(b=(P=k[W])&&P.config)&&b.setValue,P&&void 0!==L){O=b.anchorProps;L=P.graphics;N=P._yPos;P=P._xPos;O=L.element?L.image&&.5*L.element.attr("height")||O.radius-3:0;B=d.valuepadding+2+O;O=b.valuePosition;switch(O){case "above":T=0;break;case "below":T=1;break;default:O=k[W-1]&&k[W-1].config||{},V=k[W+1]&&k[W+1].config||{},A&&m?(O=O.value,aa=V.value,V=b.value):(O=O.setValue,aa=V.setValue,V=b.setValue),T=W?O>V?1:(null==aa&&aa)>V?1:0:0}n=
b.displayValue;aa=b.showValue;O=L.label;void 0!==n&&null!==n&&n!==a&&null!==V&&aa?(aa={text:n,fill:f.color,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]},n=e.getOriSize(n),w?(b._state={labelWidth:n.height,labelHeight:n.width},b._rotated=!0):(b._state={labelWidth:n.width,labelHeight:n.height},b._rotated=!1),n=K=b._state.labelHeight,n+=B,B=.5*K+B,K=N-t,U=t+v-N,n+=4,T?U>n?(N+=B,b._valueBelowPoint=1):K>n&&(N-=B,b._valueBelowPoint=0):K>n?(N-=
B,b._valueBelowPoint=0):U>n&&(N+=B,b._valueBelowPoint=1),B=T=!1,O||(J.label&&J.label.length?(L.label=O=J.label.shift(),L.label.show()):(aa.x=P,aa.y=N,aa.transform=h.getSuggestiveRotation(w,P,N),L.label=O=h.text(aa,G),B=!0),g&&c.isRealTime&&!0!==I&&(L=C+E,L=F.getPixel(L),L instanceof Object&&(L=L.x),O.attr({x:L,y:N,transform:h.getSuggestiveRotation(w,L,N)}),E++,T=!0)),B||O.attr(aa),B&&!T||O.show().animateWith(r,q,{x:P,y:N,transform:h.getSuggestiveRotation(w,P,N)},p,l),O.data("isBelow",b._valueBelowPoint),
O.data("rotation",h.getSuggestiveRotation(w,P,N))):O&&O.hide()}},getAxisValuePadding:function(){var b=(this.chart||{}).hasScroll;return{left:b?.5:0,right:b?.5:0}},hidingPosition:function(){return function(){return{polypath:[[2,0,0,0,0,0]],text:""}}},_hoverFunc:function(b,a,c,d){if(c)return this._hoverPlotAnchor(b,a,d)}},"column",{valueposition:void 0,plotborderdashlen:void 0,plotborderdashgap:void 0,plotborderdashstyle:void 0,plotborderthickness:void 0,linethickness:void 0,linedashlen:void 0,linedashgap:void 0,
dashed:void 0,linedashstyle:void 0,linecolor:void 0,linealpha:void 0,anchorbgcolor:void 0,anchorbordercolor:void 0,anchorradius:void 0,anchoralpha:void 0,anchorimageurl:void 0,anchorsides:void 0,anchorbgalpha:void 0,anchorborderthickness:void 0,anchorshadow:void 0,anchorstartangle:void 0,anchorimagealpha:void 0,anchorimagescale:void 0,anchorimagepadding:void 0,alpha:void 0,parentyaxis:void 0}]);FusionCharts.register("component",["dataset","scrollarea2d",{},"area"]);FusionCharts.register("component",
["dataset","realtimearea",{_realTimeConfigure:FusionCharts.get("component",["dataset","realtimecolumn"]).prototype._realTimeConfigure},"area"]);FusionCharts.register("component",["datasetGroup","realtimearea",{},"area"]);FusionCharts.register("component",["datasetGroup","radar",{},"area"]);FusionCharts.register("component",["dataset","radar",{type:"radar",configure:function(){var b=this.config,a=this.chart,d=a.jsonData.chart,e=this.JSONData,a=a.components.colorManager.getPlotColor(this.index);this.__base__.configure.call(this);
b.plotfillcolor=c(e.color,d.plotfillcolor,a);b.plotbordercolor=c(e.plotbordercolor,d.plotbordercolor,d.areabordercolor,a).split(",")[0];b.fillColor.color=b.plotfillcolor;b.legendSymbolColor=b.plotfillcolor},_addLegend:function(){var b=this.chart,a=b.jsonData.chart,c,d;d=this.config;var b=b.components.legend,f=d.legendSymbolColor;c=e(a.use3dlighting,a.useplotgradientcolor,1);a=qb(f,60).replace(ga,Y);c?(c=qb(f,40),c={FCcolor:{color:f+","+f+","+c+","+f+","+f,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):
c={FCcolor:{color:f,angle:0,ratio:"0",alpha:"100"}};d={enabled:d.includeInLegend,type:this.type,fillColor:w(c),strokeColor:w(a),rawFillColor:f,label:sa(this.JSONData.seriesname)};this.legendItemId=b.addItems(this,this.legendInteractivity,d)},draw:function(){var b=this,a=b.chart,d=a.getJobList(),e=a.graphics,f=a.config,k=a.components,h=b.JSONData,l=a.jsonData.chart,p=b.config,g=b.index,r=h.data||[],q,n,t,v=k.paper,A=k.xAxis[0],G=b.yAxis,E,C,I,J=f.showtooltip,L,K=b.components.data,N,P,Q,R,O,T,U=G.getAxisBase(),
aa,k=p.plotbordercolor,ea=p.plotborderalpha,V=p.plotBorderDashStyle,fa=p.plotborderthickness,S=b.graphics.container,W=b.graphics.trackerContainer,X=e.trackerGroup,Z=[],ca,Y=m.parseUnsafeString,ia=!1,da=p.fillColor,ba=a.is3D,ka=e.areaGroup,ga=a.get("config","animationObj"),ja=ga.duration,la=ga.dummyObj,oa=ga.animObj,ga=ga.animType,ha=function(){!1===b.visible&&(S.areaGroup.hide(),ta.hide(),S.lineShadowGroup.hide(),S.anchorShadowGroup.hide(),S.anchorGroup.hide(),W.hide(),sa&&sa.hide(),b._conatinerHidden=
!0)},qa=function(){S.areaGroup.attr({"clip-rect":null});!1!==b.visible&&(S.lineShadowGroup.show(),S.anchorShadowGroup.show(),S.anchorGroup.show(),sa.show());a._animCallBack()},wa=p.shadow,Aa,ra=b.visible,ta=S&&S.shadowContainer,va,ma={},ma=e.datalabelsGroup,sa=b.graphics.dataLabelContainer,Ba=ba?10:0,e=b.components.removeDataArr||[],ba=e.length,Da=b.components.pool||{},za=!0,Ea=0,Ia,La,Ka=0;p.imagesLoaded=0;S||(S=b.graphics.container={lineShadowGroup:v.group("connector-shadow",ka.areaConnector),anchorShadowGroup:v.group("anchor-shadow",
ka.areaConnector),areaGroup:v.group("area",ka.area),anchorGroup:v.group("anchors",ka.areaConnector)},ra||(S.lineShadowGroup.hide(),S.anchorShadowGroup.hide(),S.areaGroup.hide(),S.anchorGroup.hide()));ta||(ta=b.graphics.shadowContainer=ka.shadows||(ka.shadows=v.group("shadows",S.areaGroup).toBack()),ra||ta.hide());W||(W=b.graphics.trackerContainer=v.group("area-hot"),ra||W.hide());K||(K=b.components.data);X&&X.appendChild(W);sa||(sa=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||v.group("datalabel",
ma),ra||sa.hide());ra&&(S.lineShadowGroup.show(),S.anchorShadowGroup.show(),S.areaGroup.show(),S.anchorGroup.show(),sa.show(),W.show());q=A.getCategoryLen();X=A.config.centerX;ca=A.config.centerY;for(t=0;t<q;t++)n=r[t]||{},L=(N=K[t])&&N.config,Ia=A.getLabel(t).label,R=L.setValue,Q=L.setLink,ma=L.anchorProps,va=ma.shadow,E=Ja(Y(c(n.tooltext,h.plottooltext,l.plottooltext))),N.graphics||(N.graphics={}),L&&(aa=0<=R?L.previousPositiveY:L.previousNegativeY),C=N.graphics,n=C.element,La=C.image,null===R?
(!1!==ia?Z.push("L",X,",",ca):Z.push("M",X,",",ca),ia=!1,n&&n.hide()):(C=G.getAxisPosition(aa||U)+Ba,I=b.visible?G.getAxisPosition(R+(aa||0))+Ba:C,C=A.getAxisPosition(t,f.canvasTop+f.canvasHeight/2-I),I=C.y,C=C.x,Aa=L.hoverEffects,P=J?L.toolText+(E?"":L.toolTipValue):"",L.finalTooltext=P,E=L.eventArgs||(L.eventArgs={}),E.index=t,E.link=Q,E.value=R,E.displayValue=L.displayValue,E.categoryLabel=Ia,E.toolText=P,E.id=b.userID,E.datasetIndex=g||0,E.datasetName=h.seriesname,E.visible=ra,Aa.enabled&&(L.setRolloverAttr=
{polypath:[Aa.anchorSides||2,C,I,Aa.anchorRadius,Aa.startAngle,Aa.dip],fill:w({color:Aa.anchorColor,alpha:Aa.anchorBgAlpha}),stroke:w({color:Aa.anchorBorderColor,alpha:Aa.anchorBorderAlpha}),"stroke-width":Aa.anchorBorderThickness},L.setRolloutAttr={polypath:[ma.symbol[1]||2,C,I,ma.radius,ma.startAngle,0],fill:w({color:ma.bgColor,alpha:ma.bgAlpha}),stroke:w({color:ma.borderColor,alpha:ma.borderAlpha}),"stroke-width":ma.borderThickness},T=L.setRolloverAttr,O=L.setRolloutAttr),ma.imageUrl?(L.anchorImageLoaded=
!1,L=new F,L.onload=b._onAnchorImageLoad(b,t,E,C,I),L.onerror=b._onErrorSetter(b,t),L.src=ma.imageUrl,Ka++):(La&&La.hide(),n||(Da.element&&Da.element.length?n=N.graphics.element=Da.element.shift():(n=N.graphics.element=v.polypath(S.anchorGroup),n.attr({polypath:[ma.symbol[1]||2,C,I,ma.radius,ma.startAngle,0]}))),n.show().animateWith(la,oa,{polypath:[ma.symbol[1]||2,C,I,ma.radius,ma.startAngle,0]},ja,ga,za&&ha),za=!1,n.attr({fill:w({color:ma.bgColor,alpha:ma.bgAlpha}),stroke:w({color:ma.borderColor,
alpha:ma.borderAlpha}),"stroke-width":ma.borderThickness,visibility:ma.radius?ra:Va}).shadow(va,S.anchorShadowGroup).data("anchorRadius",ma.radius).data("anchorHoverRadius",Aa.anchorRadius).data(Ha,T).data(Sa,O),Aa.enabled&&n&&n.data("anchorRadius",ma.radius).data("anchorHoverRadius",Aa.anchorRadius).data(Ha,T).data(Sa,O),L.trackerConfig||(L.trackerConfig={}),L.trackerConfig.trackerRadius=Ga(ma.radius,Aa&&!0&&Aa.anchorRadius||0,B)+(ma.borderThickness||0)/2),N._xPos=C,N._yPos=I,ia?(Z.push("L",C,",",
I),Ea++):(0===t?Z.push("M",C,",",I):Z.push("L",C,",",I),ia=!0));Z.push("Z");p.noOfImages=p.totalImages=Ka;0===Ka&&(d.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),d.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label)));f=Z.concat([]);d=b.graphics.lineElement;d||(d=b.graphics.lineElement=v.path(S.areaGroup),d.attr({path:Z}),ja&&ra&&(S.anchorGroup.hide(),S.anchorShadowGroup.hide(),sa.hide(),ka.scale(.01,.01,X,ca).animateWith(la,oa,{transform:"s1,1"},ja,ga,qa)));
d.show().animateWith(la,oa,{path:f},ja,ga,za&&ha).attr({stroke:w({color:k,alpha:ea}),"stroke-width":fa,fill:w(da),"stroke-linecap":"round","stroke-linejoin":2<fa?"round":"miter","stroke-dasharray":V}).shadow(wa,ta);b.drawn=!0;for(t=0;t<ba;t++)b._removeDataVisuals(e.shift())}},"area"]);FusionCharts.register("component",["dataset","Line",{type:"line",_addLegend:function(){var b=this.config,a=this.chart.components.legend,d=e(b.drawanchors,1),b={enabled:b.includeinlegend,type:this.type,drawLine:c(b.drawLine,
!0),fillColor:w({color:b.anchorbgcolor,alpha:b.anchorbgalpha}),strokeColor:w({color:b.anchorbordercolor,alpha:"100"}),rawFillColor:b.anchorbgcolor,rawStrokeColor:b.anchorbordercolor,anchorSide:d?b.anchorsides:0,strokeWidth:b.anchorborderthickness,label:sa(this.JSONData.seriesname),lineWidth:b.linethickness};this.legendItemId=a.addItems(this,this.legendInteractivity,b)},draw:function(){var b,a,d=this,e=d.JSONData,f=d.chart,k=f.getJobList(),h=f.components,l=h.canvas.config.clip,p=d.config,g=d.index,
r=f.config,q=d.components,n=d.graphics,t=q.data,v=t.length,A=h.paper,G=h.xAxis[0],E=d.yAxis,I=q.removeDataArr||[],J=f.graphics,L=J.datalabelsGroup,K,N,P,O=p.linethickness,Q=n.container,R=n.trackerContainer,T=J.trackerGroup,U=r.showtooltip,aa=J.lineGroup,fa,ea=p.shadow,V,ca=n.dataLabelContainer,S={},W,X,Z,pa=f.is3D,Y=r.use3dlineshift,ia=d.graphics.errorGroupContainer,da=d.graphics.errorTrackerContainer,ba=d.graphics.errorShadowContainer,ka=function(){!1!==d.visible||!1!==d._conatinerHidden&&void 0!==
d._conatinerHidden||(Q.lineGroup.hide(),Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.anchorGroup.hide(),R.hide(),ca&&ca.hide(),ia&&ia.hide(),da&&da.hide(),ba&&ba.hide(),d._conatinerHidden=!0)},ga=function(){aa.lineConnector.attr({"clip-rect":null});aa.lineConnector.node&&aa.lineConnector.node.removeAttribute("clip-path");!1!==d.visible&&(Q.lineShadowGroup.show(),Q.anchorShadowGroup.show(),Q.anchorGroup.show(),R.show(),ca&&ca.show())},ja=!0,la,oa,ha,qa=E.getAxisBase(),ma=E.yBasePos=E.getAxisPosition(qa),
Aa=G.getPVR(),ra,ta=pa?10:0,va=pa&&Y?10:0,sa=l["clip-canvas"].slice(0),Ba=l["clip-canvas-init"].slice(0),Da=h.scrollBar,za=f.hasScroll||!1,Ja,Ea=p.lineDashStyle,Ia={color:p.linecolor,alpha:p.alpha},La=[w(Ia),Ea].join(":"),Ka,Na,Pa,Oa,Ma,Qa=n.lineElement,Ra=d.visible,Ya,Za,bb=0,fb=!0!==d.drawn,db=d.components.pool||(d.components.pool={}),gb,jb,mb=d.startPosition,hb={},kb=v,ab,ib={},nb=p.lastPath||{},rb,ob,qb=0,ub=f.config.viewPortConfig,vb=ub.x,xb=ub.scaleX,wb,lb,yb,Bb,Fb,Db,Ab,Gb,Ib,Jb,Kb,gc,Qb,Ub,
Ob,Tb,Mb,Nb,cc=p.noOfImages=0,dc,Vb=f.get("config","animationObj"),Lb=Vb.duration,Wb=Vb.dummyObj,Xb=Vb.animObj,Yb=Vb.animType,hc=!fb&&Lb,ic,mc=r.height,jc=r.realTimeConfig&&r.realTimeConfig.clear,nc=kb;d.noOfNewDataAtEnd=0;p.hideAnimFlag=!1;p.imagesLoaded=0;aa.lineConnector=aa.lineConnector||A.group("line-connector",aa);Q||(Q=d.graphics.container={lineShadowGroup:A.group("connector-shadow",aa.lineConnector),anchorShadowGroup:A.group("anchor-shadow",aa.lineConnector),lineGroup:A.group("line",aa.lineConnector),
anchorGroup:A.group("anchors",aa.lineConnector)},Ra||(Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.lineGroup.hide(),Q.anchorGroup.hide()));R||(R=d.graphics.trackerContainer=A.group("line-hot",T),Ra||R.hide());t||(t=d.components.data=[]);ca||(ca=d.graphics.dataLabelContainer=d.graphics.dataLabelContainer||A.group("datalabel",L),Ra||ca.hide());Ra&&(Q.lineShadowGroup&&Q.lineShadowGroup.show(),Q.lineGroup&&Q.lineGroup.show(),Q.anchorGroup&&Q.anchorGroup.show(),R&&R.show(),d._conatinerHidden=
!1,ca.show());ra=Aa*kb;f.isRealTime&&(sa[1]=0,sa[3]=mc,ca.attr({"clip-rect":sa}),Q.anchorGroup.attr({"clip-rect":sa}),Q.anchorShadowGroup.attr({"clip-rect":sa}),Q.lineGroup.attr({"clip-rect":sa}),Q.lineShadowGroup.attr({"clip-rect":sa}));if(jc)for(ab=0,kb=I.length;ab<kb;ab++)d._removeDataVisuals(I.shift());else d._shiftOffRemovedPoints();hb=p.removePath||{};Tb=Q.anchorShadowGroup;for(ab=0;ab<nc;ab++)if(K=t[ab])Z=K.config||{},Db=Z.setValue,void 0!==Db&&(Bb=K.graphics,Fb=Z.setLink,Ya=Z.x||ab,la=Z.setLevelTooltext,
S=Z.anchorProps,X=S.symbol,Ib=S.radius,V=S.shadow,Jb=S.startAngle,Kb=S.bgColor,gc=S.bgAlpha,Qb=S.borderColor,Ub=S.borderAlpha,Ob=S.borderThickness,Gb=Z.displayValue,Za=Z.dip||0,K||(K=t[ab]={graphics:{}}),b=Z.setColor,a=Z.setAlpha,ha=Z.dashStyle,Oa=Z.xPos||G.getAxisPosition(Ya)-ta+vb*xb,Ma=!d.visible&&Lb?ma:E.getAxisPosition(Db)+va,Oa=wa(Oa,p.linethickness,p.linethickness).position,Ma=wa(Ma,p.linethickness,p.linethickness).position,fa=Z.hoverEffects,S.isAnchorHoverRadius=fa.anchorRadius,rb=G.getLabel(ab)||
{},wb=U?Z.toolText+(la?"":Z.toolTipValue):"",Z.finalTooltext=wb,Ab=Z.eventArgs=Z.eventArgs||{},Ab.index=ab,Ab.link=Fb,Ab.value=Db,Ab.displayValue=Gb,Ab.categoryLabel=rb.label,Ab.toolText=wb,Ab.id=p.userID,Ab.datasetIndex=g||0,Ab.datasetName=e.seriesname,Ab.visible=Ra,lb=K.graphics.element,Nb=K.graphics.image,yb=K.graphics.hotElement,dc={polypath:[X[1]||2,Oa,Ma,Ib,Jb,Z.dip||0]},null!==Db?(!lb&&hc&&!0!==mb&&(jb=kb+bb,gb=G.getPixel(jb),K._xPos=gb,K._yPos=Ma,nb=d.getLinePath([K],nb),bb++),S.imageUrl?
(W=new F,Z.anchorImageLoaded=!1,W.onload=d._onAnchorImageLoad(d,ab,Ab,Oa,Ma,K),W.onerror=d._onErrorSetter(d,ab),W.src=S.imageUrl,cc++):(Nb&&Nb.hide(),lb||(db.element&&db.element.length?(lb=Bb.element=db.element.shift(),lb.show()):(lb=Bb.element=A.polypath(Q.anchorGroup),lb.attr(dc)),hc&&lb.attr({polypath:[X[1]||2,gb,Ma,Ib,Jb,0]})),lb.show().attr({transform:""}).animateWith(Wb,Xb,dc,Lb,Yb,ja&&ka),Lb||ja&&ka(),ja=!1,lb.attr({fill:w({color:Kb,alpha:gc}),stroke:w({color:Qb,alpha:Ub}),"stroke-width":Ob,
visibility:Ib?Ra:Va}).shadow(V,Tb).data("anchorRadius",Ib).data("anchorHoverRadius",fa.anchorRadius),fa.enabled&&(P={polypath:[fa.anchorSides||2,Oa,Ma,fa.anchorRadius,fa.startAngle,fa.dip],fill:w({color:fa.anchorColor,alpha:fa.anchorBgAlpha}),stroke:w({color:fa.anchorBorderColor,alpha:fa.anchorBorderAlpha}),"stroke-width":fa.anchorBorderThickness},N={polypath:[S.sides,Oa,Ma,S.radius,S.startAngle,Za],fill:w({color:S.bgColor,alpha:S.bgAlpha}),stroke:w({color:S.borderColor,alpha:S.borderAlpha}),"stroke-width":S.borderThickness},
lb&&lb.data("anchorRadius",S.radius).data("anchorHoverRadius",fa.anchorRadius).data(Ha,P).data(Sa,N)),Z.trackerConfig||(Z.trackerConfig={}),Z.trackerConfig.trackerRadius=Ga(Ib,fa&&fa.anchorRadius||0,B)+(S.borderThickness||0)/2)):(lb&&lb.hide(),Nb&&Nb.hide(),yb&&yb.hide()),K._xPos=Oa,K._yPos=Ma,Pa=La!==[w({color:c(b,Ia.color),alpha:c(a,Ia.alpha)}),ha||Ea].join(":"),oa=K.graphics.connector,ob=[],Pa&&(Mb=ab,ib=d.getLinePath(t,{},{begin:qb,end:Mb+1}),Z.connStartIndex=qb,Z.connEndIndex=Mb,ob=ib.getPathArr(),
ob.length&&(ic=C.animation({path:ob},Lb,Yb,ja&&ka),oa||(db.connector&&db.connector.length?oa=K.graphics.connector=db.connector.shift():(oa=K.graphics.connector=A.path(Q.lineGroup),oa.attr({path:ob}))),oa.show().animateWith(Wb,Xb,ic),oa.attr({"stroke-dasharray":Na,"stroke-width":O,stroke:Ka,"stroke-linecap":"round","stroke-linejoin":2<O?"round":"miter"}).shadow(ea,Q.lineShadowGroup),qb=ab,ib={}),Mb=null),Pa||ob.length||oa&&oa.hide(),null!==Db&&(Ka=w({color:c(b,Ia.color),alpha:c(a,Ia.alpha)}),Na=ha||
Ea),La=[Ka,Na].join(":"));0===cc&&(!0===d.drawn?d.drawTracker():k.trackerDrawID.push(pb.addJob(d.drawTracker,d,[],m.priorityList.tracker)),!0===d.drawn?d.drawLabel():k.labelDrawID.push(pb.addJob(d.drawLabel,d,[],m.priorityList.label)));p.pathStartIndex=qb;p.pathEndIndex=Mb;p.noOfImages=p.totalImages=cc;ib=d.getLinePath(t,{},{begin:qb,end:Mb});I&&f.isRealTime&&(hb=d.getLinePath(t,hb));f.isRealTime&&(p.lastPath=ib);Qa?Lb&&f.isRealTime&&Qa.attr({path:nb.getPathArr()}):Qa=n.lineElement=A.path({path:ib.getPathArr()},
Q.lineGroup);jc?Qa.hide():Qa.show().animateWith(Wb,Xb,{path:hb.getPathArr&&f.isRealTime?hb.getPathArr():ib.getPathArr()},Lb,Yb,ja&&ka);Qa.attr({"stroke-width":O,"stroke-dasharray":Na,stroke:Ka,"stroke-linecap":"round","stroke-linejoin":2<=O?"round":"miter"}).shadow(ea,Q.lineShadowGroup);za&&(Ja=Da.conf.startPercent,sa[2]=ra+Ba[0],1===Ja&&(Ba[0]=sa[2],sa[0]=0));sa[3]+=va;d._drawTracker&&d._drawTracker();Lb&&Ra&&!d.drawn&&(Q.anchorGroup.hide(),Q.anchorShadowGroup.hide(),ca.hide(),aa.lineConnector.attr({"clip-rect":Ba}).animateWith(Wb,
Xb,{"clip-rect":sa},Lb,Yb,ga));d.drawn=!0;d.drawErrorValue&&d.drawErrorValue()},getDataLimits:function(){var b=this.config,a=b.maxValue,b=b.minValue,c=this.chart.config.transposeAxis;!1===this.visible&&c&&(a=-Infinity,b=Infinity);return{max:a,min:b}},pointValueWatcher:function(b,a,c){var d=c.obj||(c.obj={}),e=c.objX||(c.objX={});null!==a&&(d.max=d.max>a?d.max:a,d.min=d.min<a?d.min:a);null!==b&&(e.max=e.max>b?e.max:b,e.min=e.min<b?e.min:b);c.isRegression&&(b=b||0,a=a||0,c.sumX+=b,c.sumY+=a,c.sumXY+=
b*a,c.sumXsqure+=yb(b,2),c.xValues.push(b),c.sumYsqure+=yb(a,2),c.yValues.push(a))}},"area"]);FusionCharts.register("component",["dataset","Realtimeline",{_realTimeConfigure:FusionCharts.get("component",["dataset","realtimecolumn"]).prototype._realTimeConfigure},"line"]);FusionCharts.register("component",["quadrant","cartesian",{pIndex:1,init:function(){var b=this.chart.components,a=b.xAxis[0];this.yAxis=b.yAxis[0];this.xAxis=a;this.components={};this.conf={};this.graphics={};this.configure()},configure:function(){var b,
a,d,f,l,k,h,m,p,g,q=this.conf;p=this.chart;k=p.config;var n=p.jsonData.chart;a=p.components.canvas.config;var w=k.dataLabelStyle;b=p.linkedItems.smartLabel;if(q.enabled=e(n.drawquadrant,0))p=e(n.quadrantxval),g=e(n.quadrantyval),m=L(c(n.quadrantlinecolor,a.canvasBorderColor),c(n.quadrantlinealpha,n.quadrantlinealpha,ca)),a=e(n.quadrantlinethickness,a.canvasBorderThickness),f=e(n.quadrantlinedashed,n.quadrantlineisdashed,0),d=e(n.quadrantlinedashlen,4),l=e(n.quadrantlinedashgap,2),d=f?J(d,l,a):"none",
q.xVal=p,q.yVal=g,q.quadrantLineColor=m,q.quadrantLineThickness=a,q.dashStyle=d,a=Ja(n.quadrantlabeltl,""),m=Ja(n.quadrantlabeltr,""),p=Ja(n.quadrantlabelbl,""),g=Ja(n.quadrantlabelbr,""),q.quadrantLabelPadding=e(n.quadrantlabelpadding,3),b.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),b.setStyle(w),""!==a&&(b=sa(n.quadrantlabeltlbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabeltlbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabeltlborderthickness,n.quadrantlabelborderthickness,1),
b=b?L(b,e(n.quadrantlabeltlborderalpha,n.quadrantlabelborderalpha,n.quadrantlabeltlalpha,n.quadrantlabelalpha,100)):"",h=q.tlConfig,h||(h=q.tlConfig={enabled:!0,styleObj:{}}),h.label=a,h.styleObj.fontSize=c(e(n.quadrantlabeltlfontsize,n.quadrantlabelfontsize),parseInt(w.fontSize,10))+"px",h.styleObj.lineHeight=w.lineHeight,h.styleObj.fontFamily=c(n.quadrantlabeltlfont,n.quadrantlabelfont,w.fontFamily),h.styleObj.color=L(c(n.quadrantlabeltlfontcolor,n.quadrantlabelfontcolor,w.color),e(n.quadrantlabeltlfontalpha,
n.quadrantlabelfontalpha,100)),h.styleObj.fontWeight=e(n.quadrantlabeltlfontbold,n.quadrantlabelfontbold)?"bold":"normal",h.styleObj.fontStyle=e(n.quadrantlabeltlfontitalic,n.quadrantlabelfontitalic)?"italic":"normal",r(h.styleObj),a=e(n.quadrantlabeltlborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabeltlborderradius,n.quadrantlabelborderradius,0),f=f?L(f,e(n.quadrantlabeltlbgalpha,n.quadrantlabelbgalpha,n.quadrantlabeltlalpha,n.quadrantlabelalpha,100)):"",l=e(n.quadrantlabeltlborderdashed,
n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabeltlborderdashlen,n.quadrantlabelborderdashlen,4),e(n.quadrantlabeltlborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",h["text-bound"]=[f,b,k,a,d,l]),""!==m&&(b=sa(n.quadrantlabeltrbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabeltrbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabeltrborderthickness,n.quadrantlabelborderthickness,1),b=b?L(b,e(n.quadrantlabeltrborderalpha,n.quadrantlabelborderalpha,n.quadrantlabeltralpha,n.quadrantlabelalpha,
100)):"",m=q.trConfig,m||(m=q.trConfig={enabled:!0,styleObj:{}}),m.label=Ja(n.quadrantlabeltr,""),m.styleObj.fontSize=c(e(n.quadrantlabeltrfontsize,n.quadrantlabelfontsize),parseInt(w.fontSize,10))+"px",m.styleObj.lineHeight=w.lineHeight,m.styleObj.fontFamily=c(n.quadrantlabeltrfont,n.quadrantlabelfont,w.fontFamily),m.styleObj.color=L(c(n.quadrantlabeltrfontcolor,n.quadrantlabelfontcolor,w.color),e(n.quadrantlabeltrfontalpha,n.quadrantrabelfontalpha,100)),m.styleObj.fontWeight=e(n.quadrantlabeltrfontbold,
n.quadrantlabelfontbold)?"bold":"normal",m.styleObj.fontStyle=e(n.quadrantlabeltrfontitalic,n.quadrantlabelfontitalic)?"italic":"normal",r(m.styleObj),a=e(n.quadrantlabeltrborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabeltrborderradius,n.quadrantlabelborderradius,0),f=f?L(f,e(n.quadrantlabeltrbgalpha,n.quadrantlabelbgalpha,n.quadrantlabeltralpha,n.quadrantlabelalpha,100)):"",l=e(n.quadrantlabeltrborderdashed,n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabeltrborderdashlen,n.quadrantlabelborderdashlen,
4),e(n.quadrantlabeltrborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",m["text-bound"]=[f,b,k,a,d,l]),""!==p&&(b=sa(n.quadrantlabelblbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabelblbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabelblborderthickness,n.quadrantlabelborderthickness,1),b=b?L(b,e(n.quadrantlabelblborderalpha,n.quadrantlabelborderalpha,n.quadrantlabelblalpha,n.quadrantlabelalpha,100)):"",m=q.blConfig,m||(m=q.blConfig={enabled:!0,styleObj:{}}),m.label=p,m.styleObj.fontSize=
c(e(n.quadrantlabelblfontsize,n.quadrantlabelfontsize),parseInt(w.fontSize,10))+"px",m.styleObj.lineHeight=w.lineHeight,m.styleObj.fontFamily=c(n.quadrantlabelblfont,n.quadrantlabelfont,w.fontFamily),m.styleObj.color=L(c(n.quadrantlabelblfontcolor,n.quadrantlabelfontcolor,w.color),e(n.quadrantlabelblfontalpha,n.quadrantlabelfontalpha,100)),m.styleObj.fontWeight=e(n.quadrantlabelblfontbold,n.quadrantlabelfontbold)?"bold":"normal",m.styleObj.fontStyle=e(n.quadrantlabelblfontitalic,n.quadrantlabelfontitalic)?
"italic":"normal",r(m.styleObj),a=e(n.quadrantlabelblborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabelblborderradius,n.quadrantlabelborderradius,0),f=f?L(f,e(n.quadrantlabelblbgalpha,n.quadrantlabelbgalpha,n.quadrantlabelblalpha,n.quadrantlabelalpha,100)):"",l=e(n.quadrantlabelblborderdashed,n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabelblborderdashlen,n.quadrantlabelborderdashlen,4),e(n.quadrantlabelblborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",m["text-bound"]=[f,
b,k,a,d,l]),""!==g&&(b=sa(n.quadrantlabelbrbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabelbrbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabelbrborderthickness,n.quadrantlabelborderthickness,1),b=b?L(b,e(n.quadrantlabelbrborderalpha,n.quadrantlabelborderalpha,n.quadrantlabelbralpha,n.quadrantlabelalpha,100)):"",p=q.brConfig,p||(p=q.brConfig={enabled:!0,styleObj:{}}),p.label=Ja(n.quadrantlabelbr,""),p.styleObj.fontSize=c(e(n.quadrantlabelbrfontsize,n.quadrantlabelfontsize),parseInt(w.fontSize,
10))+"px",p.styleObj.lineHeight=w.lineHeight,p.styleObj.fontFamily=c(n.quadrantlabelbrfont,n.quadrantlabelfont,w.fontFamily),p.styleObj.color=L(c(n.quadrantlabelbrfontcolor,n.quadrantlabelfontcolor,w.color),e(n.quadrantlabelbrfontalpha,n.quadrantrabelfontalpha,100)),p.styleObj.fontWeight=e(n.quadrantlabelbrfontbold,n.quadrantlabelfontbold)?"bold":"normal",p.styleObj.fontStyle=e(n.quadrantlabelbrfontitalic,n.quadrantlabelfontitalic)?"italic":"normal",r(p.styleObj),f=f?L(f,e(n.quadrantlabelbrbgalpha,
n.quadrantlabelbgalpha,n.quadrantlabelbralpha,n.quadrantlabelalpha,100)):"",a=e(n.quadrantlabelbrborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabelbrborderradius,n.quadrantlabelborderradius,0),l=e(n.quadrantlabelbrborderdashed,n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabelbrborderdashlen,n.quadrantlabelborderdashlen,4),e(n.quadrantlabelbrborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",p["text-bound"]=[f,b,k,a,d,l])},_preDraw:function(){var b,a,c,d,e,f;c=this.conf;var h=
this.chart;d=h.components;f=d.yAxis[0];e=d.xAxis[0].getLimit();var l=f.getLimit();d=e.max;f=l.max;var p=e.min;e=l.min;var h=h.config,g=h.canvasWidth,m=h.canvasHeight,h=c.quadrantLabelPadding,l=c.tlConfig,r=c.trConfig,n=c.blConfig,q=c.brConfig;b=c.xVal||(c.xVal=(p+d)/2);a=c.yVal||(c.yVal=(e+f)/2);if(a>=e&&a<=f&&b>=p&&b<=d){c=g/(d-p)*(b-p);d=g-c;f=m/(f-e)*(a-e);c-=h;e=m-f-h;f-=h;if(0>e||0>c)l.enabled=!1;if(0>e||0>d-h)r.enabled=!1;if(0>f||0>c)n.enabled=!1;if(0>f||0>c)q.enabled=!1}else c.enabled=!1;return this},
draw:function(){var b=this._preDraw(),a=b.conf,c=b.chart,d=c.graphics,e=c.config,f=c.components,h=c.linkedItems.smartLabel,b=b.graphics,l=b.tlLabel,p=b.trLabel,g=b.blLabel,m=b.brLabel,r=e.textDirection,n=f.xAxis[0],q=f.yAxis[0],f=f.paper,w=b.container,t=a.tlConfig||{},v=a.trConfig||{},A=a.blConfig||{},B=a.brConfig||{},t=t.enabled&&t.label,v=v.enabled&&v.label,A=A.enabled&&A.label,B=B.enabled&&B.label,G=e.canvasLeft,F=e.canvasTop,E=a.quadrantLabelPadding,C=n.getLimit(),I=q.getLimit(),J=C.max,L=I.max,
I=I.min,C=n.getPixel(C.min)+E,J=n.getPixel(J)-E,I=q.getPixel(I)-E,E=q.getPixel(L)+E,n=n.getPixel(a.xVal),K=q.getPixel(a.yVal),q=n-C,L=J-n,N=K-E,P=I-K,O=b.horizontalQuadLine,T=b.verticalQuadLine,U=c.get("config","animationObj"),c=U.duration||0,V=U.dummyObj,U=U.animObj,aa=!1;a.enabled?(w||(aa=!0,w=b.container=f.group("quadrant").insertBefore(d.datasetGroup)),w.animateWith(V,U,{"clip-rect":e.canvasLeft+","+e.canvasTop+","+e.canvasWidth+","+e.canvasHeight},aa?0:c),O||(O=b.horizontalQuadLine=f.path(w)),
O.animateWith(V,U,{path:"M"+G+" "+K+"h"+e.canvasWidth},c).attr({stroke:a.quadrantLineColor,"stroke-dasharray":a.dashStyle,"stroke-width":a.quadrantLineThickness,"stroke-linecap":"butt"}),T||(T=b.verticalQuadLine=f.path(w)),T.animateWith(V,U,{path:"M"+n+" "+F+"v"+e.canvasHeight},c).attr({stroke:a.quadrantLineColor,"stroke-width":a.quadrantLineThickness,"stroke-dasharray":a.dashStyle,"stroke-linecap":"butt"}),t?(l||(l=b.tlLabel=f.text(w).attr({"text-anchor":Ra,"vertical-align":Za}).css(a.tlConfig.styleObj)),
h.useEllipsesOnOverflow(e.useEllipsesWhenOverflow),h.setStyle(a.tlConfig.styleObj),d=h.getSmartText(t,q,N),t&&l.animateWith(V,U,{x:C,y:E},aa?0:c).attr({text:d.text,direction:r,"text-bound":a.tlConfig["text-bound"]}).show()):l&&l.hide(),v?(p||(p=b.trLabel=f.text(w).attr({"text-anchor":db,"vertical-align":Za,direction:r}).css(a.trConfig.styleObj)),h.setStyle(a.trConfig.styleObj),d=h.getSmartText(v,L,N),v&&p.animateWith(V,U,{x:J,y:E},aa?0:c).attr({text:d.text,"text-bound":a.trConfig["text-bound"]}).show()):
p&&p.hide(),A?(g||(g=b.blLabel=f.text(w).attr({"text-anchor":Ra,"vertical-align":ab,direction:r}).css(a.blConfig.styleObj)),h.setStyle(a.blConfig.styleObj),d=h.getSmartText(A,q,P),A&&g.animateWith(V,U,{x:C,y:I},aa?0:c).attr({text:d.text,"text-bound":a.blConfig["text-bound"]}).show()):g&&g.hide(),B?(m||(m=b.brLabel=f.text(w).attr({"text-anchor":db,"vertical-align":ab,direction:r}).css(a.brConfig.styleObj)),h.setStyle(a.brConfig.styleObj),d=h.getSmartText(B,L,P),B&&m.animateWith(V,U,{x:J,y:I},aa?0:
c).attr({text:d.text,"text-bound":a.brConfig["text-bound"]}).show()):m&&m.hide()):w&&w.hide()}}]);FusionCharts.register("component",["dataset","Scatter",{type:"scatter",configure:function(){var b,d,f,l=this.chart,r=l.components,k=m.parseUnsafeString,h=this.config,n=this.JSONData,p=l.areaAlpha,g=l.jsonData.chart,q=r.colorManager;b=e(n.showplotborder,g.showplotborder||1);var t=q.getPlotColor(this.index),v=h.lineDashed=e(n.linedashed,n.dashed,g.linedashed,0),A=this.isLineSet;h.plotColor=t;f=e(l.defaultPlotShadow,
q.getColor("showShadow"));h.xAxisLabelMode=c(g.xaxislabelmode,"categories");h.toolTipSepChar=c(g.tooltipsepchar,", ");h.parentYAxis=A?d=1:d="s"===c(n.parentyaxis&&n.parentyaxis.toLowerCase(),"p")?1:0;this.yAxis=r.yAxis[d];h.connectNullData=e(g.connectnulldata,0);h.includeInLegend=e(n.includeinlegend,1);h.enableAnimation=d=e(g.animation,g.defaultanimation,1);h.animation=d?{duration:1E3*e(g.animationduration,1)}:!1;h.transposeanimation=e(g.transposeanimation,d);h.transposeanimduration=1E3*e(g.transposeanimduration,
.2);h.showValues=e(n.showvalues,g.showvalues);h.valuePadding=e(g.valuepadding,2);h.valuePosition=c(n.valueposition,g.valueposition,"auto");h.showTooltip=e(g.showtooltip,1);h.seriesNameInTooltip=e(g.seriesnameintooltip,1);h.showRegressionLine=e(n.showregressionline,g.showregressionline,0);h.plotFillColor=c(n.color,g.plotfillcolor,t);h.plotFillAngle=c(g.plotfillangle,270);h.plotFillAlpha=c(n.alpha,g.plotfillalpha,p,"70");p=e(g.useplotgradientcolor,1);h.plotGradientColor=0!==p?m.getDefinedColor(g.plotgradientcolor,
q.getColor("plotGradientColor")):"";h.fillColor={color:h.plotFillColor+(h.plotGradientColor?","+h.plotGradientColor:a),alpha:h.plotFillAlpha,angle:h.plotFillAngle};h.plotBorderAlpha=b?c(n.plotborderalpha,g.plotborderalpha,n.alpha,"95"):0;h.plotBorderColor=c(n.plotbordercolor,g.plotbordercolor,g.areabordercolor,"666666");h.dashed=b=e(n.dashed,g.plotborderdashed);h.plotBorderDashLen=c(n.plotborderdashlen,g.plotborderdashlen,5);h.plotBorderDashGap=c(n.plotborderdashgap,g.plotborderdashgap,4);h.plotBorderThickness=
e(n.plotborderthickness,g.plotborderthickness,1);h.plotBorderDashStyle=b?m.getDashStyle(h.plotBorderDashLen,h.plotBorderDashGap,h.plotBorderThickness):"none";h.showHoverEffect=e(g.plothovereffect,g.anchorhovereffect,g.showhovereffect,void 0);h.rotateValues=e(g.rotatevalues)?270:0;h.drawLine=e(n.drawline,g.drawlines,0);h.lineThickness=e(n.linethickness,g.linethickness,2);h.lineDashLen=e(n.linedashlen,g.linedashlen,5);h.lineDashGap=e(n.linedashgap,g.linedashgap,4);h.lineAlpha=e(n.linealpha,g.linealpha,
n.alpha,ca);h.lineColor=c(n.linecolor,g.linecolor,n.color,h.plotColor);h.lineDashStyle=m.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=v?h.lineDashStyle:"none";h.shadow={opacity:e(g.showshadow,f)?h.lineAlpha/100:0};h.drawanchors=e(n.drawanchors,n.showanchors,g.drawanchors,g.showanchors);h.anchorbgcolor=mb(c(n.anchorbgcolor,g.anchorbgcolor,q.getColor("anchorBgColor")));h.anchorbordercolor=mb(c(n.anchorbordercolor,n.color,g.anchorbordercolor,h.lineColor));h.anchorradius=
e(n.anchorradius,g.anchorradius,3);h.anchoralpha=c(n.anchoralpha,n.alpha,g.anchoralpha,ca);h.anchorbgalpha=c(n.anchorbgalpha,n.alpha,g.anchorbgalpha,ca);h.anchorborderthickness=c(n.anchorborderthickness,g.anchorborderthickness,1);h.anchorsides=e(n.anchorsides,g.anchorsides,this.index+3);h.anchorimageurl=c(n.anchorimageurl,g.anchorimageurl);h.anchorimagealpha=e(n.anchorimagealpha,g.anchorimagealpha,100);h.anchorimagescale=e(n.anchorimagescale,g.anchorimagescale,100);h.anchorimagepadding=e(n.anchorimagepadding,
g.anchorimagepadding,1);h.anchorstartangle=e(n.anchorstartangle,g.anchorstartangle,90);h.anchorshadow=e(n.anchorshadow,g.anchorshadow,0);h.plotToolText=m.getValidValue(k(c(n.plottooltext,g.plottooltext)));h.showRegressionLine&&(h.regressionObj={isRegression:!0,sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},h.showYOnX=e(n.showyonx,g.showyonx,1),h.regressionLineColor=mb(c(n.regressionlinecolor,g.regressionlinecolor,h.anchorbordercolor)),h.regressionLineThickness=e(n.regressionlinethickness,
g.regressionlinethickness,h.anchorborderthickness),h.regressionLineAlpha=T(e(n.regressionlinealpha,g.regressionlinealpha,h.anchoralpha)),h.regLineColor=w({color:h.regressionLineColor,alpha:h.regressionLineAlpha}));h.seriesNameInTooltip&&(h.seriesname=m.getFirstValue(n&&n.seriesname));this.visible=1===e(n.visible,!Number(n.initiallyhidden),1);this._setConfigure();!1!==l.hasLegend&&this._addLegend()},_setConfigure:function(){var b,d,f,l,n,k,h,r,p,g=-Infinity,q=Infinity,w=Infinity,t=-Infinity,v=this.components.data||
(this.components.data=[]);b=this.chart;var A=m.parseUnsafeString,B=this.config,G=this.JSONData,F=b.jsonData.chart,E=G.data||[],C=E.length,I=b.components.numberFormatter,J=A(F.yaxisname),L=A(F.xaxisname),K=B.lineDashed,N=B.lineDashStyle,Q=B.parentYAxis,P=B.toolTipSepChar,O=B.seriesname;for(b=B.imageCount=0;b<C;b+=1)l=E[b],f=v[b]||(v[b]={}),d=f.config||(f.config={}),d.setValue=n={x:I.getCleanValue(l.x),y:I.getCleanValue(l.y)},null!==n.x&&null!==n.y&&(n.x>t&&(t=n.x,B.rightMostData=f),n.x<w&&(w=n.x,B.leftMostData=
f),n.y>g&&(g=n.y,B.topMostData=f),n.y<q&&(q=n.y,B.bottomMostData=f)),B.showRegressionLine&&this.pointValueWatcher(n.x,n.y,B.regressionObj),d.setLink=c(l.link),d.anchorProps=this._parseAnchorProperties(b),d.showValue=e(l.showvalue,B.showValues),d.dashed=e(l.dashed,K),d.color=c(l.color,B.lineColor),d.alpha=c(l.alpha,B.lineAlpha),d.dashStyle=d.dashed?N:"none",d.toolTipValue=k=I.dataLabels(n.y,Q),d.setDisplayValue=p=A(l.displayvalue),r=d.formatedVal=c(l.toolTipValue,I.dataLabels(n.y,Q)),h=I.xAxis(n.x),
d.displayValue=c(p,k),d.setTooltext=m.getValidValue(A(c(l.tooltext,B.plotToolText))),B.showTooltip?void 0!==d.setTooltext?(n=[4,5,6,7,8,9,10,11],h={yaxisName:J,xaxisName:L,yDataValue:r,xDataValue:h},l=ha(d.setTooltext,n,h,l,F,G)):null===r?l=!1:(l=O?O+P:a,l+=n.x?h+P:a,l+=k):l=!1,d.toolText=l,f?f.graphics||(v[b].graphics={}):f=v[b]={graphics:{}},d.hoverEffects=this._parseHoverEffectOptions(f),d.anchorProps.isAnchorHoverRadius=d.hoverEffects.anchorRadius;B.xMax=t;B.xMin=w;B.yMin=q;B.yMax=g;B.showRegressionLine&&
(B.regressionData=this.getRegressionLineSeries(B.regressionObj,B.showYOnX,C));this.ErrorValueConfigure&&this.ErrorValueConfigure()},sortFN:function(b,a){return b-a},getRegressionLineSeries:function(b,a,c){var d,e,f,h;h=b.sumXY;var l=b.sumX,p=b.sumY;e=b.xValues;f=b.sumXsqure;d=b.yValues;b=b.sumYsqure;a?(e.sort(this.sortFN),d=e[0],e=e[e.length-1],h=(c*h-l*p)/(c*f-yb(l,2)),f=!isNaN(h)&&isFinite(h)?h*(d-l/c)+p/c:p/c,c=!isNaN(h)&&isFinite(h)?h*(e-l/c)+p/c:p/c,c=[{x:d,y:f},{x:e,y:c}]):(d.sort(this.sortFN),
f=d[0],d=d[d.length-1],h=(c*h-l*p)/(c*b-yb(p,2)),e=isNaN(h)?l/c:h*(f-p/c)+l/c,c=isNaN(h)?l/c:h*(d-p/c)+l/c,c=[{x:e,y:f},{x:c,y:d}]);return c},draw:function(){var b,a,d,e,f,k,h,l,p,g,n,r,q,t,v,A,B,G,E,C=this.JSONData,I=this.chart,J=I.getJobList(),L=I.components,K=this.components.removeDataArr,K=K&&K.length,N=I.jsonData.chart,Q=this.config,P=this.index,O=C.data||[],T=I.config,U=L.paper,aa=L.xAxis[0],L=L.yAxis[0],fa=m.parseUnsafeString,V=m.getValidValue,ca=this.components.data,S=ca.length;B={};a={};
var W=Q.lineThickness;a=I.graphics;k=a.datalabelsGroup;var X=this.graphics.container,Z=this.graphics.trackerContainer;t=a.trackerGroup;var pa=this.pool||(this.pool={}),Y=Q.connectNullData,ia=Q.showTooltip;a=a.datasetGroup;var da=Q.shadow,ba=this.graphics.dataLabelContainer;f={};var ka=[Ga(0,T.canvasLeft),Ga(0,T.canvasTop),Ga(1,T.canvasWidth),Ga(1,T.canvasHeight)],T=[Ga(0,T.canvasLeft),Ga(0,T.canvasTop),1,Ga(1,T.canvasHeight)],ga=Q.lineDashStyle,ja={color:Q.lineColor,alpha:Q.lineAlpha},la=[],oa=[],
ha=null,qa=[],ma=!1,Aa=this.graphics.lineElement;f=this.graphics.regressionLineElement;var ra=this.visible,ta=I.get("config","animationObj"),I=ta.duration||0,va=ta.dummyObj,wa=ta.animObj,ta=ta.animType,sa=0;Q.imagesLoaded=0;a.line=a.line||U.group("line",a);a.lineConnector=a.lineConnector||U.group("line-connector",a);X||(X=this.graphics.container={lineShadowGroup:U.group("connector-shadow",a.lineConnector),anchorShadowGroup:U.group("anchor-shadow",a.lineConnector),lineGroup:U.group("connector",a.lineConnector),
anchorGroup:U.group("anchors",a.lineConnector)});Z||(Z=this.graphics.trackerContainer=U.group("line-hot"));ca||(ca=this.components.data=[]);t&&t.appendChild(Z);ba||(ba=this.graphics.dataLabelContainer=U.group("datalabel",k).attr("class","fusioncharts-datalabels"));Q.showRegressionLine&&ra?(k=Q.regressionData[0],t=Q.regressionData[1],(a=Q._regressionAttr)||(Q._regressionAttr=a={}),a.stroke=Q.regLineColor,a["stroke-width"]=Q.regressionLineThickness,a["stroke-linecap"]="round",a["stroke-linejoin"]=2<
Q.regressionLineThickness?"round":"miter",a.path="M "+aa.getAxisPosition(k.x)+","+L.getAxisPosition(k.y)+" L "+aa.getAxisPosition(t.x)+","+L.getAxisPosition(t.y),f?f.animateWith(va,wa,a,I,ta):f=this.graphics.regressionLineElement=U.path(a,X.regLineGroup),f.show()):f&&f.hide();for(k=0;k<S;k+=1)if(f=O[k],t=ca[k],G=t.config,d=G.trackerConfig={},a=t.graphics,r=G.setValue,n=G.setLink,V(fa(c(f.tooltext,C.plottooltext,N.plottooltext))),f=G.anchorProps,B=f.symbol,v=f.shadow,q=G.displayValue,t||(t=ca[k]={graphics:{}}),
e=r.y,b=r.x,p=G.finalTooltext=G.toolText,null!==e&&null!==b){A=G.hoverEffects;h=aa.getAxisPosition(b);l=L.getAxisPosition(e);G.eventArgs={index:k,link:n,x:b,y:e,value:r,displayValue:q,toolText:p,id:Q.userID,datasetIndex:P||0,datasetName:C.seriesname,visible:ra};if(f.imageUrl)G.anchorImageLoaded=!1,d=new F,G.anchorImageLoaded=!1,ra||a.image&&a.image.animateWith(va,wa,{opacity:0},I,ta),d.onload=this._onAnchorImageLoad(this,k,void 0,h,l),d.onerror=this._onErrorSetter(this,k),d.src=f.imageUrl,sa++;else if(g=
a.element,(G=a.image)&&G.hide(),g||(g=pa.element&&pa.element.length?a.element=pa.element.shift():a.element=U.polypath(X.anchorGroup),ma=!0,I&&ma&&g.attr({polypath:[B[1]||2,h,l,f.radius,f.startAngle,0],opacity:0,"fill-opacity":0,"stroke-opacity":0})),g.attr({fill:w({color:f.bgColor,alpha:f.bgAlpha}),stroke:w({color:f.borderColor,alpha:f.borderAlpha}),"stroke-width":f.borderThickness,cursor:n?"pointer":"",visibility:f.radius?ra:Va}).shadow(v,X.anchorShadowGroup).animateWith(va,wa,{polypath:[B[1]||2,
h,l,f.radius,f.startAngle,0],opacity:ra?f.bgAlpha/100:0,"fill-opacity":ra?f.bgAlpha/100:0,"stroke-opacity":ra?f.borderAlpha/100:0},I,ta),n||ia||A)a=Ga(f.radius,A.anchorRadius||0),d.trackerRadius=a;A.enabled&&(a={polypath:[A.anchorSides||2,h,l,A.anchorRadius,A.startAngle,A.dip],fill:w({color:A.anchorColor,alpha:A.anchorBgAlpha}),stroke:w({color:A.anchorBorderColor,alpha:A.anchorBorderAlpha}),"stroke-width":A.anchorBorderThickness},B={polypath:[B[1]||2,h,l,f.radius,f.startAngle,0],fill:w({color:f.bgColor,
alpha:f.bgAlpha}),stroke:w({color:f.borderColor,alpha:f.borderAlpha}),"stroke-width":f.borderThickness},g&&g.data("anchorRadius",f.radius).data("anchorHoverRadius",A.anchorRadius).data(Ha,a).data(Sa,B));f.isAnchorHoverRadius=A.anchorRadius;null!==ha?(qa.length&&(la=la.concat(qa),qa.length=0),la.join("")||la.push("M",E,ha),la.push("L",h,l)):qa.push("M",h,l);E=h;ha=l;t._xPos=h;t._yPos=l}else qa.length=0,Y||(ha=null);la.length&&(oa=oa.concat(la));Q.drawLine&&oa.join("")?(Aa||(Aa=this.graphics.lineElement=
U.path({path:oa},X.lineGroup),ma=!0),ra&&Aa.attr({"stroke-dasharray":ga,"stroke-width":W,stroke:w(ja),"stroke-linecap":"round","stroke-linejoin":2<=W?"round":"miter"}),ra?Aa.animateWith(va,wa,{path:oa,"stroke-opacity":1},I,ta,function(){this.shadow(da,X.lineShadowGroup)}):Aa.animateWith(va,wa,{path:oa,"stroke-opacity":0},ma?0:I,ta).shadow(!1)):Aa&&Aa.animateWith(va,wa,{"stroke-opacity":0},I,ta).shadow(!1);Q.totalImages=Q.noOfImages=sa;0===sa&&(J.trackerDrawID.push(pb.addJob(this.drawTracker,this,
[],m.priorityList.tracker)),this.drawn?this.drawLabel():J.labelDrawID.push(pb.addJob(this.drawLabel,this,[],m.priorityList.label)));X.lineShadowGroup.hide();X.anchorShadowGroup.hide();ba.hide();ma&&X.lineGroup.attr({"clip-rect":T});X.lineGroup.animateWith(va,wa,{"clip-rect":ka},I,ta,function(){X.lineGroup.attr({"clip-rect":null});ra?(X.lineShadowGroup.show(),X.anchorShadowGroup.show(),X.anchorGroup.show(),Z.show(),ba&&ba.show()):(X.lineShadowGroup.hide(),X.anchorShadowGroup.hide(),X.anchorGroup.hide(),
Z.hide(),ba&&ba.hide())});K&&this.remove();this.drawErrorValue&&this.drawErrorValue();this.drawn=!0},getDataLimits:function(){var b=this.config,a=b.yMax,c=b.yMin,d=b.xMax,b=b.xMin,e=this.chart.config.transposeAxis;!1===this.visible&&e&&(a=-Infinity,c=Infinity,d=-Infinity,b=Infinity);return{max:a,min:c,xMax:d,xMin:b}},getAxisValuePadding:function(){return{left:0,right:0}},_addLegend:function(){var b,a=this.config,d=this.chart.components.legend,f=e(a.drawanchors,1);b=this.getPointColor(a.anchorbgcolor,
ca);var l={FCcolor:{color:a.anchorbordercolor,alpha:a.anchoralpha}};d.config.symbol3DLighting?b&&b.FCcolor?(b=q({},b),b.FCcolor.alpha="100"):b=c(b):b={FCcolor:{color:c(b&&(b.FCcolor&&b.FCcolor.color.split(",")[0]||b)),angle:0,ratio:"0",alpha:"100"}};this.legendItemId=d.addItems(this,this.legendInteractivity,{enabled:a.includeInLegend,type:this.type,drawLine:c(a.drawLine,!0),fillColor:w(b),strokeColor:w(c(l&&(l.FCcolor&&l.FCcolor.color.split(",")[0]||l))),rawFillColor:a.anchorbgcolor,rawStrokeColor:a.anchorbordercolor,
anchorSide:f?a.anchorsides:0,strokeWidth:a.anchorborderthickness,label:sa(this.JSONData.seriesname)})},getPointColor:function(b,a){var c,d;b=mb(b);a=T(a);c=qb(b,70);d=aa(b,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:c+","+d,alpha:a+","+a,ratio:N,radialGradient:!0}}}},"Line"]);FusionCharts.register("component",["dataset","Pareto",{configure:function(){var b=this.chart,a=this.config,d=b.components,f=d.xAxis[0],l=this.JSONData,k=l.data,h=k&&k.length,n=b.jsonData.chart,
p=d.colorManager,g,r=p.getPlotColor(this.index||this.positionIndex),t=e(l.dashed,n.plotborderdashed),v=e(n.useplotgradientcolor,1),A=e(n.showtooltip,1),B=m.parseUnsafeString,G=B(n.yaxisname),F=B(n.xaxisname),E=m.parseTooltext,C,I,J,K,N,P,O,Q,R,T,U,aa,fa,ea,V,Y=m.getDashStyle,S=this.components.data,d=d.numberFormatter,W,X=b.is3D,Z,pa,ba,ia,da,ga,ka,ha,ja=-Infinity,la=Infinity,oa=this.type.toLowerCase(),qa,ma,wa=0,sa=[],ra=0,ta,va=a.tootipSepChar=c(n.tooltipsepchar,", ");a.enableAnimation=O=e(n.animation,
n.defaultanimation,1);a.animation=O?{duration:1E3*e(n.animationduration,1)}:!1;a.showTooltip=e(n.showtooltip,1);a.valuePadding=e(n.valuepadding,2);a.rotateValues=e(n.rotatevalues)?270:0;a.showHoverEffect=O=e(n.plothovereffect,n.showhovereffect,void 0);a.showShadow=P||X?e(n.showshadow,1):e(n.showshadow,p.getColor("showShadow"));a.useDataPlotColorForLabels=ta=e(n.usedataplotcolorforlabels,0);a.use3dlineshift=e(n.use3dlineshift,b.use3dlineshift);/column/.test(oa)&&(g=a.showplotborder=e(n.showplotborder,
X?0:1),a.plotDashLen=J=e(n.plotborderdashlen,5),a.plotDashGap=K=e(n.plotborderdashgap,4),a.plotfillangle=Q=e(360-n.plotfillangle,90),a.plotfillalpha=R=c(n.plotfillalpha,ca),a.plotColor=r,a.isRoundEdges=P=e(n.useroundedges,0),a.plotRadius=e(n.useRoundEdges,a.isRoundEdges?1:0),a.plotfillratio=T=c(n.plotfillratio),a.plotgradientcolor=U=m.getDefinedColor(n.plotgradientcolor,p.getColor("plotGradientColor")),!v&&(U=""),a.plotborderalpha=aa=g&&!X?c(n.plotborderalpha,R,ca):0,a.plotbordercolor=fa=c(n.plotbordercolor,
X?"#ffffff":p.getColor("plotBorderColor")),a.plotborderthickness=N=e(n.plotborderthickness,1),a.plotBorderDashStyle=ea=t?Y(J,K,N):"none",a.showValues=e(n.showvalues,1),a.definedGroupPadding=Ga(e(n.plotspacepercent),0),a.plotSpacePercent=Ga(e(n.plotspacepercent,20)%100,0),a.maxcolwidth=e(n.maxcolwidth,50),a.plotpaddingpercent=e(n.plotpaddingpercent),a.placevaluesinside=e(n.placevaluesinside,0),a.use3dlighting=e(n.use3dlighting,1),a.parentYAxis=0);"line"===oa&&(a.linecolor=mb(c(n.linecolor,p.getColor("plotBorderColor"))),
a.linethickness=e(n.linethickness,2),a.linealpha=c(n.linealpha,ca),a.linedashed=e(n.linedashed,0),a.linedashlen=e(l.linedashlen,n.linedashlen,5),a.linedashgap=e(l.linedashgap,n.linedashgap,4),t=m.getDashStyle(a.linedashlen,a.linedashgap,a.linethickness),a.lineDashStyle=a.linedashed?t:"none",a.drawanchors=e(n.drawanchors,n.showanchors),a.anchorbgcolor=c(n.anchorbgcolor,p.getColor("anchorBgColor")),a.anchorbordercolor=c(n.anchorbordercolor,a.linecolor),a.anchorradius=e(n.anchorradius,3),a.anchoralpha=
c(n.anchoralpha),a.anchorbgalpha=c(n.anchorbgalpha,100),a.anchorborderthickness=c(n.anchorborderthickness,1),a.anchorsides=c(n.anchorsides,0),a.anchorimageurl=c(n.anchorimageurl),a.anchorimagealpha=e(n.anchorimagealpha,100),a.anchorimagescale=e(n.anchorimagescale,100),a.anchorimagepadding=e(n.anchorimagepadding,1),a.anchorstartangle=e(n.anchorstartangle,90),a.parentYAxis=1,a.valuePosition=c(n.valueposition,"auto"),a.showValues=e(n.showlinevalues,n.showvalues,1),a.showShadow&&(a.shadow={opacity:a.lineAlpha/
100}),a.showCumulativeLine=e(n.showcumulativeline,1));S||(S=this.components.data=[]);for(t=0;t<h;t++)v=Pa(d.getCleanValue(k[t].value)),wa+=v,sa[t]=q({},k[t]),sa[t].value=v;sa.sort(function(b,a){return a.value-b.value});for(t=a.imageCount=0;t<h;t++)v=sa[t],(r=S[t])||(r=S[t]={graphics:{}}),r.config||(k=S[t].config={}),b=Pa(d.getCleanValue(v.value)),null!==b&&(k=r&&r.config,W=f.getLabel(t),k.label=Ja(B(c(W.label))),k.showValue=e(v.showvalue,a.showValues),k.setValue=b,k.setLink=c(v.link),k.setDisplayValue=
W=B(v.displayvalue),ra+=k.setValue,qa=d.dataLabels(b),/column/.test(oa)?(r=e(v.dashed),C=e(v.dashlen,J),V=K=e(v.dashgap,K),k.plotBorderDashStyle=C=1===r?Y(C,V,N):0===r?"none":ea,r=p.getPlotColor(t),r=c(v.color,r),T=c(v.ratio,a.plotfillratio),R=c(v.alpha,a.plotfillalpha),aa=c(v.alpha,a.plotborderalpha),0>b&&!P&&(I=Q,Q=360-Q),k.colorArr=V=m.graphics.getColumnColor(r+","+U,R,T,Q,P,fa,aa.toString(),0,X?!0:!1),0!==O&&(Z=c(v.hovercolor,n.plotfillhovercolor,n.columnhovercolor,r),pa=c(v.hoveralpha,n.plotfillhoveralpha,
n.columnhoveralpha,R),ba=c(v.hovergradientcolor,n.plothovergradientcolor,U),!ba&&(ba=""),T=c(v.hoverratio,n.plothoverratio,T),ia=e(360-v.hoverangle,360-l.hoverangle,360-n.plothoverangle,Q),da=c(v.borderhovercolor,n.plotborderhovercolor,fa),aa=c(v.borderhoveralpha,l.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,aa,R),R=e(v.borderhoverthickness,l.borderhoverthickness,n.plotborderhoverthickness,N),ga=e(v.borderhoverdashed,n.plotborderhoverdashed),ka=e(v.borderhoverdashgap,n.plotborderhoverdashgap,
J),ha=e(v.borderhoverdashlen,n.plotborderhoverdashlen,K),ga=ga?Y(ha,ka,R):C,1==O&&Z===r&&(Z=qb(Z,70)),Z=m.graphics.getColumnColor(Z+","+ba,pa,T,ia,P,da,aa.toString(),0,X?!0:!1),k.setRolloutAttr={fill:X?[w(V[0]),!a.use3dlighting]:w(V[0]),stroke:g&&w(V[1]),"stroke-width":N,"stroke-dasharray":C},k.setRolloverAttr={fill:X?[w(Z[0]),!a.use3dlighting]:w(Z[0]),stroke:g&&w(Z[1]),"stroke-width":R,"stroke-dasharray":ga}),ta&&f.updateCategory(t,{labelfontcolor:L(r)}),k.displayValue=c(W,qa),C=k.setTooltext=k.origToolText=
Ja(B(c(v.tooltext,n.plottooltext))),k.toolTipValue=d.dataLabels(b,a.parentYAxis)):(b=k.setValue=ra/wa*100,ma=d.percentValue(b),k.toolTipValue=ma,k.displayValue=ma,k.valuePosition=c(v.valueposition,a.valuePosition),k.anchorProps=this._parseAnchorProperties(t,sa),k.hoverEffects=this._parseHoverEffectOptions(r)),r=k.toolTipValue,ja=Ga(ja,b),la=Ma(la,b),A?(a.showTooltip?void 0!==C?(r={formattedValue:r,label:k.label,yaxisName:G,xaxisName:F,cumulativeValue:ra,cumulativeDataValue:d.dataLabels(ra),cumulativePercentValue:ma,
sum:d.dataLabels(wa),unformattedSum:wa},b=[1,2,3,5,6,7,20,21,22,23,24,25],v=E(C,b,r,v,n)):v=k.label?k.label+va:"":v=!1,k.toolText=v):v=!1,k.toolText=v,k.tooltext=C,k.setTooltext=v,I&&(Q=I));a.maxValue=ja;a.minValue=la},init:function(b,a,c){var d=b.chart.components;b.JSONData={data:a};b.type=c;b.yAxis="line"===c?d.yAxis[1]:d.yAxis[0];b.components={};b.graphics={};b.visible=!0;this.configure.call(b)}}]);FusionCharts.register("component",["datasetGroup","MSSplineArea",{},"area"]);FusionCharts.register("component",
["dataset","MSSplineArea",{configure:function(){FusionCharts.get("component",["dataset","area"]).prototype.configure.call(this);this._calculateMaxMin()},_calculateMaxMin:function(){var b=this.config,a=this.chart,c=a.config,d=a.origRenderWidth,e=c.connectnulldata,f=this.components.data,h=Number.MIN_VALUE,l=Number.MAX_VALUE;0===c.minimizetendency&&(a=a.getSplineExtremities(f,d,e),b.maxValue=Ga(b.maxValue,a.max),b.minValue=Ma(b.minValue,a.min),b.maxValue===h&&(b.maxValue=0),b.minValue===l&&(b.minValue=
0))},getSplinePath:function(b,a,c,d){var e=function(b,a,c,d){a=(d-a)/Ka((c-b)*(c-b)+(d-a)*(d-a));a=Pa(.5*a);return b*a+c*(1-a)},f=function(b,a,c,d){var e=b.length,g=b[e-1],f=g.length,h=g[0],g=g[f-2];3>f||("R"!==h&&"C"!==h||3!==f||(b[e-1][0]="L"),a&&b.push(["L",g,d,c,d,"Z"]))},h=/area/ig.test(this.defaultDatasetType),l=[null],p=[],g=[],m=a.getAxisBase();a=a.getAxisPosition(m);var n,r,q,w,t,v,A,B,G,F,E,C,I,J,L,K;L=0;for(K=b.length;L<K;L+=1)if(G=b[L],q=b[L-1]||{},w=b[L+1]||{},t=G.x,m=G.y,n=q.x,q=q.y,
v=w.x,w=w.y,A=G.lastYPos,B=G.lastXPos,E=p.length,G=g.length,d)if(null!==A)if(r=I,L===b.length-1){A=l[L-C-1];G=v=(t+n)/2;E=(G-n)*A+q;if(q>m&&E<m||q<m&&E>m)E=m,G=(E-q)/A+n;I.push(G,E,v,(m+q)/2,t,m);p.push(I);g.push(I);h&&f(p,!0,J,a);h&&f(g,!1)}else{A=l[L-C-1];if(q>m&&w>=m||q<m&&w<=m)if(F=0,v=e(n,q,t,m),w=m,1!==L-C){G=v;E=(G-n)*A+q;if(q>m&&E<m||q<m&&E>m)E=m,G=(E-q)/A+n;I.push(G,E,v,w,t,m)}else I.push((t+n)/2,(m+q)/2,v,w,t,m);else if(q===m)F=0,I.push(n,q,t,m,t,m);else if(q>m&&m>w||q<m&&m<w){F=(w-q)/(v-
n);v=e(n,q,t,m);w=(v-t)*F+m;if(q>m&&w>q||q<m&&w<q)w=q,v=(w-m)/F+t;if(1!==L-C){G=v;E=(G-n)*A+q;if(q>m&&E<m||q<m&&E>m)E=m,G=(E-q)/A+n;I.push(G,E,v,w,t,m)}else I.push((t+n)/2,(m+q)/2,v,w,t,m)}l.push(F)}else null===A&&0!==L?(r||(r=[]),"C"===r[0]&&(p.push(I),g.push(I),h&&f(p,!0,J,a),h&&f(g,!1)),p.push(["M",t,m]),g.push(["M",t,m]),J=t,I=["C"],C=L,l=[null]):(p.push(["M",t,m]),g.push(["M",t,m]),J=t,I=["C"],C=L);else null!==A?2<=E?("M"===p[E-1][0]&&p.push(["R"]),"M"===g[G-1][0]&&g.push(["R"]),E=p.length,G=
g.length,r=p[E-1],n=r.length,p[E-1].push(t),p[E-1].push(m),g[G-1].push(t),g[G-1].push(m),L===c-1&&"R"===r[0]&&(f(p,!0,J,a),f(g,!1))):(p.push(["M",B,A]),p.push(["R",t,m]),g.push(["M",B,A]),g.push(["R",t,m]),J=B):null===A&&2<=E&&(r=p[E-1],"R"===r[0]&&(f(p,!0,J,a),f(g,!1)),p.push(["M",t,m]),g.push(["M",t,m]),J=t);r=p[p.length-1];h&&r&&(n=r.length,"Z"===r[n-1]||"R"!==r[0]&&"C"!==r[0]||(f(p,!0,J,a),f(g,!1)));h||(p=d?p:g,2<=p.length&&f(p,!1));return{closedPath:p,openPath:g}},draw:function(){var b=this,
a=b.config,c=b.chart,d=c.getJobList(),e=b.JSONData,f=c.config,h=c.components,l=h.canvas.config,p=b.index,g,n,r=h.paper,h=h.xAxis[0],q=b.yAxis,t,v,A,G,E=null,I=[],C=[],J=c.graphics,L=f.showtooltip,K,N=b.components.data,P,O,R,T,U,aa=f.connectnulldata,fa,ea,V=f.minimizetendency,ca=q.getAxisBase(),S,W=a.plotbordercolor,X=a.plotborderalpha,Z=a.plotBorderDashStyle,Y=a.plotborderthickness,ba=b.graphics.container,ia=b.graphics.trackerContainer,da=[],ga,ka=a.fillColor,ha=J.areaGroup,ja=c.get("config","animationObj"),
la=ja.duration,oa=ja.animType,qa=b.components.removeDataArr||[],ma=qa.length,wa=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(ba.areaGroup.hide(),Ba.hide(),ba.lineShadowGroup.hide(),ba.anchorShadowGroup.hide(),ba.anchorGroup.hide(),ia.hide(),za&&za.hide(),b._conatinerHidden=!0)},sa=function(){ha.area.attr({"clip-rect":null});ha.area.node&&ha.area.node.removeAttribute("clip-path");!1!==b.visible&&(ba.lineShadowGroup.show(),ba.anchorShadowGroup.show(),ba.anchorGroup.show(),
za.show(),Ba.show())},ra=a.shadow,ta,va=b.visible;ga=J.trackerGroup;var Ba=ba&&ba.shadowContainer,Da,da={},da=J.datalabelsGroup,za=b.graphics.dataLabelContainer,J=l.clip["clip-canvas"].slice(0),l=l.clip["clip-canvas-init"].slice(0),f=!f.drawfullareaborder,Ja=!0,Ia=b.components.pool||[],Ea=ja.dummyObj,ja=ja.animObj,Ka=b.graphics.connector,La=0,Ma;a.imagesLoaded=0;ba||(ba=b.graphics.container={lineShadowGroup:r.group("connector-shadow",ha.areaConnector),anchorShadowGroup:r.group("anchor-shadow",ha.areaConnector),
areaGroup:r.group("area",ha.area),anchorGroup:r.group("anchors",ha.areaConnector)},va||(ba.lineShadowGroup.hide(),ba.anchorShadowGroup.hide(),ba.areaGroup.hide(),ba.anchorGroup.hide()));Ba||(Ba=b.graphics.shadowContainer=r.group("shadows",ha.shadows),va||Ba.hide());ia||(ia=b.graphics.trackerContainer=r.group("area-hot",ga),va||ia.hide());N||(N=b.components.data);za||(za=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||r.group("datalabel",da),va||za.hide());va&&(ba.lineShadowGroup.show(),
ba.anchorShadowGroup.show(),ba.areaGroup.show(),ba.anchorGroup.show(),za.show(),Ba.show(),ia.show());g=h.getCategoryLen();ga=b.graphics.splineElement;for(n=0;n<g;n++)if(P=N[n])K=P&&P.config,U=K.setValue,T=K.setLink,da=K.anchorProps,Da=da.shadow,t=K.setLevelTooltext,K&&(S=0<=U?K.previousPositiveY:K.previousNegativeY),R=P.graphics.element,v=P.graphics.hotElement,Ma=P.graphics.image,null===U?(R&&R.hide(),v&&v.hide(),Ma&&Ma.hide(),aa||(E=null)):(q.getAxisPosition(S||ca),A=q.getAxisPosition(U+(S||0)),
v=h.getAxisPosition(n),!1===va&&la&&(A=q.getPixel(q.getAxisBase())),ta=K.hoverEffects,O=L?K.toolText+(t?"":K.toolTipValue):"",K.finalTooltext=O,t=K.eventArgs=K.eventArgs||{},t.index=n,t.link=T,t.value=U,t.displayValue=K.displayValue,t.categoryLabel=h.getLabel(n).label,t.toolText=O,t.id=b.userID,t.datasetIndex=p||0,t.datasetName=e.seriesname,t.visible=va,ta.enabled&&(K.setRolloverAttr={polypath:[ta.anchorSides||2,v,A,ta.anchorRadius,ta.startAngle,ta.dip],fill:w({color:ta.anchorColor,alpha:ta.anchorBgAlpha}),
stroke:w({color:ta.anchorBorderColor,alpha:ta.anchorBorderAlpha}),"stroke-width":ta.anchorBorderThickness},K.setRolloutAttr={polypath:[da.symbol[1]||2,v,A,da.radius,da.startAngle,0],fill:w({color:da.bgColor,alpha:da.bgAlpha}),stroke:w({color:da.borderColor,alpha:da.borderAlpha}),"stroke-width":da.borderThickness},ea=K.setRolloverAttr,fa=K.setRolloutAttr),T=[da.symbol[1]||2,v,A,da.radius,da.startAngle,0],da.imageUrl?(K.anchorImageLoaded=!1,La++,K=new F,K.onload=b._onAnchorImageLoad(b,n,t,v,A),K.onerror=
b._onErrorSetter(b,n),K.src=da.imageUrl):(Ma&&Ma.hide(),R||(Ia.element&&Ia.element.length?R=P.graphics.element=Ia.element.shift():(R=P.graphics.element=r.polypath(ba.anchorGroup),R.attr({polypath:T}))),Ma&&Ma.hide(),R.show().animateWith(Ea,ja,{polypath:T},la,oa,Ja&&void 0).attr({fill:w({color:da.bgColor,alpha:da.bgAlpha}),stroke:w({color:da.borderColor,alpha:da.borderAlpha}),"stroke-width":da.borderThickness,visibility:da.radius?va:Va}).shadow(Da,ba.anchorShadowGroup).data("anchorRadius",da.radius).data("anchorHoverRadius",
ta.anchorRadius).data(Ha,ea).data(Sa,fa),ta.enabled&&R&&R.data("anchorRadius",da.radius).data("anchorHoverRadius",ta.anchorRadius).data(Ha,ea).data(Sa,fa),K.trackerConfig||(K.trackerConfig={}),K.trackerConfig.trackerRadius=Ga(da.radius,ta&&ta.anchorRadius||0,B)+(da.borderThickness||0)/2),P._xPos=v,P._yPos=A,C.push({x:v,y:A,lastXPos:G,lastYPos:E}),G=v,E=A);a.noOfImages=a.totalImages=La;0===La&&(d.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),d.labelDrawID.push(pb.addJob(b.drawLabel,
b,[],m.priorityList.label)));da=this.getSplinePath.call(c,C,q,g,V).closedPath;da=da.join();ga||(ga=b.graphics.splineElement=r.path(ba.areaGroup),ga.attr({path:da}),la&&va&&(ba.anchorGroup.hide(),ba.anchorShadowGroup.hide(),za.hide(),Ba.hide(),ha.area.attr({"clip-rect":l}).animateWith(Ea,ja,{"clip-rect":J},la,oa,sa)));""===da?ga.hide():ga.show().animateWith(Ea,ja,{path:da},la,oa,Ja&&wa);Ja=!1;ga.attr({stroke:w({color:W,alpha:X}),"stroke-width":f?0:Y,fill:w(ka),"stroke-linecap":"round","stroke-linejoin":2<
Y?"round":"miter","stroke-dasharray":Z}).shadow(ra,Ba);f&&(Ka||(Ka=b.graphics.connector=r.path(ba.areaGroup)),Ka.animateWith(Ea,ja,{path:I},la,oa),Ka.attr({stroke:w({color:W,alpha:X}),"stroke-width":Y,"stroke-linecap":"round","stroke-linejoin":2<Y?"round":"miter","stroke-dasharray":Z}));for(n=0;n<ma;n++)b._removeDataVisuals(qa.shift())}},"area"]);FusionCharts.register("component",["dataset","MSSpline",{type:"spline",configure:function(){var b=FusionCharts.get("component",["dataset","line"]),a=FusionCharts.get("component",
["dataset","MSSplineArea"]);b.prototype.configure.call(this);a.prototype._calculateMaxMin.call(this)},getSplinePath:function(b,a,c){var d=function(b,a,c,d){a=(d-a)/Ka((c-b)*(c-b)+(d-a)*(d-a));a=Pa(.5*a);return b*a+c*(1-a)},e=function(b,a,c,d){var e=b.length,g=b[e-1],f=g.length,h=g[0],g=g[f-2];3>f||("R"!==h&&"C"!==h||3!==f||(b[e-1][0]="L"),a&&b.push(["L",g,d,c,d,"Z"]))},f=this.chart,h=/area/ig.test(f.defaultDatasetType);a=a.getAxisPosition(a.getAxisBase());var f=f.config.minimizetendency,l=[null],
p=[],g=[],m,n,r,q,w,t,v,A,B,G,F,E,C,I,J,L,K;L=0;for(K=b.length;L<K;L+=1)if(G=b[L],q=b[L-1]||{},w=b[L+1]||{},t=G.x,r=G.y,m=q.x,q=q.y,v=w.x,w=w.y,A=G.lastYPos,B=G.lastXPos,E=p.length,G=g.length,f)if(null!==A)if(n=I,L===b.length-1){A=l[L-C-1];G=v=(t+m)/2;E=(G-m)*A+q;if(q>r&&E<r||q<r&&E>r)E=r,G=(E-q)/A+m;I.push(G,E,v,(r+q)/2,t,r);p.push(I);g.push(I);h&&e(p,!0,J,a);h&&e(g,!1)}else{A=l[L-C-1];if(q>r&&w>=r||q<r&&w<=r)if(F=0,v=d(m,q,t,r),w=r,1!==L-C){G=v;E=(G-m)*A+q;if(q>r&&E<r||q<r&&E>r)E=r,G=(E-q)/A+m;
I.push(G,E,v,w,t,r)}else I.push((t+m)/2,(r+q)/2,v,w,t,r);else if(q===r)F=0,I.push(m,q,t,r,t,r);else if(q>r&&r>w||q<r&&r<w){F=(w-q)/(v-m);v=d(m,q,t,r);w=(v-t)*F+r;if(q>r&&w>q||q<r&&w<q)w=q,v=(w-r)/F+t;if(1!==L-C){G=v;E=(G-m)*A+q;if(q>r&&E<r||q<r&&E>r)E=r,G=(E-q)/A+m;I.push(G,E,v,w,t,r)}else I.push((t+m)/2,(r+q)/2,v,w,t,r)}l.push(F)}else null===A&&0!==L?(n||(n=[]),"C"===n[0]&&(p.push(I),g.push(I),h&&e(p,!0,J,a),h&&e(g,!1)),p.push(["M",t,r]),g.push(["M",t,r]),J=t,I=["C"],C=L,l=[null]):(p.push(["M",t,
r]),g.push(["M",t,r]),J=t,I=["C"],C=L);else null!==A?2<=E?("M"===p[E-1][0]&&p.push(["R"]),"M"===g[G-1][0]&&g.push(["R"]),E=p.length,G=g.length,n=p[E-1],m=n.length,p[E-1].push(t),p[E-1].push(r),g[G-1].push(t),g[G-1].push(r),L===c-1&&"R"===n[0]&&(e(p,!0,J,a),e(g,!1))):(p.push(["M",B,A]),p.push(["R",t,r]),g.push(["M",B,A]),g.push(["R",t,r]),J=B):null===A&&2<=E&&(n=p[E-1],"R"===n[0]&&(e(p,!0,J,a),e(g,!1)),p.push(["M",t,r]),g.push(["M",t,r]),J=t);n=p[p.length-1];h&&n&&(m=n.length,"Z"===n[m-1]||"R"!==n[0]&&
"C"!==n[0]||(e(p,!0,J,a),e(g,!1)));h||(p=f?p:g,2<=p.length&&e(p,!1));return{closedPath:p,openPath:g}},draw:function(){var b=this,a=b.JSONData,d=[],e=[],f=b.chart,e=f.getJobList(),k=f.components,h=k.canvas.config,l=b.config,p=f.config,g=b.index||b.positionIndex,n=p.categories,r=k.paper,q=k.xAxis[0],t=b.yAxis,v,A,G=f.graphics,E=G.datalabelsGroup,I=m.parseUnsafeString,C=m.getValidValue,L,J,K,N,P,O,R=b.components.data,T,k=l.linethickness,U=b.graphics.container,aa=b.graphics.trackerContainer,fa=G.trackerGroup,
ea=p.connectnulldata,p=p.showtooltip,V=G.datasetGroup,ca,G=l.shadow,S=b.graphics.dataLabelContainer,W={},X,Z,W=f.get("config","animationObj"),f=W.duration,Y=W.animType,ba=b.components.removeDataArr||[],ia=ba.length,da=b.components.pool||[],ga=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(U.lineGroup.hide(),U.lineShadowGroup.hide(),U.anchorShadowGroup.hide(),U.anchorGroup.hide(),aa.hide(),S&&S.hide())},ka=function(){V.lineConnector.attr({"clip-rect":null});V.lineConnector.node&&
V.lineConnector.node.removeAttribute("clip-path");!1!==b.visible&&(U.lineShadowGroup.show(),U.anchorShadowGroup.show(),U.anchorGroup.show(),aa.show(),S&&S.show())},ha=b.config.animFlag=b.config.animFlag||(b.config.animFlag=!0),ja=h.clip["clip-canvas"].slice(0),h=h.clip["clip-canvas-init"].slice(0),la=null,oa,qa=!1,ma=l.lineDashStyle,wa={color:l.linecolor,alpha:l.alpha},sa,ra,ta=W.dummyObj,va=W.animObj,Ba=0,W=b.graphics.SplineElement,za=b.visible;l.imagesLoaded=0;V.lineConnector=V.lineConnector||r.group("line-connector",
V);U||(U=b.graphics.container={lineShadowGroup:r.group("connector-shadow",V.lineConnector),anchorShadowGroup:r.group("anchor-shadow",V.lineConnector),lineGroup:r.group("spline",V.lineConnector),anchorGroup:r.group("anchors",V.lineConnector)},za||(U.lineShadowGroup.hide(),U.anchorShadowGroup.hide(),U.lineGroup.hide(),U.anchorGroup.hide()));aa||(aa=b.graphics.trackerContainer=r.group("line-hot"),za||aa.hide());R||(R=b.components.data=[]);fa&&fa.appendChild(aa);S||(S=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||
r.group("datalabel",E),za||S.hide());za&&(U.lineShadowGroup.show(),U.anchorShadowGroup.show(),U.lineGroup.show(),U.anchorGroup.show(),S.show(),aa.show());sa=q.getCategoryLen();for(fa=0;fa<sa;fa++)if(E=R[fa])Z=E.config,N=Z.setValue,K=Z.setLink,P=Z.setLevelTooltext,W=Z.anchorProps,X=W.symbol,T=W.shadow,O=Z.displayValue,E||(E=R[fa]={graphics:{}}),J=E.graphics.element,ra=E.graphics.image,A=E.graphics.label,v=E.graphics.hotElement,null===N?(J&&J.hide(),A&&A.hide(),v&&v.hide(),ra&&ra.hide(),ea||(la=null)):
(v=q.getAxisPosition(fa),A=t.getAxisPosition(N),ca=Z.hoverEffects,W.isAnchorHoverRadius=ca.anchorRadius,!1===za&&f&&(A=t.getPixel(t.getAxisBase())),C(I(c(n[fa].tooltext,n[fa].label))),L=p?Z.toolText+(P?"":Z.toolTipValue):"",Z.finalTooltext=L,P=Z.eventArgs||(Z.eventArgs={}),P.index=fa,P.link=K,P.value=N,P.displayValue=O,P.categoryLabel=q.getLabel(fa).label,P.toolText=L,P.id=l.userID,P.datasetIndex=g||0,P.datasetName=a.seriesname,P.visible=za,W.imageUrl?(Z.anchorImageLoaded=!1,J=new F,J.onload=b._onAnchorImageLoad(b,
fa,P,v,A),J.onerror=b._onErrorSetter(b,fa),J.src=W.imageUrl,Ba++):(ra&&ra.hide(),K=[X[1]||2,v,A,W.radius,W.startAngle,0],J||(da.element&&da.element.length?J=E.graphics.element=da.element.shift():(J=E.graphics.element=r.polypath(U.anchorGroup),J.attr({polypath:K}))),J.show().animateWith(ta,va,{polypath:K},f,Y,ha&&ga),J.attr({fill:w({color:W.bgColor,alpha:W.bgAlpha}),stroke:w({color:W.borderColor,alpha:W.borderAlpha}),"stroke-width":W.borderThickness,visibility:W.radius?za:Va}).shadow(T,U.anchorShadowGroup),
ha=!1,ca.enabled&&(K={polypath:[ca.anchorSides||2,v,A,ca.anchorRadius,ca.startAngle,ca.dip],fill:w({color:ca.anchorColor,alpha:ca.anchorBgAlpha}),stroke:w({color:ca.anchorBorderColor,alpha:ca.anchorBorderAlpha}),"stroke-width":ca.anchorBorderThickness},T={polypath:[W.sides,v,A,W.radius,W.startAngle,0],fill:w({color:W.bgColor,alpha:W.bgAlpha}),stroke:w({color:W.borderColor,alpha:W.borderAlpha}),"stroke-width":W.borderThickness},J&&J.data("anchorRadius",W.radius).data("anchorHoverRadius",ca.anchorRadius).data(Ha,
K).data(Sa,T)),Z.trackerConfig||(Z.trackerConfig={}),Z.trackerConfig.trackerRadius=Ga(W.radius,ca&&ca.anchorRadius||0,B)+(W.borderThickness||0)/2),d.push({x:v,y:A,lastXPos:oa,lastYPos:la}),oa=v,la=A,E._xPos=v,E._yPos=A,!W.imageUrl&&this.drawLabel(fa));l.noOfImages=l.totalImages=Ba;0===Ba&&(e.trackerDrawID.push(pb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),e.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label)));e=b.getSplinePath(d,t).closedPath;W=b.graphics.SplineElement;2<=e.length?
(W||(W=b.graphics.SplineElement=r.path(e,U.lineGroup),qa=!0),W.show().animateWith(ta,va,{path:e},f,Y,ha&&ga),W.attr({"stroke-dasharray":ma,"stroke-width":k,stroke:w(wa),"stroke-linecap":"round"}).shadow(G,U.lineShadowGroup),ha=!1):W&&W.hide();f&&za&&qa&&(U.anchorGroup.hide(),U.lineShadowGroup.hide(),U.anchorShadowGroup.hide(),S.hide(),V.lineConnector.attr({"clip-rect":h}).animateWith(ta,va,{"clip-rect":ja},f,Y,ka));b.drawn=!0;for(fa=0;fa<ia;fa++)b._removeDataVisuals(ba.shift())}},"Line"]);FusionCharts.register("component",
["dataset","Bubble",{type:"bubble",configure:function(){var b=this.chart,a=b.components,b=b.jsonData.chart,d=this.JSONData,f=this.config,l=d.data||[],k,h,n,p,g;k=a.colorManager;h=this.index;var a=a.numberFormatter,r,q=m.parseUnsafeString,t=c(q(b.tooltipsepchar),", "),v,A,B,G,E,F,I=-Infinity,C=Infinity,J=-Infinity,K=Infinity,N=-Infinity,P=Infinity,O,R=m.graphics.getPointColor;f.includeInLegend=e(d.includeinlegend,1);f.seriesname=q(d.seriesname);f.anchorBgColor=c(d.color,d.plotfillcolor,b.plotfillcolor,
k.getPlotColor(h));f.showPlotBorder=e(d.showplotborder,b.showplotborder,1);f.anchorBorderThickness=f.showPlotBorder?e(d.plotborderthickness,b.plotborderthickness,1):0;f.anchorBorderColor=mb(c(d.plotbordercolor,b.plotbordercolor,"666666"));f.plotFillAlpha=c(d.plotfillalpha,d.bubblefillalpha,b.plotfillalpha,"100");f.plotBorderAlpha=c(d.plotborderalpha,b.plotborderalpha,"95");f.negativeColor=c(b.negativecolor,"FF0000");f.is3d=0!==e(b.use3dlighting,d.is3d,b.is3d);f.bubbleScale=e(b.bubblescale,1);f.minBubbleRadius=
e(b.minbubbleradius);f.clipBubbles=e(b.clipbubbles,1);f.showRegressionLine=e(d.showregressionline,b.showregressionline,0);f.enableAnimation=k=e(b.animation,b.defaultanimation,1);f.animation=k?{duration:1E3*e(b.animationduration,1)}:!1;f.showTooltip=e(b.showtooltip,1);f.transposeAnimation=e(b.transposeanimation,k);f.transposeAnimDuration=1E3*e(b.transposeanimduration,.2);f.seriesNameInTooltip=e(b.seriesnameintooltip,1);f.rotateValues=e(b.rotatevalues)?270:0;f.showHoverEffect=e(b.plothovereffect,b.showhovereffect,
void 0);f.showValues=e(d.showvalues,b.showvalues,0);p=this.components.data=this.components.data||(this.components.data=[]);k=l.length;f.showRegressionLine&&(this.events={hide:this.hideRLine,show:this.showRLine},r={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[],isRegression:!0},f.showYOnX=e(d.showyonx,b.showyonx,1),f.regressionLineColor=mb(c(d.regressionlinecolor,b.regressionlinecolor,f.anchorBgColor)),f.regressionLineThickness=e(d.regressionlinethickness,b.regressionlinethickness,
1),f.regressionLineAlpha=T(e(d.regressionlinealpha,b.regressionlinealpha,100)),f.regLineColor=L(f.regressionLineColor,f.regressionLineAlpha));f.fillColor=f.is3d?w(R(f.anchorBgColor,f.plotFillAlpha)):w({color:f.anchorBgColor,alpha:f.plotFillAlpha});f.strokeColor=w({color:f.anchorBorderColor,alpha:f.plotFillAlpha});for(h=0;h<k;h++)if(A=l[h],n=p[h]=p[h]||(p[h]={}),!n.graphics&&(n.graphics={}),B=n.config={},B.x=a.getCleanValue(A.x),B.y=a.getCleanValue(A.y),B.z=a.getCleanValue(A.z,!0),B.showValue=e(A.showvalue,
f.showValues),B.anchorProps={},F=B.label=B.x,B.setLink=Ja(A.link),f.max=N=Ga(N,B.z||0),f.min=P=Ma(P,B.z||0),B.is3d=0!==e(A.is3d,f.is3d),I=Ga(I,B.x),C=Ma(C,B.x),J=Ga(J,B.y),K=Ma(K,B.y),n=B.color=mb(c(A.color,0>A.z?f.negativeColor:f.anchorBgColor)),g=B.alpha=c(A.alpha,f.plotFillAlpha),B.colorObj=O=B.is3d?R(n,g):{color:n,alpha:g},B.setDisplayValue=G=q(c(A.displayvalue,A.name,A.label)),v=B.formatedVal=null===B.y?B.y:a.dataLabels(B.y),B.displayValue=c(G,B.formatedVal),B.setTooltext=m.getValidValue(q(c(A.tooltext,
d.plottooltext,b.plottooltext))),f.showTooltip?null===v?G=!1:void 0!==B.setTooltext?(G=[4,5,6,7,8,9,10,11,12,13,118],v={yDataValue:v,xDataValue:a.xAxis(F),yaxisName:q(b.yaxisname),xaxisName:q(b.xaxisname),zDataValue:a.dataLabels(B.z)},G=m.parseTooltext(B.setTooltext,G,v,A,b,d)):(f.seriesNameInTooltip&&(E=m.getFirstValue(d&&d.seriesname)),G=E?E+t:"",G+=F?a.xAxis(F)+t:"",G+=v,G+=A.z?t+a.dataLabels(A.z):""):G=!1,B.toolText=G,this.pointValueWatcher(B.x,B.y,f.showRegressionLine&&r),v=B.hoverEffects={},
0!==f.showHoverEffect){F=v.enabled=void 0!==c(A.hoveralpha,d.hoveralpha,b.bubblehoveralpha,A.hovercolor,d.hovercolor,d.bubblehovercolor,b.bubblehovercolor,A.borderhovercolor,d.borderhovercolor,b.plotborderhovercolor,A.borderhoveralpha,d.borderhoveralpha,b.plotborderhoveralpha,A.hoverscale,d.bubblehoverscale,b.bubblehoverscale,A.borderhovercolor,d.borderhovercolor,b.plotborderhovercolor,A.borderhoverthickness,d.borderhoverthickness,b.plotborderhoverthickness,A.negativehovercolor,d.negativeColor,b.negativecolor,
A.is3donhover,b.plotfillhovercolor,d.is3donhover,b.is3donhover,void 0);v.negativeColor=c(A.negativehovercolor,d.negativehovercolor,b.negativehovercolor,f.negativeColor);v.is3d=e(A.is3donhover,d.is3donhover,b.is3donhover,B.is3d);v.color=c(A.hovercolor,d.hovercolor,d.bubblehovercolor,b.plotfillhovercolor,b.bubblehovercolor,B.is3d?O.FCcolor.color:n);v.color=v.negativeColor&&0>A.z?v.negativeColor:v.color;v.scale=c(A.hoverscale,d.hoverscale,d.bubblehoverscale,b.bubblehoverscale,1);v.color=mb(v.color);
v.alpha=c(A.hoveralpha,d.hoveralpha,b.plotfillhoveralpha,b.bubblehoveralpha,g);v.borderColor=c(A.borderhovercolor,d.borderhovercolor,b.plotborderhovercolor,f.anchorBorderColor);v.borderAlpha=c(A.borderhoveralpha,d.borderhoveralpha,b.plotborderhoveralpha,v.alpha,f.plotBorderAlpha);v.borderThickness=e(A.borderhoverthickness,d.borderhoverthickness,b.plotborderhoverthickness,f.anchorBorderThickness);v.color=v.is3d?R(v.color,v.alpha):{FCcolor:{color:v.color,alpha:v.alpha}};A=F&&f.showHoverEffect?0:f.showHoverEffect;
if(1===A){B=(A="string"==typeof v.color)?v.color.split(/\s{0,},\s{0,}/):v.color.FCcolor.color.split(/\s{0,},\s{0,}/);g=B.length;for(n=0;n<g;n++)B[n]=qb(B[n],70);A?v.color=B.join(","):v.color.FCcolor.color=B.join(",")}!1===F&&(v.enabled=!!f.showHoverEffect)}else v.enabled=!1;f.xMax=I;f.xMin=C;f.yMin=K;f.yMax=J;f.regressionData=f.showRegressionLine&&this.getRegressionLineSeries(r,f.showYOnX,k);this.visible=1===e(d.visible,!Number(d.initiallyhidden),1);this._addLegend()},init:function(b){this.yAxis=
this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},_addLegend:function(){var b=this.config;this.legendItemId=this.chart.components.legend.addItems(this,this.legendInteractivity,{enabled:b.includeInLegend,fillColor:b.fillColor,strokeColor:b.strokeColor,rawFillColor:b.anchorBgColor,rawStrokeColor:b.anchorBorderColor,anchorSide:1,type:this.type,label:b.seriesname})},draw:function(){var b=this,a=b.JSONData,c=ib.sqrt,d=b.chart,f=d.getJobList(),k=d.components,
h=k.canvas.config,l=k.paper,p=d.config,g=d.graphics,p=Ma(p.canvasHeight,p.canvasWidth)/8,n=g.datasetGroup,r,q,t=b.yAxis,k=k.xAxis[0],v=b.config;r=v._regressionAttr;var A,G,E,F;A=h.clip["clip-canvas"].slice(0);var I=h.clip["clip-canvas-init"].slice(0),C,h=b.components.data,J=b.components.removeDataArr||[],L=J.length,K=b.graphics.container,N=function(){!1===b.visible&&(K.bubbleGroup.hide(),K.regLineGroup.hide(),Y.hide(),S.hide(),b._containerHidden=!0)};C=function(){b.visible&&(Y.attr({"clip-rect":null}),
K.regLineGroup.attr({"clip-rect":null}))};var P=v.minBubbleRadius,O=v.bubbleScale,U=d.getDataLimits().zMax||0,U=c(U);F=v.clipBubbles;var T=d.get("config","animationObj"),d=T.duration;G=b.graphics.regressionLineElement;E=v.showRegressionLine;var aa=b.visible,fa=v.showTooltip,ca=g.trackerGroup,V=g.datalabelsGroup,Y=b.graphics.dataLabelContainer,S=b.graphics.trackerContainer,W,X;W={};var Z,ba,g=!0,ia=T.dummyObj,ga=T.animObj,T=T.animType,da=b.components.pool||{},ha=FusionCharts.get("component",["dataset",
"area"]).prototype.drawTracker,ka=v.anchorBorderThickness;W=b.drawn;K||(K=b.graphics.container={bubbleGroup:l.group("bubble",n),regLineGroup:l.group("regLine",n)},aa||(K.bubbleGroup.hide(),K.regLineGroup.hide()));S||(S=b.graphics.trackerContainer=l.group("bubble-hot"),aa||S.hide());Y||(Y=b.graphics.dataLabelContainer=l.group("datalabel",V),Y.attr({"clip-rect":I}).animateWith(ia,ga,{"clip-rect":A},d,T,C),aa||Y.hide());F?W?K.bubbleGroup.animateWith(ia,ga,{"clip-rect":A},d,T):K.bubbleGroup.attr({"clip-rect":A}):
(K.bubbleGroup.attr({"clip-rect":null}),K.bubbleGroup.node&&K.bubbleGroup.node.removeAttribute&&K.bubbleGroup.node.removeAttribute("clip-path"));ca&&ca.appendChild(S);aa&&(K.bubbleGroup.show(),K.regLineGroup.show(),Y.show(),S.show());E?(W=v.regressionData[0],n=v.regressionData[1],r||(v._regressionAttr=r={}),r.stroke=w({color:v.regressionLineColor,alpha:v.regressionLineAlpha}),r["stroke-width"]=v.regressionLineThickness,r["stroke-linecap"]="round",r["stroke-linejoin"]=2<v.regressionLineThickness?"round":
"miter",r.path="M "+k.getAxisPosition(W.x)+","+t.getAxisPosition(W.y)+" L "+k.getAxisPosition(n.x)+","+t.getAxisPosition(n.y),G?G.animateWith(ia,ga,r,d,T):(G=b.graphics.regressionLineElement=l.path(r,K.regLineGroup),K.regLineGroup.attr({"clip-rect":I}),K.regLineGroup.animateWith(ia,ga,{"clip-rect":A},d,T,C))):G&&G.hide();n=0;for(I=h.length;n<I;n+=1)A=h[n],C=A.config,F=e(C.x,n),ca=C.y,G=C.z,r=A.graphics.element,V=C.setLink,X=C.displayValue,E=C.toolText,C.finalTooltext=C.toolText,W=C.hoverEffects,r=
A.graphics.element,q=A.graphics.hotElement,ba=A.graphics.label,null!==ca?(q=C.eventArgs||(C.eventArgs={}),q.index=n,q.link=V,q.value=ca,q.y=ca,q.x=F,q.z=G,q.displayValue=X,q.toolText=E,q.id=b.userID,q.datasetIndex=b.index||0,q.datasetName=a.seriesname,q.visible=aa,E=t.getAxisPosition(ca),F=k.getAxisPosition(F),G=c(G),G=bb(G*p/U)*O||0,P&&(G=Ga(G,P)),ca=C.setRolloutAttr={fill:w(C.colorObj),"stroke-width":v.anchorBorderThickness,stroke:w({color:v.anchorBorderColor,alpha:v.plotBorderAlpha}),r:G},!1!==
W.enabled&&(Z=C.setRolloverAttr={fill:w(W.color),"stroke-width":W.borderThickness,stroke:w({color:W.borderColor,alpha:W.borderAlpha}),r:G*W.scale}),b.visible||(G=0),r||(da.element&&da.element.length?r=A.graphics.element=da.element.shift():(r=A.graphics.element=l.circle(K.bubbleGroup),r.attr({cx:F,cy:E,r:d?0:G}))),r.show().animateWith(ia,ga,{cx:F,cy:E,r:G||0},d,T,g&&N).attr({fill:w(C.colorObj),ishot:!fa,"stroke-width":v.anchorBorderThickness,stroke:ca.stroke,visibility:aa}),g=!1,C.trackerConfig||(C.trackerConfig=
{}),C.trackerConfig.trackerRadius=Ga(G+(ka||0),B),r.data(Ha,Z).data(Sa,ca),A._xPos=F,A._yPos=E):(r&&r.hide(),q&&q.hide(),ba&&ba.hide());f.trackerDrawID.push(pb.addJob(ha,b,[],m.priorityList.tracker));b.drawn?b.drawLabel():f.labelDrawID.push(pb.addJob(b.drawLabel,b,[],m.priorityList.label));b.drawn=!0;for(n=0;n<L;n++)b._removeDataVisuals(J.shift())},show:function(){var b=this.chart,a=this.graphics.container,c=this.graphics.dataLabelContainer,d=this.graphics.trackerContainer;this.visible=!0;a.bubbleGroup.show();
a.regLineGroup&&a.regLineGroup.show();c.show();d.show();b._setAxisLimits();b._drawAxis();b._drawDataset()},hide:function(){var b=this.chart;this.visible=!1;b._setAxisLimits();b._drawAxis();b._drawDataset()},getDataLimits:function(){var b=this.config,a=b.yMax,c=b.yMin,d=this.chart.config.transposeAxis,e=b.xMin,f=b.xMax,h=b.max,b=b.min;!1===this.visible&&d&&(a=-Infinity,e=c=Infinity,f=-Infinity);return{max:a,min:c,xMin:e,xMax:f,zMax:h,zMin:b}},drawLabel:function(){var b=this.chart,c=b.config.dataLabelStyle,
d=this.components.data,e=b.components.paper,f;f="";var k=this.config,h=b.get("config","animationObj"),b=h.duration,l=h.animType,m=h.animObj,h=h.dummyObj,k=k.rotateValues,g,n=this.graphics.dataLabelContainer,r,q,w,t,v,A,B,G,E=this.components.pool||{};A=0;for(B=d.length;A<B;A++)if(f=d[A])r=f.config,g=f.graphics,w=f._yPos,q=f._xPos,f=r.displayValue,v=g.label,G=r.showValue,void 0!==f&&null!==f&&f!==a&&null!==r.z&&G?(f={text:f,fill:c.color,"text-bound":[c.backgroundColor,c.borderColor,c.borderThickness,
c.borderPadding,c.borderRadius,c.borderDash],"line-height":c.lineHeight,visibility:La},v||(E.label&&E.label.length?v=g.label=E.label.shift():(f.x=q,f.y=w,f.transform=e.getSuggestiveRotation(k,q,w),v=g.label=e.text(f,n),t=!0)),t||(v.show().animateWith(h,m,{x:q,y:w,transform:e.getSuggestiveRotation(k,q,w)},b,l),v.attr(f))):v&&v.hide()},_hoverFunc:function(b,a,c){b=b.graphics.element;a="DataPlotRollOut"===a?b.data(Sa):b.data(Ha);c&&b.attr(a)}},"scatter"]);FusionCharts.register("component",["dataset",
"Pie2D",{type:"pie2d",configure:function(){var b=this.chart,a=b.config,f=a.dataLabelStyle,l=this.config,r=this.JSONData,k=b.jsonData.chart,h=m.parseUnsafeString,q=b.is3D,p,g;this.__setDefaultConfig();n({},this.config,b&&b.config);g=l.enableAnimation=e(k.animation,k.defaultanimation,1);l.animation=g?{duration:1E3*e(k.animationduration,k.moveduration,1)}:!1;l.transposeAnim=g||e(l.transposeanimation,1)?{duration:1E3*e(k.transposeanimduration,.2)}:!1;l.showPlotBorder=e(k.showplotborder,1);l.showHoverEffect=
e(k.plothovereffect,k.showhovereffect,void 0);l.showTooltip=e(k.showtooltip,1);l.toolText=Ja(h(c(r.plottooltext,k.plottooltext)));g=l.enableMultiSlicing=e(k.enablemultislicing,1);p=l.use3DLighting=e(k.use3dlighting,1);l.radius3D=p?e(k.radius3d,90):100;l.showZeroPies=e(k.showzeropies,1);l.showPercentInToolTip=e(k.showpercentintooltip,1);l.showLabels=e(k.showlabels,1);l.showValues=e(r.showvalues,k.showvalues,1);l.showPercentValues=e(k.showpercentvalues,k.showpercentagevalues,0);p=l.toolTipSepChar=c(k.tooltipsepchar,
k.hovercapsepchar,d);l.labelSepChar=c(k.labelsepchar,p);l.pieBorderColor=c(k.plotbordercolor,k.piebordercolor);l.pieBorderAlpha=e(k.plotborderalpha,k.pieborderalpha);l.pieBorderThickness=l.showPlotBorder?e(k.plotborderthickness,k.pieborderthickness,a.plotborderthickness,1):0;l.plotDashLen=e(k.plotborderdashlen,5);l.plotDashGap=e(k.plotborderdashgap,4);l.showValueInLegend=e(k.showvalueinlegend,0);l.showLabelInLegend=e(k.showlabelinlegend,1);l.valueBeforeLabelInLegend=e(k.valuebeforelabelinlegend,0);
l.showValueAsPercentInLegend=e(k.showvalueaspercentinlegend,1);l.legendSepChar=c(k.legendsepchar,", ");l.showvalues=e(k.showvalues,1);l.chartPosition=O(b.linkedItems.container);l.timerThreshold=30;l.centerLabelConfig={label:h(c(k.defaultcenterlabel,"")),font:c(k.centerlabelfont,f.fontFamily),fontSize:e(k.centerlabelfontsize,parseInt(f.fontSize,10)),color:mb(c(k.centerlabelcolor,k.valuefontcolor,a.style.inCanvasStyle.color,"555555")),alpha:e(k.centerlabelalpha,100),bold:e(k.centerlabelbold,f.fontWeight),
italic:e(k.centerlabelitalic,f.style),bgColor:c(k.centerlabelbgcolor,""),bgAlpha:e(k.centerlabelbgalpha,100),borderColor:c(k.centerlabelbordercolor,f.borderColor),borderAlpha:e(k.centerlabelborderalpha,100),borderThickness:e(k.centerlabelborderthickness,f.borderThickness),borderRadius:e(k.centerlabelborderradius,f.borderRadius),textPadding:e(k.centerlabeltextpadding,f.borderPadding),padding:e(k.centerlabelpadding,2),bgOval:e(k.centerlabelbgoval,0),shadow:e(k.showcenterlabelshadow,0),hoverColor:k.centerlabelhovercolor&&
mb(c(k.centerlabelhovercolor)),hoverAlpha:e(k.centerlabelhoveralpha),toolText:h(c(k.centerlabeltooltext,""))};l.showLegend=e(k.showlegend,0);l.reverselegend=!e(k.reverselegend,0);b.is3D=q;l.pieYScale=e(k.pieyscale,40);1>l.pieYScale&&(l.pieYScale=1);100<=l.pieYScale&&(l.pieYScale=80);l.pieYScale/=100;l.pieSliceDepth=e(k.pieslicedepth,15);1>l.pieSliceDepth&&(l.pieSliceDepth=1);l.managedPieSliceDepth=l.pieSliceDepth;l.enableMultiSlicing=!!g;l.startAngle=e(k.startingangle,0)*-(Db/180);l.usePerPointLabelColor=
k.colorlabelsfromplot==U;l.reversePlotOrder=e(k.reverseplotorder,0);l.animateClockWise=e(k.animateclockwise,l.reversePlotOrder);l.showShadow=e(k.showshadow,1);l.singletonCase=1===r.data.length;l.valueTotal=0;this._setConfigure();this._addLegend()},_parseDisplayProperties:function(b,a){var d,f,l="",k,h,m,p,g,n,r;d=this.chart;var q=d.components.numberFormatter,w=d.jsonData.chart;p=this.config;h=e(a.y,q.getCleanValue(b.value,!0));var t=p.valueTotal;m=p.showLabels;var v=I(c(a.seriesName,b.label,b.name,
""));n=p.showPercentValues;k=p.showPercentInToolTip;var A=p.labelSepChar,B=p.toolTipSepChar,G=p.showTooltip;d=Ja(I(c(b.tooltext,p.toolText)));f=a.pValue=q.percentValue(h/t*100);h=a.value=q.dataLabels(h)||"";m=1===e(b.showlabel,m)?v:"";p=1===(r=e(b.showvalue,p.showValues))?1===n?f:h:"";k=k?f:h;g=Ja(I(b.displayvalue));n=c(g,v+A+(n?f:h),"");p=void 0!==g&&r?g:""!==p&&""!==m?m+A+p:c(m,p);G&&(void 0!==d?l=ha(d,[1,2,3,5,6,7,14,24,25],{formattedValue:h,label:v,yaxisName:I(w.yaxisname),xaxisName:I(w.xaxisname),
percentValue:f,sum:q.dataLabels(t),unformattedSum:t},b,w):(l=v,l=""!=l?l+B+k:k));a.displayValue=p;a.displayValueArgs=n;a.toolText=l;a.seriesName=v;a.categoryLabel=m},foldingFn:function(b){b=b.data("plotItem");return{ringpath:[b.center[0],b.center[1],b.radius,b.innerDiameter/2,b.angle,b.angle]}},_isStyled:function(b){if(this.chart.config.usedataplotcolorforlabels||b.labelbordercolor||b.labelbgcolor||b.labelborderthickness||b.labelborderalpha||b.labelalpha||b.labelfont||b.labelfontsize||b.labelfontcolor||
b.labelfontalpha||b.labelalpha||b.labelfontbold||b.labelfontitalic||b.labelborderpadding||b.labelborderradius||b.labelbgalpha||b.labelborderdashed||b.labelborderdashlen||b.labelborderdashgap)return!0},_setConfigure:function(b,a){var d,f,m,k,h,n,p,g,r,q,w,t,v,B,G,E,F,C;h=this.chart;var K=h.jsonData.chart,N=h.components;k=N.legend;var P=h.config,O=this.config,T=this.JSONData;f=(q=(b||T).data)&&q.length;t=O.showZeroPies;var T=O.valueTotal||0,Q=[],R=e(K.plotborderdashed,0),aa=this.components.data||(this.components.data=
[]),fa=N.numberFormatter,N=N.colorManager,Y=O.labelInLeg,ba=O.valInLeg,ea=O.centerLabelConfig,V=O.pieBorderThickness,ia=O.reversePlotOrder,S=O.radius3D,W=O.enableMultiSlicing,X=O.lastSlicedid||0,Z=e(K.plotBorderDashed,5),pa=e(K.plotborderdashgap,4),ga=e(K.valuebeforelabelinlegend,0),ha=e(K.showvalueaspercentinlegend,1);C=0;var da=c(K.legendsepchar,", ");h=h.get("config","animationObj");r=h.duration||0;n=h.dummyObj;g=h.animObj;w=h.animType;P.dataLabelStyle=A({},{},K,P.dataLabelStyle,p);for(h=0;h<f;h+=
1)p=q[h],m=fa.getCleanValue(p.value,!0),null===m||!t&&0===m?C+=1:(Q.push(p),T+=m);if(C&&aa.length>f-C)for(k&&k.emptyItems(aa.length-C),h=aa.length-1;0<C;--h,--C)if(aa[h]){p=aa[h];f=p.config;m=p.graphics;for(d in m)k=m[d],k.animateWith(n,g,this.foldingFn.call(this,k),r,w,this.hideFn.call(this,m,d,this));f.y=null;p.legendItemId=void 0}0===T&&(Q=[]);O.valueTotal=T;O.dataLabelCounter=0;P.allPlotSliceEnabled=P.enableslicing;for(h=(f=Q.length)-1;0<=h;--h){m=h;b?(C=Q[h],m=void 0!==a?a+h:aa.length-f+h,p=
aa[m]):(p=aa[h]||(aa[h]={graphics:{},config:{}}),C=Q[h]);d=p&&p.config;d||(d=aa[m].config={});p.graphics||(aa[m].graphics={});d.y=m=fa.getCleanValue(C.value,!0);d.seriesName=n=I(c(C.label,C.name,""));p=c(C.color,N.getPlotColor(h));k=c(C.alpha,K.plotfillalpha,ca);g=d.borderConfig=this._parseBorderConfig(p,k,C);r=g.setPlotBorderColor;g=g.setPlotBorderAlpha;q={opacity:Ga(k,g)/100};if(t=!!e(C.issliced,K.issliced,0))W||(-1!==X&&(aa[aa.length-X-1].sliced=!1),O.lastSlicedid=h),O.preSliced=t;B=(w=e(C.dashed,
R))?J(c(C.dashlen,Z),c(C.dashgap,pa),V):"none";this._parseDisplayProperties(C,d);w=Y?n:"";ba&&(m=ha?fa.legendPercentValue(m/T*100):fa.legendValue(m),w=ga?m+(w&&da+w):(w&&w+da)+m);(m=d.displayValue)&&(O.dataLabelCounter+=1);E=d.value;G=d.pValue;m={label:c((v=C.centerlabel||K.centerlabel)&&this.replaceMacros(v,["\\$value","\\$percentValue","\\$displayValue","\\$label"],[E,G,void 0===m?"":m,n]),""),font:ea.font,fontSize:e(C.centerlabelfontsize,ea.fontSize),color:mb(c(C.centerlabelcolor,ea.color)),alpha:e(C.centerlabelalpha,
ea.alpha),bold:e(C.centerlabelbold,ea.bold),italic:e(C.centerlabelitalic,ea.italic),bgColor:c(C.centerlabelbgcolor,ea.bgColor),bgAlpha:e(C.centerlabelbgalpha,ea.bgAlpha),borderColor:c(C.centerlabelbordercolor,ea.borderColor),borderAlpha:e(C.centerlabelborderalpha,ea.borderAlpha),borderThickness:ea.borderThickness,borderRadius:ea.borderRadius,textPadding:ea.textPadding,padding:ea.padding,bgOval:ea.bgOval,shadow:ea.shadow,hoverColor:(F=c(C.centerlabelhovercolor,ea.hoverColor))&&mb(F),hoverAlpha:e(C.centerlabelhoveralpha,
ea.hoverAlpha),toolText:c(C.centerlabeltooltext,"")};this._isStyled(C)?d.style=A(C,{},K,P.dataLabelStyle,p):d.style&&delete d.style;d.showInLegend=""!==w;d.isVisible=!0;d.name=w;d.shadow=q;d.setColor=p;d.color=this._getPointColor(p,k,S);d._3dAlpha=k;d.borderColor=L(r,g);d.borderWidth=V;d.link=Ja(C.link);d.sliced=t;d.dashStyle=B;(d.doNotSlice=c(C.enableslicing,P.enableslicing)!=U)||P.allPlotSliceEnabled!==l||(P.allPlotSliceEnabled=U);this._parseHoverEffectOptions(h);d.centerLabelConfig=m;d.radius3D=
S}ia&&aa&&aa.reverse();O.dataArr=Q;O.enableRotation=1<aa.length?e(K.enablerotation,1):0},_parseHoverEffectOptions:function(b){var a,d,f,l,k,h,m,p,g;h=this.chart.jsonData.chart;d=this.config;var n=this.components.data[b].config;m=this.JSONData;p=m.data[b];f=n.setColor;l=n._3dAlpha;b=d.radius3D;g=n.borderConfig;k=g.setPlotBorderAlpha;var r=g.setPlotBorderColor;g=d.setBorderWidth;d=e(n.hovereffect,d.showHoverEffect);n=n.hoverEffects={enabled:d};void 0===d&&(d=n.enabled=void 0!==c(p.hovercolor,m.hovercolor,
h.plotfillhovercolor,p.hoveralpha,m.hoveralpha,h.plotfillhoveralpha,p.borderhovercolor,m.borderhovercolor,h.plotborderhovercolor,p.borderhoveralpha,m.borderhoveralpha,h.plotborderhoveralpha,h.plotfillhoveralpha,p.borderhoverthickness,m.borderhoverthickness,h.plotborderhoverthickness,void 0));if(d){a=e(p.highlightonhover,m.highlight,h.highlight,1);(d=c(p.hovercolor,m.hovercolor,h.plotfillhovercolor))&&a&&(a=0);d=c(d,f);f=c(p.hoveralpha,m.hoveralpha,h.plotfillhoveralpha,l);l=c(p.borderhovercolor,m.borderhovercolor,
h.plotborderhovercolor,r);k=c(p.borderhoveralpha,m.borderhoveralpha,h.plotborderhoveralpha,h.plotfillhoveralpha,k);h=e(p.borderhoverthickness,m.borderhoverthickness,h.plotborderhoverthickness,g);d.replace(/,+?$/,"");if(1===a){p=(m="string"==typeof d)?d.split(/\s{0,},\s{0,}/):d.color.split(/\s{0,},\s{0,}/);g=p.length;for(a=0;a<g;a++)p[a]=qb(p[a],70);m?d=p.join(","):d.color=p.join(",")}this._setHoverColor(n,d,f,b);n.borderColor=L(l,k);n.borderWidth=h}else n.enabled=!1},_setHoverColor:function(b,a,c,
d){b.color=this._getPointColor(a,c,d)},replaceMacros:function(b,a,c){for(var d=a.length||0,e;d--;)e=new RegExp(a[d],"gi"),b=b.replace(e,c[d]);return b},containsMacro:function(b,a){for(var c=a.length||0,d;c--;)if(d=new RegExp(a[c],"gi"),d=b.match(d))return!0;return!1},updateData:function(b,a){this.config.valueTotal-=this.components.data[a].config.y;this.__base__.updateData.apply(this,arguments)},_parsePiePlotOptions:function(){var b=this.config;return{size:b.pieMinRadius,slicedOffset:b.slicingDistance}},
_parseDataLabelOptions:function(){return{style:this.chart.config.dataLabelStyle}},_addLegend:function(){var b,a,c,d=this.chart.components.legend,f=this.components.data;for(b=0;b<f.length;b+=1)c=f[b],a=c.config,null!==a.y&&(c.legendItemId=d.addItems(this,this.legendInteractivity,{index:b,fillColor:w(a.setColor),strokeColor:w(a.borderColor),type:this.type,label:a.seriesName,enabled:e(a.includeInLegend,1),legendItemId:c.legendItemId}))},_parseBorderConfig:function(b,a,d){var e=this.chart.jsonData.chart,
f=c(d.bordercolor,this.config.pieBorderColor);d=c(d.borderalpha,e.plotborderalpha,e.pieborderalpha);f=c(f,qb(b,25)).split(",")[0];d=e.showplotborder==l?l:c(d,a,"80");return{setPlotBorderColor:f,setPlotBorderAlpha:d}},_getPointColor:function(b,a,c){var d,e;b=mb(b);a=T(a);100>c&&ba?(d=Math.floor(85*(100-.35*c))/100,d=aa(b,d),e=Math.floor(50*(100+c))/100,b=qb(b,e),a={color:b+","+d,alpha:a+","+a,ratio:c+","+(100-c),radialGradient:!0,gradientUnits:"userSpaceOnUse"}):a={color:b+","+b,alpha:a+","+a,ratio:"0,100"};
return a},hideElements:function(){var b=this.data&&this.data("plotItem").chart,a=0,c=this._&&this._.shadows||[];if(b&&b.components.dataset[0])for(this.hide();a<c.length;a+=1)c[a].hide()},hideFn:function(a,c){return function(){a[c].hide()}},singleFillColor:function(a){return w({color:mb(a.color),alpha:T(a.alpha)})},draw:function(){var a,c,d=this.chart,e=d.getJobList(),f=d.graphics,k=d.config,h=k.dataLabelStyle,l=d.graphics,p=this.config,g=p.showShadow,n=d.components.paper,r=this.components,q=r.data,
t=r.removeDataArr||[],v,A,B,G,E;v=k.style;v=f.datasetGroup.trackTooltip(!0);var C=this.graphics,F=this.pool,I=C.container,J=this.visible,L=C.shadowContainer;A=f.datalabelsGroup;var N=C.dataLabelContainer,P,O,U,T,aa,fa,ca,V,Y,S=r.data||[],W=S.length,r=k.canvasLeft+.5*k.canvasWidth,f=k.canvasTop+.5*k.canvasHeight,X=l.datasetGroup;G=k.alphaanimation;var Z=!1,l=function(){Z||(Z=!0,N.show(),X.animateWith(Ja,Ga,{opacity:1},Da,Ha))},ba=function(){var a,b;if(c)for(a=0;a<W;a+=1)b=S[a],b.graphics.element&&
b.graphics.element.attr({fill:w(b.config.color)})};P=function(){var a=p.pieCenter||[],b={cx:a[0],cy:a[1],r:(p.piePlotOptions||[]).size,r2:.5*(p.innerSize||0)};return function(a){var c,d=!1;for(c in a)if(5<Pa(a[c]-b[c])){d=!0;break}return d}}();O=function(){Z||ba()};var ia=d._plotDragMove,ga=d._plotDragStart,da=d._plotDragEnd,ha=d._plotRollOver,ka=d._plotRollOut,qa=!!p.enableRotation,ja=p.piePlotOptions=this._parsePiePlotOptions(),k=k.textDirection,la=p.dataLabelOptions,oa=ja.slicedOffset,ma,ja=ja.size,
wa=.5*(p.innerSize||0),sa=(p.startAngle||0)%Bb,Aa,ra,ta,va=sa-Bb,Ba=p.animateClockWise,za=d.get("config","animationObj"),Da=za.duration||0,Ja=za.dummyObj,Ga=za.animObj,Ha=za.animType,Ea;I?(ta=!0,Da&&(Aa=O),c=P({cx:r,cy:f,r:ja,r2:wa})):(v.pie=n.group("pie",v),v.pieLabels=n.group("pie",v),I=C.container={lineShadowGroup:n.group("connector-shadow",v.pieLabels),anchorShadowGroup:n.group("anchor-shadow",v.pieLabels),pieGroup:C.pieContainer=n.group("pie",v.pie),dataLabel:n.group("dataLabel",v.pie)},L=C.shadowContainer=
v.shadows||(v.shadows=n.group("shadows",I.pieGroup).toBack()),N=C.dataLabelContainer=this.graphics.dataLabelContainer||n.group("datalabel",A).trackTooltip(!0),Da&&(Aa=l,N.hide()));N.css(h);J||(I.lineShadowGroup.hide(),I.anchorShadowGroup.hide(),I.pieGroup.hide(),I.dataLabel.hide(),L.hide(),N.hide());G&&X.attr({opacity:0});t.length&&this.remove();I=p.valueTotal;J=Bb/I;p.pieCenter=[r,f];P=t=sa;e.labelDrawID.push(pb.addJob(d.placeDataLabels,d,[!1,q,p],m.priorityList.label));for(e=0;e<W;e+=1)if(v=S[e],
E=v.graphics,O=v.config,(za=O._textAttrs)||(za=O._textAttrs={}),U=O.y,T=O.displayValue,aa=O.sliced,A=O.toolText,G=!!O.link,v=O.style,fa=G||qa||!O.doNotSlice,null!==U&&void 0!==U&&!1!==O.isVisible){P=O.color;P.r=ja;P.cx=r;P.cy=f;P=t;t-=p.singletonCase?Bb:U*J;ca=.5*(t+P);B=E.element;V=E.label;ma=E.connector;if(!B){B=F&&F.element.length?E.element=F.element.splice(0,1)[0].show():E.element=n.ringpath(C.pieContainer).attr({"stroke-linejoin":"round",ishot:fa}).drag(ia,ga,da).hover(ha,ka);if(ta){if(e<W)for(ra=
void 0,a=e+1;a<W&&void 0===ra;a+=1)ra=S[a].config.endAngle;void 0===ra&&(ra=va)}else ra=Ba?va:sa;B.attr({ringpath:[r,f,ja,wa,ra,ra]})}void 0!==T?(v?((Ea=O._textCss)||(Ea=O._textCss={}),Ea.fontFamily=v.fontFamily,Ea.fontSize=v.fontSize,Ea.lineHeight=v.lineHeight,Ea.fontWeight=v.fontWeight,Ea.fontStyle=v.fontStyle):O._textCss&&(V&&V.removeCSS(),delete O._textCss,Ea=void 0),O.style=v||(v=h),za.text=T,za.fill=v.color||"#000000",za["text-bound"]=[v.backgroundColor,v.borderColor,v.borderThickness,v.borderPadding,
v.borderRadius,v.borderDash],za.direction=k,za.lineHeight=v.lineHeight,V?(Ea&&(V.css(Ea),delete Ea.fontFamily,delete Ea.fontSize,delete Ea.lineHeight,delete Ea.fontWeight,delete Ea.fontStyle,Ea=void 0),delete za.ishot):F&&F.label.length?V=E.label=F.label.splice(0,1)[0]:za.ishot=fa,0<la.distance&&(Y=la.connectorWidth)&&la.enableSmartLabels?(ma||(ma=F&&F.connector.length?E.connector=F.connector.splice(0,1)[0]:E.connector=n.path("M 0 0 l 0 0",N).attr({visibility:xb,ishot:!0}).drag(ia,ga,da).hover(ha,
ka)),ma.attr({"stroke-width":Y,stroke:la.connectorColor||"#606060"}).show()):ma&&ma.hide()):(za.visibility="hidden",V&&V.hide(),ma&&ma.hide());v=O.plotItem={chart:d,index:e,seriesData:p,value:U,angle:O.angle=ca,angle1:O.startAngle=t,angle2:O.endAngle=P,slicedX:vb(ca)*oa,slicedY:ub(ca)*oa,sliced:aa,labelText:T,toolText:A,name:O.name,link:O.link,percentage:I?U*I/100:0,originalIndex:W-e-1,style:O.style,color:w(O.color),borderColor:O.borderColor,borderWidth:O.borderWidth,rolloverProperties:O.hoverEffects,
radius:ja,center:[r,f],innerDiameter:2*wa,centerLabelConfig:O.centerLabelConfig,graphic:B,isVisible:O.isVisible,label:V,connector:ma,transX:O.transX=vb(ca)*oa,transY:O.transY=ub(ca)*oa,slicedTranslation:O.slicedTranslation="t"+vb(ca)*oa+","+ub(ca)*oa};E={index:p.reversePlotOrder?W-1-e:e,link:O.link,value:O.y,displayValue:O.displayValueArgs,categoryLabel:O.categoryLabel,isSliced:aa,toolText:A};B.animateWith(Ja,Ga,{ringpath:[r,f,ja,wa,t,P]},Da,Ha,Aa);B.attr({"stroke-width":O.borderWidth,stroke:O.borderColor,
fill:K||ta&&c?this.singleFillColor(O.color):w(O.color),"stroke-dasharray":O.dashStyle,redrawDataLabels:sa,cursor:G?"pointer":"",transform:v.sliced?v.slicedTranslation:""}).show().shadow(g&&O.shadow,L).tooltip(A).data("plotItem",v).data("eventArgs",E);za.plotItem=v;za.eventArgs=E;ma&&ma.data("plotItem",v).data("eventArgs",E)}Da?ta&&d.placeDataLabels(!1,q,p):(ba(),l())},remove:function(){var a=this.components.removeDataArr||[],c=this.pool=this.pool={},d=a.length,e=this.config,f,k=e.pieCenter,h,l=k[0],
k=k[1],m=this.hideElements,g=e.pieMinRadius,n=.5*(e.innerSize||0),r,e=e.startAngle-Bb;r=this.chart.get("config","animationObj");var q=r.duration||0,w=r.dummyObj,t=r.animObj,v=r.animType;for(r=0;r<d;r++){f=a[0];f=f.graphics;for(h in f)f[h].data("plotItem"),f[h].animateWith(w,t,{ringpath:[l,k,g,n,e,e+.01]},q,v,m),c[h]||(c[h]=[]),c[h].push(f[h].hide());a.splice(0,1)}},legendInteractivity:function(a,c){a.chart._plotGraphicClick.call(a.components.data[c.configuration.index].graphics.element)},init:function(a){var c=
this.chart;if(!a)return!1;this.JSONData=a;this.chartGraphics=c.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_getInnerSize:function(){var a,c=this.config,d=this.chart.jsonData.chart;a=e(d.doughnutradius,0);var d=e(d.use3dlighting,1)?e(d.radius3d,d["3dradius"],50):100,f,l,k;f=c.pieMinRadius;100<d&&(d=100);0>d&&(d=0);a=0>=a||a>=f?f/2:a;c.innerRadius=a;if(0<d&&ba&&(c=parseInt(a/f*100,10),f=(100-c)/
2,d=parseInt(f*d/100,10),d=c+","+d+","+2*(f-d)+","+d,this&&(k=this.components.data)))for(c=0,f=k.length;c<f;c+=1)l=k[c],l=l.config,l.color&&(l.color.ratio=d,l.hoverEffects&&l.hoverEffects.color&&(l.hoverEffects.color.ratio=d));return 2*a},getEventArgs:function(a){a=a.configuration.index;var c=this.components.data[a].config||{};return{datasetName:c.seriesName,datasetIndex:a,id:c.userID,visible:c.isVisible,label:c.seriesName,value:c.value,percentValue:c.pValue,tooltext:c.toolText,link:c.link,sliced:c.sliced}}},
"area"]);FusionCharts.register("component",["dataset","Pie3D",{type:"pie3d",_parsePie3DOptions:function(){var a=this.config;return{size:2*a.pieMinRadius,slicedOffset:a.slicingDistance,allowPointSelect:!0,cursor:"pointer",innerSize:"pie3d"===this.type?0:this._getInnerSize()}},_parseBorderConfig:function(a,d,e){var f=this.chart.jsonData.chart,m=c(e.bordercolor,this.config.pieBorderColor);e=c(e.borderalpha,f.plotborderalpha,f.pieborderalpha);m=c(m,qb(a,90)).split(",")[0];e=f.showplotborder==l?l:c(e,
d,"80");return{setPlotBorderColor:m,setPlotBorderAlpha:e}},_setHoverColor:function(a,c,d){a.color=c;a.alpha=d},draw:function(){var b,c,d=this.pool||(this.pool={}),e=this.components,f=this.config,k=this.chart,h=k.get("config","animationObj"),l=h.duration||0,m=h.dummyObj,g=h.animObj,n=h.animType,r=k.config;b=k.graphics;var q=e.data,h=f.dataLabelOptions,t=h.style,v=k.components.paper,A=r.tooltip||{},A=A&&!1!==A.enabled,B=f.slicingDistance,G=f.slicedOffsetY||(f.slicedOffsetY=B*f.pieYScale),E=k._plotDragMove,
C=k._plotDragStart,F=k._plotDragEnd,I=k._plotRollOver,J=k._plotRollOut,L=!!f.enableRotation,K=f.showBorderEffect,N=q.length,O=f.usePerPointLabelColor,P=r.textDirection,U,T,aa,fa,V,ca,S,W,X,Z,Y,ba,ia;c=e.removeDataArr||[];var da;Y=this.visible;var ga,ka,ha=!1,ja=this.graphics.dataLabelContainer,la=(f.startAngle||0)%Bb,oa,ma,qa,wa=la-Bb,sa=f.animateClockWise,ra,ta,va,za=b.datasetGroup;ga=r.alphaanimation;var Ba=function(){ja.show();k.placeDataLabels(!1)},Da=function(){ha||(ha=!0,za.animateWith(m,g,
{opacity:1},l,n,Ba))};ta=function(){var a,b;if(!ha)for(Da(),a=0;a<N;a+=1)b=q[a],b.graphics.element&&b.graphics.element.attr({fill:w(b.config.color)})};r=r.dataLabelStyle;ja?(qa=!0,l&&(W=l,oa=ta)):(ja=this.graphics.dataLabelContainer=v.group("datalabel",b.datalabelsGroup).trackTooltip(!0),l&&(oa=Da,W=l,ja.hide(),ga&&za.attr({opacity:0})));ja.css(r);Y||ja.hide();c.length&&this.remove();k._preDrawCalculate();b=f.center;c=f.pieYScale;q&&N||(q=[]);for(ga=-1;++ga<N;)if(t=q[ga],Y=t.config,(ta=Y._textAttrs)||
(ta=Y._textAttrs={}),ba=t.graphics,U=Y.y,T=Y.displayValue,fa=Y.sliced,X=Y.shapeArgs,ca=Y.centerAngle,Z=Y.toolText,aa=!!Y.link,t=Y.style,V=aa||L||!Y.doNotSlice,null!==U&&void 0!==U){ra=ba.element;ia=ba.label;da=ba.connector;if(!ra){ra=ba.element=e.Pie3DManager.useSliceFromPool();if(qa){if(ga<N)for(ma=void 0,ka=ga+1;ka<N&&void 0===ma;ka+=1)ma=q[ka].config.shapeArgs.end;void 0===ma&&(ma=la)}else ma=sa?la:wa;ra||(ra=ba.element=e.Pie3DManager.createSlice().drag(E,C,F).mouseover(I).mouseout(J).attr({ishot:V}));
ra.attr({start:-ma,end:-ma,cx:b[0],cy:b[1],r:b[2],innerR:b[3],radiusYFactor:c})}void 0!==T?(t?((va=Y._textCss)||(va=Y._textCss={}),va.fontFamily=t.fontFamily,va.fontSize=t.fontSize,va.lineHeight=t.lineHeight,va.fontWeight=t.fontWeight,va.fontStyle=t.fontStyle):Y._textCss&&(ia&&ia.removeCSS(),delete Y._textCss,va=void 0),Y.style=t||(t=r),ta.text=T,ta.fill=(O?w(Y.color):t.color)||"#000000",ta["text-bound"]=[t.backgroundColor,t.borderColor,t.borderThickness,t.borderPadding,t.borderRadius,t.borderDash],
ta.direction=P,ta.lineHeight=t.lineHeight,ia?(va&&(ia.css(va),delete va.fontFamily,delete va.fontSize,delete va.lineHeight,delete va.fontWeight,delete va.fontStyle,va=void 0),delete ta.ishot):d&&d.graphics&&d.graphics.label&&d.graphics.label.length?ia=ba.label=d.graphics.label.splice(0,1):ta.ishot=V,0<h.distance&&(S=h.connectorWidth)&&h.enableSmartLabels?(da||(da=d&&d.graphics&&d.graphics.connector&&d.graphics.connector.length?ba.connector=d.graphics.connector.splice(0,1):ba.connector=v.path("M 0 0 l 0 0",
ja).attr({visibility:"hidden",ishot:V}).drag(E,C,F).hover(I,J)),da.attr({"stroke-width":S,stroke:h.connectorColor||"#606060",cursor:aa?"pointer":""}).show()):da&&da.hide()):(ia&&ia.hide(),da&&da.hide());U={chart:k,index:ga,seriesData:f,value:U,angle:Y.angle=ca,link:Y.link,shapeArgs:X,slicedX:fa&&!f.singletonCase?vb(ca)*B:0,slicedY:fa&&!f.singletonCase?ub(ca)*G:0,sliced:fa,labelText:T,name:Y.name,percentage:Y.percentage,toolText:Z,originalIndex:N-ga-1,style:Y.style,graphic:ra,transX:Y.transX=vb(ca)*
B,transY:Y.transY=ub(ca)*G,slicedTranslation:Y.slicedTranslation="t"+Y.transX+","+Y.transY,label:ia,connector:da};t={index:f.reversePlotOrder?ga:N-1-ga,link:Y.link,value:Y.y,displayValue:Y.displayValueArgs,categoryLabel:Y.categoryLabel,isSliced:Y.sliced,toolText:Y.toolText};ra.attr({transform:"t"+U.slicedX+","+U.slicedY,cursor:aa?"pointer":"",color:Y.color.color.split(",")[0],alpha:Y._3dAlpha,borderWidth:Y.borderWidth,borderColor:Y.borderColor,showBorderEffect:K}).animateWith(m,g,{start:X.start,end:X.end,
r:b[2],innerR:b[3],cx:b[0],cy:b[1],radiusYFactor:c},W,n,oa).tooltip(A?Z:a).data("groupId",ga).data("plotItem",U).data("eventArgs",t);ta.plotItem=U;ta.eventArgs=t;da&&da.data("plotItem",U).data("eventArgs",t)}!l&&Ba()},hideFn:function(a,c,d){var e=d&&d.components||{};return function(){c===Ea?(e.Pie3DManager.removeSlice(a.element),delete a.element):a[c].hide()}},remove:function(){var a=this.chart,c=this.config,d=this.components.removeDataArr||[],e=this.pool=this.pool=[],f=d.length,k,h,l,m,g=this.hideFn,
c=c.startAngle;l=a.get("config","animationObj");var a=l.duration||0,n=l.dummyObj,r=l.animObj,q=l.animType;for(l=0;l<f;l++){k=d[0];k=k.graphics;for(h in k)m=k[h],e[h]||(e[h]=[]),h===Ea?m.animateWith(n,r,{start:-c,end:-c+.01},a,q,g(k,h,this)):e[h].push(m.hide());d.splice(0,1)}},foldingFn:function(){var a=this.config.startAngle;return{start:-a,end:-a+.01}},_getPointColor:function(a,c){a=mb(a);c=T(c);return{color:a+","+a,alpha:c+","+c,ratio:"0,100"}}},"pie2D",{setBorderWidth:void 0,showBorderEffect:void 0}]);
FusionCharts.register("component",["dataset","Doughnut2D",{type:"doughnut2d",_getPointColor:function(a,c,d){var e;a=mb(a);c=T(c);100>d&&ba?(e=aa(a,jb(100*(85-.2*(100-d)))/100),a=qb(a,jb(100*(100-.5*d))/100),c={color:e+","+a+","+a+","+e,alpha:c+","+c+","+c+","+c,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:d}):c={color:a+","+a,alpha:c+","+c,ratio:"0,100"};return c},_parsePiePlotOptions:function(){var a=this.__base__._parsePiePlotOptions.call(this);a.innerSize=this._getInnerSize();return a},draw:function(){var a=
this.chart,c=a.config,d=this.config,e=c.canvasLeft+.5*c.canvasWidth,c=c.canvasTop+.5*c.canvasHeight,f,k=d.centerLabelConfig,h=k.label;f=.5*((d.innerSize=this._getInnerSize())||0);this.__base__.draw.call(this);h&&f&&a.drawDoughnutCenterLabel(h,e,c,2*f,2*f,k,!0);d.lastCenterLabelConfig=k},singleFillColor:function(a){return w({color:mb(a.color,1),alpha:T(a.alpha,1)})}},"Pie2D"]);FusionCharts.register("component",["dataset","Doughnut3D",{type:"doughnut3d"},"Pie3D"]);FusionCharts.register("component",
["datasetGroup","marimekko",{init:function(){this.__base__.init.call(this);this.stackConf=[]},getDataSetPosition:function(a,c){var d=this.numVisiblePositions,e=this.stackConfig[a.positionIndex||0],f=this.stackConf[c],k;if(!a.visible&&e.visible||0===d)k=0;return{columnWidth:f.columnWidth,height:k,x:f.x}},draw:function(){var a=this.positionStackArr,c=a.length,d=this.chart.getJobList(),e,f,k,h;this.preDrawCalculate();this.drawLabel();this.drawSumValueFlag=!0;for(e=0;e<c;e++)for(f=a[e],k=f.length,this.manageClip=
!0,f=0;f<k;f++)h=a[e][f].dataSet,h.draw();this.drawn?this.drawSumValue():d.labelDrawID.push(pb.addJob(this.drawSumValue,this,[],m.priorityList.label));this.drawn=!0},preDrawCalculate:function(){var a=this.chart,c=this.stackSumValue,d,f=a.isBar,l=a.jsonData.chart,k=a.components.xAxis[0];d=e(f?l.overlapbars:l.overlapcolumns,a.is3D?0:1);var h=k.getAxisPosition(0),m=k.getAxisPosition(1),p=Pa(m-h),g=Ga(e(l.plotspacepercent),0),n=e(l.plotpaddingpercent),r,h=a.config.canvasWidth,q,t=m=0,w=k.config.axisRange.min,
k=k.config.axisRange.max-w,v=a.config.categories,A;q=0;var B=a.components.numberFormatter;this.__base__.preDrawCalculate.call(this);a=w;r=this.numVisiblePositions;f=e(f?l.maxbarheight:l.maxcolwidth,Infinity);f=(1-.01*g)*p||Ma(1*p,f*(r||1));f=0===r?f:f/r;Ma(f-1,1<r?d||void 0!==n?0<n?f*n/100:0:4:0);d=0;for(n=c[0].length;d<n;d++)m+=c[0][d];this.totalSumValue=m;for(d=0;d<v.length;d++)f=v[d],f.widthpercent&&(q+=B.getCleanValue(f.widthpercent));100===q&&(A=this.setUserWidth=1);d=0;for(n=c[0].length;d<n;d++)f=
v[d],this.stackConf[d]||(this.stackConf[d]={}),q=this.stackConf[d],f=A?B.getCleanValue(f.widthpercent)/100:c[0][d]/m,q.columnWidth=f*h,t+=f,f=f*k/2+a,a=t*k+w,q.x=f;this.isCrisp=!0},getStackSumPercent:function(){var a=this.stackSumValue,c=this.totalSumValue,d,e=this.chart.components.numberFormatter,f=this.chart.config.categories,k=this.setUserWidth,h=[];for(d=0;d<a[0].length;d++)h[d]=k?e.getCleanValue(f[d].widthpercent):a[0][d]/c*100;return h},drawLabel:function(){var a=this.chart,d=a.components,f=
a.linkedItems.smartLabel,l=this.getStackSumPercent(),m=this.stackConf,k,h,n,p=a.graphics.datalabelsGroup,g=d.numberFormatter,r=0,q,t,w=d.paper,v=a.config.canvasBottom,A=d.xAxis[0];k=a.config.style;var B=a.config.dataLabelStyle,G=l.length,E,C=this.sumValues[0],F,I,J,L=a.jsonData.chart;I=d.canvas.config.clip["clip-canvas"];p=this.labelContainer=this.labelContainer||w.group("labelGroup",p);h=e(L.showxaxispercentvalues,1);var L=this.xLabels=this.xLabels||[],K=a.get("config","animationObj"),a=K.duration,
d=K.animType,N=K.dummyObj,K=K.animObj;p.attr({"clip-rect":I});f.setStyle(B);if(h)for(I=c(B.backgroundColor,"#ffffff"),F=c(""===B.borderColor?"#"+k.inCancolor:B.borderColor,"#000000"),J=c(B.borderThickness,1),n=0;n<G-1;n++)r+=l[n],q=g.percentValue(r),k=A.getAxisPosition(m[n].x)+m[n].columnWidth/2,h=v,E=L[n],C[n].positive===C[n].negative?E&&E.hide():(t={text:q,fill:B.color,"text-bound":[I,F,J,B.borderPadding,B.borderRadius,B.borderDash],"line-height":B.lineHeight,visibility:La},q=f.getOriSize(q),h=
h-q.height/2-J,E?(E.show().animateWith(N,K,{x:k,y:h},a,d),E.attr(t)):(t.x=k,t.y=h,L[n]=w.text(t,p)))},getSumValueConfig:function(a){var c=a.yAxis,d=a.stack100percent,e=a.sumValue;a=this.chart.components.xAxis[0].getAxisPosition(this.stackConf[a.xValue].x);c=c.getAxisPosition(d?100:e);return{xPos:a,yPos:c}}},"column"]);FusionCharts.register("component",["dataset","marimekko",{type:"marimekko",configure:function(){m.each(this.JSONData.data,function(a){a&&(a.value=Pa(a.value))});this.__base__.configure.call(this)},
_addLegend:function(){var a=this.chart,c=a.jsonData.chart,d,f;f=this.config;var a=a.components.legend,l=f.legendSymbolColor;d=e(c.us3dlighting,c.useplotgradientcolor,1);c=qb(l,60).replace(ga,Y);d?(d=qb(l,40),d={FCcolor:{color:l+","+l+","+d+","+l+","+l,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):d={FCcolor:{color:l,angle:0,ratio:"0",alpha:"100"}};f={enabled:f.includeInLegend,type:this.type,fillColor:w(d),strokeColor:w(c),rawFillColor:l,label:sa(this.JSONData.seriesname)};this.legendItemId=
a.addItems(this,this.legendInteractivity,f)},draw:function(){var a=this,d=a.JSONData,f=a.chart,l=f.getJobList(),n=f.jsonData.chart,k=f.config,h=a.config,r=a.groupManager,p=a.index,g,q,t=a.visible,A=f.components;q=A.canvas.config.clip;var B=A.paper,A=A.xAxis[0],G=A.getCategoryLen(),E=a.yAxis,C=f.graphics.datasetGroup,F=f.config.isstacked,I,J,L,N=f.graphics,O=m.parseUnsafeString,P=m.getValidValue,U=m.Raphael,Q=k.showtooltip,T=f.get("config","animationObj"),aa=T.duration,fa=T.dummyObj,ca=T.animObj,T=
T.animType,Y=A.getAxisPosition(0),ba=A.getAxisPosition(1),V=h.groupMaxWidth=ba-Y,Y=r.stackSumValue[a.positionIndex],ba=k.maxcolwidth,ba=(1-.01*h.definedgrouppadding)*V||Ma(1*V,1*ba),ia,S,W,X=a.components,Z=X.data,ga,ha,ma,da,qa,ka=a.drawn,wa=X.removeDataArr,wa=wa&&wa.length,ja=(X=X.addDataArr)&&X.length,X=E.getAxisBase(),la=E.yBasePos=E.getAxisPosition(X),oa,sa=0,h=h.showshadow,za=k.plotborderthickness,Ba=k.useroundedges,Aa=a.graphics,ra=Aa.container,ta=Aa.trackerContainer,va=Aa.dataLabelContainer,
Da=Aa.shadowContainer,Aa=Aa.pool;ma=N.trackerGroup;var Ea,Ja=1,Ga=A.getAxisPosition(G-1)+0,Ha=A.getAxisPosition(0)+0,Ia=!0,Ka=a.startPosition,N=r.stackConf,La=k.showplotborder,Na=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(ra.hide(),ta.hide(),Da.hide(),va&&va.hide(),a._conatinerHidden=!0)},Oa=function(){Ia&&Na();this.show()},Qa=function(){return Ka?function(a,b){a.x=Ha-V*(ja-b);a.y=J;a.height=S}:!1===Ka?function(a){a.x=Ga+V*Ja++;a.y=J;a.height=S}:function(a){a.width=
0}},f=f.components.canvas.config;Ea=f.oriCanvasBorderThickness;var f=0<f.canvasBorderWidth,Sa=k.canvasRight,Ra=k.canvasTop,k=k.canvasLeft;ka&&(Qa=Qa());ra||(ra=a.graphics.container=B.group("columns",C),t||ra.hide());ta||(ta=a.graphics.trackerContainer=B.group("col-hot",ma),t||ta.hide());Da||(Da=a.graphics.shadowContainer=B.group("shadow",C).toBack(),t||Da.hide());q=q["clip-canvas"];f||(q[3]+=Ea/2,K&&(q[2]+=2*Ea));ka?(ra.animateWith(fa,ca,{"clip-rect":q},aa,T),Da.animateWith(fa,ca,{"clip-rect":q},
aa,T)):(ra.attr({"clip-rect":q}),Da.attr({"clip-rect":q}));for(q=0;q<G;q++)g=(ha=(C=Z[q])&&C.config)&&ha.setValue,void 0!==C&&null!==g&&(ma=r.getDataSetPosition(a,q),ia=e(ma.columnWidth,ba/1),da=ma.height,ma=ha.setLink,Ea=ha.colorArr,C.graphics||(Z[q].graphics={}),qa=ha.displayValue,oa=ha.previousPositiveY,ga=P(O(c(ha.origToolText,d.plottooltext,n.plottooltext))),F&&(oa=a._parseValues(q,oa,Y[q],ga),g=ha.value),I=N[q].x,W=E.getAxisPosition(oa||X),I=A.getAxisPosition(I)-ia/2,0!==da?(J=E.getAxisPosition(g+
(oa||0)),S=Pa(W-J)):(S=0,J=W),J=Ma(J,W),parseInt(J)<=Ra&&(S-=Ra-J-+f,J=Ra-+f),1>=za&&(bb(I)<=k&&(ia+=I,I=k-za/2+ +!!za-+f,ia-=I),bb(I+ia)>=Sa&&(ia=Sa-I+za/2-+!!za+ +f)),r.isCrisp&&(L=U.crispBound(I,J,ia,S,za),I=L.x,J=L.y,ia=L.width,S=L.height),oa=C.trackerConfig||(C.trackerConfig={}),W=!1!==ha.toolText&&ha.toolText+(ga?"":ha.toolTipValue),ga=ha.plotBorderDashStyle,da=oa.eventArgs||(oa.eventArgs={}),da.index=q,da.link=ma,da.value=g,da.displayValue=qa,da.categoryLabel=ha.label,da.toolText=W,da.id="",
da.datasetIndex=p||0,da.datasetName=d.seriesname,da.visible=t,aa||(la=J,sa=S),g={x:I,y:la,width:ia,height:sa||1,r:Ba,ishot:!Q,fill:w(Ea[0]),stroke:w(Ea[1]),"stroke-width":La?za:0,"stroke-dasharray":ga,"stroke-linejoin":"miter",visibility:t},C._xPos=I,C._yPos=J,C._height=S,C._width=ia,C._index=q,!C.graphics.element&&ka&&(Qa(g,q),Aa&&Aa[0].graphics.element?(ha=Aa[0].graphics.element,ha.attr(g)):ha=C.graphics.element=B.rect(g,ra),Aa&&Aa[0].graphics.hotElement&&(C.graphics.hotElement=Aa[0].graphics.hotElement),
Aa&&Aa.splice(0,1)),C.graphics.element?(g={x:I,y:J,width:ia,height:S||1},aa?ha=C.graphics.element.animateWith(fa,ca,g,aa,T,Oa):(ha=C.graphics.element.attr(g),Ia&&Na())):(ha=C.graphics.element=B.rect(g,ra),aa&&(ha.animateWith(fa,ca,{y:J,height:S||1},aa,T),Ia=!1)),ha.attr({r:Ba,ishot:!Q,fill:w(Ea[0]),stroke:w(Ea[1]),"stroke-width":La?za:0,"stroke-dasharray":ga,"stroke-linejoin":"miter"}).shadow({opacity:h},Da).data("BBox",L),g=oa.attr||(oa.attr={}),g.x=I,g.y=J,g.width=ia,g.height=S,g.r=Ba,g.cursor=
ma?"pointer":"",g.stroke=v,g["stroke-width"]=za,g.fill=v,g.ishot=!0,g.visibility=t);l.trackerDrawID.push(pb.addJob(a.drawTracker,a,[],m.priorityList.tracker));a.drawn?a.drawLabel():l.labelDrawID.push(pb.addJob(a.drawLabel,a,[],m.priorityList.label));a.drawn=!0;wa&&a.remove()},getDataLimits:function(){var a=this.conf;return{max:a.yMax,min:a.yMin,xMax:100,xMin:0}}},"column"])}]);FusionCharts.register("module",["private","modules.renderer.js-interface",function(){var f=this,m=f.hcLib,C=f.renderer.getRenderer("javascript"),
n=m.hasModule,E=m.loadModule,F=m.getMetaSentence,K=m.moduleCmdQueue,a=m.executeWaitingCommands,O=m.injectModuleDependency,d=m.moduleDependencies,l=m.getDependentModuleName,N,ba;N=function(d){var n,q,c,A={},E;d=F(d);for(n in f.core.items)n=f.core.items[n],q=n.chartType(),c=n.options.chartTypeSourcePath+q,(q=n.jsVars)&&q.waitingModule&&n.__state.rendering&&m.needsModule(d.predicate,c)&&(q.waitingModuleError=!0,q=l(c).concat(q.userModules),q.length&&(q=q[q.length-1],A[q]=m.moduleCmdQueue[q]));for(E in A)a(A[E]);
f.raiseError(f.core,"11171116151","run","HC-interface~renderer.load","Unable to load required modules and resources: "+d.key)};ba=function(a,d,l){var c=a.args,m=a.options;a._chartMessageImageStyle={imageHAlign:c.typeNotSupportedMessageImageHAlign||m.baseChartMessageImageHAlign,imageVAlign:c.typeNotSupportedMessageImageVAlign||m.baseChartMessageImageVAlign,imageAlpha:c.typeNotSupportedMessageImageAlpha||m.baseChartMessageImageAlpha,imageScale:c.typeNotSupportedMessageImageScale||m.baseChartMessageImageScale};
a._chartMessageStyle={color:c.typeNotSupportedMessageColor||m.baseChartMessageColor,fontFamily:c.typeNotSupportedMessageFont||m.baseChartMessageFont,fontSize:c.typeNotSupportedMessageFontSize||m.baseChartMessageFontSize};f.hcLib.createChart(a,d,"base",l,m.typeNotSupportedMessage)};m.eventList=f.extend(f.legacyEventList,{loaded:"FC_Loaded",dataloaded:"FC_DataLoaded",rendered:"FC_Rendered",drawcomplete:"FC_DrawComplete",dataxmlinvalid:"FC_DataXMLInvalid",nodatatodisplay:"FC_NoDataToDisplay",exported:"FC_Exported"});
m.raiseEvent=f.raiseEventWithLegacy;d.charts=f.extend(d.charts||{},{column2d:0,column3d:0,bar2d:0,bar3d:0,pie2d:0,pie3d:0,line:0,area2d:0,doughnut2d:0,doughnut3d:0,pareto2d:0,pareto3d:0,mscolumn2d:0,mscolumn3d:0,msline:0,msarea:0,msbar2d:0,msbar3d:0,stackedcolumn2d:0,marimekko:0,stackedcolumn3d:0,stackedarea2d:0,stackedcolumn2dline:0,stackedcolumn3dline:0,stackedbar2d:0,stackedbar3d:0,msstackedcolumn2d:0,mscombi2d:0,mscombi3d:0,mscolumnline3d:0,mscombidy2d:0,mscolumn3dlinedy:0,stackedcolumn3dlinedy:0,
msstackedcolumn2dlinedy:0,scatter:0,bubble:0,ssgrid:0,scrollcolumn2d:0,scrollcolumn3d:0,scrollline2d:0,scrollarea2d:0,scrollstackedcolumn2d:0,scrollcombi2d:0,scrollcombidy2d:0,zoomline:0,zoomlinedy:0,zoomscatter:0});d.powercharts=f.extend(d.powercharts||{},{spline:0,splinearea:0,msspline:0,mssplinearea:0,mssplinedy:0,multiaxisline:0,multilevelpie:0,waterfall2d:0,msstepline:0,inversemsline:0,inversemscolumn2d:0,inversemsarea:0,errorbar2d:0,errorscatter:0,errorline:0,logmsline:0,logmscolumn2d:0,logstackedcolumn2d:0,
radar:0,dragnode:0,candlestick:0,selectscatter:0,dragcolumn2d:0,dragline:0,dragarea:0,boxandwhisker2d:0,kagi:0,heatmap:0,treemap:0});d.widgets=f.extend(d.widgets||{},{angulargauge:0,bulb:0,cylinder:0,drawingpad:0,funnel:0,hbullet:0,hled:0,hlineargauge:0,vlineargauge:0,pyramid:0,realtimearea:0,realtimecolumn:0,realtimeline:0,realtimelinedy:0,realtimestackedarea:0,realtimestackedcolumn:0,sparkcolumn:0,sparkline:0,sparkwinloss:0,thermometer:0,vbullet:0,gantt:0,vled:0});d.maps=f.extend(d.maps||{},{});
f.extend(C,{render:function(a,d){var q=this.chartType(),c=this.options.chartTypeSourcePath+q,A=this.jsVars,E=this.__state,e=m.chartAPI,r=this.options,G=this.args,w=this.options.showChartLoadingMessage,F,I;F=l(c).concat(A.userModules);A.isResizing&&(A.isResizing=clearTimeout(A.isResizing));A.hcObj&&A.hcObj.destroy&&A.hcObj.destroy();if(e[q]){if(e[E.lastRenderedType]&&E.lastRenderedType!==q)for(I in f.raiseEvent("chartTypeChanged",{previousType:E.lastRenderedType,newType:q},this),e[E.lastRenderedType].eiMethods)delete this[I];
E.lastRenderedType=q;E.lastRenderedSrc=this.src;!A.waitingModuleError&&m.raiseEvent("internal.loaded",{type:q,triggeredModuleLoad:A.drLoadAttempted||A.waitingModule},this,[this.id]);delete A.waitingModule;delete A.waitingModuleError;delete A.drLoadAttempted;f.hcLib.createChart(this,a,q,d)}else{if(q&&n(F)){if(A.drLoadAttempted){f.raiseError(this,11112822001,"run","HC-interface~renderer.render","Chart runtimes not loaded even when resource is present");ba(this,a,d);return}O(c)&&(F=l(c).concat(A.userModules));
A.drLoadAttempted=!0}else{if(!F.length){ba(this,a,d);return}if(A.waitingModuleError){ba(this,a,d);delete A.waitingModule;delete A.waitingModuleError;return}}(q=K[F[F.length-1]])?(q.push({cmd:"render",obj:this,args:arguments}),A.waitingModule||(A=w?r.PBarLoadingText||r.loadMessage:"",this._chartMessageImageStyle={imageHAlign:G.loadMessageImageHAlign||r.baseChartMessageImageHAlign,imageVAlign:G.loadMessageImageVAlign||r.baseChartMessageImageVAlign,imageAlpha:G.loadMessageImageAlpha||r.baseChartMessageImageAlpha,
imageScale:G.loadMessageImageScale||r.baseChartMessageImageScale},this._chartMessageStyle={color:G.loadMessageColor||r.baseChartMessageColor,fontFamily:G.loadMessageFont||r.baseChartMessageFont,fontSize:G.loadMessageFontSize||r.baseChartMessageFontSize},f.hcLib.createChart(this,a,"base",void 0,A),C.load.call(this,a,d))):(f.raiseError(this,12080515551,"run","HC-interface~renderer.render","Unregistered module in dependentModule definition."),this._chartMessageImageStyle={imageHAlign:G.renderErrorMessageImageHAlign||
r.baseChartMessageImageHAlign,imageVAlign:G.renderErrorMessageImageVAlign||r.baseChartMessageImageVAlign,imageAlpha:G.renderErrorMessageImageAlpha||r.baseChartMessageImageAlpha,imageScale:G.renderErrorMessageImageScale||r.baseChartMessageImageScale},this._chartMessageStyle={color:G.renderErrorMessageColor||r.baseChartMessageColor,fontFamily:G.renderErrorMessageFont||r.baseChartMessageFont,fontSize:G.renderErrorMessageFontSize||r.baseChartMessageFontSize},f.hcLib.createChart(this,a,"base",void 0,r.renderErrorMessage))}},
update:function(a){var d=this.ref,l=this.jsVars,c=l&&l.fcObj,c=l.container||c&&c.options&&c.options.containerElement&&c.options.containerElement.childNodes[0];l.hcObj&&l.hcObj.destroy&&l.hcObj.destroy();l.isResizing&&(l.isResizing=clearTimeout(l.isResizing));void 0===a.error?(delete l.stallLoad,delete l.loadError,this.isActive()?this.src!==this.__state.lastRenderedSrc?this.render():f.hcLib.createChart(this,c):this.__state.rendering&&!l.waitingModule&&f.hcLib.createChart(this,c)):(this.isActive()&&
"function"===typeof d.showChartMessage&&d.showChartMessage("InvalidXMLText"),delete l.loadError)},resize:function(a){var d=this.ref,l,c=this.jsVars;d&&d.resize&&(c.isResizing&&(c.isResizing=clearTimeout(c.isResizing)),c.isResizing=setTimeout(function(){l=f.normalizeCSSDimension(a.width,a.height,d);void 0!==a.width&&(d.style.width=l.width);void 0!==a.height&&(d.style.height=l.height);d.resize();delete c.isResizing},0))},dispose:function(){var a,d=this.jsVars;d.isResizing&&(d.isResizing=clearTimeout(d.isResizing));
d.instanceAPI&&d.instanceAPI.dispose&&(d.instanceAPI.dispose(),delete d.instanceAPI);if(a=this.ref)f.purgeDOM(a),a.parentNode&&a.parentNode.removeChild(a);d.container=null;m.cleanupWaitingCommands(this)},load:function(d,n){var q=this.jsVars,c=this.chartType(),A=f.hcLib.chartAPI[c],c=l(c).concat(q.userModules),C=c[c.length-1];A||!c||c&&0===c.length?(delete q.waitingModule,d&&ba(this,d||this.ref,n)):q.waitingModule||(q.waitingModule=!0,delete q.waitingModuleError,E(c,function(){delete q.waitingModule;
a(m.moduleCmdQueue[C])},N,this))}})}]);FusionCharts.register("module",["private","modules.api.dynamicchartattributes",function(){var f=this;f.extend(f.core,{setChartAttribute:function(m,C){var n,E,F,K;if("string"===typeof m)n=m,m={},m[n]=C;else if(null===m||"object"!==typeof m)return;K=0;if(F=(n=this.getChartData(f.dataFormats.JSON))&&(n.chart||n.graph||n.map)){for(E in m)K+=1,null===m[E]?delete F[E.toLowerCase()]:F[E.toLowerCase()]=m[E];0<K&&("undefined"===typeof F.animation&&(F.animation="0"),this.setChartData(n,
f.dataFormats.JSON))}else f.raiseError(this,"2105141421","run","#setChartAttribute()","Could not retrieve attribute list. Is data ready?")},getChartAttribute:function(m){var C=this.getChartData(f.dataFormats.JSON),C=C&&(C.chart||C.graph||C.map),n,E;if(0===arguments.length||void 0===m||void 0===C)return C;if("string"===typeof m)n=C[m.toString().toLowerCase()];else if(m instanceof Array)for(n={},E=0;E<m.length;E+=1)n[m[E]]=C[m[E].toString().toLowerCase()];else f.raiseError(this,"25081429","param","~getChartAttribute()",
'Unexpected value of "attribute"');return n}},!0)}]);FusionCharts.register("module",["private","api.linkmanager",function(){var f=this,m=f.FusionChartsDOMInsertModes,C={},n=function(m,a){this.items={};this.root=m;this.parent=a;a instanceof f.core?this.level=this.parent.link.level+1:(C[m.id]=[{}],this.level=0)},E=function(f,a){return(f.options.containerElement===a.options.containerElement||f.options.containerElementId===a.options.containerElementId)&&f.options.insertMode===m.REPLACE},F=function(m){var a;
m.sender.link instanceof n&&!m.sender.link.root.disposed?m.sender.link.parent instanceof f.core&&(a=m.sender.link.parent.link.items,!a[m.sender.id]&&(a[m.sender.id]=m.sender)):m.sender.link=new n(m.sender)};f.policies.link=["link",void 0];n.prototype.configuration=function(){return C[this.root.id][this.level]||(C[this.root.id][this.level]={})};f.extend(f.core,{configureLink:function(m,a){var n;if(m instanceof Array){for(n=0;n<m.length;n+=1)"object"!==typeof C[this.link.root.id][n]&&(C[this.link.root.id][n]=
{}),f.extend(C[this.link.root.id][n],m[n]);C[this.link.root.id].splice(m.length)}else"object"===typeof m?("number"!==typeof a&&(a=this.link.level),void 0===C[this.link.root.id][a]&&(C[this.link.root.id][a]={}),f.extend(C[this.link.root.id][a],m)):f.raiseError(this,"25081731","param","~configureLink()","Unable to update link configuration from set parameters")}},!0);f.addEventListener("beforeRender",function(f){F(f)});f.addEventListener("beforeInitialize",function(f){F(f)});f.addEventListener("linkedChartInvoked",
function(m,a){var C=m.sender,d=C.clone({dataSource:a.data,dataFormat:a.linkType,link:new n(C.link.root,C)},!0),l=a.alias,F;l&&(!d.typeSource&&d.swfUrl&&(d.typeSource=d.swfUrl.re
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment