function e(e){this._context=e}e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function t(t){return new e(t)}function n(e){return e<0?-1:1}function r(e,t,r){var i=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(i||a<0&&-0),s=(r-e._y1)/(a||i<0&&-0),c=(o*a+s*i)/(i+a);return(n(o)+n(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(c))||0}function i(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function a(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function o(e){this._context=e}o.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:a(this,this._t0,i(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,a(this,i(this,n=r(this,e,t)),n);break;default:a(this,this._t0,n=r(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function s(e){this._context=new c(e)}(s.prototype=Object.create(o.prototype)).point=function(e,t){o.prototype.point.call(this,t,e)};function c(e){this._context=e}c.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function l(e){return new o(e)}function u(e){return new s(e)}export{u as n,t as r,l as t};
//# sourceMappingURL=monotone-B5yjxlXO.js.map