l?t.y+t.height-l+6:t.y,i.y=r.y=t.height>l?t.y+e.y-d.y:e.y):t.y>d.y&&(d.y=t.y,i.y=r.y=e.y)),new y(d.x,d.y,h,l)},h.prototype.tooltipLocation=function(t,i,r,o){if(!e.isNullOrUndefined(this.tooltipPlacement))return this.getCurrentPosition(t,i,r,o);var n=new v(i.x,i.y),s=this.elementSize.width+2*this.marginX,a=this.elementSize.height+2*this.marginY,h=this.offset,l=this.clipBounds.x,d=this.clipBounds.y,p=t.x,c=t.y;return this.inverted?(n=new v(n.x+l+h,n.y+d-this.elementSize.height/2-this.padding),r.y=o.y=a/2,(n.x+s+this.arrowPadding>p+t.width||this.isNegative)&&(n.x=(i.x>t.width?t.width:i.x)+l-h-(s+this.arrowPadding)),n.x=c+t.height&&(r.y+=n.y+a-(c+t.height),o.y+=n.y+a-(c+t.height),n.y-=n.y+a-(c+t.height)),r.y+this.arrowPadding/2>a-this.ry&&(r.y=a-this.ry-this.arrowPadding/2,o.y=a,this.tipRadius=0),r.y-this.arrowPadding/2c+t.height&&(n.y=(i.y>t.height?t.height:i.y)+d-this.elementSize.height-2*this.padding-this.arrowPadding-h),o.x=s/2,n.xp+t.width&&(r.x+=n.x+s-(p+t.width),o.x+=n.x+s-(p+t.width),n.x-=n.x+s-(p+t.width)),r.x+this.arrowPadding/2>s-this.rx&&(r.x=s-this.rx-this.arrowPadding/2,o.x=s,this.tipRadius=0),r.x-this.arrowPadding/2