Ext.define('Ext.draw.ContainerBase',{extend:'Ext.Container',constructor:function(a){this.callParent([a]);this.initAnimator()},onResize:function(b,a,d,c){this.handleResize({width:b,height:a},!0)},addElementListener:function(){var a=this.element;a.on.apply(a,arguments)},removeElementListener:function(){var a=this.element;a.un.apply(a,arguments)},preview:function(a){var b;a=a||this.getImage();if(a.type==='svg-markup'){b={xtype:'container',html:a.data}}else {b={xtype:'image',mode:'img',imageCls:'',cls:Ext.baseCSSPrefix+'chart-preview',src:a.data}}Ext.Viewport.add({xtype:'panel',layout:'fit',modal:!0,border:1,shadow:!0,width:'90%',height:'90%',hideOnMaskTap:!0,centered:!0,floated:!0,scrollable:!1,closable:!0,closeAction:'hide',items:[b],listeners:{hide:function(){this.destroy()}}}).show()}});Ext.define('Ext.draw.SurfaceBase',{extend:'Ext.Widget',getOwnerBody:function(){return this.getRefOwner().bodyElement}});Ext.define('Ext.draw.sprite.AnimationParser',function(){function compute(a,c,b){return a+(c-a)*b}return {singleton:!0,attributeRe:/^url\(#([a-zA-Z\-]+)\)$/,requires:['Ext.draw.Color'],color:{parseInitial:function(a,b){if(Ext.isString(a)){a=Ext.util.Color.create(a)}if(Ext.isString(b)){b=Ext.util.Color.create(b)}if((a&&a.isColor)&&(b&&b.isColor)){return [[a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a]]}else {return [a||b,b||a]}},compute:function(a,b,c){if(!Ext.isArray(a)||!Ext.isArray(b)){return b||a}else {return [compute(a[0],b[0],c),compute(a[1],b[1],c),compute(a[2],b[2],c),compute(a[3],b[3],c)]}},serve:function(a){var b=Ext.util.Color.fly(a[0],a[1],a[2],a[3]);return b.toString()}},number:{parse:function(a){return a===null?null:+a},compute:function(a,b,c){if(!Ext.isNumber(a)||!Ext.isNumber(b)){return b||a}else {return compute(a,b,c)}}},angle:{parseInitial:function(b,a){if(a-b>Math.PI){a-=Math.PI*2}else if(a-b<-Math.PI){a+=Math.PI*2}return [b,a]},compute:function(a,b,c){if(!Ext.isNumber(a)||!Ext.isNumber(b)){return b||a}else {return compute(a,b,c)}}},path:{parseInitial:function(m,l){var e=m.toStripes(),c=l.toStripes(),a,i,f=e.length,g=c.length,j,h,k,d=c[g-1],b=[d[d.length-2],d[d.length-1]];for(a=f;a=1){return b.path}var c=0,k=e.length,a=0,g,d,h,i=b.temp.params,j=0;for(;cMath.min(a.x+a.width,b.x+b.width))||(Math.max(a.y,b.y)-c>Math.min(a.y+a.height,b.y+b.height))},isPointInBBox:function(b,c,a){return !!a&&b>=a.x&&b<=(a.x+a.width)&&c>=a.y&&c<=(a.y+a.height)},naturalSpline:function(c){var a,e,i=c.length,g,j,k,d,h=0,b=new Float32Array(c.length),f=new Float32Array(c.length*3-2);b[0]=0;b[i-1]=0;for(a=1;a0;a--){h=3.732050807568877+48.248711305964385/(-13.928203230275537+Math.pow(0.07179676972449123,a));b[a]-=b[a+1]*h}d=c[0];g=d-b[0];for(a=0,e=0;a=c&&a>=b)||(a<=c&&a<=b)){d=e=q}else {d=t((f-s)/n(a-c));if(cq){i-=j}d+=i;e+=i;k=f-o*v(d);g=a+o*u(d);l=f+p*v(e);h=a+p*u(e);if((a>c&&gc)){k+=n(c-g)*(k-f)/(g-a);g=c}if((a>b&&hb)){l-=n(b-h)*(l-f)/(h-a);h=b}return {x1:k,y1:g,x2:l,y2:h}},smooth:function(i,j,p){var o=i.length,m,n,c,d,k,l,e,f,g=[],h=[],a,b;for(a=0;a=Math.PI){a-=Math.PI*2}return a}},data:function(a){if(Ext.isArray(a)){return a.slice()}else if(a instanceof Float32Array){return new Float32Array(a)}},bool:function(a){return !!a},color:function(a){if(a&&a.isColor){return a.toString()}else if(a&&a.isGradient){return a}else if(!a){return Ext.util.Color.NONE}else if(Ext.isString(a)){if(a.substr(0,3)==='url'){a=Ext.draw.gradient.GradientDefinition.get(a);if(Ext.isString(a)){return a}}else {return Ext.util.Color.fly(a).toString()}}if(a.type==='linear'){return Ext.create('Ext.draw.gradient.Linear',a)}else if(a.type==='radial'){return Ext.create('Ext.draw.gradient.Radial',a)}else if(a.type==='pattern'){return Ext.create('Ext.draw.gradient.Pattern',a)}else {return Ext.util.Color.NONE}},limited:function(a,b){return function(c){c=+c;return Ext.isNumber(c)?Math.min(Math.max(c,a),b):undefined}},limited01:function(a){a=+a;return Ext.isNumber(a)?Math.min(Math.max(a,0),1):undefined},enums:function(){var b={},c=Array.prototype.slice.call(arguments,0),a,d;for(a=0,d=c.length;a=(7-4*c)/11){return a*a-b((11-6*c-11*d)/4,2)}}},elastic:function(a,c){return b(2,10*--a)*j(20*a*h*(c||1)/3)}},a={},e,g,c;function createPoly(a){return function(c){return b(c,a)}}function addEasing(c,b){a[c+'In']=function(a){return b(a)};a[c+'Out']=function(a){return 1-b(1-a)};a[c+'InOut']=function(a){return (a<=0.5)?b(2*a)/2:(2-b(2*(1-a)))/2}}for(c=0,g=f.length;c-1},empty:function(){return this.animations.length===0},idle:function(){return this.scheduled===0&&this.animations.length===0},step:function(e){var f=this,c=f.animations,a,b=0,d=c.length;for(;b0},applyEasing:function(a){if(typeof a==='string'){a=Ext.draw.TimingFunctions.easingMap[a]}return a},applyCustomEasings:function(g,b){b=b||{};var e,f,d,a,c,h;for(f in g){e=!0;a=g[f];d=f.split(',');if(typeof a==='string'){a=Ext.draw.TimingFunctions.easingMap[a]}for(c=0,h=d.length;c=1){d[b]=h[b];delete h[b];if(e[b].remove){d.removeFromInstance=d.removeFromInstance||{};d.removeFromInstance[b]=!0}delete e[b]}else {d[b]=a.serve(a.compute(a.source,a.target,a.easing(f),c[b]));i=!0}}c.lastUpdate=g;this.setAnimating(c,i);return d},pushDown:function(b,a){a=this.callParent([b.targets,a]);return this.setAttrs(b,a)},popUp:function(a,b){a=a.prototype;b=this.setAttrs(a,b);if(this._upper){return this._upper.popUp(a,b)}else {return Ext.apply(a,b)}},step:function(g){var a=this,e=a.animatingPool.slice(),f=e.length,d=0,c,b;for(;d=a.x&&c<=(a.x+a.width)&&d>=a.y&&d<=(a.y+a.height);if(e){return {sprite:this}}}return null},isVisible:function(){var a=this.attr,b=this.getParent(),e=b&&(b.isSurface||b.isVisible()),h=e&&!a.hidden&&a.globalAlpha,c=Ext.util.Color.NONE,d=Ext.util.Color.RGBA_NONE,g=a.fillOpacity&&a.fillStyle!==c&&a.fillStyle!==d,f=a.strokeOpacity&&a.strokeStyle!==c&&a.strokeStyle!==d,i=h&&(g||f);return !!i},repaint:function(){var a=this.getSurface();if(a){a.renderFrame()}},remove:function(){var a=this.getSurface();if(a&&a.isSurface){return a.remove(this)}return null},destroy:function(){var a=this,b=a.modifiers.target,c;while(b){c=b;b=b._lower;c.destroy()}delete a.attr;a.remove();if(a.fireEvent('beforedestroy',a)!==!1){a.fireEvent('destroy',a)}a.callParent()}},function(){this.def=new Ext.draw.sprite.AttributeDefinition(this.def);this.def.spriteClass=this});Ext.define('Ext.draw.Path',{requires:['Ext.draw.Draw'],statics:{pathRe:/,?([achlmqrstvxz]),?/gi,pathRe2:/-/gi,pathSplitRe:/\s|,/g},svgString:'',constructor:function(b){var a=this;a.commands=[];a.params=[];a.cursor=null;a.startX=0;a.startY=0;if(b){a.fromSvgString(b)}},clear:function(){var a=this;a.params.length=0;a.commands.length=0;a.cursor=null;a.startX=0;a.startY=0;a.dirt()},dirt:function(){this.svgString=''},moveTo:function(b,c){var a=this;if(!a.cursor){a.cursor=[b,c]}a.params.push(b,c);a.commands.push('M');a.startX=b;a.startY=c;a.cursor[0]=b;a.cursor[1]=c;a.dirt()},lineTo:function(b,c){var a=this;if(!a.cursor){a.cursor=[b,c];a.params.push(b,c);a.commands.push('M')}else {a.params.push(b,c);a.commands.push('L')}a.cursor[0]=b;a.cursor[1]=c;a.dirt()},bezierCurveTo:function(b,c,f,g,d,e){var a=this;if(!a.cursor){a.moveTo(b,c)}a.params.push(b,c,f,g,d,e);a.commands.push('C');a.cursor[0]=d;a.cursor[1]=e;a.dirt()},quadraticCurveTo:function(b,c,d,e){var a=this;if(!a.cursor){a.moveTo(b,c)}a.bezierCurveTo((2*b+a.cursor[0])/3,(2*c+a.cursor[1])/3,(2*b+d)/3,(2*c+e)/3,d,e)},closePath:function(){var a=this;if(a.cursor){a.cursor=null;a.commands.push('Z');a.dirt()}},arcTo:function(l,m,e,f,d,b,n){var i=this;if(b===undefined){b=d}if(n===undefined){n=0}if(!i.cursor){i.moveTo(l,m);return}if(d===0||b===0){i.lineTo(l,m);return}e-=l;f-=m;var g=i.cursor[0]-l,h=i.cursor[1]-m,q=e*h-f*g,j,k,x,z,y,A,v=Math.sqrt(g*g+h*h),w=Math.sqrt(e*e+f*f),t,c,a;if(q===0){i.lineTo(l,m);return}if(b!==d){j=Math.cos(n);k=Math.sin(n);x=j/d;z=k/b;y=-k/d;A=j/b;var u=x*g+z*h;h=y*g+A*h;g=u;u=x*e+z*f;f=y*e+A*f;e=u}else {g/=d;h/=b;e/=d;f/=b}c=g*w+e*v;a=h*w+f*v;t=1/(Math.sin(Math.asin(Math.abs(q)/(v*w))*0.5)*Math.sqrt(c*c+a*a));c*=t;a*=t;var B=(c*g+a*h)/(g*g+h*h),C=(c*e+a*f)/(e*e+f*f);var r=g*B-c,s=h*B-a,D=e*C-c,E=f*C-a,o=Math.atan2(s,r),p=Math.atan2(E,D);if(q>0){if(p=Math.PI*2){b.ellipse(j,k,h,i,g,d,d+Math.PI,l);b.ellipse(j,k,h,i,g,d+Math.PI,e,l);return}if(!l){if(e=x){s.push(d+b*p+f,e+c*p+g,d*p+b+f,e*p+c+g,b+f,c+g);u+=6;a-=x;o=d;d=b;b=-o;o=e;e=c;c=-o}if(a){i=(0.3294738052815987+0.012120855841304373*a)*a;h=Math.cos(a);j=Math.sin(a);v=h+i*j;w=j-i*h;s.push(d+b*i+f,e+c*i+g,d*v+b*w+f,e*v+c*w+g,d*h+b*j+f,e*h+c*j+g);u+=6}return u},arcSvg:function(b,c,i,y,m,v,x){if(b<0){b=-b}if(c<0){c=-c}var n=this,u=n.cursor[0],w=n.cursor[1],q=(u-v)/2,r=(w-x)/2,g=Math.cos(i),h=Math.sin(i),o=q*g+r*h,p=-q*h+r*g,k=o/b,l=p/c,a=k*k+l*l,s=(u+v)*0.5,t=(w+x)*0.5,e=0,f=0;if(a>=1){a=Math.sqrt(a);b*=a;c*=a}else {a=Math.sqrt(1/a-1);if(y===m){a=-a}e=a*b*l;f=-a*c*k;s+=g*e-h*f;t+=h*e+g*f}var j=Math.atan2((p-f)/c,(o-e)/b),d=Math.atan2((-p-f)/c,(-o-e)/b)-j;if(m){if(d<=0){d+=Math.PI*2}}else {if(d>=0){d-=Math.PI*2}}n.ellipse(s,t,b,c,i,j,j+d,1-m)},fromSvgString:function(k){if(!k){return}var e=this,b,g={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0,A:7,C:6,H:1,L:2,M:2,Q:4,S:4,T:2,V:1,Z:0},h='',i,j,c=0,d=0,l=!1,a,f,m;if(Ext.isString(k)){b=k.replace(Ext.draw.Path.pathRe," $1 ").replace(Ext.draw.Path.pathRe2," -").split(Ext.draw.Path.pathSplitRe)}else if(Ext.isArray(k)){b=k.join(',').split(Ext.draw.Path.pathSplitRe)}for(a=0,f=0;a=0){f=Math.sqrt(f);a=(f-i)/2/l;if(00){a-=f/l;if(0a.x){c=a.x}if(ha.y){d=a.y}if(f=e.length||!d.isVisible()){return c}a.attr=e[b];c=a.isVisible(point,options);a.attr=f;return c},render:function(e,b,h){var d=this,a=d.getTemplate(),f=e.getRect(),j=d.attr.matrix,i=a.attr,g=d.instances,k=d.position,c;j.toContext(b);a.preRender(e,b,h);a.useAttributes(b,f);a.isSpriteInstance=!0;for(c=0;cc){a=e.substr(c,d-c)}else {continue}f=a.indexOf('/');if(f>0){a=a.substr(0,f)}else if(f===0){continue}if(a!=='normal'&&a!=='inherit'){g=h[a];if(g){b[g]=a}else if(a.match(Ext.dom.Element.unitRe)){b.fontSize=a}else {b.fontFamily=e.substr(c);break}}c=d+1}if(!b.fontStyle){b.fontStyle=''}if(!b.fontVariant){b.fontVariant=''}if(!b.fontWeight){b.fontWeight=''}this.setAttributes(b,!0)},fontProperties:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,fontFamily:!0},setAttributes:function(a,d,e){var b,c;if(a&&a.font){c={};for(b in a){if(!(b in this.fontProperties)){c[b]=a[b]}}a=c}this.callParent([a,d,e])},getBBox:function(d){var a=this,b=a.attr.bbox.plain,c=a.getSurface();if(b.dirty){a.updatePlainBBox(b);b.dirty=!1}if(c&&c.getInherited().rtl&&c.getFlipRtlText()){a.updatePlainBBox(b,!0)}return a.callParent([d])},rtlAlignments:{start:'end',center:'center',end:'start'},updatePlainBBox:function(l,u){var c=this,b=c.attr,h=b.x,n=b.y,m=[],w=b.font,x=b.text,v=b.textBaseline,o=b.textAlign,s=c.getPreciseMeasurement(),g,r;if(u&&c.oldSize){g=c.oldSize}else {r=Ext.draw.TextMeasurer.precise;if(Ext.isBoolean(s)){Ext.draw.TextMeasurer.precise=s}g=c.oldSize=Ext.draw.TextMeasurer.measureText(x,w);Ext.draw.TextMeasurer.precise=r}var j=c.getSurface(),k=(j&&j.getInherited().rtl)||!1,t=k&&j.getFlipRtlText(),f=g.sizes,i=g.height,d=g.width,q=f?f.length:0,e,p,a=0;switch(v){case 'hanging':case 'top':break;case 'ideographic':case 'bottom':n-=i;break;case 'alphabetic':n-=i*0.8;break;case 'middle':n-=i*0.5;break;}if(t){p=j.getRect();h=p[2]-p[0]-h;o=c.rtlAlignments[o]}switch(o){case 'start':if(k){for(;a0&&d>0){c=(Math.sqrt(a*a+d*d)*Math.abs(Math.cos(g-Math.atan(a/d))))/2;f=m.createLinearGradient(i+k*c,j+l*c,i-k*c,j-l*c);for(b=0;b=0;c--){b=d[c];if(e){b.destroy()}else {b.setParent(null);b.setSurface(null)}}a.clearing=!1;d.length=0;a.map={};a.dirtyZIndex=!0;if(!a.destroying){a.setDirty(!0)}},applyItems:function(a){if(this.getItems()){this.removeAll(!0)}return Ext.Array.from(this.add(a))},createItem:function(a){return Ext.create(a.xclass||'sprite.'+a.type,a)},getBBox:function(b,i){b=Ext.Array.from(b);var c=Infinity,g=-Infinity,d=Infinity,f=-Infinity,j=b.length,h,a,e;for(e=0;ea.x){c=a.x}if(ga.y){d=a.y}if(f0){a.isPendingRenderFrame=!0;return}var d=a.getBackground(),e=a.getItems(),c,b,f;a.orderByZIndex();if(a.getDirty()){a.clear();a.clearTransform();if(d){a.renderSprite(d)}for(b=0,f=e.length;b=0;a--){d=e[a];if(d.hitTest){c=d.hitTest(f,b);if(c){return c}}}return null},hitTestEvent:function(b,a){var c=this.getEventXY(b);return this.hitTest(c,a)}});Ext.define('Ext.draw.engine.SvgContext',{requires:['Ext.draw.Color'],toSave:['strokeOpacity','strokeStyle','fillOpacity','fillStyle','globalAlpha','lineWidth','lineCap','lineJoin','lineDash','lineDashOffset','miterLimit','shadowOffsetX','shadowOffsetY','shadowBlur','shadowColor','globalCompositeOperation','position','fillGradient','strokeGradient'],strokeOpacity:1,strokeStyle:'none',fillOpacity:1,fillStyle:'none',lineDas:[],lineDashOffset:0,globalAlpha:1,lineWidth:1,lineCap:'butt',lineJoin:'miter',miterLimit:10,shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,shadowColor:'none',globalCompositeOperation:'src',urlStringRe:/^url\(#([\w\-]+)\)$/,constructor:function(b){var a=this;a.surface=b;a.state=[];a.matrix=new Ext.draw.Matrix();a.path=null;a.clear()},clear:function(){this.group=this.surface.mainGroup;this.position=0;this.path=null},getElement:function(a){return this.surface.getSvgElement(this.group,a,this.position++)},save:function(){var d=this.toSave,c={},e=this.getElement('g'),a,b;for(b=0;bthis.position){c.last().destroy()}for(b=0;bthis.position){Ext.fly(a[a.length-1]).destroy()}return 'url(#'+this.element.getId()+')'}});Ext.define('Ext.draw.engine.Svg',{extend:'Ext.draw.Surface',requires:['Ext.draw.engine.SvgContext'],isSVG:!0,config:{highPrecision:!1},getElementConfig:function(){return {reference:'element',style:{position:'absolute'},children:[{reference:'bodyElement',style:{width:'100%',height:'100%',position:'relative'},children:[{tag:'svg',reference:'svgElement',namespace:"http://www.w3.org/2000/svg",width:'100%',height:'100%',version:1.1}]}]}},constructor:function(b){var a=this;a.callParent([b]);a.mainGroup=a.createSvgNode("g");a.defsElement=a.createSvgNode("defs");a.svgElement.appendChild(a.mainGroup);a.svgElement.appendChild(a.defsElement);a.ctx=new Ext.draw.engine.SvgContext(a)},createSvgNode:function(b){var a=document.createElementNS("http://www.w3.org/2000/svg",b);return Ext.get(a)},getSvgElement:function(e,f,b){var c=e.dom.childNodes,d=c.length,a;if(bd){Ext.raise("Invalid position.")}a=Ext.get(this.createSvgNode(f));if(b===0){e.insertFirst(a)}else {a.insertAfter(Ext.fly(c[b-1]))}a.cache={};return a},setElementAttributes:function(d,c){var f=d.dom,e=d.cache,a,b;for(a in c){b=c[a];if(e[a]!==b){e[a]=b;f.setAttribute(a,b)}}},getNextDef:function(a){return this.getSvgElement(this.defsElement,a,this.defsPosition++)},clearTransform:function(){var a=this;a.mainGroup.set({transform:a.matrix.toSvg()})},clear:function(){this.ctx.clear();this.removeSurplusDefs();this.defsPosition=0},removeSurplusDefs:function(){var b=this.defsElement,c=b.dom.childNodes,d=c.length,a;for(a=d-1;a>this.defsPosition;a--){b.removeChild(c[a])}},renderSprite:function(a){var d=this,c=d.getRect(),b=d.ctx;if(a.attr.hidden||a.attr.globalAlpha===0){b.save();b.restore();return}a.element=b.save();a.preRender(this);a.useAttributes(b,c);if(!1===a.render(this,b,[0,0,c[2],c[3]])){return !1}a.setDirty(!1);b.restore()},toSVG:function(f,e){var g=Ext.getClassName(this),a,b,d,c;a='';for(c=0;c';a+=this.serializeNode(b.svgElement.dom);a+=''}a+='';return a},b64EncodeUnicode:function(a){return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,function(c,b){return String.fromCharCode('0x'+b)}))},flatten:function(c,b){var a='';a+=this.toSVG(c,b);return {data:'data:image/svg+xml;base64,'+this.b64EncodeUnicode(a),type:'svg'}},serializeNode:function(a){var c='',b,d,e,f;if(a.nodeType===document.TEXT_NODE){return a.nodeValue}c+='<'+a.nodeName;if(a.attributes.length){for(b=0,d=a.attributes.length;b';return c},destroy:function(){var a=this;a.ctx.destroy();a.mainGroup.destroy();a.defsElement.destroy();delete a.mainGroup;delete a.defsElement;delete a.ctx;a.callParent()},remove:function(a,b){if(a&&a.element){a.element.destroy();a.element=null}this.callParent(arguments)}});Ext.draw||(Ext.draw={});Ext.draw.engine||(Ext.draw.engine={});Ext.draw.engine.excanvas=!0;if(!document.createElement('canvas').getContext){(function(){var f=Math;var b=f.round;var n=f.sin;var m=f.cos;var t=f.abs;var s=f.sqrt;var c=10;var e=c/2;var u=+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];function getContext(){return this.context_||(this.context_=new CanvasRenderingContext2D_(this))}var p=Array.prototype.slice;function bind(c,a,d){var b=p.call(arguments,2);return function(){return c.apply(a,b.concat(p.call(arguments)))}}function encodeHtmlAttribute(a){return String(a).replace(/&/g,'&').replace(/"/g,'"')}function addNamespace(b,a,c){Ext.onReady(function(){if(!b.namespaces[a]){b.namespaces.add(a,c,'#default#VML')}})}function addNamespacesAndStylesheet(a){addNamespace(a,'g_vml_','urn:schemas-microsoft-com:vml');addNamespace(a,'g_o_','urn:schemas-microsoft-com:office:office');if(!a.styleSheets['ex_canvas_']){var b=a.createStyleSheet();b.owningElement.id='ex_canvas_';b.cssText='canvas{display:inline-block;overflow:hidden;'+'text-align:left;width:300px;height:150px}'}}addNamespacesAndStylesheet(document);var o={init:function(b){var a=b||document;a.createElement('canvas');a.attachEvent('onreadystatechange',bind(this.init_,this,a))},init_:function(c){var b=c.getElementsByTagName('canvas');for(var a=0;a1){a--}if(6*a<1){return b+(c-b)*6*a}else if(2*a<1){return c}else if(3*a<2){return b+(c-b)*(2/3-a)*6}else {return b}}var k={};function processStyle(a){if(a in k){return k[a]}var c,e=1;a=String(a);if(a.charAt(0)=='#'){c=a}else if(/^rgb/.test(a)){var b=getRgbHslContent(a);var c='#',f;for(var d=0;d<3;d++){if(b[d].indexOf('%')!=-1){f=Math.floor(percent(b[d])*255)}else {f=+b[d]}c+=h[clamp(f,0,255)]}e=+b[3]}else if(/^hsl/.test(a)){var b=getRgbHslContent(a);c=hslToRgb(b);e=b[3]}else {c=r[a]||a}return k[a]={color:c,alpha:e}}var g={style:'normal',variant:'normal',weight:'normal',size:10,family:'sans-serif'};var l={};function processFontStyle(b){if(l[b]){return l[b]}var c=document.createElement('div');var a=c.style;try{a.font=b}catch(v){}return l[b]={style:a.fontStyle||g.style,variant:a.fontVariant||g.variant,weight:a.fontWeight||g.weight,size:a.fontSize||g.size,family:a.fontFamily||g.family}}function getComputedStyle(b,f){var a={};for(var e in b){a[e]=b[e]}var d=parseFloat(f.currentStyle.fontSize),c=parseFloat(b.size);if(typeof b.size=='number'){a.size=b.size}else if(b.size.indexOf('px')!=-1){a.size=c}else if(b.size.indexOf('em')!=-1){a.size=d*c}else if(b.size.indexOf('%')!=-1){a.size=(d/100)*c}else if(b.size.indexOf('pt')!=-1){a.size=c/0.75}else {a.size=d}a.size*=0.981;return a}function buildStyle(a){return a.style+' '+a.variant+' '+a.weight+' '+a.size+'px '+a.family}var q={'butt':'flat','round':'round'};function processLineCap(a){return q[a]||'square'}function CanvasRenderingContext2D_(a){this.m_=createMatrixIdentity();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle='#000';this.fillStyle='#000';this.lineWidth=1;this.lineJoin='miter';this.lineDash=[];this.lineCap='butt';this.miterLimit=c*1;this.globalAlpha=1;this.font='10px sans-serif';this.textAlign='left';this.textBaseline='alphabetic';this.canvas=a;var e='width:'+a.clientWidth+'px;height:'+a.clientHeight+'px;overflow:hidden;position:absolute';var b=a.ownerDocument.createElement('div');b.style.cssText=e;a.appendChild(b);var d=b.cloneNode(!1);d.style.backgroundColor='red';d.style.filter='alpha(opacity=0)';a.appendChild(d);this.element_=b;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var a=CanvasRenderingContext2D_.prototype;a.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(!0);this.textMeasureEl_=null}this.element_.innerHTML=''};a.beginPath=function(){this.currentPath_=[]};a.moveTo=function(b,c){var a=getCoords(this,b,c);this.currentPath_.push({type:'moveTo',x:a.x,y:a.y});this.currentX_=a.x;this.currentY_=a.y};a.lineTo=function(b,c){var a=getCoords(this,b,c);this.currentPath_.push({type:'lineTo',x:a.x,y:a.y});this.currentX_=a.x;this.currentY_=a.y};a.bezierCurveTo=function(a,b,c,d,g,h){var i=getCoords(this,g,h);var e=getCoords(this,a,b);var f=getCoords(this,c,d);bezierCurveTo(this,e,f,i)};function bezierCurveTo(b,c,d,a){b.currentPath_.push({type:'bezierCurveTo',cp1x:c.x,cp1y:c.y,cp2x:d.x,cp2y:d.y,x:a.x,y:a.y});b.currentX_=a.x;b.currentY_=a.y}a.quadraticCurveTo=function(d,e,g,h){var c=getCoords(this,d,e);var b=getCoords(this,g,h);var a={x:this.currentX_+2/3*(c.x-this.currentX_),y:this.currentY_+2/3*(c.y-this.currentY_)};var f={x:a.x+(b.x-this.currentX_)/3,y:a.y+(b.y-this.currentY_)/3};bezierCurveTo(this,a,f,b)};a.arc=function(d,f,a,g,i,h){a*=c;var p=h?'at':'wa';var b=d+m(g)*a-e;var q=f+n(g)*a-e;var l=d+m(i)*a-e;var r=f+n(i)*a-e;if(b==l&&!h){b+=0.125}var o=getCoords(this,d,f);var j=getCoords(this,b,q);var k=getCoords(this,l,r);this.currentPath_.push({type:p,x:o.x,y:o.y,radius:a,xStart:j.x,yStart:j.y,xEnd:k.x,yEnd:k.y})};a.rect=function(a,b,d,c){this.moveTo(a,b);this.lineTo(a+d,b);this.lineTo(a+d,b+c);this.lineTo(a,b+c);this.closePath()};a.strokeRect=function(a,b,d,c){var e=this.currentPath_;this.beginPath();this.moveTo(a,b);this.lineTo(a+d,b);this.lineTo(a+d,b+c);this.lineTo(a,b+c);this.closePath();this.stroke();this.currentPath_=e};a.fillRect=function(a,b,d,c){var e=this.currentPath_;this.beginPath();this.moveTo(a,b);this.lineTo(a+d,b);this.lineTo(a+d,b+c);this.lineTo(a,b+c);this.closePath();this.fill();this.currentPath_=e};a.createLinearGradient=function(b,d,c,e){var a=new CanvasGradient_('gradient');a.x0_=b;a.y0_=d;a.x1_=c;a.y1_=e;return a};a.createRadialGradient=function(d,f,b,e,g,c){var a=new CanvasGradient_('gradientradial');a.x0_=d;a.y0_=f;a.r0_=b;a.x1_=e;a.y1_=g;a.r1_=c;return a};a.drawImage=function(a,u){var j,k,i,h,d,e,m,l;var t=a.runtimeStyle.width;var s=a.runtimeStyle.height;a.runtimeStyle.width='auto';a.runtimeStyle.height='auto';var g=a.width;var f=a.height;a.runtimeStyle.width=t;a.runtimeStyle.height=s;if(arguments.length==3){j=arguments[1];k=arguments[2];d=e=0;m=i=g;l=h=f}else if(arguments.length==5){j=arguments[1];k=arguments[2];i=arguments[3];h=arguments[4];d=e=0;m=g;l=f}else if(arguments.length==9){d=arguments[1];e=arguments[2];m=arguments[3];l=arguments[4];j=arguments[5];k=arguments[6];i=arguments[7];h=arguments[8]}else {throw Error('Invalid number of arguments')}var r=getCoords(this,j,k);var o=[];var q=10;var p=10;var n=this.m_;o.push(' ','','');this.element_.insertAdjacentHTML('BeforeEnd',o.join(''))};a.setLineDash=function(a){if(a.length===1){a=a.slice();a[1]=a[0]}this.lineDash=a};a.getLineDash=function(){return this.lineDash};a.stroke=function(g){var d=[];var j=10;var i=10;d.push('');if(!g){appendStroke(this,d)}else {appendFill(this,d,f,e)}d.push('');this.element_.insertAdjacentHTML('beforeEnd',d.join(''))};function appendStroke(a,e){var d=processStyle(a.strokeStyle);var f=d.color;var c=d.alpha*a.globalAlpha;var b=a.lineScale_*a.lineWidth;if(b<1){c*=b}e.push('')}function appendFill(b,m,g,v){var a=b.fillStyle;var h=b.arcScaleX_;var i=b.arcScaleY_;var k=v.x-g.x;var j=v.y-g.y;if(a instanceof CanvasGradient_){var e=0;var o={x:0,y:0};var p=0;var s=1;if(a.type_=='gradient'){var I=a.x0_/h;var K=a.y0_/i;var J=a.x1_/h;var L=a.y1_/i;var l=getCoords(b,I,K);var w=getCoords(b,J,L);var G=w.x-l.x;var H=w.y-l.y;e=Math.atan2(G,H)*180/Math.PI;if(e<0){e+=360}if(e<1.0E-6){e=0}}else {var l=getCoords(b,a.x0_,a.y0_);o={x:(l.x-g.x)/k,y:(l.y-g.y)/j};k/=h*c;j/=i*c;var r=f.max(k,j);p=2*a.r0_/r;s=2*a.r1_/r-p}var d=a.colors_;d.sort(function(a,c){return a.offset-c.offset});var n=d.length;var D=d[0].color;var E=d[n-1].color;var A=d[0].alpha*b.globalAlpha;var B=d[n-1].alpha*b.globalAlpha;var t=[];for(var q=0;q')}else if(a instanceof CanvasPattern_){if(k&&j){var y=-g.x;var z=-g.y;m.push('')}}else {var x=processStyle(b.fillStyle);var F=x.color;var C=x.alpha*b.globalAlpha;m.push('')}}a.fill=function(){this.$stroke(!0)};a.closePath=function(){this.currentPath_.push({type:'close'})};function getCoords(f,b,d){var a=f.m_;return {x:c*(b*a[0][0]+d*a[1][0]+a[2][0])-e,y:c*(b*a[0][1]+d*a[1][1]+a[2][1])-e}}a.save=function(){var a={};copyState(this,a);this.aStack_.push(a);this.mStack_.push(this.m_)};a.restore=function(){if(this.aStack_.length){copyState(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function matrixIsFinite(a){return isFinite(a[0][0])&&isFinite(a[0][1])&&isFinite(a[1][0])&&isFinite(a[1][1])&&isFinite(a[2][0])&&isFinite(a[2][1])}function setM(b,a,c){if(!matrixIsFinite(a)){return}b.m_=a;if(c){var d=a[0][0]*a[1][1]-a[0][1]*a[1][0];b.lineScale_=s(t(d))}}a.translate=function(a,b){var c=[[1,0,0],[0,1,0],[a,b,1]];setM(this,matrixMultiply(c,this.m_),!1)};a.rotate=function(a){var b=m(a);var c=n(a);var d=[[b,c,0],[-c,b,0],[0,0,1]];setM(this,matrixMultiply(d,this.m_),!1)};a.scale=function(a,b){this.arcScaleX_*=a;this.arcScaleY_*=b;var c=[[a,0,0],[0,b,0],[0,0,1]];setM(this,matrixMultiply(c,this.m_),!0)};a.transform=function(a,b,c,d,e,f){var g=[[a,b,0],[c,d,0],[e,f,1]];setM(this,matrixMultiply(g,this.m_),!0)};a.setTransform=function(a,b,c,d,e,f){var g=[[a,b,0],[c,d,0],[e,f,1]];setM(this,g,!0)};a.drawText_=function(q,r,s,t,j){var i=this.m_,k=1000,e=0,h=k,g={x:0,y:0},d=[];var f=getComputedStyle(processFontStyle(this.font),this.element_);var n=buildStyle(f);var l=this.element_.currentStyle;var a=this.textAlign.toLowerCase();switch(a){case 'left':case 'center':case 'right':break;case 'end':a=l.direction=='ltr'?'right':'left';break;case 'start':a=l.direction=='rtl'?'right':'left';break;default:a='left';}switch(this.textBaseline){case 'hanging':case 'top':g.y=f.size/1.75;break;case 'middle':break;default:case null:case 'alphabetic':case 'ideographic':case 'bottom':g.y=-f.size/3;break;}switch(a){case 'right':e=k;h=0.05;break;case 'center':e=h=k/2;break;}var m=getCoords(this,r+g.x,s+g.y);d.push('');if(j){appendStroke(this,d)}else {appendFill(this,d,{x:-e,y:0},{x:h,y:f.size})}var p=i[0][0].toFixed(3)+','+i[1][0].toFixed(3)+','+i[0][1].toFixed(3)+','+i[1][1].toFixed(3)+',0,0';var o=b(m.x/c)+','+b(m.y/c);d.push('','','');this.element_.insertAdjacentHTML('beforeEnd',d.join(''))};a.fillText=function(b,c,d,a){this.drawText_(b,c,d,a,!1)};a.strokeText=function(b,c,d,a){this.drawText_(b,c,d,a,!0)};a.measureText=function(a){if(!this.textMeasureEl_){var c='';this.element_.insertAdjacentHTML('beforeEnd',c);this.textMeasureEl_=this.element_.lastChild}var b=this.element_.ownerDocument;this.textMeasureEl_.innerHTML='';this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(b.createTextNode(a));return {width:this.textMeasureEl_.offsetWidth}};a.clip=function(){};a.arcTo=function(){};a.createPattern=function(b,a){return new CanvasPattern_(b,a)};function CanvasGradient_(a){this.type_=a;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}CanvasGradient_.prototype.addColorStop=function(b,a){a=processStyle(a);this.colors_.push({offset:b,color:a.color,alpha:a.alpha})};function CanvasPattern_(a,b){assertImageIsValid(a);switch(b){case 'repeat':case null:case '':this.repetition_='repeat';break;case 'repeat-x':case 'repeat-y':case 'no-repeat':this.repetition_=b;break;default:throwException('SYNTAX_ERR');}this.src_=a.src;this.width_=a.width;this.height_=a.height}function throwException(a){throw new DOMException_(a)}function assertImageIsValid(a){if(!a||a.nodeType!=1||a.tagName!='IMG'){throwException('TYPE_MISMATCH_ERR')}if(a.readyState!='complete'){throwException('INVALID_STATE_ERR')}}function DOMException_(a){this.code=this[a];this.message=a+': DOM Exception '+this.code}var d=DOMException_.prototype=new Error();d.INDEX_SIZE_ERR=1;d.DOMSTRING_SIZE_ERR=2;d.HIERARCHY_REQUEST_ERR=3;d.WRONG_DOCUMENT_ERR=4;d.INVALID_CHARACTER_ERR=5;d.NO_DATA_ALLOWED_ERR=6;d.NO_MODIFICATION_ALLOWED_ERR=7;d.NOT_FOUND_ERR=8;d.NOT_SUPPORTED_ERR=9;d.INUSE_ATTRIBUTE_ERR=10;d.INVALID_STATE_ERR=11;d.SYNTAX_ERR=12;d.INVALID_MODIFICATION_ERR=13;d.NAMESPACE_ERR=14;d.INVALID_ACCESS_ERR=15;d.VALIDATION_ERR=16;d.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=o;CanvasRenderingContext2D=CanvasRenderingContext2D_;CanvasGradient=CanvasGradient_;CanvasPattern=CanvasPattern_;DOMException=DOMException_})()}Ext.define('Ext.draw.engine.Canvas',{extend:'Ext.draw.Surface',isCanvas:!0,requires:['Ext.draw.engine.excanvas','Ext.draw.Animator','Ext.draw.Color'],config:{highPrecision:!1},statics:{contextOverrides:{setGradientBBox:function(a){this.bbox=a},fill:function(){var d=this.fillStyle,b=this.fillGradient,a=this.fillOpacity,e=this.globalAlpha,c=this.bbox;if(d!==Ext.util.Color.RGBA_NONE&&a!==0){if(b&&c){this.fillStyle=b.generateGradient(this,c)}if(a!==1){this.globalAlpha=e*a}this.$fill();if(a!==1){this.globalAlpha=e}if(b&&c){this.fillStyle=d}}},stroke:function(){var d=this.strokeStyle,b=this.strokeGradient,a=this.strokeOpacity,e=this.globalAlpha,c=this.bbox;if(d!==Ext.util.Color.RGBA_NONE&&a!==0){if(b&&c){this.strokeStyle=b.generateGradient(this,c)}if(a!==1){this.globalAlpha=e*a}this.$stroke();if(a!==1){this.globalAlpha=e}if(b&&c){this.strokeStyle=d}}},fillStroke:function(d,b){var a=this,j=this.fillStyle,f=this.fillOpacity,h=this.strokeStyle,e=this.strokeOpacity,g=a.shadowColor,i=a.shadowBlur,c=Ext.util.Color.RGBA_NONE;if(b===undefined){b=d.transformFillStroke}if(!b){d.inverseMatrix.toContext(a)}if(j!==c&&f!==0){a.fill();a.shadowColor=c;a.shadowBlur=0}if(h!==c&&e!==0){a.stroke()}a.shadowColor=g;a.shadowBlur=i},setLineDash:function(a){if(this.$setLineDash){this.$setLineDash(a)}},getLineDash:function(){if(this.$getLineDash){return this.$getLineDash()}},ellipse:function(e,f,c,d,g,i,j,h){var a=Math.cos(g),b=Math.sin(g);this.transform(a*c,b*c,-b*d,a*d,e,f);this.arc(0,0,1,i,j,h);this.transform(a/c,-b/d,b/c,a/d,-(a*e+b*f)/c,(b*e-a*f)/d)},appendPath:function(f){var c=this,d=0,a=0,e=f.commands,b=f.params,g=e.length;c.beginPath();for(;d=g.length){a.createCanvas()}b=g[e].dom;b.style.left=h+'px';b.style.top=i+'px';j=Math.min(d,p-i);if(j*f!==b.height){b.height=j*f;b.style.height=j+'px'}k=Math.min(d,q-h);if(k*f!==b.width){b.width=k*f;b.style.width=k+'px'}a.applyDefaults(a.contexts[e])}}a.activeCanvases=e=n*o;while(g.length>e){g.pop().destroy()}a.clear()},clearTransform:function(){var a=this,g=a.xSplits,j=a.ySplits,i=a.contexts,f=a.splitThreshold,e=a.devicePixelRatio,b,c,h,d;for(b=0;bs||a.x+a.widthr||a.y+a.height=0},filename:Ext.isString,width:Ext.isNumber,height:Ext.isNumber,scale:Ext.isNumber,pdf:Ext.isObject,jpeg:Ext.isObject},initAnimator:function(){this.frameCallbackId=Ext.draw.Animator.addFrameCallback('renderFrame',this)},applyDownloadServerUrl:function(a){var b=this.defaultDownloadServerUrl;if(!a){a=b}return a},applyGradients:function(d){var b=[],c,f,a,e;if(!Ext.isArray(d)){return b}for(c=0,f=d.length;cg){c.handleResize(null,!0)}return d},createSurface:function(a){a=this.getId()+'-'+(a||'main');var c=this,d=c.getItems(),b=d.get(a);if(!b){b=c.add({xclass:c.engine,id:a})}return b},renderFrame:function(){var e=this,c=e.getItems(),a,d,b;for(a=0,d=c.length;a=0&&e[a[b].type]>f){a[b+1]=a[b];b--}a[b+1]=d}}return a},getImage:function(e){var f=this.bodyElement.getSize(),c=this.getSurfaces(!0),d=c[0],a,b;if((Ext.isIE||Ext.isEdge)&&d.isSVG){a={data:d.toSVG(f,c),type:'svg-markup'}}else {a=d.flatten(f,c);if(e==='image'){b=new Image();b.src=a.data;a.data=b;return a}if(e==='stream'){a.data=a.data.replace(/^data:image\/[^;]+/,'data:application/octet-stream');return a}}return a},download:function(a){var d=this,e=[],f,b,c;if(Ext.isIE8){return !1}a=a||{};a.version=2;if(!a.data){a.data=d.getImage().data}for(b in a){if(a.hasOwnProperty(b)){c=a[b];if(b in d.supportedOptions){if(d.supportedOptions[b].call(d,c)){e.push({tag:'input',type:'hidden',name:b,value:Ext.String.htmlEncode(Ext.isObject(c)?Ext.JSON.encode(c):c)})}}}}f=Ext.dom.Helper.markup({tag:'html',children:[{tag:'head'},{tag:'body',children:[{tag:'form',method:'POST',action:a.url||d.getDownloadServerUrl(),children:e},{tag:'script',type:'text/javascript',children:'document.getElementsByTagName("form")[0].submit();'}]}]});window.open('','ImageDownload_'+Date.now()).document.write(f)},doDestroy:function(){var a=this,b=a.frameCallbackId;if(b){Ext.draw.Animator.removeFrameCallback(b)}a.stopResizeTimer();a.callParent()}},function(){if(location.search.match('svg')){Ext.draw.Container.prototype.engine='Ext.draw.engine.Svg'}else if((Ext.os.is.BlackBerry&&Ext.os.version.getMajor()===10)||(Ext.browser.is.AndroidStock4&&(Ext.os.version.getMinor()===1||Ext.os.version.getMinor()===2||Ext.os.version.getMinor()===3))){Ext.draw.Container.prototype.engine='Ext.draw.engine.Svg'}});Ext.define('Ext.chart.theme.BaseTheme',{defaultsDivCls:'x-root'});Ext.define('Ext.chart.theme.Base',{extend:'Ext.chart.theme.BaseTheme',mixins:{factoryable:'Ext.mixin.Factoryable'},requires:['Ext.draw.Color'],factoryConfig:{type:'chart.theme'},isTheme:!0,isBase:!0,config:{baseColor:null,colors:undefined,gradients:null,chart:{defaults:{captions:{title:{docked:'top',padding:5,style:{textAlign:'center',fontFamily:'default',fontWeight:'500',fillStyle:'black',fontSize:'default*1.6'}},subtitle:{docked:'top',style:{textAlign:'center',fontFamily:'default',fontWeight:'normal',fillStyle:'black',fontSize:'default*1.3'}},credits:{docked:'bottom',padding:5,style:{textAlign:'left',fontFamily:'default',fontWeight:'lighter',fillStyle:'black',fontSize:'default'}}},background:'white'}},axis:{defaults:{label:{x:0,y:0,textBaseline:'middle',textAlign:'center',fontSize:'default',fontFamily:'default',fontWeight:'default',fillStyle:'black'},title:{fillStyle:'black',fontSize:'default*1.23',fontFamily:'default',fontWeight:'default'},style:{strokeStyle:'black'},grid:{strokeStyle:'rgb(221, 221, 221)'}},top:{style:{textPadding:5}},bottom:{style:{textPadding:5}}},series:{defaults:{label:{fillStyle:'black',strokeStyle:'none',fontFamily:'default',fontWeight:'default',fontSize:'default*1.077',textBaseline:'middle',textAlign:'center'},labelOverflowPadding:5}},sprites:{text:{fontSize:'default',fontWeight:'default',fontFamily:'default',fillStyle:'black'}},legend:{label:{fontSize:14,fontWeight:'default',fontFamily:'default',fillStyle:'black'},border:{lineWidth:1,radius:4,fillStyle:'none',strokeStyle:'gray'},background:'white'},seriesThemes:undefined,markerThemes:{type:['circle','cross','plus','square','triangle','diamond']},useGradients:!1,background:null},colorDefaults:['#94ae0a','#115fa6','#a61120','#ff8809','#ffd13e','#a61187','#24ad9a','#7c7474','#a66111'],constructor:function(a){this.initConfig(a);this.resolveDefaults()},defaultRegEx:/^default([+\-/\*]\d+(?:\.\d+)?)?$/,defaultOperators:{'*':function(a,b){return a*b},'+':function(a,b){return a+b},'-':function(a,b){return a-b}},resolveChartDefaults:function(){var c=Ext.clone(this.getChart()),e,d,a,b;for(e in c){a=c[e];if('captions' in a){for(d in a.captions){b=a.captions[d];if(b){this.replaceDefaults(b.style)}}}}this.setChart(c)},resolveDefaults:function(){var a=this;Ext.onInternalReady(function(){var g=Ext.clone(a.getSprites()),h=Ext.clone(a.getLegend()),f=Ext.clone(a.getAxis()),e=Ext.clone(a.getSeries()),b,d,c;if(!a.superclass.defaults){b=Ext.getBody().createChild({tag:'div',cls:a.defaultsDivCls});a.superclass.defaults={fontFamily:b.getStyle('fontFamily'),fontWeight:b.getStyle('fontWeight'),fontSize:parseFloat(b.getStyle('fontSize')),fontVariant:b.getStyle('fontVariant'),fontStyle:b.getStyle('fontStyle')};b.destroy()}a.resolveChartDefaults();a.replaceDefaults(g.text);a.setSprites(g);a.replaceDefaults(h.label);a.setLegend(h);for(d in f){c=f[d];a.replaceDefaults(c.label);a.replaceDefaults(c.title)}a.setAxis(f);for(d in e){c=e[d];a.replaceDefaults(c.label)}a.setSeries(e)})},replaceDefaults:function(d){var e=this,g=e.superclass.defaults,h=e.defaultRegEx,c,b,a,f;if(Ext.isObject(d)){for(c in g){a=h.exec(d[c]);if(a){b=g[c];a=a[1];if(a){f=e.defaultOperators[a.charAt(0)];b=Math.round(f(b,parseFloat(a.substr(1))))}d[c]=b}}}},applyBaseColor:function(b){var a,c;if(b){a=b.isColor?b:Ext.util.Color.fromString(b);c=a.getHSL()[2];if(c<0.15){a=a.createLighter(0.3)}else if(c<0.3){a=a.createLighter(0.15)}else if(c>0.85){a=a.createDarker(0.3)}else if(c>0.7){a=a.createDarker(0.15)}this.setColors([a.createDarker(0.3).toString(),a.createDarker(0.15).toString(),a.toString(),a.createLighter(0.12).toString(),a.createLighter(0.24).toString(),a.createLighter(0.31).toString()])}return b},applyColors:function(a){return a||this.colorDefaults},updateUseGradients:function(a){if(a){this.updateGradients({type:'linear',degrees:90})}},updateBackground:function(a){if(a){var b=this.getChart();b.defaults.background=a;this.setChart(b)}},updateGradients:function(d){var c=this.getColors(),g=[],e,a,f,b,h;if(Ext.isObject(d)){for(b=0,h=c&&c.length||0;bc||!isFinite(c)){c=a}}b[0]=d;b[1]=c},defaultRange:[0,1],validateRange:function(a,b,c){b=b||this.defaultRange.slice();if(!(c===0||c>0)){c=0.5}if(!a||a.length!==2){return b}a=[a[0],a[1]];if(!a[0]){a[0]=0}if(!a[1]){a[1]=0}if(c&&a[0]===a[1]){a=[a[0]-c,a[0]+c];if(a[0]===a[1]){return b}}var d=isFinite(a[0]);var e=isFinite(a[1]);if(!d&&!e){return b}if(d&&!e){a[1]=a[0]+Ext.Number.sign(a[1])*(b[1]-b[0])}else if(e&&!d){a[0]=a[1]+Ext.Number.sign(a[0])*(b[1]-b[0])}return [Math.min(a[0],a[1]),Math.max(a[0],a[1])]},applyAnimation:function(a,b){if(!a){a={duration:0}}else if(a===!0){a={easing:'easeInOut',duration:500}}return b?Ext.apply({},a,b):a}});Ext.define('Ext.chart.Markers',{extend:'Ext.draw.sprite.Instancing',isMarkers:!0,defaultCategory:'default',constructor:function(){this.callParent(arguments);this.categories={};this.revisions={}},destroy:function(){this.categories=null;this.revisions=null;this.callParent()},getMarkerFor:function(b,c){if(b in this.categories){var a=this.categories[b];if(c in a){return this.get(a[c])}}},clear:function(a){a=a||this.defaultCategory;if(!(a in this.revisions)){this.revisions[a]=1}else {this.revisions[a]++}},clearAll:function(){this.callParent();this.categories={};this.revisions={}},putMarkerFor:function(b,g,e,f,h){b=b||this.defaultCategory;var a=this,c=a.categories[b]||(a.categories[b]={}),d;if(e in c){a.setAttributesFor(c[e],g,f)}else {c[e]=a.getCount();a.add(g,f)}d=a.get(c[e]);if(d){d.category=b;if(!h){d.revision=a.revisions[b]||(a.revisions[b]=1)}}},getMarkerBBoxFor:function(b,c,d){if(b in this.categories){var a=this.categories[b];if(c in a){return this.getBBoxFor(a[c],d)}}},getBBox:function(){return null},render:function(f,b,h){var d=this,g=f.getRect(),j=d.revisions,k=d.attr.matrix,a=d.getTemplate(),i=a.attr,l=d.instances.length,c,e;k.toContext(b);a.preRender(f,b,h);a.useAttributes(b,g);for(e=0;eMath.PI){c-=Math.PI*2}if(p){c=c*(1-b)-Math.PI/2*b;m=h;h=g;g=m}else {c=c*(1-b)}a.rotationRads=c;a.x=n*(1-b)+j*b;a.y=o*(1-b)+k*b;d=j-n;e=k-o;if(Math.abs(e*h)>Math.abs(d*g)){if(e>0){a.calloutEndX=a.x-(g/2)*(d/e)*b;a.calloutEndY=a.y-(g/2)*b}else {a.calloutEndX=a.x+(g/2)*(d/e)*b;a.calloutEndY=a.y+(g/2)*b}}else {if(d>0){a.calloutEndX=a.x-h/2;a.calloutEndY=a.y-(h/2)*(e/d)*b}else {a.calloutEndX=a.x+h/2;a.calloutEndY=a.y+(h/2)*(e/d)*b}}if(a.calloutStartX&&a.calloutStartY){a.calloutHasLine=(d>0&&a.calloutStartXa.calloutEndX)||(e>0&&a.calloutStartYa.calloutEndY)}else {a.calloutHasLine=!0}}return a},pushDown:function(b,a){a=this.callParent([b.calloutOriginal,a]);return this.setAttrs(b,a)},popUp:function(a,b){a=a.prototype;b=this.setAttrs(a,b);if(this._upper){return this._upper.popUp(a,b)}else {return Ext.apply(a,b)}}});Ext.define('Ext.chart.sprite.Label',{extend:'Ext.draw.sprite.Text',alternateClassName:'Ext.chart.label.Label',requires:['Ext.chart.modifier.Callout'],inheritableStatics:{def:{processors:{callout:'limited01',calloutHasLine:'bool',calloutPlaceX:'number',calloutPlaceY:'number',calloutStartX:'number',calloutStartY:'number',calloutEndX:'number',calloutEndY:'number',calloutColor:'color',calloutWidth:'number',calloutVertical:'bool',labelOverflowPadding:'number',display:'enums(none,under,over,rotate,insideStart,insideEnd,inside,outside)',orientation:'enums(horizontal,vertical)',renderer:'default'},defaults:{callout:0,calloutHasLine:!0,calloutPlaceX:0,calloutPlaceY:0,calloutStartX:0,calloutStartY:0,calloutEndX:0,calloutEndY:0,calloutWidth:1,calloutVertical:!1,calloutColor:'black',labelOverflowPadding:5,display:'none',orientation:'',renderer:null},triggers:{callout:'transform',calloutPlaceX:'transform',calloutPlaceY:'transform',labelOverflowPadding:'transform',calloutRotation:'transform',display:'hidden'},updaters:{hidden:function(a){a.hidden=(a.display==='none')}}}},config:{animation:{customDurations:{callout:200}},field:null,calloutLine:!0,hideLessThan:20},applyCalloutLine:function(a){if(a){return Ext.apply({},a)}},createModifiers:function(){var b=this,a=b.callParent(arguments);a.callout=new Ext.chart.modifier.Callout({sprite:b});a.animation.setUpper(a.callout);a.callout.setUpper(a.target)},render:function(e,a){var b=this,d=b.attr,c=d.calloutColor;a.save();a.globalAlpha*=d.callout;if(a.globalAlpha>0&&d.calloutHasLine){if(c&&c.isGradient){c=c.getStops()[0].color}a.strokeStyle=c;a.fillStyle=c;a.lineWidth=d.calloutWidth;a.beginPath();a.moveTo(b.attr.calloutStartX,b.attr.calloutStartY);a.lineTo(b.attr.calloutEndX,b.attr.calloutEndY);a.stroke();a.beginPath();a.arc(b.attr.calloutStartX,b.attr.calloutStartY,1*d.calloutWidth,0,2*Math.PI,!0);a.fill();a.beginPath();a.arc(b.attr.calloutEndX,b.attr.calloutEndY,1*d.calloutWidth,0,2*Math.PI,!0);a.fill()}a.restore();Ext.draw.sprite.Text.prototype.render.apply(b,arguments)}});Ext.define('Ext.chart.series.Series',{requires:['Ext.chart.Util','Ext.chart.Markers','Ext.chart.sprite.Label','Ext.tip.ToolTip'],mixins:['Ext.mixin.Observable','Ext.mixin.Bindable'],isSeries:!0,defaultBindProperty:'store',type:null,seriesType:'sprite',identifiablePrefix:'ext-line-',observableType:'series',darkerStrokeRatio:0.15,config:{chart:null,title:null,renderer:null,showInLegend:!0,triggerAfterDraw:!1,theme:null,style:{},subStyle:{},themeStyle:{},colors:null,useDarkerStrokeColor:!0,store:null,label:null,labelOverflowPadding:null,showMarkers:!0,marker:null,markerSubStyle:null,itemInstancing:null,background:null,surface:null,overlaySurface:null,hidden:!1,highlight:!1,highlightCfg:{merge:function(a){return a},$value:{fillStyle:'yellow',strokeStyle:'red'}},animation:null,tooltip:null},directions:[],sprites:null,themeColorCount:function(){return 1},isStoreDependantColorCount:!1,themeMarkerCount:function(){return 0},getFields:function(d){var f=this,a=[],e=d.length,c,b;for(c=0;c=0){return a}}}}},onChartDetached:function(b){var a=this;a.fireEvent('chartdetached',b,a);b.un('storechange','onStoreChange',a)},onChartAttached:function(b){var a=this;a.fireEvent('chartattached',b,a);b.on('storechange','onStoreChange',a);a.processData()},updateOverlaySurface:function(a){var b=this.getLabel();if(a&&b){a.add(b)}},getLabel:function(){return this.labelMarker},setLabel:function(b){var c=this,e=c.getChart(),a=c.labelMarker,d;if(!b&&a){a.getTemplate().destroy();a.destroy();c.labelMarker=a=null}if(b){if(!a){a=c.labelMarker=new Ext.chart.Markers({zIndex:10});a.setTemplate(new Ext.chart.sprite.Label());c.getOverlaySurface().add(a)}d=a.getTemplate();d.setAttributes(b);d.setConfig(b);if(b.field){d.setField(b.field)}if(b.display){a.setAttributes({hidden:b.display==='none'})}a.setDirty(!0)}c.updateLabelData();if(e&&!e.isInitializing&&!c.isConfiguring){e.redraw()}},createItemInstancingSprite:function(g,e){var d=this,a=new Ext.chart.Markers(),f=Ext.apply({modifiers:'highlight'},e),h=d.getStyle(),c,b;a.setAttributes({zIndex:Number.MAX_VALUE});a.setTemplate(f);c=a.getTemplate();c.setAttributes(h);b=c.getAnimation();b.on('animationstart','onSpriteAnimationStart',this);b.on('animationend','onSpriteAnimationEnd',this);g.bindMarker('items',a);d.getSurface().add(a);return a},getDefaultSpriteConfig:function(){return {type:this.seriesType,renderer:this.getRenderer()}},updateRenderer:function(c){var b=this,a=b.getChart();if(a&&a.isInitializing){return}if(b.sprites.length){b.sprites[0].setAttributes({renderer:c||null});if(a&&!a.isInitializing){a.redraw()}}},updateShowMarkers:function(c){var b=this.getSprite(),a=b&&b.getMarker('markers');if(a){a.getTemplate().setAttributes({hidden:!c})}},createSprite:function(){var a=this,f=a.getSurface(),e=a.getItemInstancing(),b=f.add(a.getDefaultSpriteConfig()),d,c;b.setAttributes(a.getStyle());b.setSeries(a);if(e){a.createItemInstancingSprite(b,e)}if(b.isMarkerHolder){c=a.getLabel();if(c&&c.getTemplate().getField()){b.bindMarker('labels',c)}}if(b.setStore){b.setStore(a.getStore())}d=b.getAnimation();d.on('animationstart','onSpriteAnimationStart',a);d.on('animationend','onSpriteAnimationEnd',a);a.sprites.push(b);return b},getSprites:null,getSprite:function(){var a=this.getSprites();return a&&a[0]},withSprite:function(b){var a=this.getSprite();return a&&b(a)||undefined},forEachSprite:function(d){var b=this.getSprites(),a,c;for(a=0,c=b.length;a1){a=b.findBy(function(a){return a.get('series')===e&&a.get('index')===g});if(a!==-1){a=b.getAt(a)}}else {a=b.findRecord('series',e)}if(a&&a.get('disabled')!==c){a.set('disabled',c)}}},setHiddenByIndex:function(c,b){var a=this;if(Ext.isArray(a.getHidden())){a.getHidden()[c]=b;a.updateHidden(a.getHidden());a.updateLegendStore(b,c)}else {a.setHidden(b)}},getStrokeColorsFromFillColors:function(c){var d=this,b=d.getUseDarkerStrokeColor(),e=(Ext.isNumber(b)?b:d.darkerStrokeRatio),a;if(b){a=Ext.Array.map(c,function(a){a=Ext.isString(a)?a:a.stops[0].color;a=Ext.util.Color.fromString(a);return a.createDarker(e).toString()})}else {a=Ext.Array.clone(c)}return a},updateThemeColors:function(d){var a=this,b=a.getThemeStyle(),f=Ext.Array.clone(d),e=a.getStrokeColorsFromFillColors(d),c={fillStyle:f,strokeStyle:e};b.subStyle=Ext.apply(b.subStyle||{},c);b.markerSubStyle=Ext.apply(b.markerSubStyle||{},c);a.doUpdateStyles();if(!a.isConfiguring){a.getChart().refreshLegendStore()}},themeOnlyIfConfigured:{},updateTheme:function(o){var c=this,d=o.getSeries(),m=c.getInitialConfig(),l=c.defaultConfig,n=c.self.getConfigurator().configs,k=d.defaults,j=d[c.type],i=c.themeOnlyIfConfigured,b,a,g,e,f,h;d=Ext.merge({},k,j);for(b in d){a=d[b];h=n[b];if(a!==null&&a!==undefined&&h){f=m[b];g=Ext.isObject(a);e=f===l[b];if(g){if(e&&i[b]){continue}a=Ext.merge({},a,f)}if(e||g){c[h.names.set](a)}}}},updateChartColors:function(b){var a=this;if(!a.getColors()){a.updateThemeColors(b)}},updateColors:function(b){this.updateThemeColors(b);if(!this.isConfiguring){var a=this.getChart();if(a){a.refreshLegendStore()}}},updateStyle:function(){this.doUpdateStyles()},updateSubStyle:function(){this.doUpdateStyles()},updateThemeStyle:function(){this.doUpdateStyles()},doUpdateStyles:function(){var c=this,d=c.sprites,g=c.getItemInstancing(),h=d&&d.length,i=c.getConfig('showMarkers',!0),f,b,e,a;for(a=0;aa.to){c.call(this,a.max,a.getLabel(a.max),a.steps+1,a)}}else {g=this.getAxis();f=g.floatingAxes;d=[];h=(a.to-a.from)/(a.steps+1);if(g.getFloating()){for(i in f){d.push(f[i])}}function isTickVisible(b){return !d.length||j(d,function(d){return k(d-b)>h})}if(a.mina.to&&isTickVisible(a.max)){c.call(this,a.max,a.max,a.steps+1,a)}}},renderTicks:function(j,b,l,i){var c=this,a=c.attr,r=a.position,k=a.matrix,g=0.5*a.lineWidth,o=k.getXX(),m=k.getDX(),p=k.getYY(),n=k.getDY(),f=l.majorTicks,d=a.majorTickSize,e=l.minorTicks,h=a.minorTickSize;if(f){switch(r){case 'right':function getRightTickFn(a){return function(c,d,e){c=j.roundPixel(c*p+n)+g;b.moveTo(0,c);b.lineTo(a,c)}};c.iterate(f,getRightTickFn(d));e&&c.iterate(e,getRightTickFn(h));break;case 'left':function getLeftTickFn(a){return function(c,d,e){c=j.roundPixel(c*p+n)+g;b.moveTo(i[2]-a,c);b.lineTo(i[2],c)}};c.iterate(f,getLeftTickFn(d));e&&c.iterate(e,getLeftTickFn(h));break;case 'bottom':function getBottomTickFn(a){return function(c,d,e){c=j.roundPixel(c*o+m)-g;b.moveTo(c,0);b.lineTo(c,a)}};c.iterate(f,getBottomTickFn(d));e&&c.iterate(e,getBottomTickFn(h));break;case 'top':function getTopTickFn(a){return function(c,d,e){c=j.roundPixel(c*o+m)-g;b.moveTo(c,i[3]);b.lineTo(c,i[3]-a)}};c.iterate(f,getTopTickFn(d));e&&c.iterate(e,getTopTickFn(h));break;case 'angular':c.iterate(f,function(c,e,f){c=c/(a.max+1)*Math.PI*2+a.baseRotation;b.moveTo(a.centerX+(a.length)*Math.cos(c),a.centerY+(a.length)*Math.sin(c));b.lineTo(a.centerX+(a.length+d)*Math.cos(c),a.centerY+(a.length+d)*Math.sin(c))});break;case 'gauge':var q=c.getGaugeAngles();c.iterate(f,function(c,e,f){c=(c-a.min)/(a.max-a.min)*a.totalAngle-a.totalAngle+q.start;b.moveTo(a.centerX+(a.length)*Math.cos(c),a.centerY+(a.length)*Math.sin(c));b.lineTo(a.centerX+(a.length+d)*Math.cos(c),a.centerY+(a.length+d)*Math.sin(c))});break;}}},renderLabels:function(e,H,i,s){var h=this,a=h.attr,p=0.5*a.lineWidth,t=a.position,B=a.matrix,G=a.textPadding,J=B.getXX(),v=B.getDX(),K=B.getYY(),I=B.getDY(),r=0,x=i.majorTicks,k=Math.max(a.majorTickSize,a.minorTickSize)+a.lineWidth,z=Ext.draw.Draw.isBBoxIntersect,b=h.getLabel(),E,w=h.getLabelOffset(),f=null,o=0,u=0,A=i.segmenter,n=h.getRenderer(),l=h.getAxis(),D=l.getTitle(),m=D&&D.attr.text!==''&&D.getBBox(),C,g=null,c,y,d,j,q,F;if(x&&b&&!b.attr.hidden){E=b.attr.font;if(H.font!==E){H.font=E}b.setAttributes({translationX:0,translationY:0},!0);b.applyTransformations();C=b.attr.inverseMatrix.elements.slice(0);switch(t){case 'left':j=m?m.x+m.width:0;switch(b.attr.textAlign){case 'start':q=e.roundPixel(j+v)-p;break;case 'end':q=e.roundPixel(s[2]-k+v)-p;break;default:q=e.roundPixel(j+(s[2]-j-k)/2+v)-p;};b.setAttributes({translationX:q},!0);break;case 'right':j=m?s[2]-m.x:0;switch(b.attr.textAlign){case 'start':q=e.roundPixel(k+v)+p;break;case 'end':q=e.roundPixel(s[2]-j+v)+p;break;default:q=e.roundPixel(k+(s[2]-k-j)/2+v)+p;};b.setAttributes({translationX:q},!0);break;case 'top':j=m?m.y+m.height:0;b.setAttributes({translationY:e.roundPixel(j+(s[3]-j-k)/2)-p},!0);break;case 'bottom':j=m?s[3]-m.y:0;b.setAttributes({translationY:e.roundPixel(k+(s[3]-k-j)/2)+p},!0);break;case 'radial':b.setAttributes({translationX:a.centerX},!0);break;case 'angular':b.setAttributes({translationY:a.centerY},!0);break;case 'gauge':b.setAttributes({translationY:a.centerY},!0);break;}if(t==='left'||t==='right'){h.iterate(x,function(h,a,j){if(a===undefined){return}if(n){d=Ext.callback(n,null,[l,a,i,f],0,l)}else {d=A.renderer(a,i,f)}f=a;b.setAttributes({text:String(d),translationY:e.roundPixel(h*K+I)},!0);b.applyTransformations();r=Math.max(r,b.getBBox().width+k);y=Ext.draw.Matrix.fly(b.attr.matrix.elements.slice(0));c=y.prepend.apply(y,C).transformBBox(b.getBBox(!0));if(g&&!z(c,g,G)){return}e.renderSprite(b);g=c;o+=c.height;u++})}else if(t==='top'||t==='bottom'){h.iterate(x,function(h,a,j){if(a===undefined){return}if(n){d=Ext.callback(n,null,[l,a,i,f],0,l)}else {d=A.renderer(a,i,f)}f=a;b.setAttributes({text:String(d),translationX:e.roundPixel(h*J+v)},!0);b.applyTransformations();r=Math.max(r,b.getBBox().height+k);y=Ext.draw.Matrix.fly(b.attr.matrix.elements.slice(0));c=y.prepend.apply(y,C).transformBBox(b.getBBox(!0));if(g&&!z(c,g,G)){return}e.renderSprite(b);g=c;o+=c.width;u++})}else if(t==='radial'){h.iterate(x,function(j,h,k){if(h===undefined){return}if(n){d=Ext.callback(n,null,[l,h,i,f],0,l)}else {d=A.renderer(h,i,f)}f=h;if(typeof d!=='undefined'){b.setAttributes({text:String(d),translationX:a.centerX-e.roundPixel(j)/a.max*a.length*Math.cos(a.baseRotation+Math.PI/2),translationY:a.centerY-e.roundPixel(j)/a.max*a.length*Math.sin(a.baseRotation+Math.PI/2)},!0);b.applyTransformations();c=b.attr.matrix.transformBBox(b.getBBox(!0));if(g&&!z(c,g)){return}e.renderSprite(b);g=c;o+=c.width;u++}})}else if(t==='angular'){w+=a.majorTickSize+a.lineWidth*0.5;h.iterate(x,function(k,h,m){if(h===undefined){return}if(n){d=Ext.callback(n,null,[l,h,i,f],0,l)}else {d=A.renderer(h,i,f)}f=h;r=Math.max(r,Math.max(a.majorTickSize,a.minorTickSize)+(a.lineCap!=='butt'?a.lineWidth*0.5:0));if(typeof d!=='undefined'){var j=k/(a.max+1)*Math.PI*2+a.baseRotation;b.setAttributes({text:String(d),translationX:a.centerX+(a.length+w)*Math.cos(j),translationY:a.centerY+(a.length+w)*Math.sin(j)},!0);b.applyTransformations();c=b.attr.matrix.transformBBox(b.getBBox(!0));if(g&&!z(c,g)){return}e.renderSprite(b);g=c;o+=c.width;u++}})}else if(t==='gauge'){F=h.getGaugeAngles();w+=a.majorTickSize+a.lineWidth*0.5;h.iterate(x,function(k,h,m){if(h===undefined){return}if(n){d=Ext.callback(n,null,[l,h,i,f],0,l)}else {d=A.renderer(h,i,f)}f=h;if(typeof d!=='undefined'){var j=(k-a.min)/(a.max-a.min)*a.totalAngle-a.totalAngle+F.start;b.setAttributes({text:String(d),translationX:a.centerX+(a.length+w)*Math.cos(j),translationY:a.centerY+(a.length+w)*Math.sin(j)},!0);b.applyTransformations();c=b.attr.matrix.transformBBox(b.getBBox(!0));if(g&&!z(c,g)){return}e.renderSprite(b);g=c;o+=c.width;u++}})}if(a.enlargeEstStepSizeByText&&u){o/=u;o+=k;o*=2;if(a.estStepSize1){h.thickness=r;a.bbox.plain.dirty=!0;a.bbox.transform.dirty=!0;h.doThicknessChanged();return !1}}},renderAxisLine:function(g,b,j,f){var h=this,a=h.attr,c=a.lineWidth*0.5,i=a.position,d,e;if(a.axisLine&&a.length){switch(i){case 'left':d=g.roundPixel(f[2])-c;b.moveTo(d,-a.endGap);b.lineTo(d,a.length+a.startGap+1);break;case 'right':b.moveTo(c,-a.endGap);b.lineTo(c,a.length+a.startGap+1);break;case 'bottom':b.moveTo(-a.startGap,c);b.lineTo(a.length+a.endGap,c);break;case 'top':d=g.roundPixel(f[3])-c;b.moveTo(-a.startGap,d);b.lineTo(a.length+a.endGap,d);break;case 'angular':b.moveTo(a.centerX+a.length,a.centerY);b.arc(a.centerX,a.centerY,a.length,0,Math.PI*2,!0);break;case 'gauge':e=h.getGaugeAngles();b.moveTo(a.centerX+Math.cos(e.start)*a.length,a.centerY+Math.sin(e.start)*a.length);b.arc(a.centerX,a.centerY,a.length,e.start,e.end,!0);break;}}},getGaugeAngles:function(){var c=this,b=c.attr.totalAngle,a;if(b<=Math.PI){a=(Math.PI-b)*0.5}else {a=-(Math.PI*2-b)*0.5}a=Math.PI*2-a;return {start:a,end:a-b}},renderGridLines:function(s,t,p,r){var c=this,q=c.getAxis(),b=c.attr,j=b.matrix,i=b.startGap,k=b.endGap,n=j.getXX(),o=j.getYY(),l=j.getDX(),m=j.getDY(),g=b.position,f=q.getGridAlignment(),h=p.majorTicks,a,e,d;if(b.grid){if(h){if(g==='left'||g==='right'){d=b.min*o+m+k+i;c.iterate(h,function(g,h,b){a=g*o+m+k;c.putMarker(f+'-'+(b%2?'odd':'even'),{y:a,height:d-a},e=b,!0);d=a});e++;a=0;c.putMarker(f+'-'+(e%2?'odd':'even'),{y:a,height:d-a},e,!0)}else if(g==='top'||g==='bottom'){d=b.min*n+l+i;if(i){c.putMarker(f+'-even',{x:0,width:d},-1,!0)}c.iterate(h,function(g,h,b){a=g*n+l+i;c.putMarker(f+'-'+(b%2?'odd':'even'),{x:a,width:d-a},e=b,!0);d=a});e++;a=b.length+b.startGap+b.endGap;c.putMarker(f+'-'+(e%2?'odd':'even'),{x:a,width:d-a},e,!0)}else if(g==='radial'){c.iterate(h,function(e,h,g){if(!e){return}a=e/b.max*b.length;c.putMarker(f+'-'+(g%2?'odd':'even'),{scalingX:a,scalingY:a},g,!0);d=a})}else if(g==='angular'){c.iterate(h,function(g,h,e){if(!b.length){return}a=g/(b.max+1)*Math.PI*2+b.baseRotation;c.putMarker(f+'-'+(e%2?'odd':'even'),{rotationRads:a,rotationCenterX:0,rotationCenterY:0,scalingX:b.length,scalingY:b.length},e,!0);d=a})}}}},renderLimits:function(u){var k=this,c=k.attr,g=k.getAxis(),i=Ext.Array.from(g.getLimits());if(!i.length||c.dataMin===c.dataMax){if(g.limits){g.limits.titles.attr.hidden=!0}return}var t=g.getChart(),s=t.getInnerPadding(),m=g.limits.surface.getRect(),o=c.matrix,h=c.position,p=Ext.Object.chain,d=g.limits.titles,f,l,n,a,b,e,j,q,r;d.attr.hidden=!1;d.instances=[];d.position=0;if(h==='left'||h==='right'){for(e=0,j=i.length;ec.max){continue}b=b/c.max*c.length;a.line.cx=c.centerX;a.line.cy=c.centerY;a.line.scalingX=b;a.line.scalingY=b;a.line.strokeStyle=a.line.strokeStyle||c.strokeStyle;k.putMarker('circular-limit-lines',a.line,e,!0);if(a.line.title){d.add(a.line.title);f=d.getBBoxFor(d.position-1);d.setAttributesFor(d.position-1,{x:c.centerX,y:c.centerY-b-f.height/2,fillStyle:a.line.title.fillStyle||a.line.strokeStyle})}}}else if(h==='angular'){for(e=0,j=i.length;e-0.5*Math.PI&&b<0.5*Math.PI)||(b>1.5*Math.PI&&b<2*Math.PI))?1:-1;d.setAttributesFor(d.position-1,{x:c.centerX+0.5*c.length*Math.cos(b)+n*f.height/2*Math.sin(b),y:c.centerY+0.5*c.length*Math.sin(b)-n*f.height/2*Math.cos(b),rotationRads:n===1?b:b-Math.PI,fillStyle:a.line.title.fillStyle||a.line.strokeStyle})}}}else if(h==='gauge'){}},doThicknessChanged:function(){var a=this.getAxis();if(a){a.onThicknessChanged()}},render:function(e,a,d){var b=this,c=b.getLayoutContext();if(c){if(!1===b.renderLabels(e,a,c,d)){return !1}a.beginPath();b.renderTicks(e,a,c,d);b.renderAxisLine(e,a,c,d);b.renderGridLines(e,a,c,d);b.renderLimits(d);a.stroke()}}});Ext.define('Ext.chart.axis.segmenter.Segmenter',{config:{axis:null},constructor:function(a){this.initConfig(a)},renderer:function(a,b){return String(a)},from:function(a){return a},diff:Ext.emptyFn,align:Ext.emptyFn,add:Ext.emptyFn,preferredStep:Ext.emptyFn});Ext.define('Ext.chart.axis.segmenter.Names',{extend:'Ext.chart.axis.segmenter.Segmenter',alias:'segmenter.names',renderer:function(a,b){return a},diff:function(b,a,c){return Math.floor(a-b)},align:function(a,b,c){return Math.floor(a)},add:function(a,b,c){return a+b},preferredStep:function(d,a,b,c){return {unit:1,step:1}}});Ext.define('Ext.chart.axis.segmenter.Numeric',{extend:'Ext.chart.axis.segmenter.Segmenter',alias:'segmenter.numeric',isNumeric:!0,renderer:function(b,a){return b.toFixed(Math.max(0,a.majorTicks.unit.fixes))},diff:function(c,b,a){return Math.floor((b-c)/a.scale)},align:function(b,c,d){var a=d.scale*c;return Math.floor(b/a)*a},add:function(a,b,c){return a+b*c.scale},preferredStep:function(d,a){var b=Math.floor(Math.log(a)*Math.LOG10E),c=Math.pow(10,b);a/=c;if(a<2){a=2}else if(a<5){a=5}else if(a<10){a=10;b++}return {unit:{fixes:-b,scale:c},step:a}},leadingZeros:function(a){return -Math.floor(Ext.Number.log10(Math.abs(a)))},exactStep:function(d,a){var b=this.leadingZeros(a),c=Math.pow(10,b);return {unit:{fixes:b+(a%c===0?0:1),scale:a<1?a:1},step:a<1?1:a}},adjustByMajorUnit:function(h,g,d){var f=d[0],e=d[1],b=h*g,c,a;a=Math.max(1/(f||1),1/(b||1));a=a>1?a:1;c=((f*a)%(b*a))/a;if(c!==0){d[0]=f-c+(f<0?-b:0)}a=Math.max(1/(e||1),1/(b||1));a=a>1?a:1;c=((e*a)%(b*a))/a;if(c!==0){d[1]=e-c+(e>0?b:0)}}});Ext.define('Ext.chart.axis.segmenter.Time',{extend:'Ext.chart.axis.segmenter.Segmenter',alias:'segmenter.time',config:{step:null},renderer:function(b,c){var a=Ext.Date;switch(c.majorTicks.unit){case 'y':return a.format(b,'Y');case 'mo':return a.format(b,'Y-m');case 'd':return a.format(b,'Y-m-d');}return a.format(b,'Y-m-d\nH:i:s')},from:function(a){return new Date(a)},diff:function(b,a,c){if(isFinite(b)){b=new Date(b)}if(isFinite(a)){a=new Date(a)}return Ext.Date.diff(b,a,c)},updateStep:function(){var a=this.getAxis();if(a&&!this.isConfiguring){a.performLayout()}},align:function(a,b,c){if(c==='d'&&b>=7){a=Ext.Date.align(a,'d',b);a.setDate(a.getDate()-a.getDay()+1);return a}else {return Ext.Date.align(a,c,b)}},add:function(a,b,c){return Ext.Date.add(new Date(a),c,b)},timeBuckets:[{unit:Ext.Date.YEAR,steps:[1,2,5,10,20,50,100,200,500]},{unit:Ext.Date.MONTH,steps:[1,3,6]},{unit:Ext.Date.DAY,steps:[1,7,14]},{unit:Ext.Date.HOUR,steps:[1,6,12]},{unit:Ext.Date.MINUTE,steps:[1,5,15,30]},{unit:Ext.Date.SECOND,steps:[1,5,15,30]},{unit:Ext.Date.MILLI,steps:[1,2,5,10,20,50,100,200,500]}],getTimeBucket:function(j,i){var e=this.timeBuckets,h,d,f,g,b,a,c;for(a=0;a0){f=e[a].steps;for(c=0;cg){a.max=a.to}if(a.fromf){a.max=a.to}if(a.from0){a.from=a.from+d*a.step*b;while(a.from0?a:b},applyLabel:function(b,a){if(!a){a=new Ext.draw.sprite.Text({})}if(b){if(this.limitTitleTpl){this.limitTitleTpl.setAttributes(b)}a.setAttributes(b)}return a},applyLayout:function(a,b){a=Ext.factory(a,null,b,'axisLayout');a.setAxis(this);return a},applySegmenter:function(a,b){a=Ext.factory(a,null,b,'segmenter');a.setAxis(this);return a},updateMinimum:function(){this.range=null},updateMaximum:function(){this.range=null},hideLabels:function(){this.getSprites()[0].setDirty(!0);this.setLabel({hidden:!0})},showLabels:function(){this.getSprites()[0].setDirty(!0);this.setLabel({hidden:!1})},renderFrame:function(){this.getSurface().renderFrame()},updateChart:function(b,c){var a=this,d;if(c){c.unregister(a);c.un('serieschange',a.onSeriesChange,a);a.linkAxis();a.fireEvent('chartdetached',c,a)}if(b){b.on('serieschange',a.onSeriesChange,a);a.surface=null;d=a.getSurface();a.getLabel().setSurface(d);d.add(a.getSprites());d.add(a.getTitle());b.register(a);a.fireEvent('chartattached',b,a)}},applyBackground:function(a){var b=Ext.ClassManager.getByAlias('sprite.rect');return b.def.normalize(a)},processData:function(){this.getLayout().processData();this.range=null},getDirection:function(){return this.getChart().getDirectionForAxis(this.getPosition())},isSide:function(){var a=this.getPosition();return a==='left'||a==='right'},applyFields:function(a){return Ext.Array.from(a)},applyVisibleRange:function(a,b){this.getChart();if(a[0]>a[1]){var c=a[0];a[0]=a[1];a[0]=c}if(a[1]===a[0]){a[1]+=1/this.getMaxZoom()}if(a[1]>a[0]+1){a[0]=0;a[1]=1}else if(a[0]<0){a[1]-=a[0];a[0]=0}else if(a[1]>1){a[0]-=a[1]-1;a[1]=1}if(b&&a[0]===b[0]&&a[1]===b[1]){return undefined}return a},updateVisibleRange:function(a){this.fireEvent('visiblerangechange',this,a)},onSeriesChange:function(h){var a=this,c=h.getSeries(),g=[],e,d,f,b,i;if(c){f='get'+a.getDirection()+'Axis';for(b=0,i=c.length;ba.range[1]){a.range[1]=b[1]}}},applyStyle:function(b,a){var c=Ext.ClassManager.getByAlias('sprite.'+this.seriesType);if(c&&c.def){b=c.def.normalize(b)}a=Ext.apply(a||{},b);return a},themeOnlyIfConfigured:{grid:!0},updateTheme:function(p){var c=this,d=p.getAxis(),n=c.getPosition(),m=c.getInitialConfig(),l=c.defaultConfig,o=c.self.getConfigurator().configs,k=d.defaults,j=d[n],i=c.themeOnlyIfConfigured,b,a,g,e,f,h;d=Ext.merge({},k,j);for(b in d){a=d[b];h=o[b];if(a!==null&&a!==undefined&&h){f=m[b];g=Ext.isObject(a);e=f===l[b];if(g){if(e&&i[b]){continue}a=Ext.merge({},a,f)}if(e||g){c[h.names.set](a)}}}},updateCenter:function(e){var c=this,f=c.getSprites(),d=f[0],a=e[0],b=e[1];if(d){d.setAttributes({centerX:a,centerY:b})}if(c.gridSpriteEven){c.gridSpriteEven.getTemplate().setAttributes({translationX:a,translationY:b,rotationCenterX:a,rotationCenterY:b})}if(c.gridSpriteOdd){c.gridSpriteOdd.getTemplate().setAttributes({translationX:a,translationY:b,rotationCenterX:a,rotationCenterY:b})}},getSprites:function(){if(!this.getChart()){return}var a=this,g=a.getRange(),h=a.getPosition(),j=a.getChart(),f=j.getAnimation(),i=a.getLength(),e=a.superclass,b,c,d;if(f===!1){f={duration:0}}c=Ext.applyIf({position:h,axis:a,length:i,grid:a.getGrid(),hidden:a.getHidden(),titleOffset:a.titleOffset,layout:a.getLayout(),segmenter:a.getSegmenter(),totalAngle:a.getTotalAngle(),label:a.getLabel()},a.getStyle());if(g){c.min=g[0];c.max=g[1]}if(!a.sprites.length){while(!e.xtype){e=e.superclass}b=Ext.create('sprite.'+e.xtype,c);d=b.getAnimation();d.setCustomDurations({baseRotation:0});d.on('animationstart','onAnimationStart',a);d.on('animationend','onAnimationEnd',a);b.setLayout(a.getLayout());b.setSegmenter(a.getSegmenter());b.setLabel(a.getLabel());a.sprites.push(b);a.updateTitleSprite()}else {b=a.sprites[0];b.setAnimation(f);b.setAttributes(c)}if(a.getRenderer()){b.setRenderer(a.getRenderer())}return a.sprites},performLayout:function(){if(this.isConfiguring){return}var a=this,b=a.getSprites(),e=a.getSurface(),d=a.getChart(),c=b&&b[0];if(d&&e&&c){c.callUpdater(null,'layout');d.scheduleLayout()}},updateTitleSprite:function(){var b=this,g=b.getLength();if(!b.sprites[0]||!Ext.isNumber(g)){return}var f=this.sprites[0].thickness,i=b.getSurface(),a=b.getTitle(),h=b.getPosition(),e=b.getMargin(),c=b.getTitleMargin(),d=i.roundPixel(g/2);if(a){switch(h){case 'top':a.setAttributes({x:d,y:e+c/2,textBaseline:'top',textAlign:'center'},!0);a.applyTransformations();b.titleOffset=a.getBBox().height+c;break;case 'bottom':a.setAttributes({x:d,y:f+c/2,textBaseline:'top',textAlign:'center'},!0);a.applyTransformations();b.titleOffset=a.getBBox().height+c;break;case 'left':a.setAttributes({x:e+c/2,y:d,textBaseline:'top',textAlign:'center',rotationCenterX:e+c/2,rotationCenterY:d,rotationRads:-Math.PI/2},!0);a.applyTransformations();b.titleOffset=a.getBBox().width+c;break;case 'right':a.setAttributes({x:f-e+c/2,y:d,textBaseline:'bottom',textAlign:'center',rotationCenterX:f+c/2,rotationCenterY:d,rotationRads:Math.PI/2},!0);a.applyTransformations();b.titleOffset=a.getBBox().width+c;break;}}},onThicknessChanged:function(){this.getChart().onThicknessChanged()},getThickness:function(){if(this.getHidden()){return 0}return (this.sprites[0]&&this.sprites[0].thickness||1)+this.titleOffset+this.getMargin()},onAnimationStart:function(){this.spriteAnimationCount++;if(this.spriteAnimationCount===1){this.fireEvent('animationstart',this)}},onAnimationEnd:function(){this.spriteAnimationCount--;if(this.spriteAnimationCount===0){this.fireEvent('animationend',this)}},getItemId:function(){return this.getId()},getAncestorIds:function(){return [this.getChart().getId()]},isXType:function(a){return a==='axis'},resolveListenerScope:function(d){var c=this,e=Ext._namedScopes[d],a=c.getChart(),b;if(!e){b=a?a.resolveListenerScope(d,!1):(d||c)}else if(e.isThis){b=c}else if(e.isController){b=a?a.resolveListenerScope(d,!1):c}else if(e.isSelf){b=a?a.resolveListenerScope(d,!1):c;if(b===a&&!a.getInheritedConfig('defaultListenerScope')){b=c}}return b},destroy:function(){var a=this;a.setChart(null);a.surface.destroy();a.surface=null;a.callParent()}});Ext.define('Ext.chart.legend.LegendBase',{extend:'Ext.dataview.DataView',config:{itemTpl:['{name}'],inline:!0,scrollable:!1},constructor:function(b){this.callParent([b]);var a=this.getScrollable(),c=a.onDrag;a.onDrag=function(a){a.stopPropagation();c.call(this,a)}},updateDocked:function(c,d){var a=this,b=a.el;a.callParent([c,d]);switch(c){case 'top':case 'bottom':b.addCls(a.horizontalCls);b.removeCls(a.verticalCls);break;case 'left':case 'right':b.addCls(a.verticalCls);b.removeCls(a.horizontalCls);break;}},onChildTap:function(b,a){this.callParent([b,a]);this.toggleItem(a.viewIndex)}});Ext.define('Ext.chart.legend.Legend',{extend:'Ext.chart.legend.LegendBase',alternateClassName:'Ext.chart.Legend',xtype:'legend',alias:'legend.dom',type:'dom',isLegend:!0,isDomLegend:!0,config:{rect:null,toggleable:!0},baseCls:Ext.baseCSSPrefix+'legend',horizontalCls:Ext.baseCSSPrefix+'legend-horizontal',verticalCls:Ext.baseCSSPrefix+'legend-vertical',toggleItem:function(h){if(!this.getToggleable()){return}var b=this.getStore(),f=0,d,g=!0,c,e,a;if(b){e=b.getCount();for(c=0;c1;a=b.getAt(h);if(a){d=a.get('disabled');if(d||g){a.set('disabled',!d)}}}},onResize:function(f,e,d,c){var b=this,a=b.chart;if(!b.isConfiguring){if(a){a.scheduleLayout()}}}});Ext.define('Ext.chart.legend.sprite.Item',{extend:'Ext.draw.sprite.Composite',alias:'sprite.legenditem',type:'legenditem',isLegendItem:!0,requires:['Ext.draw.sprite.Text','Ext.draw.sprite.Circle'],inheritableStatics:{def:{processors:{enabled:'limited01',markerLabelGap:'number'},animationProcessors:{enabled:null,markerLabelGap:null},defaults:{enabled:!0,markerLabelGap:5},triggers:{enabled:'enabled',markerLabelGap:'layout'},updaters:{layout:'layoutUpdater',enabled:'enabledUpdater'}}},config:{label:{$value:{type:'text'},lazy:!0},marker:{$value:{type:'circle'},lazy:!0},legend:null,store:null,record:null,series:null},applyLabel:function(a,b){var c;if(a){if(a.isSprite&&a.type==='text'){c=a}else {if(b&&a.type===b.type){b.setConfig(a);c=b;this.scheduleUpdater(this.attr,'layout')}else {c=new Ext.draw.sprite.Text(a)}}}return c},defaultMarkerSize:10,updateLabel:function(b,c){var a=this;a.removeSprite(c);b.setAttributes({textBaseline:'middle'});a.addSprite(b);a.scheduleUpdater(a.attr,'layout')},applyMarker:function(a){var b;if(a){if(a.isSprite){b=a}else {b=this.createMarker(a)}}b=this.resetMarker(b,a);return b},createMarker:function(a){var b;delete a.animation;if(a.type==='image'){delete a.width;delete a.height}b=Ext.create('sprite.'+a.type,a);return b},resetMarker:function(a,e){var d=e.size||this.defaultMarkerSize,c,f,b;a.setTransform([1,0,0,1,0,0],!0);if(e.type==='image'){a.setAttributes({width:d,height:d})}else {c=a.getBBox();f=Math.max(c.width,c.height);b=d/f;a.setAttributes({scalingX:b,scalingY:b})}return a},updateMarker:function(c,b){var a=this;a.removeSprite(b);a.addSprite(c);a.scheduleUpdater(a.attr,'layout')},updateSurface:function(b,c){var a=this;a.callParent([b,c]);if(b){a.scheduleUpdater(a.attr,'layout')}},enabledUpdater:function(b){var a=this.getMarker();if(a){a.setAttributes({globalAlpha:b.enabled?1:0.3})}},layoutUpdater:function(){var c=this,g=c.attr,f=c.getLabel(),e=c.getMarker(),b,a,d;a=e.getBBox();b=f.getBBox();d=Math.max(a.height,b.height);e.transform([1,0,0,1,-a.x,-a.y+(d-a.height)/2],!0);f.transform([1,0,0,1,-b.x+a.width+g.markerLabelGap,-b.y+(d-b.height)/2],!0);c.bboxUpdater(g)}});Ext.define('Ext.chart.legend.sprite.Border',{extend:'Ext.draw.sprite.Rect',alias:'sprite.legendborder',type:'legendborder',isLegendBorder:!0});Ext.define('Ext.draw.PathUtil',function(){var a=Math.abs,c=Math.pow,d=Math.cos,f=Math.acos,b=Math.sqrt,e=Math.PI;return {singleton:!0,requires:['Ext.draw.overrides.hittest.Path','Ext.draw.overrides.hittest.sprite.Path'],cubicRoots:function(n){var q=n[0],u=n[1],v=n[2],w=n[3];if(q===0){return this.quadraticRoots(u,v,w)}var h=u/q,t=v/q,x=w/q,l=(3*t-c(h,2))/9,i=(9*h*t-27*x-2*c(h,3))/54,k=c(l,3)+c(i,2),g=[],o,p,s,m,j,r=Ext.Number.sign;if(k>=0){o=r(i+b(k))*c(a(i+b(k)),1/3);p=r(i-b(k))*c(a(i-b(k)),1/3);g[0]=-h/3+(o+p);g[1]=-h/3-(o+p)/2;g[2]=g[1];s=a(b(3)*(o-p)/2);if(s!==0){g[1]=-1;g[2]=-1}}else {m=f(i/b(-c(l,3)));g[0]=2*b(-l)*d(m/3)-h/3;g[1]=2*b(-l)*d((m+2*e)/3)-h/3;g[2]=2*b(-l)*d((m+4*e)/3)-h/3}for(j=0;j<3;j++){if(g[j]<0||g[j]>1){g[j]=-1}}return g},quadraticRoots:function(e,c,h){var f,g,a,d;if(e===0){return this.linearRoot(c,h)}f=c*c-4*e*h;if(f===0){a=[-c/(2*e)]}else if(f>0){g=b(f);a=[(-c-g)/(2*e),(-c+g)/(2*e)]}else {return []}for(d=0;d1){a[d]=-1}}return a},linearRoot:function(b,c){var a=-c/b;if(b===0||a<0||a>1){return []}return [a]},bezierCoeffs:function(b,c,d,e){var a=[];a[0]=-b+3*c-3*d+e;a[1]=3*b-6*c+3*d;a[2]=-3*b+3*c;a[3]=b;return a},cubicLineIntersections:function(s,t,u,v,w,x,y,z,d,e,h,p){var f=[],r=[],i=e-p,j=h-d,A=d*(p-e)-e*(h-d),a=this.bezierCoeffs(s,t,u,v),b=this.bezierCoeffs(w,x,y,z),k,q,l,c,g,m,n,o;f[0]=i*a[0]+j*b[0];f[1]=i*a[1]+j*b[1];f[2]=i*a[2]+j*b[2];f[3]=i*a[3]+j*b[3]+A;q=this.cubicRoots(f);for(k=0;k1){continue}g=c*c;m=g*c;n=a[0]*m+a[1]*g+a[2]*c+a[3];o=b[0]*m+b[1]*g+b[2]*c+b[3];if((h-d)!==0){l=(n-d)/(h-d)}else {l=(o-e)/(p-e)}if(!(l<0||l>1)){r.push([n,o])}}return r},splitCubic:function(d,e,f,g,a){var h=a*a,k=a*h,b=a-1,c=b*b,j=b*c,i=k*g-3*h*b*f+3*a*c*e-j*d;return [[d,a*e-b*d,h*f-2*a*b*e+c*d,i],[i,h*g-2*a*b*f+c*e,a*g-b*f,g]]},cubicDimension:function(f,h,k,i){var l=3*(-f+3*(h-k)+i),j=6*(f-2*h+k),m=-3*(f-h),a,c,e=Math.min(f,i),d=Math.max(f,i),g;if(l===0){if(j===0){return [e,d]}else {a=-m/j;if(0=0){g=b(g);a=(g-j)/2/l;if(00){a-=g/l;if(0z[1]||x[1]A[1]||y[1]=0&&c<=1&&f>=0&&f<=1){return [a+c*(g-a),b+c*(h-b)]}return null},pointOnLine:function(c,d,e,f,h,i){var g,b;if(a(e-c)1){return !1}return a(d+g*(f-d)-i)<4},pointOnCubic:function(j,k,l,m,n,o,p,q,r,s){var b=this,h=b.bezierCoeffs(j,k,l,m),i=b.bezierCoeffs(n,o,p,q),c,d,f,g,e;h[3]-=r;i[3]-=s;f=b.cubicRoots(h);g=b.cubicRoots(i);for(c=0;c=0&&e<=1&&a(e-g[d])<0.05){return !0}}}return !1}}});Ext.define('Ext.draw.overrides.hittest.All',{requires:['Ext.draw.PathUtil','Ext.draw.overrides.hittest.sprite.Instancing','Ext.draw.overrides.hittest.Surface']});Ext.define('Ext.chart.legend.SpriteLegend',{alias:'legend.sprite',type:'sprite',isLegend:!0,isSpriteLegend:!0,mixins:['Ext.mixin.Observable'],requires:['Ext.chart.legend.sprite.Item','Ext.chart.legend.sprite.Border','Ext.draw.overrides.hittest.All','Ext.draw.Animator'],config:{docked:'bottom',store:null,chart:null,surface:null,size:{width:0,height:0},toggleable:!0,padding:10,label:{preciseMeasurement:!0},marker:{},border:{$value:{type:'legendborder'},lazy:!0},background:null,hidden:!1},sprites:null,spriteZIndexes:{background:0,border:1,item:2},dockedValues:{left:!0,right:!0,top:!0,bottom:!0},constructor:function(b){var a=this;a.oldSize={width:0,height:0};a.getId();a.mixins.observable.constructor.call(a,b)},applyStore:function(a){return a&&Ext.StoreManager.lookup(a)},updateStore:function(b,c){var a=this;if(c){c.un('datachanged',a.onDataChanged,a);c.un('update',a.onDataUpdate,a)}if(b){b.on('datachanged',a.onDataChanged,a);b.on('update',a.onDataUpdate,a);a.onDataChanged(b)}a.performLayout()},updateDocked:function(a){this.isTop=a==='top';if(!this.isConfiguring){this.layoutChart()}},updateHidden:function(b){this.getChart();var a=this.getSurface();if(a){a.setHidden(b)}if(!this.isConfiguring){this.layoutChart()}},layoutChart:function(){if(!this.isConfiguring){var a=this.getChart();if(a){a.scheduleLayout()}}},computeRect:function(a){if(this.getHidden()){return null}var b=[0,0,0,0],f=this.getDocked(),e=this.getSize(),c=e.height,d=e.width;switch(f){case 'top':b[1]=a[1];b[2]=a[2];b[3]=c;a[1]+=c;a[3]-=c;break;case 'bottom':a[3]-=c;b[1]=a[3];b[2]=a[2];b[3]=c;break;case 'left':a[0]+=d;a[2]-=d;b[2]=d;b[3]=a[3];break;case 'right':a[2]-=d;b[0]=a[2];b[2]=d;b[3]=a[3];break;}return b},applyBorder:function(b){var a;if(b){if(b.isSprite){a=b}else {a=Ext.create('sprite.'+b.type,b)}}if(a){a.isLegendBorder=!0;a.setAttributes({zIndex:this.spriteZIndexes.border})}return a},updateBorder:function(c,b){var a=this.getSurface();this.borderSprite=null;if(a){if(b){a.remove(b)}if(c){this.borderSprite=a.add(c)}}},scheduleLayout:function(){if(!this.scheduledLayoutId){this.scheduledLayoutId=Ext.draw.Animator.schedule('performLayout',this)}},cancelLayout:function(){Ext.draw.Animator.cancel(this.scheduledLayoutId);this.scheduledLayoutId=null},performLayout:function(){var f=this,l=f.getSize(),d=f.getPadding(),m=f.getSprites(),n=f.getSurface(),A=f.getBackground(),w=n.getRect(),E=f.getStore(),k=(m&&m.length)||0,a,q;if(!n||!w||!E){return !1}f.cancelLayout();var D=f.getDocked(),u=w[2],t=w[3],p=f.borderSprite,o=[],x,y,e,g,b,h,v,j,i,s,C,B,c,z,r;for(a=0;ab){b=c.width}if((a+1)%e===0){h+=b;b=0;g++}}if(a%e!==0){h+=b;g++}j=h+(g-1)*d;s=j+d*4}while(s>u);i=B*e+(e-1)*d;break;case 'right':case 'left':if(!t){return !1};e=k*2;do{e=(e>>1)+(e%2);h=0;v=0;b=0;g=0;for(a=0;ab){b=c.width}if((a+1)%e===0){h+=b;b=0;g++}}if(a%e!==0){h+=b;g++}j=h+(g-1)*d;i=v+(e-1)*d;s=j+d*4;C=i+d*4}while(i>t);break;}x=(u-j)/2;y=(t-i)/2;z=0;r=0;b=0;for(a=0;ab){b=c.width}if((a+1)%e===0){z+=b+d;r=0;b=0}else {r+=c.height+d}}if(p){p.setAttributes({hidden:!k,x:x-d,y:y-d,width:j+d*2,height:i+d*2})}l.width=p.attr.width+d*2;l.height=p.attr.height+d*2;if(l.width!==f.oldSize.width||l.height!==f.oldSize.height){Ext.apply(f.oldSize,l);f.getChart().scheduleLayout();return !1}if(A){f.resizeBackground(n,A)}n.renderFrame();return !0},getSprites:function(){this.updateSprites();return this.sprites},createSprite:function(e,h){var c=this,b=h.data,k=c.getChart(),i=k.get(b.series),d=i.getMarker(),j=null,a,g,f;if(e){a=i.getMarkerStyleByIndex(b.index);a.fillStyle=b.mark;a.hidden=!1;if(d&&d.type){a.type=d.type}Ext.apply(a,c.getMarker());a.surface=e;g=c.getLabel();f={type:'legenditem',zIndex:c.spriteZIndexes.item,text:b.name,enabled:!b.disabled,marker:a,label:g,series:b.series,record:h};j=e.add(f)}return j},updateSprites:function(){var a=this,k=a.getChart(),l=a.getStore(),g=a.getSurface(),j,i,c,b,e,d,f,h;if(!(k&&l&&g)){return}a.sprites=d=a.sprites||[];i=l.getData().items;e=i.length;for(b=0;b1;a=d.getRecord();if(a){b=a.get('disabled');if(b||h){a.set('disabled',!b);d.setAttributes({enabled:b})}}}},destroy:function(){var a=this;a.destroying=!0;a.cancelLayout();a.setChart(null);a.callParent()}});Ext.define('Ext.chart.Caption',{mixins:['Ext.mixin.Observable','Ext.mixin.Bindable'],isCaption:!0,config:{weight:0,text:'',align:'center',alignTo:'series',padding:0,hidden:!1,docked:'top',style:{fontSize:'14px',fontWeight:'bold',fontFamily:'Verdana, Aria, sans-serif'},chart:null,sprite:{type:'text',preciseMeasurement:!0,zIndex:10},rect:null},surfaceName:'caption',constructor:function(c){var a=this,b;if('id' in c){b=c.id}else if('id' in a.config){b=a.config.id}else {b=a.getId()}a.setId(b);a.mixins.observable.constructor.call(a,c);a.initBindable()},updateChart:function(){if(!this.isConfiguring){this.setSprite({type:'text'})}},applySprite:function(b){var a=this,d=a.getChart(),c=a.surface=d.getSurface(a.surfaceName);return b&&c.add(b)},updateSprite:function(b,a){if(a){a.destroy()}},updateText:function(a){this.getSprite().setAttributes({text:a})},updateStyle:function(a){this.getSprite().setAttributes(a)},updateRect:function(a){if(this.rectSprite){this.rectSprite.setAttributes({x:a[0],y:a[1],width:a[2],height:a[3]})}},updateDocked:function(){var a=this.getChart();if(a&&!this.isConfiguring){a.scheduleLayout()}},computeRect:function(d,c){if(this.getHidden()){return null}var b=[0,0,d[2],0],g=this.getDocked(),f=this.getPadding(),e=this.getSprite().getBBox(),a=e.height+f*2;switch(g){case 'top':b[1]=c.top;b[3]=a;d[1]+=a;d[3]-=a;c.top+=a;break;case 'bottom':d[3]-=a;c.bottom-=a;b[1]=c.bottom;b[3]=a;break;}this.setRect(b)},alignRect:function(b){var c=this.surface.getRect(),a=this.getRect();a[0]=b[0]-c[0];a[2]=b[2];this.setRect(a.slice())},performLayout:function(){var e=this,c=e.getRect(),f=c[0],m=c[1],g=c[2],i=c[3],b=e.getSprite(),k=b.attr.translationX,l=b.attr.translationY,a=b.getBBox(),j=e.getAlign(),d,h;switch(j){case 'left':d=f-a.x;break;case 'right':d=(f+g)-(a.x+a.width);break;case 'center':d=f+(g-a.width)/2-a.x;break;}h=m+(i-a.height)/2-a.y;b.setAttributes({translationX:k+d,translationY:l+h})},destroy:function(){var a=this;a.getSprite().destroy();a.callParent()}});Ext.define('Ext.chart.legend.store.Item',{extend:'Ext.data.Model',fields:['id','name','mark','disabled','series','index']});Ext.define('Ext.chart.legend.store.Store',{extend:'Ext.data.Store',requires:['Ext.chart.legend.store.Item'],model:'Ext.chart.legend.store.Item',isLegendStore:!0,config:{autoDestroy:!0}});Ext.define('Ext.chart.AbstractChart',{extend:'Ext.draw.Container',requires:['Ext.chart.theme.Default','Ext.chart.series.Series','Ext.chart.interactions.Abstract','Ext.chart.axis.Axis','Ext.chart.Util','Ext.data.StoreManager','Ext.chart.legend.Legend','Ext.chart.legend.SpriteLegend','Ext.chart.Caption','Ext.chart.legend.store.Store','Ext.data.Store'],isChart:!0,defaultBindProperty:'store',config:{store:'ext-empty-store',theme:'default',captions:null,style:null,animation:!Ext.isIE8,series:[],axes:[],legend:null,colors:null,insetPadding:{top:10,left:10,right:10,bottom:10},background:null,interactions:[],mainRect:null,resizeHandler:null,highlightItem:null,surfaceZIndexes:{background:0,main:1,grid:2,series:3,axis:4,chart:5,caption:6,overlay:7,legend:8}},legendStore:null,animationSuspendCount:0,chartLayoutSuspendCount:0,chartLayoutCount:0,scheduledLayoutId:null,axisThicknessSuspendCount:0,isThicknessChanged:!1,constructor:function(b){var a=this;a.itemListeners={};a.surfaceMap={};a.chartComponents={};a.isInitializing=!0;a.suspendChartLayout();a.animationSuspendCount++;a.callParent(arguments);a.isInitializing=!1;a.getSurface('main');a.getSurface('chart').setFlipRtlText(a.getInherited().rtl);a.getSurface('overlay').waitFor(a.getSurface('series'));a.animationSuspendCount--;a.resumeChartLayout()},applyAnimation:function(b,a){return Ext.chart.Util.applyAnimation(b,a)},updateAnimation:function(){if(this.isConfiguring){return}var c=this.getSeries(),d=c.length,b,a;this.isSettingSeriesAnimation=!0;for(b=0;b0){this.axisThicknessSuspendCount--;if(this.axisThicknessSuspendCount===0&&this.isThicknessChanged){this.onThicknessChanged()}}},onThicknessChanged:function(){if(this.axisThicknessSuspendCount===0){this.isThicknessChanged=!1;this.performLayout()}else {this.isThicknessChanged=!0}},applySprites:function(a){var b=this.getSurface('chart');a=Ext.Array.from(a);b.removeAll(!0);b.add(a);return a},initItems:function(){var a=this.items,b,d,c;if(a&&!a.isMixedCollection){this.items=[];a=Ext.Array.from(a);for(b=0,d=a.length;b=0){a.splice(c,1)}},applyAxes:function(e,i){var c=this,n={left:'right',right:'left'},g=[],a,b,h,j,d,l,k,f,m;c.animationSuspendCount++;c.getStore();if(!i){i=[];i.map={}}f=i.map;g.map={};e=Ext.Array.from(e,!0);for(d=0,k=e.length;d0){a=b.applyColors(a)}return a||(c&&c.getColors())},applyColors:function(a){a=Ext.Array.map(a,function(b){if(Ext.isString(b)){return b}else {return b.toString()}});return a},updateColors:function(k){var a=this,i=a.getTheme(),h=k||(i&&i.getColors()),g=0,e=a.getSeries(),j=e&&e.length,b,d,f,c;if(h.length){for(b=0;b=0&&f<=d[2]&&g>=0&&g<=d[3])){return null}for(b=j-1;b>=0;b--){a=i[b].getItemForPoint(f,g);if(a){if(!a.distance){c=a;break}if(a.distance=0;b--){d=c[b];a=d.getItemForPoint(h,i);if(a&&(a.category==='items'||a.category==='markers')){e.push(a)}}return e},onDataChanged:function(){var a=this;if(a.isInitializing){return}var e=a.getMainRect(),c=a.getStore(),b=a.getSeries(),d=a.getAxes();if(!c||!d||!b){return}if(!e){a.on({redraw:a.onDataChanged,scope:a,single:!0});return}a.processData();a.redraw()},recordCount:0,processData:function(){var a=this,e=a.getStore().getCount(),f=a.getSeries(),g=f.length,b=!1,d=0,c;for(;da.recordCount){a.updateColors(a.getColors());a.recordCount=e}if(!a.isConfiguring){a.refreshLegendStore()}},bindStore:function(a){this.setStore(a)},applyHighlightItem:function(a,d){if(a===d){return}if(Ext.isObject(a)&&Ext.isObject(d)){var b=a,c=d,e=b.sprite&&(b.sprite[0]||b.sprite),f=c.sprite&&(c.sprite[0]||c.sprite);if(e===f&&b.index===c.index){return}}return a},updateHighlightItem:function(a,b){var c,d;if(b){d=b.series.getHighlight();if(d){b.series.setAttributesForItem(b,{highlighted:!1})}}if(a){c=a.series.getHighlight();if(c){a.series.setAttributesForItem(a,{highlighted:!0})}}if(d||c){this.fireEvent('itemhighlight',this,a,b)}},destroyChart:function(){var a=this;a.setInteractions(null);a.setAxes(null);a.setSeries(null);a.setLegend(null);a.setStore(null);a.cancelChartLayout()},getRefItems:function(h){var g=this,e=g.getSeries(),f=g.getAxes(),d=g.getInteractions(),i=g.getLegend(),b=[],a,c;for(a=0,c=e.length;ae.getDepth()){b=a}else {for(d=0;db){b=a}}}}e.setDepth(b)},updateDepth:function(d){var a=this,b=a.getSprites(),c={depth:d};if(b&&b.length){b[0].setAttributes(c)}if(a.gridSpriteEven&&a.gridSpriteOdd){a.gridSpriteEven.getTemplate().setAttributes(c);a.gridSpriteOdd.getTemplate().setAttributes(c)}},getGridAlignment:function(){switch(this.getPosition()){case 'left':case 'right':return 'horizontal3d';case 'top':case 'bottom':return 'vertical3d';}}});Ext.define('Ext.chart.axis.Category',{requires:['Ext.chart.axis.layout.CombineDuplicate','Ext.chart.axis.segmenter.Names'],extend:'Ext.chart.axis.Axis',alias:'axis.category',type:'category',isCategory:!0,config:{layout:'combineDuplicate',segmenter:'names'}});Ext.define('Ext.chart.axis.Category3D',{requires:['Ext.chart.axis.layout.CombineDuplicate','Ext.chart.axis.segmenter.Names'],extend:'Ext.chart.axis.Axis3D',alias:'axis.category3d',type:'category3d',config:{layout:'combineDuplicate',segmenter:'names'}});Ext.define('Ext.chart.axis.Numeric',{extend:'Ext.chart.axis.Axis',type:'numeric',alias:['axis.numeric','axis.radial'],requires:['Ext.chart.axis.layout.Continuous','Ext.chart.axis.segmenter.Numeric'],config:{layout:'continuous',segmenter:'numeric',aggregator:'double'}});Ext.define('Ext.chart.axis.Numeric3D',{extend:'Ext.chart.axis.Axis3D',alias:['axis.numeric3d'],type:'numeric3d',requires:['Ext.chart.axis.layout.Continuous','Ext.chart.axis.segmenter.Numeric'],config:{layout:'continuous',segmenter:'numeric',aggregator:'double'}});Ext.define('Ext.chart.axis.Time',{extend:'Ext.chart.axis.Numeric',alias:'axis.time',type:'time',requires:['Ext.chart.axis.layout.Continuous','Ext.chart.axis.segmenter.Time'],config:{dateFormat:null,fromDate:null,toDate:null,layout:'continuous',segmenter:'time',aggregator:'time'},updateDateFormat:function(b){var a=this.getRenderer();if(!a||a.isDefault){a=function(c,a){return Ext.Date.format(new Date(a),b)};a.isDefault=!0;this.setRenderer(a);this.performLayout()}},updateRenderer:function(b){var a=this.getDateFormat();if(b){this.performLayout()}else if(a){this.updateDateFormat(a)}},updateFromDate:function(a){this.setMinimum(+a)},updateToDate:function(a){this.setMaximum(+a)},getCoordFor:function(a){if(Ext.isString(a)){a=new Date(a)}return +a}});Ext.define('Ext.chart.axis.Time3D',{extend:'Ext.chart.axis.Numeric3D',alias:'axis.time3d',type:'time3d',requires:['Ext.chart.axis.layout.Continuous','Ext.chart.axis.segmenter.Time'],config:{dateFormat:null,fromDate:null,toDate:null,layout:'continuous',segmenter:'time',aggregator:'time'},updateDateFormat:function(a){this.setRenderer(function(c,b){return Ext.Date.format(new Date(b),a)})},updateFromDate:function(a){this.setMinimum(+a)},updateToDate:function(a){this.setMaximum(+a)},getCoordFor:function(a){if(Ext.isString(a)){a=new Date(a)}return +a}});Ext.define('Ext.chart.grid.HorizontalGrid3D',{extend:'Ext.chart.grid.HorizontalGrid',alias:'grid.horizontal3d',inheritableStatics:{def:{processors:{depth:'number'},defaults:{depth:0}}},render:function(g,a,e){var f=this.attr,l=g.roundPixel(f.x),i=g.roundPixel(f.y),k=g.matrix.getDX(),j=a.lineWidth*0.5,h=f.height,d=f.depth,b,c;if(i<=e[1]){return}b=e[0]+d-k;c=i+j-d;a.beginPath();a.rect(b,c,e[2],h);a.fill();a.beginPath();a.moveTo(b,c);a.lineTo(b+e[2],c);a.stroke();b=e[0]+l-k;c=i+j;a.beginPath();a.moveTo(b,c);a.lineTo(b+d,c-d);a.lineTo(b+d,c-d+h);a.lineTo(b,c+h);a.closePath();a.fill();a.beginPath();a.moveTo(b,c);a.lineTo(b+d,c-d);a.stroke()}});Ext.define('Ext.chart.grid.VerticalGrid3D',{extend:'Ext.chart.grid.VerticalGrid',alias:'grid.vertical3d',inheritableStatics:{def:{processors:{depth:'number'},defaults:{depth:0}}},render:function(j,a,e){var i=this.attr,f=j.roundPixel(i.x),k=j.matrix.getDY(),g=a.lineWidth*0.5,h=i.width,d=i.depth,b,c;if(f>=e[2]){return}b=f-g+d;c=e[1]-d-k;a.beginPath();a.rect(b,c,h,e[3]);a.fill();a.beginPath();a.moveTo(b,c);a.lineTo(b,c+e[3]);a.stroke();b=f-g;c=e[3];a.beginPath();a.moveTo(b,c);a.lineTo(b+d,c-d);a.lineTo(b+d+h,c-d);a.lineTo(b+h,c);a.closePath();a.fill();b=f-g;c=e[3];a.beginPath();a.moveTo(b,c);a.lineTo(b+d,c-d);a.stroke()}});Ext.define('Ext.chart.interactions.CrossZoom',{extend:'Ext.chart.interactions.Abstract',type:'crosszoom',alias:'interaction.crosszoom',isCrossZoom:!0,config:{axes:!0,gestures:{dragstart:'onGestureStart',drag:'onGesture',dragend:'onGestureEnd',dblclick:'onDoubleTap'},undoButton:{}},stopAnimationBeforeSync:!1,zoomAnimationInProgress:!1,constructor:function(){this.callParent(arguments);this.zoomHistory=[]},applyAxes:function(a){var b={};if(a===!0){return {top:{},right:{},bottom:{},left:{}}}else if(Ext.isArray(a)){b={};Ext.each(a,function(c){b[c]={}})}else if(Ext.isObject(a)){Ext.iterate(a,function(d,c){if(c===!0){b[d]={}}else if(c!==!1){b[d]=c}})}return b},applyUndoButton:function(b,a){var c=this;if(a){a.destroy()}if(b){return Ext.create('Ext.Button',Ext.apply({cls:[],text:'Undo Zoom',disabled:!0,handler:function(){c.undoZoom()}},b))}},getSurface:function(){return this.getChart()&&this.getChart().getSurface('overlay')},setSeriesOpacity:function(b){var a=this.getChart()&&this.getChart().getSurface('series');if(a){a.element.setStyle('opacity',b)}},onGestureStart:function(j){var a=this,d=a.getChart(),k=a.getSurface(),h=d.getInnerRect(),e=d.getInnerPadding(),f=e.left,l=f+h[2],g=e.top,m=g+h[3],i=d.getEventXY(j),b=i[0],c=i[1];j.claimGesture();if(a.zoomAnimationInProgress){return}if(b>f&&bg&&ch){b=h}if(ci){c=i}a.selectionRect.setAttributes({width:b-a.startX,height:c-a.startY});if(Math.abs(a.startX-b)<11||Math.abs(a.startY-c)<11){a.selectionRect.setAttributes({globalAlpha:0.5})}else {a.selectionRect.setAttributes({globalAlpha:1})}l.renderFrame();return !1}},onGestureEnd:function(o){var a=this;if(a.zoomAnimationInProgress){return}if(a.getLocks()[a.gestureEvent]===a){var d=a.getChart(),e=a.getSurface(),f=d.getInnerRect(),k=d.getInnerPadding(),i=k.left,l=i+f[2],j=k.top,m=j+f[3],h=f[2],g=f[3],n=d.getEventXY(o),b=n[0],c=n[1];if(bl){b=l}if(cm){c=m}if(Math.abs(a.startX-b)<11||Math.abs(a.startY-c)<11){e.remove(a.selectionRect)}else {a.zoomBy([Math.min(a.startX,b)/h,1-Math.max(a.startY,c)/g,Math.max(a.startX,b)/h,1-Math.min(a.startY,c)/g]);a.selectionRect.setAttributes({x:Math.min(a.startX,b),y:Math.min(a.startY,c),width:Math.abs(a.startX-b),height:Math.abs(a.startY-c)});a.selectionRect.setAnimation(d.getAnimation()||{duration:0});a.selectionRect.setAttributes({globalAlpha:0,x:0,y:0,width:h,height:g});a.zoomAnimationInProgress=!0;d.suspendThicknessChanged();a.selectionRect.getAnimation().on('animationend',function(){d.resumeThicknessChanged();e.remove(a.selectionRect);a.selectionRect=null;a.zoomAnimationInProgress=!1})}e.renderFrame();a.sync();a.unlockEvents(a.gestureEvent);a.setSeriesOpacity(1);if(!a.zoomAnimationInProgress){e.remove(a.selectionRect);a.selectionRect=null}}},zoomBy:function(b){var d=this,l=d.getAxes(),j=d.getChart(),k=j.getAxes(),n=j.getInherited().rtl,e,i={},f,g;if(n){b=b.slice();f=1-b[0];g=1-b[2];b[0]=Math.min(f,g);b[2]=Math.max(f,g)}for(var h=0;h0&&v0&&wA){d=A}if(e<0){e=0}else if(e>z){e=z}d+=o;e+=p;for(q=0;q'))},onDragStart:function(d){var b=this,a=b.getChart(),c=a.getHighlightItem();d.claimGesture();if(c){a.fireEvent('beginitemedit',a,b,b.item=c);return !1}},onDrag:function(c){var b=this,d=b.getChart(),a=d.getHighlightItem(),e=a&&a.sprite.type;if(a){switch(e){case 'barSeries':return b.onDragBar(c);case 'scatterSeries':return b.onDragScatter(c);}}},highlight:function(a){var e=this,c=e.getChart(),f=c.getFlipXY(),b=e.getCursors(),g=a&&a.sprite.type,d=c.el.dom.style;e.callParent([a]);if(a){switch(g){case 'barSeries':if(f){d.cursor=b.ewResize}else {d.cursor=b.nsResize};break;case 'scatterSeries':d.cursor=b.move;break;}}else {c.el.dom.style.cursor='default'}},onDragBar:function(m){var d=this,e=d.getChart(),q=e.getInherited().rtl,o=e.isCartesian&&e.getFlipXY(),a=e.getHighlightItem(),p=a.sprite.getMarker('items'),c=p.getMarkerFor(a.sprite.getId(),a.index),h=a.sprite.getSurface(),j=h.getRect(),i=h.getEventXY(m),k=a.sprite.attr.matrix,n=d.getRenderer(),f,g,l,b;if(o){b=q?j[2]-i[0]:i[0]}else {b=j[3]-i[1]}f={x:c.x,y:b,width:c.width,height:c.height+(c.y-b),radius:c.radius,fillStyle:'none',lineDash:[4,4],zIndex:100};Ext.apply(f,d.getStyle());if(Ext.isArray(a.series.getYField())){b=b-c.y-c.height}d.target={index:a.index,yField:a.field,yValue:(b-k.getDY())/k.getYY()};l=[e,{target:d.target,style:f,item:a}];g=Ext.callback(n,null,l,0,e);if(g){Ext.apply(f,g)}a.sprite.putMarker('items',f,'itemedit');d.showTooltip(m,d.target,a);h.renderFrame()},onDragScatter:function(s){var c=this,e=c.getChart(),v=e.getInherited().rtl,p=e.isCartesian&&e.getFlipXY(),a=e.getHighlightItem(),u=a.sprite.getMarker('markers'),d=u.getMarkerFor(a.sprite.getId(),a.index),o=a.sprite.getSurface(),l=o.getRect(),b=o.getEventXY(s),h=a.sprite.attr.matrix,r=a.series.getXAxis(),k=r&&r.getLayout().isContinuous,t=c.getRenderer(),f,n,q,g,m,i,j;if(p){m=v?l[2]-b[0]:b[0]}else {m=l[3]-b[1]}if(k){if(p){g=l[3]-b[1]}else {g=b[0]}}else {g=d.translationX}if(k){i=b[0];j=b[1]}else {if(p){i=b[0];j=d.translationY}else {i=d.translationX;j=b[1]}}f={translationX:i,translationY:j,scalingX:d.scalingX,scalingY:d.scalingY,r:d.r,fillStyle:'none',lineDash:[4,4],zIndex:100};Ext.apply(f,c.getStyle());c.target={index:a.index,yField:a.field,yValue:(m-h.getDY())/h.getYY()};if(k){Ext.apply(c.target,{xField:a.series.getXField(),xValue:(g-h.getDX())/h.getXX()})}q=[e,{target:c.target,style:f,item:a}];n=Ext.callback(t,null,q,0,e);if(n){Ext.apply(f,n)}a.sprite.putMarker('markers',f,'itemedit');c.showTooltip(s,c.target,a);o.renderFrame()},showTooltip:function(d,e,f){var a=this.getTooltip(),b,c;if(a&&Ext.toolkit!=='modern'){b=a.config;c=this.getChart();Ext.callback(b.renderer,null,[a,f,e,d],0,c);a.pointerEvent=d;if(a.isVisible()){a.realignToTarget()}else {a.show()}}},hideTooltip:function(){var a=this.getTooltip();if(a&&Ext.toolkit!=='modern'){a.hide()}},onDragEnd:function(f){var b=this,a=b.target,d=b.getChart(),e=d.getStore(),c;if(a){c=e.getAt(a.index);if(a.yField){c.set(a.yField,a.yValue,{convert:!1})}if(a.xField){c.set(a.xField,a.xValue,{convert:!1})}if(a.yField||a.xField){b.getChart().onDataChanged()}b.target=null}b.hideTooltip();if(b.item){d.fireEvent('enditemedit',d,b,b.item,a)}b.highlight(b.item=null)},destroy:function(){var a=this.getConfig('tooltip',!0);Ext.destroy(a);this.callParent()}});Ext.define('Ext.chart.interactions.PanZoom',{extend:'Ext.chart.interactions.Abstract',type:'panzoom',alias:'interaction.panzoom',requires:['Ext.draw.Animator'],config:{axes:{top:{},right:{},bottom:{},left:{}},minZoom:null,maxZoom:null,showOverflowArrows:!0,panGesture:'drag',zoomGesture:'pinch',zoomOnPanGesture:null,zoomOnPan:!1,doubleTapReset:!1,modeToggleButton:{xtype:'segmentedbutton',width:200,defaults:{ui:'default-toolbar'},cls:Ext.baseCSSPrefix+'panzoom-toggle',items:[{text:'Pan',value:'pan'},{text:'Zoom',value:'zoom'}]},hideLabelInGesture:!1},stopAnimationBeforeSync:!0,applyAxes:function(b,a){return Ext.merge(a||{},b)},updateZoomOnPan:function(a){var b=this.getModeToggleButton();b.setValue(a?'zoom':'pan')},updateZoomOnPanGesture:function(a){this.setZoomOnPan(a)},getZoomOnPanGesture:function(){return this.getZoomOnPan()},applyModeToggleButton:function(b,a){return Ext.factory(b,'Ext.button.Segmented',a)},updateModeToggleButton:function(a){if(a){a.on('change','onModeToggleChange',this)}},onModeToggleChange:function(b,a){this.setZoomOnPan(a==='zoom')},getGestures:function(){var d=this,a={},c=d.getPanGesture(),b=d.getZoomGesture();a[b]='onZoomGestureMove';a[b+'start']='onZoomGestureStart';a[b+'end']='onZoomGestureEnd';a[c]='onPanGestureMove';a[c+'start']='onPanGestureStart';a[c+'end']='onPanGestureEnd';a.doubletap='onDoubleTap';return a},onDoubleTap:function(h){var f=this,g=f.getDoubleTapReset(),b,c,d,a,e;if(g){b=f.getChart();c=b.getAxes();for(a=0,e=c.length;a1){a=1}if(a*h<1){a=1/h}k=b[0];j=b[1];d=d[1]-d[0];if(a===d&&d===1){return}c.setVisibleRange([(b[0]+b[1]-a)*0.5-l/i*a,(b[0]+b[1]+a)*0.5-l/i*a]);return Math.abs(k-c.getVisibleRange()[0])>1.0E-10||Math.abs(j-c.getVisibleRange()[1])>1.0E-10},destroy:function(){this.setModeToggleButton(null);this.callParent()}});Ext.define('Ext.chart.interactions.Rotate',{extend:'Ext.chart.interactions.Abstract',type:'rotate',alternateClassName:'Ext.chart.interactions.RotatePie3D',alias:['interaction.rotate','interaction.rotatePie3d'],config:{gesture:'rotate',gestures:{dragstart:'onGestureStart',drag:'onGesture',dragend:'onGestureEnd'},rotation:0},oldRotations:null,getAngle:function(e){var d=this,b=d.getChart(),c=b.getEventXY(e),a=b.getCenter();return Math.atan2(c[1]-a[1],c[0]-a[0])},onGestureStart:function(b){var a=this;b.claimGesture();a.lockEvents('drag');a.angle=a.getAngle(b);a.oldRotations={};a.getChart().suspendAnimation();a.fireEvent('rotatestart',a,a.getRotation());return !1},onGesture:function(c){var a=this,b=a.getAngle(c)-a.angle;if(a.getLocks().drag===a){a.doRotateTo(b,!0);return !1}},doRotateTo:function(l,k){var b=this,m=b.getChart(),n=m.getAxes(),j=m.getSeries(),e=b.oldRotations,d,f,h,g,c,a,i;for(a=0,i=n.length;ae+a&&be-a){c='min'}else if(b>=d-a&&b1){return}var a=this,d=b.touches[0].pageX-a.overlaySurface.element.getXY()[0],c=a.getDragType(d);a.rangeMask.attr.thumbOpacity=1;if(c){a.dragType=c;a.touchId=b.touches[0].identifier;a.dragX=d}},onDrag:function(k){if(k.touch.identifier!==this.touchId){return}var c=this,g=c.overlaySurface.element,j=g.getSize().width,l=k.touches[0].pageX-g.getXY()[0],d=c.getThumbGap()/j,h=c.rangeMask,b=h.attr.min,a=h.attr.max,i=a-b,f=c.dragType,m=c.dragX,e=(l-m)/j;if(f==='pan'){b+=e;a+=e;if(b<0){b=0;a=i}if(a>1){a=1;b=a-i}}else if(f==='min'){b+=e;if(b<0){b=0}if(b>a-d){b=a-d}}else if(f==='max'){a+=e;if(a>1){a=1}if(a=0||!p){k[b]+=c}else if(c<0){j[b]+=c}}}}for(b=0;b=0||!p){if(t&&k[a]){c[a]*=x/k[a]}h[a]=o[a];o[a]+=c[a];l[a]=o[a]}else {if(t&&j[a]){c[a]*=x/j[a]}h[a]=n[a];n[a]+=c[a];l[a]=n[a]}}e['dataStart'+g]=h;e['data'+g]=l;Ext.chart.Util.expandRange(f,h);Ext.chart.Util.expandRange(f,l)}else {e['dataStart'+g]=h;e['data'+g]=c;Ext.chart.Util.expandRange(f,c)}m[b].setAttributes(e)}}f=Ext.chart.Util.validateRange(f,d.defaultRange);d.dataRange[w]=f[0];d.dataRange[w+C]=f[1];e={};e['dataMin'+r]=f[0];e['dataMax'+r]=f[1];for(i=0;i-1){e=a.getYField();j={series:a,sprite:h[d],category:a.getItemInstancing()?'items':'markers',index:g,record:m.getData().items[g],field:typeof e==='string'?e:e[d],distance:f}}return j},provideLegendInfo:function(k){var b=this,g=b.getSprites(),d=b.getTitle(),h=b.getYField(),i=b.getHidden(),j=g.length===1,f,e,a,c;for(a=0;a=e[b-1]){return b-1}while(a+1>1,f=e[d];if(f===c){return d}else if(fn){continue}if(f-1){p={index:g,distance:e}}return p}});Ext.define('Ext.chart.series.sprite.StackedCartesian',{extend:'Ext.chart.series.sprite.Cartesian',inheritableStatics:{def:{processors:{groupCount:'number',groupOffset:'number',dataStartY:'data'},defaults:{selectionTolerance:20,groupCount:1,groupOffset:0,dataStartY:null},triggers:{dataStartY:'dataY,bbox'}}}});Ext.define('Ext.chart.series.sprite.Area',{alias:'sprite.areaSeries',extend:'Ext.chart.series.sprite.StackedCartesian',inheritableStatics:{def:{processors:{step:'bool'},defaults:{selectionTolerance:0,step:!1}}},renderClipped:function(E,b,u){var m=this,B=m.getStore(),A=m.getSeries(),e=m.attr,f=e.dataX,p=e.dataY,x=e.dataStartY,v=e.matrix,c,d,a,y,r,q,w,j=v.elements[0],h=v.elements[4],n=v.elements[3],i=v.elements[5],t=m.surfaceMatrix,g={},D=Math.min(u[0],u[2]),C=Math.max(u[0],u[2]),l=Math.max(0,this.binarySearch(D)),k=Math.min(f.length-1,this.binarySearch(C)+1),o=e.renderer,z={store:B},s;b.beginPath();q=f[l]*j+h;w=p[l]*n+i;b.moveTo(q,w);if(e.step){r=w;for(a=l;a<=k;a++){c=f[a]*j+h;d=p[a]*n+i;b.lineTo(c,r);b.lineTo(c,r=d)}}else {for(a=l;a<=k;a++){c=f[a]*j+h;d=p[a]*n+i;b.lineTo(c,d)}}if(x){if(e.step){y=f[k]*j+h;for(a=k;a>=l;a--){c=f[a]*j+h;d=x[a]*n+i;b.lineTo(y,d);b.lineTo(y=c,d)}}else {for(a=k;a>=l;a--){c=f[a]*j+h;d=x[a]*n+i;b.lineTo(c,d)}}}else {b.lineTo(f[k]*j+h,d);b.lineTo(f[k]*j+h,i);b.lineTo(q,i);b.lineTo(q,p[a]*n+i)}if(e.transformFillStroke){e.matrix.toContext(b)}b.fill();if(e.transformFillStroke){e.inverseMatrix.toContext(b)}b.beginPath();b.moveTo(q,w);if(e.step){for(a=l;a<=k;a++){c=f[a]*j+h;d=p[a]*n+i;b.lineTo(c,r);b.lineTo(c,r=d);g.translationX=t.x(c,d);g.translationY=t.y(c,d);if(o){s=Ext.callback(o,null,[m,g,z,a],0,A);Ext.apply(g,s)}m.putMarker('markers',g,a,!o)}}else {for(a=l;a<=k;a++){c=f[a]*j+h;d=p[a]*n+i;b.lineTo(c,d);g.translationX=t.x(c,d);g.translationY=t.y(c,d);if(o){s=Ext.callback(o,null,[m,g,z,a],0,A);Ext.apply(g,s)}m.putMarker('markers',g,a,!o)}}if(e.transformFillStroke){e.matrix.toContext(b)}b.stroke()}});Ext.define('Ext.chart.series.Area',{extend:'Ext.chart.series.StackedCartesian',alias:'series.area',type:'area',seriesType:'areaSeries',isArea:!0,requires:['Ext.chart.series.sprite.Area'],config:{splitStacks:!1}});Ext.define('Ext.chart.series.sprite.Bar',{alias:'sprite.barSeries',extend:'Ext.chart.series.sprite.StackedCartesian',inheritableStatics:{def:{processors:{minBarWidth:'number',maxBarWidth:'number',minGapWidth:'number',radius:'number',inGroupGapWidth:'number'},defaults:{minBarWidth:2,maxBarWidth:100,minGapWidth:5,inGroupGapWidth:3,radius:0}}},drawLabel:function(w,g,i,e,l){var c=this,p=c.attr,r=c.getMarker('labels'),o=r.getTemplate(),a=c.labelCfg||(c.labelCfg={}),f=c.surfaceMatrix,s=p.labelOverflowPadding,n=o.attr.display,q=o.attr.orientation,t=(q==='horizontal'&&p.flipXY)||(q==='vertical'&&!p.flipXY)||!q,h=o.getCalloutLine(),d,b,j,m,k,u,v;a.x=f.x(g,e);a.y=f.y(g,e);if(h){m=h.length}else {m=0}if(!p.flipXY){a.rotationRads=-Math.PI*0.5}else {a.rotationRads=0}a.calloutVertical=!p.flipXY;switch(q){case 'horizontal':a.rotationRads=0;a.calloutVertical=!1;break;case 'vertical':a.rotationRads=-Math.PI*0.5;a.calloutVertical=!0;break;}a.text=w;if(o.attr.renderer){if(!r.get(l)){r.putMarkerFor('labels',{},l)}v=[w,r,a,{store:c.getStore()},l];k=Ext.callback(o.attr.renderer,null,v,0,c.getSeries());if(typeof k==='string'){a.text=k}else if(typeof k==='object'){if('text' in k){a.text=k.text}u=!0}}j=c.getMarkerBBox('labels',l,!0);if(!j){c.putMarker('labels',a,l);j=c.getMarkerBBox('labels',l,!0)}if(m>0){b=m}else if(m===0){b=(t?j.width:j.height)/2}else {b=(t?j.width:j.height)/2+s}if(i>e){b=-b}if(t){d=(n==='insideStart')?i+b:e-b}else {d=(n==='insideStart')?i+s*2:e-s*2}a.x=f.x(g,d);a.y=f.y(g,d);d=(n==='insideStart')?i:e;a.calloutStartX=f.x(g,d);a.calloutStartY=f.y(g,d);d=(n==='insideStart')?i-b:e+b;a.calloutPlaceX=f.x(g,d);a.calloutPlaceY=f.y(g,d);a.calloutColor=(h&&h.color)||c.attr.fillStyle;if(h){if(h.width){a.calloutWidth=h.width}}else {a.calloutColor='none'}if(i>e){b=-b}if(Math.abs(e-i)<=b*2||n==='outside'){a.callout=1}else {a.callout=0}if(u){Ext.apply(a,k)}c.putMarker('labels',a,l)},drawBar:function(l,j,k,f,g,i,h,e){var b=this,a={},c=b.attr.renderer,d;a.x=f;a.y=g;a.width=i-f;a.height=h-g;a.radius=b.attr.radius;if(c){d=Ext.callback(c,null,[b,a,{store:b.getStore()},e],0,b.getSeries());Ext.apply(a,d)}b.putMarker('items',a,e,!c)},renderClipped:function(c,v,f){if(this.cleanRedraw){return}var e=this,a=e.attr,r=a.dataX,E=a.dataY,l=a.labels,p=a.dataStartY,j=a.groupCount,B=a.groupOffset-(j-1)*0.5,n=a.inGroupGapWidth,q=v.lineWidth,i=a.matrix,y=i.elements[0],z=i.elements[3],J=i.elements[4],x=c.roundPixel(i.elements[5])-1,C=Math.abs(y)-a.minGapWidth,D=(Math.min(C,a.maxBarWidth)-n*(j-1))/j,k=c.roundPixel(Math.max(a.minBarWidth,D)),o=e.surfaceMatrix,t,s,m,g,b,d,h=0.5*a.lineWidth,I=Math.min(f[0],f[2]),H=Math.max(f[0],f[2]),F=Math.max(0,Math.floor(I)),G=Math.min(r.length-1,Math.ceil(H)),A=l&&e.getMarker('labels'),u,w;for(b=F;b<=G;b++){u=p?p[b]:0;w=E[b];d=r[b]*y+J+B*(k+n);t=c.roundPixel(d-k/2)+h;g=c.roundPixel(w*z+x+q);s=c.roundPixel(d+k/2)-h;m=c.roundPixel(u*z+x+q);e.drawBar(v,c,f,t,g-h,s,m-h,b);if(A&&l[b]!=null){e.drawLabel(l[b],d,m,g,b)}e.putMarker('markers',{translationX:o.x(d,g),translationY:o.y(d,g)},b,!0)}}});Ext.define('Ext.chart.series.Bar',{extend:'Ext.chart.series.StackedCartesian',alias:'series.bar',type:'bar',seriesType:'barSeries',isBar:!0,requires:['Ext.chart.series.sprite.Bar','Ext.draw.sprite.Rect'],config:{itemInstancing:{type:'rect',animation:{customDurations:{x:0,y:0,width:0,height:0,radius:0}}}},getItemForPoint:function(d,e){if(this.getSprites().length){var b=this.getChart(),a=b.getInnerPadding(),c=b.getInherited().rtl;arguments[0]=d+(c?a.right:-a.left);arguments[1]=e+a.bottom;return this.callParent(arguments)}},updateXAxis:function(a){a.setExpandRangeBy(0.5);this.callParent(arguments)},updateHidden:function(a){this.callParent(arguments);this.updateStacked()},updateStacked:function(h){var f=this,b={},e=f.getSprites(),g=e.length,d=[],c,a;for(a=0;a0){a.y=f;a.height=d+c}else {a.y=f+c;a.height=d-c}},render:function(q,a){var i=this,h=i.attr,e=h.x,g=h.y,f=g+h.height,t=gs+1&&tr.length*2*e[1]){continue}if(e[3]&&d.map['time_'+e[3]]){f=d.map['time_'+e[3]][0];v=d.map['time_'+e[3]][1]}else {f=x;v=y}s=a;j=q;A=!0;p[a]=p[f];i[a]=i[f];l[a]=l[f];k[a]=k[f];u[a]=u[f];m[a]=m[f];o[a]=o[f];h[a]=h[f];n[a]=n[f];g[a]=g[f];j=Ext.Date.add(j,e[0],e[1]);for(c=f+1;cg[a]){g[a]=g[c];n[a]=n[c];k[a]=k[c]}if(h[c]s){d.map['time_'+e[2]]=[s,a]}}},"double":function(a,c,u,s,r,t,q){var d=0,p,o=1,b,k,l,f,e,n,m,i,j,g,h;while(c>d+1){p=d;d=c;o+=o;for(b=p;b=a.maxY[b+1]){e=a.maxIdx[b];g=a.maxX[b];h=a.maxY[b]}else {e=a.maxIdx[b+1];g=a.maxX[b+1];h=a.maxY[b+1]}}a.startIdx[c]=k;a.endIdx[c]=l;a.minIdx[c]=f;a.maxIdx[c]=e;a.open[c]=n;a.close[c]=m;a.minX[c]=i;a.minY[c]=j;a.maxX[c]=g;a.maxY[c]=h;c++}a.map['double_'+o]=[d,c]}},none:Ext.emptyFn,aggregateData:function(c,g,f,i,e){var b=c.length,h=[],j=[],l=[],k=[],r=[],p=[],q=[],n=[],o=[],m=[],d={startIdx:h,endIdx:j,minIdx:l,maxIdx:k,open:r,minX:p,minY:q,maxX:n,maxY:o,close:m},a;for(a=0;a=f[e.startIdx[b-1]]){return b-1}while(a+1>1,g=f[e.startIdx[d]];if(g===c){return d}else if(g=f[e.endIdx[a-1]]){return a-1}while(b+1>1,g=f[e.endIdx[d]];if(g===c){return d}else if(g0){b=c.getAggregator();if(d){b.setData(a.dataX,a.dataY,d,g,f)}else {b.setData(a.dataX,a.dataY)}}},getGapWidth:function(){return 1},renderClipped:function(h,i,b,d){var c=this,g=Math.min(b[0],b[2]),f=Math.max(b[0],b[2]),e=c.getAggregator(),a=e&&e.getAggregation(g,f,(f-g)/d[2]*c.getGapWidth());if(a){c.dataStart=a.data.startIdx[a.start];c.dataEnd=a.data.endIdx[a.end-1];c.renderAggregates(a.data,a.start,a.end,h,i,b,d)}}});Ext.define('Ext.chart.series.sprite.CandleStick',{alias:'sprite.candlestickSeries',extend:'Ext.chart.series.sprite.Aggregative',inheritableStatics:{def:{processors:{raiseStyle:function(a,b){return Ext.merge({},b||{},a)},dropStyle:function(a,b){return Ext.merge({},b||{},a)},barWidth:'number',padding:'number',ohlcType:'enums(candlestick,ohlc)'},defaults:{raiseStyle:{strokeStyle:'green',fillStyle:'green'},dropStyle:{strokeStyle:'red',fillStyle:'red'},barWidth:15,padding:3,lineJoin:'miter',miterLimit:5,ohlcType:'candlestick'},triggers:{raiseStyle:'raiseStyle',dropStyle:'dropStyle'},updaters:{raiseStyle:function(){var b=this,a=b.raiseTemplate;if(a){a.setAttributes(b.attr.raiseStyle)}},dropStyle:function(){var b=this,a=b.dropTemplate;if(a){a.setAttributes(b.attr.dropStyle)}}}}},candlestick:function(a,g,h,i,f,b,c){var e=Math.min(g,f),d=Math.max(g,f);a.moveTo(b,i);a.lineTo(b,e);a.moveTo(b+c,d);a.lineTo(b+c,e);a.lineTo(b-c,e);a.lineTo(b-c,d);a.closePath();a.moveTo(b,h);a.lineTo(b,d)},ohlc:function(a,e,f,g,d,b,c){a.moveTo(b,f);a.lineTo(b,g);a.moveTo(b,e);a.lineTo(b-c,e);a.moveTo(b,d);a.lineTo(b+c,d)},constructor:function(){var a=this,b=Ext.draw.sprite.Rect;a.callParent(arguments);a.raiseTemplate=new b({parent:a});a.dropTemplate=new b({parent:a})},getGapWidth:function(){var a=this.attr,b=a.barWidth,c=a.padding;return b+c},renderAggregates:function(p,B,D,G,a,C){var d=this,k=d.attr,x=k.ohlcType,H=d.getSeries(),u=k.matrix,F=u.getXX(),i=u.getYY(),E=u.getDX(),h=u.getDY(),s=Math.round(k.barWidth*0.5),y=k.dataX,v=p.open,t=p.close,z=p.maxY,A=p.minY,w=p.startIdx,e=k.lineWidth*G.devicePixelRatio/2,f=k.renderer,c=f&&{},r,q,m,l,n,j,o,b,g;d.rendererData=d.rendererData||{store:d.getStore()};e-=Math.floor(e);a.save();g=d.raiseTemplate;g.useAttributes(a,C);if(!f){a.beginPath()}for(b=B;bt[b]){m=Math.round(v[b]*i+h)+e;l=Math.round(z[b]*i+h)+e;n=Math.round(A[b]*i+h)+e;j=Math.round(t[b]*i+h)+e;o=Math.round(y[w[b]]*F+E)+e;if(f){a.save();a.beginPath();c.open=m;c.high=l;c.low=n;c.close=j;c.mid=o;c.halfWidth=s;r=[d,c,d.rendererData,b];q=Ext.callback(f,null,r,0,d.getSeries());Ext.apply(a,q)}d[x](a,m,l,n,j,o,s);if(f){a.fillStroke(g.attr);a.restore()}}}if(!f){a.fillStroke(g.attr)}a.restore()}});Ext.define('Ext.chart.series.CandleStick',{extend:'Ext.chart.series.Cartesian',requires:['Ext.chart.series.sprite.CandleStick'],alias:'series.candlestick',type:'candlestick',seriesType:'candlestickSeries',isCandleStick:!0,config:{openField:null,highField:null,lowField:null,closeField:null},fieldCategoryY:['Open','High','Low','Close'],themeColorCount:function(){return 2}});Ext.define('Ext.chart.series.Polar',{extend:'Ext.chart.series.Series',config:{rotation:0,radius:null,center:[0,0],offsetX:0,offsetY:0,showInLegend:!0,xField:null,yField:null,angleField:null,radiusField:null,xAxis:null,yAxis:null},directions:['X','Y'],fieldCategoryX:['X'],fieldCategoryY:['Y'],deprecatedConfigs:{field:'angleField',lengthField:'radiusField'},constructor:function(a){var b=this,d=b.self.getConfigurator(),e=d.configs,c;if(a){for(c in b.deprecatedConfigs){if(c in a&&!(a in e)){Ext.raise("'"+c+"' config has been deprecated. Please use the '"+b.deprecatedConfigs[c]+"' config instead.")}}}b.callParent([a])},getXField:function(){return this.getAngleField()},updateXField:function(a){this.setAngleField(a)},getYField:function(){return this.getRadiusField()},updateYField:function(a){this.setRadiusField(a)},applyXAxis:function(a,b){return this.getChart().getAxis(a)||b},applyYAxis:function(a,b){return this.getChart().getAxis(a)||b},getXRange:function(){return [this.dataRange[0],this.dataRange[2]]},getYRange:function(){return [this.dataRange[1],this.dataRange[3]]},themeColorCount:function(){var c=this,a=c.getStore(),b=a&&a.getCount()||0;return b},isStoreDependantColorCount:!0,getDefaultSpriteConfig:function(){return {type:this.seriesType,renderer:this.getRenderer(),centerX:0,centerY:0,rotationCenterX:0,rotationCenterY:0}},applyRotation:function(a){return Ext.draw.sprite.AttributeParser.angle(Ext.draw.Draw.rad(a))},updateRotation:function(b){var a=this.getSprites();if(a&&a[0]){a[0].setAttributes({baseRotation:b})}}});Ext.define('Ext.chart.series.Gauge',{alias:'series.gauge',extend:'Ext.chart.series.Polar',type:'gauge',seriesType:'pieslice',requires:['Ext.draw.sprite.Sector'],config:{needle:!1,needleLength:90,needleWidth:4,donut:30,showInLegend:!1,value:null,colors:null,sectors:null,minimum:0,maximum:100,rotation:0,totalAngle:Math.PI/2,rect:[0,0,1,1],center:[0.5,0.75],radius:0.5,wholeDisk:!1},coordinateX:function(){return this.coordinate('X',0,2)},coordinateY:function(){return this.coordinate('Y',1,2)},updateNeedle:function(c){var a=this,b=a.getSprites(),d=a.valueToAngle(a.getValue());if(b&&b.length){b[0].setAttributes({startAngle:(c?d:0),endAngle:d,strokeOpacity:(c?1:0),lineWidth:(c?a.getNeedleWidth():0)});a.doUpdateStyles()}},themeColorCount:function(){var b=this,a=b.getStore(),c=a&&a.getCount()||0;return c+(b.getNeedle()?0:1)},updateColors:function(c,i){var g=this,d=g.getSectors(),h=d&&d.length,f=g.getSprites(),b=Ext.Array.clone(c),e=c&&c.length,a;if(!e||!c[0]){return}for(a=0;a0?b[a-1].end:c.getMinimum()),end:Math.min(d,c.getMaximum())};if(a==(e-1)&&b[a].end0?b[a-1].end:c.getMinimum())}if(typeof d.end==='number'){g=Math.min(d.end,c.getMaximum())}else {g=c.getMaximum()}b[a].start=f;b[a].end=g}}}else {b=[{start:c.getMinimum(),end:c.getMaximum()}]}return b},getSprites:function(){var a=this,l=a.getStore(),m=a.getValue(),k=a.getLabel(),c,n;if(!l&&!Ext.isNumber(m)){return Ext.emptyArray}var j=a.getChart(),o=a.getAnimation()||j&&j.getAnimation(),e=a.sprites,i=0,b,d,f,g,h=[];if(e&&e.length){e[0].setAnimation(o);return e}g={store:l,field:a.getXField(),angleField:a.getXField(),value:m,series:a};a.needleSprite=b=a.createSprite();b.setAttributes({zIndex:10},!0);b.setRendererData(g);b.setRendererIndex(i++);h.push(a.getNeedleWidth());if(k){k.getTemplate().setField(!0)}d=a.normalizeSectors(a.getSectors());for(c=0,n=d.length;c2&&c.length>2,g=e.type;if(d){if(g==='natural'){a.smoothX=Ext.draw.Draw.naturalSpline(b);a.smoothY=Ext.draw.Draw.naturalSpline(c)}else if(g==='cardinal'){a.smoothX=Ext.draw.Draw.cardinalSpline(b,e.tension);a.smoothY=Ext.draw.Draw.cardinalSpline(c,e.tension)}else {d=!1}}if(!d){delete a.smoothX;delete a.smoothY}},updatePlainBBox:function(b){var a=this.attr,c=Math.min(0,a.dataMinY),d=Math.max(0,a.dataMaxY);b.x=a.dataMinX;b.y=c;b.width=a.dataMaxX-a.dataMinX;b.height=d-c},drawStrip:function(c,a){c.moveTo(a[0],a[1]);for(var b=2,d=a.length;b0){a++;c+=b>>a}return Math.pow(2,a>0?a-1:a)},drawSmoothStroke:function(z,a,m,E,j,B){var d=this,i=d.attr,D=i.step,l=i.matrix,r=i.renderer,w=l.getXX(),x=l.getYY(),u=l.getDX(),v=l.getDY(),s=d.smoothX,t=d.smoothY,C=d.calculateScale(i.dataX.length,E),n,p,o,q,h,k,e,f,c,g,y,A,b={type:'line',smooth:!0,step:D};a.beginPath();a.moveTo(s[m*3]*w+u,t[m*3]*x+v);for(c=0,g=m*3+1;cm){c.push(s?(m*k+i):null,t?(w*l+j):null,q[b]);c.push(z?(p*k+i):null,A?(H*l+j):null,q[b])}else {c.push(s?(m*k+i):null,t?(w*l+j):null,q[b])}}if(c.length){for(b=0;bx){f=x}else if(f<-x){f=-x}c[b+1]=f}else {r=!1;continue}o=c[b+2];if(N){d.drawMarker(y,f,o)}if(O&&D[o]){d.drawLabel(D[o],y,f,o,h)}}d.isContinuousLine=r;if(L&&!r){Ext.raise("Line smoothing in only supported for gapless data, "+"where all data points are finite numbers.")}if(v){B=v.getAlignment()==='vertical';if(Ext.isNumber(v.floatingAtCoord)){g=(B?h[2]:h[3])-v.floatingAtCoord}else {g=B?h[0]:h[1]}}else {g=a.flipXY?h[0]:h[1]}if(a.preciseStroke){if(a.fillArea){e.fill()}if(a.transformFillStroke){a.inverseMatrix.toContext(e)}d.drawStroke(C,e,G,I,c,g);if(a.transformFillStroke){a.matrix.toContext(e)}e.stroke()}else {d.drawStroke(C,e,G,I,c,g);if(r&&L&&a.fillArea&&!a.renderer){var K=E[E.length-1]*k+i+M,Q=F[F.length-1]*l+j,J=E[0]*k+i-M,P=F[0]*l+j;e.lineTo(K,Q);e.lineTo(K,g-a.lineWidth);e.lineTo(J,g-a.lineWidth);e.lineTo(J,P)}if(a.transformFillStroke){a.matrix.toContext(e)}if(a.fillArea){e.fillStroke(a,!0)}else {e.stroke(!0)}}}}});Ext.define('Ext.chart.series.Line',{extend:'Ext.chart.series.Cartesian',alias:'series.line',type:'line',seriesType:'lineSeries',isLine:!0,requires:['Ext.chart.series.sprite.Line'],config:{selectionTolerance:20,curve:{type:'linear'},smooth:null,step:null,nullStyle:'gap',fill:undefined,aggregator:{strategy:'double'}},themeMarkerCount:function(){return 1},getDefaultSpriteConfig:function(){var b=this,e=b.callParent(arguments),a=Ext.apply({},b.getStyle()),d,c=!1;if(b.config.fill!==undefined){if(b.config.fill){c=!0;if(a.fillStyle===undefined){if(a.strokeStyle===undefined){d=b.getStyleWithTheme();a.fillStyle=d.fillStyle;a.strokeStyle=d.strokeStyle}else {a.fillStyle=a.strokeStyle}}}}else {if(a.fillStyle){c=!0}}if(!c){delete a.fillStyle}a=Ext.apply(e||{},a);return Ext.apply(a,{fillArea:c,selectionTolerance:b.config.selectionTolerance})},updateFill:function(a){this.withSprite(function(b){return b.setAttributes({fillArea:a})})},updateCurve:function(a){this.withSprite(function(b){return b.setAttributes({curve:a})})},getCurve:function(){return this.withSprite(function(a){return a.attr.curve})},updateNullStyle:function(a){this.withSprite(function(b){return b.setAttributes({nullStyle:a})})},updateSmooth:function(a){this.setCurve({type:a?'natural':'linear'})},updateStep:function(a){this.setCurve({type:a?'step-after':'linear'})}});Ext.define('Ext.chart.series.sprite.PieSlice',{extend:'Ext.draw.sprite.Sector',mixins:{markerHolder:'Ext.chart.MarkerHolder'},alias:'sprite.pieslice',inheritableStatics:{def:{processors:{doCallout:'bool',label:'string',rotateLabels:'bool',labelOverflowPadding:'number',renderer:'default'},defaults:{doCallout:!0,rotateLabels:!0,label:'',labelOverflowPadding:10,renderer:null}}},config:{rendererData:null,rendererIndex:0,series:null},setGradientBBox:function(k,p){var g=this,a=g.attr,m=(a.fillStyle&&a.fillStyle.isGradient)||(a.strokeStyle&&a.strokeStyle.isGradient);if(m&&!a.constrainGradients){var j=g.getMidAngle(),c=a.margin,e=a.centerX,f=a.centerY,l=a.endRho,b=a.matrix,n=b.getScaleX(),o=b.getScaleY(),i=n*l,h=o*l,d={width:i+i,height:h+h};if(c){e+=c*Math.cos(j);f+=c*Math.sin(j)}d.x=b.x(e,f)-i;d.y=b.y(e,f)-h;k.setGradientBBox(d)}else {g.callParent([k,p])}},render:function(g,f,e){var b=this,a=b.attr,d={},c;if(a.renderer){d={type:'sector',centerX:a.centerX,centerY:a.centerY,margin:a.margin,startAngle:Math.min(a.startAngle,a.endAngle),endAngle:Math.max(a.startAngle,a.endAngle),startRho:Math.min(a.startRho,a.endRho),endRho:Math.max(a.startRho,a.endRho)};c=Ext.callback(a.renderer,null,[b,d,b.getRendererData(),b.getRendererIndex()],0,b.getSeries());b.setAttributes(c);b.useAttributes(f,e)}b.callParent([g,f,e]);if(a.label&&b.getMarker('labels')){b.placeLabel()}},placeLabel:function(){var c=this,a=c.attr,i=a.attributeId,s=Math.min(a.startAngle,a.endAngle),t=Math.max(a.startAngle,a.endAngle),m=(s+t)*0.5,u=a.margin,q=a.centerX,r=a.centerY,p=Math.sin(m),o=Math.cos(m),z=Math.min(a.startRho,a.endRho)+u,j=Math.max(a.startRho,a.endRho)+u,v=(z+j)*0.5,d=c.surfaceMatrix,b=c.labelCfg||(c.labelCfg={}),x=c.getMarker('labels'),g=x.getTemplate(),y=g.getHideLessThan(),h=g.getCalloutLine(),l,e,f,n,w,k;if(h){k=h.length||40}else {k=0}d.appendMatrix(a.matrix);b.text=a.label;e=q+o*v;f=r+p*v;b.x=d.x(e,f);b.y=d.y(e,f);e=q+o*j;f=r+p*j;b.calloutStartX=d.x(e,f);b.calloutStartY=d.y(e,f);e=q+o*(j+k);f=r+p*(j+k);b.calloutPlaceX=d.x(e,f);b.calloutPlaceY=d.y(e,f);if(!a.rotateLabels){b.rotationRads=0}else {switch(g.attr.orientation){case 'horizontal':b.rotationRads=m+Math.atan2(d.y(1,0)-d.y(0,0),d.x(1,0)-d.x(0,0))+Math.PI/2;break;case 'vertical':b.rotationRads=m+Math.atan2(d.y(1,0)-d.y(0,0),d.x(1,0)-d.x(0,0));break;}}b.calloutColor=(h&&h.color)||c.attr.fillStyle;if(h){if(h.width){b.calloutWidth=h.width}}else {b.calloutColor='none'}b.globalAlpha=a.globalAlpha*a.fillOpacity;if(g.display!=='none'){b.hidden=(a.startAngle==a.endAngle)}if(g.attr.renderer){w=[c.attr.label,x,b,c.getRendererData(),c.getRendererIndex()];n=Ext.callback(g.attr.renderer,null,w,0,c.getSeries());if(typeof n==='string'){b.text=n}else {Ext.apply(b,n)}}c.putMarker('labels',b,i);l=c.getMarkerBBox('labels',i,!0);if(l){if(a.doCallout&&((t-s)*j>y||a.highlighted)){if(g.attr.display==='outside'){c.putMarker('labels',{callout:1},i)}else if(g.attr.display==='inside'){c.putMarker('labels',{callout:0},i)}else {c.putMarker('labels',{callout:1-c.sliceContainsLabel(a,l)},i)}}else {c.putMarker('labels',{globalAlpha:c.sliceContainsLabel(a,l)},i)}}},sliceContainsLabel:function(a,d){var b=a.labelOverflowPadding,f=(a.endRho+a.startRho)/2,g=f+(d.width+b)/2,c=f-(d.width+b)/2,e,h,i,j;if(b<0){return 1}if(d.width+b*2>(a.endRho-a.startRho)){return 0}h=Math.sqrt(a.endRho*a.endRho-g*g);i=Math.sqrt(a.endRho*a.endRho-c*c);e=Math.abs(a.endAngle-a.startAngle);j=(e>Math.PI/2?c:Math.abs(Math.tan(e/2))*c);if(d.height+b*2>Math.min(h,i,j)*2){return 0}return 1}});Ext.define('Ext.chart.series.Pie',{extend:'Ext.chart.series.Polar',requires:['Ext.chart.series.sprite.PieSlice'],type:'pie',alias:'series.pie',seriesType:'pieslice',isPie:!0,config:{donut:0,rotation:0,clockwise:!0,totalAngle:2*Math.PI,hidden:[],radiusFactor:100,highlightCfg:{margin:20},style:{}},directions:['X'],applyLabel:function(a,b){if(Ext.isObject(a)&&!Ext.isString(a.orientation)){Ext.apply(a=Ext.Object.chain(a),{orientation:'vertical'})}return this.callParent([a,b])},updateLabelData:function(){var d=this,k=d.getStore(),h=k.getData().items,e=d.getSprites(),i=d.getLabel(),g=i&&i.getTemplate().getField(),j=d.getHidden(),a,c,f,b;if(e.length&&g){f=[];for(a=0,c=h.length;ak){k=m}}o[a]=g;if(a>=f.length){f[a]=!1}}f.length=d;c.maxY=k;if(g!==0){l=h/g}for(a=0;a=b){return {series:c,sprite:d[a],index:a,record:h[a],field:c.getXField()}}}}}return null},getItemForPoint:function(t,u){var a=this,h=a.getSprites(),i=a.getCenter(),o=a.getOffsetX(),p=a.getOffsetY(),e=t-i[0]+o,f=u-i[1]+p,s=a.getStore(),r=a.getDonut(),g=s.getData().items,n=Math.atan2(f,e)-a.getRotation(),j=Math.sqrt(e*e+f*f),m=a.getRadius()*r*0.01,q=a.getHidden(),k=null,b,l,c,d;for(b=0,l=g.length;b=m+c.margin&&j<=c.endRho+c.margin&&a.betweenAngle(n,c.startAngle,c.endAngle)){k={series:a,sprite:h[b],index:b,record:g[b],field:a.getXField()};break}}return k},provideLegendInfo:function(i){var c=this,g=c.getStore();if(g){var f=g.getData().items,e=c.getLabel().getTemplate().getField(),j=c.getXField(),h=c.getHidden(),a,d,b;for(a=0;a=0&&c<0){d=Math.sin(b)}else if(b<=0&&c>0){d=Math.sin(c)}else if(b>=0&&c>0){if(b>c){d=0}else {d=Math.max(Math.sin(b),Math.sin(c))}}else {d=1};a.zIndex=4+d;break;case 'outerBack':a.zIndex=1;break;case 'start':a.zIndex=4+Math.sin(e(b+f));break;case 'end':a.zIndex=4+Math.sin(e(c+f));break;case 'innerFront':a.zIndex=2;break;case 'innerBack':a.zIndex=4+Math.sin(e((b+c)/2+f));break;case 'bottom':a.zIndex=0;break;}a.dirtyZIndex=!0},updatePlainBBox:function(b){var a=this.attr,e=a.part,h=a.baseRotation,i=a.centerX,l=a.centerY,c,d,j,k,g,f;if(e==='start'){d=a.startAngle+h}else if(e==='end'){d=a.endAngle+h}if(Ext.isNumber(d)){g=Math.sin(d);f=Math.cos(d);j=Math.min(i+f*a.startRho,i+f*a.endRho);k=l+g*a.startRho*a.distortion;b.x=j;b.y=k;b.width=f*(a.endRho-a.startRho);b.height=a.thickness+g*(a.endRho-a.startRho)*2;return}if(e==='innerFront'||e==='innerBack'){c=a.startRho}else {c=a.endRho}b.width=c*2;b.height=c*a.distortion*2+a.thickness;b.x=a.centerX-c;b.y=a.centerY-c*a.distortion},updateTransformedBBox:function(a){if(this.attr.part==='start'||this.attr.part==='end'){return this.callParent(arguments)}return this.updatePlainBBox(a)},updatePath:function(a){if(!this.attr.globalAlpha){return}if(this.attr.endAngle0||r,k;if(t&&!s){k=(m+o)/2;d+=Math.cos(k)*p;e+=Math.sin(k)*p*c;f.moveTo(d+b*h,e+j*h*c);f.lineTo(d+b*i,e+j*i*c);f.lineTo(d+b*i,e+j*i*c+n);f.lineTo(d+b*h,e+j*h*c+n);f.closePath()}},startRenderer:function(a){this.sideRenderer(a,'start')},endRenderer:function(a){this.sideRenderer(a,'end')},rimRenderer:function(b,a,i,t){var j=this,l=j.attr,s=l.margin,e=l.centerX,f=l.centerY,h=l.distortion,o=l.baseRotation,m=Ext.draw.sprite.AttributeParser.angle,d=l.startAngle+o,c=l.endAngle+o,r=m((d+c)/2),k=l.thickness,n=l.globalAlpha<1,p,q,g;j.bevelParams=[];d=m(d);c=m(c);e+=Math.cos(r)*s;f+=Math.sin(r)*s*h;p=d>=0&&c>=0;q=d<=0&&c<=0;function renderLeftFrontChunk(){b.ellipse(e,f+k,a,a*h,0,Math.PI,d,!0);b.lineTo(e+Math.cos(d)*a,f+Math.sin(d)*a*h);g=[e,f,a,a*h,0,d,Math.PI,!1];if(!i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}function renderRightFrontChunk(){b.ellipse(e,f+k,a,a*h,0,0,c,!1);b.lineTo(e+Math.cos(c)*a,f+Math.sin(c)*a*h);g=[e,f,a,a*h,0,c,0,!0];if(!i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}function renderLeftBackChunk(){b.ellipse(e,f+k,a,a*h,0,Math.PI,c,!1);b.lineTo(e+Math.cos(c)*a,f+Math.sin(c)*a*h);g=[e,f,a,a*h,0,c,Math.PI,!0];if(i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}function renderRightBackChunk(){b.ellipse(e,f+k,a,a*h,0,d,0,!1);b.lineTo(e+a,f);g=[e,f,a,a*h,0,0,d,!0];if(i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}if(t){if(!i||n){if(d>=0&&c<0){renderLeftFrontChunk()}else if(d<=0&&c>0){renderRightFrontChunk()}else if(d<=0&&c<0){if(d>c){b.ellipse(e,f+k,a,a*h,0,0,Math.PI,!1);b.lineTo(e-a,f);g=[e,f,a,a*h,0,Math.PI,0,!0];if(!i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}}else {if(d>c){renderLeftFrontChunk();renderRightFrontChunk()}else {g=[e,f,a,a*h,0,d,c,!1];if(p&&!i||q&&i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.lineTo(e+Math.cos(c)*a,f+Math.sin(c)*a*h+k);b.ellipse(e,f+k,a,a*h,0,c,d,!0);b.closePath()}}}}else {if(i||n){if(d>=0&&c<0){renderLeftBackChunk()}else if(d<=0&&c>0){renderRightBackChunk()}else if(d<=0&&c<0){if(d>c){renderLeftBackChunk();renderRightBackChunk()}else {b.ellipse(e,f+k,a,a*h,0,d,c,!1);b.lineTo(e+Math.cos(c)*a,f+Math.sin(c)*a*h);g=[e,f,a,a*h,0,c,d,!0];if(i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}}else {if(d>c){b.ellipse(e,f+k,a,a*h,0,-Math.PI,0,!1);b.lineTo(e+a,f);g=[e,f,a,a*h,0,0,-Math.PI,!0];if(i){j.bevelParams.push(g)}b.ellipse.apply(b,g);b.closePath()}}}}},innerFrontRenderer:function(a){this.rimRenderer(a,this.attr.startRho,!0,!0)},innerBackRenderer:function(a){this.rimRenderer(a,this.attr.startRho,!0,!1)},outerFrontRenderer:function(a){this.rimRenderer(a,this.attr.endRho,!1,!0)},outerBackRenderer:function(a){this.rimRenderer(a,this.attr.endRho,!1,!1)}});Ext.define('Ext.chart.series.Pie3D',{extend:'Ext.chart.series.Polar',requires:['Ext.chart.series.sprite.Pie3DPart','Ext.draw.PathUtil'],type:'pie3d',seriesType:'pie3d',alias:'series.pie3d',is3D:!0,config:{rect:[0,0,0,0],thickness:35,distortion:0.5,donut:0,hidden:[],highlightCfg:{margin:20},shadow:!1},rotationOffset:-Math.PI/2,setField:function(a){return this.setXField(a)},getField:function(){return this.getXField()},updateRotation:function(b){var a={baseRotation:b+this.rotationOffset};this.forEachSprite(function(c){c.setAttributes(a)})},updateColors:function(b){this.setSubStyle({baseColor:b});if(!this.isConfiguring){var a=this.getChart();if(a){a.refreshLegendStore()}}},applyShadow:function(a){if(a===!0){a={shadowColor:'rgba(0,0,0,0.8)',shadowBlur:30}}else if(!Ext.isObject(a)){a={shadowColor:Ext.util.Color.RGBA_NONE}}return a},updateShadow:function(f){var d=this,b=d.getSprites(),e=d.spritesPerSlice,g=b&&b.length,a,c;for(a=1;a=j.length){j[a]=!1}}if(e===0){return}u=2*Math.PI/e;for(a=0;ae/2){b=e/(a.getDistortion()*2)}else {b=c}return Math.max(b,0)},forEachSprite:function(c){var b=this.sprites,d=b.length,a;for(a=0;a=0;a--){c=d.get(a);b=c.hitTestEvent(e);if(b){return b}}return null},handleEvent:function(c){var b=this,d=b.drawContainer,f=c.type in b.mouseMoveEvents,e=b.lastSprite,a;if(f&&!b.hasSpriteMouseMoveListeners()){return}a=b.hitTestEvent(c);if(f&&!Ext.Object.equals(a,e)){if(e){d.fireEvent('spritemouseout',e,c)}if(a){d.fireEvent('spritemouseover',a,c)}}if(a){d.fireEvent('sprite'+c.type,a,c)}b.lastSprite=a}});Ext.define('Ext.chart.interactions.ItemInfo',{extend:'Ext.chart.interactions.Abstract',type:'iteminfo',alias:'interaction.iteminfo',config:{gestures:{tap:'onInfoGesture'},panel:{modal:!0,centered:!0,width:300,height:200,scrollable:'vertical',hideOnMaskTap:!0,fullscreen:!1,hidden:!1,zIndex:30}},item:null,applyPanel:function(b,a){return Ext.factory(b,'Ext.Panel',a)},updatePanel:function(b,a){if(b){b.on('hide',"reset",this)}if(a){a.un('hide',"reset",this)}},onInfoGesture:function(d,e){var a=this,c=a.getPanel(),b=a.getItemForEvent(d);if(b){a.item=b;a.fireEvent('show',a,b,c);Ext.Viewport.add(c);c.show('pop');b.series.setAttributesForItem(b,{highlighted:!0});a.sync()}return !1},reset:function(){var b=this,a=b.item;if(a){a.series.setAttributesForItem(a,{highlighted:!1});b.item=null;b.sync()}}});