d||(c=c===b?-b:c-b);b=this.aStartAngle+a*c;a=this.aX+this.xRadius*Math.cos(b);var e=this.aY+this.yRadius*Math.sin(b);0!==this.aRotation&&(b=Math.cos(this.aRotation),c=Math.sin(this.aRotation),d=a-this.aX,e-=this.aY,a=d*b-e*c+this.aX,e=d*c+e*b+this.aY);return new D(a,e)};Ab.prototype=Object.create(Ba.prototype);Ab.prototype.constructor=Ab;Ab.prototype.isSplineCurve=!0;Ab.prototype.getPoint=function(a){var b=this.points,c=(b.length-1)*a;a=Math.floor(c);var c=c-a,d=b[0===a?a:a-1],e=b[a],f=b[a>b.length-
2?b.length-1:a+1],b=b[a>b.length-3?b.length-1:a+2];return new D(Oe(c,d.x,e.x,f.x,b.x),Oe(c,d.y,e.y,f.y,b.y))};gc.prototype=Object.create(Ba.prototype);gc.prototype.constructor=gc;gc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new D(zb(a,b.x,c.x,d.x,e.x),zb(a,b.y,c.y,d.y,e.y))};hc.prototype=Object.create(Ba.prototype);hc.prototype.constructor=hc;hc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new D(yb(a,b.x,c.x,d.x),yb(a,b.y,c.y,d.y))};