@antv/g-mobile-canvas
Version:
A renderer implemented with Canvas2D API in mobile environment
27 lines • 66.5 kB
JavaScript
/*!
* @antv/g-mobile-canvas
* @description A renderer implemented with Canvas2D API in mobile environment
* @version 1.1.1
* @date 12/24/2025, 11:57:27 AM
* @author AntVis
* @docs https://g.antv.antgroup.com/
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@antv/g-lite")):"function"==typeof define&&define.amd?define(["exports","@antv/g-lite"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).G=e.G||{},e.G.MobileCanvas2D={}),e.window.G)}(this,function(e,t){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}function i(e,t){for(var r=0;t.length>r;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,n(i.key),i)}}function o(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function c(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function u(e,t,r){return t=s(t),c(e,l()?Reflect.construct(t,r||[],s(e).constructor):t.apply(e,r))}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}function d(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function p(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach(function(t){d(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);t>r;r++)n[r]=e[r];return n}function g(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,a,s=[],l=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var x=0;function w(e){return"__private_"+x+++"_"+e}var S="undefined"!=typeof Float32Array?Float32Array:Array;function k(){var e=new S(16);return S!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function T(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function P(e,t,r){var n=t[0],i=t[1],o=t[2],a=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],d=t[10],v=t[11],p=t[12],y=t[13],g=t[14],m=t[15],b=r[0],x=r[1],w=r[2],S=r[3];return e[0]=b*n+x*s+w*h+S*p,e[1]=b*i+x*l+w*f+S*y,e[2]=b*o+x*c+w*d+S*g,e[3]=b*a+x*u+w*v+S*m,e[4]=(b=r[4])*n+(x=r[5])*s+(w=r[6])*h+(S=r[7])*p,e[5]=b*i+x*l+w*f+S*y,e[6]=b*o+x*c+w*d+S*g,e[7]=b*a+x*u+w*v+S*m,e[8]=(b=r[8])*n+(x=r[9])*s+(w=r[10])*h+(S=r[11])*p,e[9]=b*i+x*l+w*f+S*y,e[10]=b*o+x*c+w*d+S*g,e[11]=b*a+x*u+w*v+S*m,e[12]=(b=r[12])*n+(x=r[13])*s+(w=r[14])*h+(S=r[15])*p,e[13]=b*i+x*l+w*f+S*y,e[14]=b*o+x*c+w*d+S*g,e[15]=b*a+x*u+w*v+S*m,e}function M(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function O(){var e=new S(3);return S!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function C(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function E(e,t,r){var n=t[0],i=t[1],o=t[2],a=r[3]*n+r[7]*i+r[11]*o+r[15];return e[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/(a=a||1),e[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/a,e[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/a,e}function A(e){return null==e}O(),function(){var e,t=(e=new S(2),S!=Float32Array&&(e[0]=0,e[1]=0),e)}();var D=function(e,t,r){return t>e?t:e>r?r:e};function R(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function L(e,t,r,n,i,o,a,s,l,c){var u,h,f,d,v,p=e,y=t,g=r,m=n,b=s,x=l,w=120*Math.PI/180,S=Math.PI/180*(+i||0),k=[];if(c)h=c[0],f=c[1],d=c[2],v=c[3];else{y=(u=R(p,y,-S)).y;var T=((p=u.x)-(b=(u=R(b,x,-S)).x))/2,P=(y-(x=u.y))/2,M=T*T/(g*g)+P*P/(m*m);M>1&&(g*=M=Math.sqrt(M),m*=M);var O=g*g,C=m*m,E=(o===a?-1:1)*Math.sqrt(Math.abs((O*C-O*P*P-C*T*T)/(O*P*P+C*T*T)));d=E*g*P/m+(p+b)/2,h=Math.asin(((y-(v=E*-m*T/g+(y+x)/2))/m*1e9|0)/1e9),f=Math.asin(((x-v)/m*1e9|0)/1e9),0>(h=d>p?Math.PI-h:h)&&(h=2*Math.PI+h),0>(f=d>b?Math.PI-f:f)&&(f=2*Math.PI+f),a&&h>f&&(h-=2*Math.PI),!a&&f>h&&(f-=2*Math.PI)}var A=f-h;if(Math.abs(A)>w){var D=f,I=b,j=x;k=L(b=d+g*Math.cos(f=h+w*(a&&f>h?1:-1)),x=v+m*Math.sin(f),g,m,i,0,a,I,j,[f,D,d,v])}A=f-h;var F=Math.cos(h),_=Math.sin(h),N=Math.cos(f),B=Math.sin(f),G=Math.tan(A/4),W=4/3*g*G,Y=4/3*m*G,H=[p,y],X=[p+W*_,y-Y*F],z=[b+W*B,x-Y*N],q=[b,x];if(X[0]=2*H[0]-X[0],X[1]=2*H[1]-X[1],c)return X.concat(z,q,k);for(var V=[],Q=0,$=(k=X.concat(z,q,k)).length;$>Q;Q+=1)V[Q]=Q%2?R(k[Q-1],k[Q],S).y:R(k[Q],k[Q+1],S).x;return V}function I(e,t){return Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1]))}function j(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=g(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return e.length>n?{done:!1,value:e[n++]}:{done:!0}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function F(e,t){this.v=e,this.k=t}function _(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_=function(e,t,r,n){function o(t,r){_(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(o("next",0),o("throw",1),o("return",2))},_(e,t,r,n)}function N(){
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,n,i,o){var l=Object.create((n&&n.prototype instanceof s?n:s).prototype);return _(l,"_invoke",function(r,n,i){var o,s,l,c=0,u=i||[],h=!1,f={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,r){return o=t,s=0,l=e,f.n=r,a}};function d(r,n){for(s=r,l=n,t=0;!h&&c&&!i&&u.length>t;t++){var i,o=u[t],d=f.p,v=o[2];r>3?(i=v===n)&&(l=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):d>=o[0]&&((i=2>r&&o[1]>d)?(s=0,f.v=n,f.n=o[1]):v>d&&(i=3>r||o[0]>n||n>v)&&(o[4]=r,o[5]=n,f.n=v,s=0))}if(i||r>1)return a;throw h=!0,n}return function(i,u,v){if(c>1)throw TypeError("Generator is already running");for(h&&1===u&&d(u,v),s=u,l=v;(t=2>s?e:l)||!h;){o||(s?3>s?(s>1&&(f.n=-1),d(s,l)):f.n=l:f.v=l);try{if(c=2,o){if(s||(i="next"),t=o[i]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,2>s&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),2>s&&(l=TypeError("The iterator does not provide a '"+i+"' method"),s=1);o=e}else if((t=(h=0>f.n)?l:r.call(n,f))!==a)break}catch(t){o=e,s=1,l=t}finally{c=1}}return{value:t,done:h}}}(r,i,o),!0),l}var a={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][n]?t(t([][n]())):(_(t={},n,function(){return this}),t),h=c.prototype=s.prototype=Object.create(u);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,_(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=c,_(h,"constructor",c),_(c,"constructor",l),l.displayName="GeneratorFunction",_(c,i,"GeneratorFunction"),_(h),_(h,i,"Generator"),_(h,n,function(){return this}),_(h,"toString",function(){return"[object Generator]"}),(N=function(){return{w:o,m:f}})()}function B(e,t){function r(n,i,o,a){try{var s=e[n](i),l=s.value;return l instanceof F?t.resolve(l.v).then(function(e){r("next",e,o,a)},function(e){r("throw",e,o,a)}):t.resolve(l).then(function(e){s.value=e,o(s)},function(e){return r("throw",e,o,a)})}catch(e){a(e)}}var n;this.next||(_(B.prototype),_(B.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),_(this,"_invoke",function(e,i,o){function a(){return new t(function(t,n){r(e,o,t,n)})}return n=n?n.then(a,a):a()},!0)}function G(e,t,r,n,i){return new B(N().w(e,t,r,n),i||Promise)}function W(e,t,r,n,i){var o=G(e,t,r,n,i);return o.next().then(function(e){return e.done?e.value:o.next()})}function Y(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}}function H(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(r(e)+" is not iterable")}function X(){var e=N(),t=e.m(X),r=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function n(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===r||"GeneratorFunction"===(t.displayName||t.name))}var i={throw:1,return:2,break:3,continue:3};function o(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,i[e],t)},delegateYield:function(e,i,o){return t.resultName=i,r(n.d,H(e),o)},finish:function(e){return r(n.f,e)}},r=function(e,r,i){n.p=t.prev,n.n=t.next;try{return e(r,i)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(X=function(){return{wrap:function(t,r,n,i){return e.w(o(t),r,n,i&&i.reverse())},isGeneratorFunction:n,mark:e.m,awrap:function(e,t){return new F(e,t)},AsyncIterator:B,async:function(e,t,r,i,a){return(n(t)?G:W)(o(e),t,r,i,a)},keys:Y,values:H}})()}function z(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,i)}function q(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){z(o,n,i,a,s,"next",e)}function s(e){z(o,n,i,a,s,"throw",e)}a(void 0)})}}function V(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}
/*!
* @antv/g-math
* @description Geometry util
* @version 3.1.0
* @date 12/24/2025, 11:55:15 AM
* @author AntVis
* @docs https://g.antv.antgroup.com/
*/function Q(e,t,r,n){var i=e-r,o=t-n;return Math.sqrt(i*i+o*o)}function $(e,t,r,n,i,o){var a=-1,s=1/0,l=[r,n],c=20;o&&o>200&&(c=o/10);for(var u=1/c,h=u/10,f=0;c>=f;f++){var d=f*u,v=[i.apply(void 0,V(e.concat([d]))),i.apply(void 0,V(t.concat([d])))],p=Q(l[0],l[1],v[0],v[1]);s>p&&(a=d,s=p)}if(0===a)return{x:e[0],y:t[0]};if(1===a){var y=e.length;return{x:e[y-1],y:t[y-1]}}s=1/0;for(var g=0;32>g&&1e-4<=h;g++){var m=a-h,b=a+h,x=[i.apply(void 0,V(e.concat([m]))),i.apply(void 0,V(t.concat([m])))],w=Q(l[0],l[1],x[0],x[1]);if(m>=0&&s>w)a=m,s=w;else{var S=[i.apply(void 0,V(e.concat([b]))),i.apply(void 0,V(t.concat([b])))],k=Q(l[0],l[1],S[0],S[1]);1>=b&&s>k?(a=b,s=k):h*=.5}}return{x:i.apply(void 0,V(e.concat([a]))),y:i.apply(void 0,V(t.concat([a])))}}function U(e,t,r,n,i,o){var a=[r-e,n-t];if(function(e,t){return e[0]===t[0]&&e[1]===t[1]}(a,[0,0]))return Math.sqrt((i-e)*(i-e)+(o-t)*(o-t));var s=[-a[1],a[0]];return function(e,t){var r=t[0],n=t[1],i=r*r+n*n;i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i}(s,s),Math.abs(function(e,t){return e[0]*t[0]+e[1]*t[1]}([i-e,o-t],s))}function J(e,t,r,n,i){var o=1-i;return o*o*o*e+3*t*i*o*o+3*r*i*i*o+n*i*i*i}function Z(e,t,r,n,i,o,a,s,l,c,u){var h=function(e,t,r,n,i,o,a,s,l,c,u){return $([e,r,i,a],[t,n,o,s],l,c,J,u)}(e,t,r,n,i,o,a,s,l,c,u);return Q(h.x,h.y,l,c)}function K(e,t,r,n){var i=1-n;return i*i*e+2*n*i*t+n*n*r}function ee(e,t,r,n,i,o,a,s){var l=function(e,t,r,n,i,o,a,s){return $([e,r,i],[t,n,o],a,s,K)}(e,t,r,n,i,o,a,s);return Q(l.x,l.y,a,s)}
/*!
* @antv/g-canvas
* @description A renderer implemented by Canvas 2D API
* @version 2.2.0
* @date 12/24/2025, 11:55:53 AM
* @author AntVis
* @docs https://g.antv.antgroup.com/
*/var te=w("renderState"),re=function(){function e(t){a(this,e),this.renderQueue=[],Object.defineProperty(this,te,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=k(),this.dprMatrix=k(),this.tmpMat4=k(),this.vec3a=O(),this.vec3b=O(),this.vec3c=O(),this.vec3d=O(),this.canvasRendererPluginOptions=t}return o(e,[{key:"apply",value:function(r,n){var i=this;this.context=r;var o=this.context,a=o.config,s=o.camera,l=o.renderingService,c=o.renderingContext,u=o.pathGeneratorFactory,h=a.renderer.getConfig().enableRenderingOptimization;a.renderer.getConfig().enableDirtyCheck=!1,a.renderer.getConfig().enableDirtyRectangleRendering=!1,this.pathGeneratorFactory=u;var f=r.contextService,d=c.root.ownerDocument.defaultView;l.hooks.init.tap(e.tag,function(){var e=f.getDPR(),t=a.width,r=a.height,n=f.getContext();i.clearRect(n,0,0,t*e,r*e,a.background)}),l.hooks.destroy.tap(e.tag,function(){i.renderQueue=[],b(i,te)[te]={restoreStack:[],prevObject:null,currentContext:null}});var v=function(e,t){for(var r=[e];r.length>0;){var o,a=r.pop();a.isVisible()&&!a.isCulled()&&(h?i.renderDisplayObjectOptimized(a,t,i.context,b(i,te)[te],n):i.renderDisplayObject(a,t,i.context,b(i,te)[te],n));for(var s=(null===(o=a.sortable)||void 0===o||null===(o=o.sorted)||void 0===o?void 0:o.length)>0?a.sortable.sorted:a.childNodes,l=s.length-1;l>=0;l--)r.push(s[l])}};l.hooks.endFrame.tap(e.tag,function(){if(function(){var e,t=f.getContext(),r=f.getDPR(),n=a.width,o=a.height,s=i.canvasRendererPluginOptions,c=s.dirtyObjectNumThreshold,u=s.dirtyObjectRatioThreshold,h=l.getStats(),v=h.rendered,p=v/h.total;i.clearFullScreen=i.clearFullScreenLastFrame||!(null!==(e=d.context.renderingPlugins[1])&&void 0!==e&&e.isFirstTimeRenderingFinished)||l.disableDirtyRectangleRendering()||v>c&&p>u,t&&("function"==typeof t.resetTransform?t.resetTransform():t.setTransform(1,0,0,1,0,0),i.clearFullScreen&&i.clearRect(t,0,0,n*r,o*r,a.background))}(),0!==c.root.childNodes.length){h=a.renderer.getConfig().enableRenderingOptimization,b(i,te)[te]={restoreStack:[],prevObject:null,currentContext:b(i,te)[te].currentContext},b(i,te)[te].currentContext.clear(),i.clearFullScreenLastFrame=!1;var e,r,o=f.getContext(),u=f.getDPR();if((e=i.dprMatrix)[0]=(r=[u,u,1])[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=r[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=r[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,P(i.vpMatrix,i.dprMatrix,s.getOrthoMatrix()),i.clearFullScreen)h?(o.save(),v(c.root,o),o.restore()):v(c.root,o);else{var p=i.safeMergeAABB(i.mergeDirtyAABBs(i.renderQueue));if(t.AABB.isEmpty(p))return void(i.renderQueue=[]);var y=i.convertAABB2Rect(p),g=y.x,x=y.y,w=y.width,S=y.height,k=E(i.vec3a,[g,x,0],i.vpMatrix),T=E(i.vec3b,[g+w,x,0],i.vpMatrix),M=E(i.vec3c,[g,x+S,0],i.vpMatrix),O=E(i.vec3d,[g+w,x+S,0],i.vpMatrix),C=Math.min(k[0],T[0],O[0],M[0]),A=Math.min(k[1],T[1],O[1],M[1]),D=Math.max(k[0],T[0],O[0],M[0]),R=Math.max(k[1],T[1],O[1],M[1]),L=Math.floor(C),I=Math.floor(A),j=Math.ceil(D-C),F=Math.ceil(R-A);o.save(),i.clearRect(o,L,I,j,F,a.background),o.beginPath(),o.rect(L,I,j,F),o.clip(),o.setTransform(i.vpMatrix[0],i.vpMatrix[1],i.vpMatrix[4],i.vpMatrix[5],i.vpMatrix[12],i.vpMatrix[13]),a.renderer.getConfig().enableDirtyRectangleRenderingDebug&&d.dispatchEvent(new t.CustomEvent(t.CanvasEvent.DIRTY_RECTANGLE,{dirtyRect:{x:L,y:I,width:j,height:F}}));var _=m(p.getMin(),2),N=_[0],B=_[1],G=m(p.getMax(),2);c.root.ownerDocument.elementsFromBBox(N,B,G[0],G[1]).sort(function(e,t){return e.sortable.renderOrder-t.sortable.renderOrder}).forEach(function(e){e&&e.isVisible()&&!e.isCulled()&&i.renderDisplayObject(e,o,i.context,b(i,te)[te],n)}),o.restore(),i.renderQueue.forEach(function(e){i.saveDirtyAABB(e)}),i.renderQueue=[]}b(i,te)[te].restoreStack.forEach(function(){o.restore()}),b(i,te)[te].restoreStack=[]}else i.clearFullScreenLastFrame=!0}),l.hooks.render.tap(e.tag,function(e){i.clearFullScreen||i.renderQueue.push(e)})}},{key:"clearRect",value:function(e,t,r,n,i,o){e.clearRect(t,r,n,i),o&&(e.fillStyle=o,e.fillRect(t,r,n,i))}},{key:"renderDisplayObjectOptimized",value:function(e,r,n,i,o){var a=e.nodeName,s=!1,l=this.context.styleRendererFactory[a],c=this.pathGeneratorFactory[a],u=e.parsedStyle.clipPath;if(u){(!i.prevObject||!M(u.getWorldTransform(),i.prevObject.getWorldTransform()))&&(this.applyWorldTransform(r,u),i.prevObject=null);var h=this.pathGeneratorFactory[u.nodeName];h&&(r.save(),s=!0,r.beginPath(),h(r,u.parsedStyle),r.closePath(),r.clip())}if(l){(!i.prevObject||!M(e.getWorldTransform(),i.prevObject.getWorldTransform()))&&this.applyWorldTransform(r,e);var f=!i.prevObject;if(!f){var d=i.prevObject.nodeName;f=a===t.Shape.TEXT?d!==t.Shape.TEXT:a===t.Shape.IMAGE?d!==t.Shape.IMAGE:d===t.Shape.TEXT||d===t.Shape.IMAGE}l.applyStyleToContext(r,e,f,i),i.prevObject=e}c&&(r.beginPath(),c(r,e.parsedStyle),a!==t.Shape.LINE&&a!==t.Shape.PATH&&a!==t.Shape.POLYLINE&&r.closePath()),l&&l.drawToContext(r,e,b(this,te)[te],this,o),s&&r.restore(),e.dirty(!1)}},{key:"renderDisplayObject",value:function(e,r,n,i,o){var a=e.nodeName,s=i.restoreStack[i.restoreStack.length-1];!s||e.compareDocumentPosition(s)&t.Node.DOCUMENT_POSITION_CONTAINS||(r.restore(),i.restoreStack.pop());var l=this.context.styleRendererFactory[a],c=this.pathGeneratorFactory[a],u=e.parsedStyle.clipPath;if(u){this.applyWorldTransform(r,u);var h=this.pathGeneratorFactory[u.nodeName];h&&(r.save(),i.restoreStack.push(e),r.beginPath(),h(r,u.parsedStyle),r.closePath(),r.clip())}l&&(this.applyWorldTransform(r,e),r.save(),this.applyAttributesToContext(r,e)),c&&(r.beginPath(),c(r,e.parsedStyle),a!==t.Shape.LINE&&a!==t.Shape.PATH&&a!==t.Shape.POLYLINE&&r.closePath()),l&&(l.render(r,e.parsedStyle,e,n,this,o),r.restore()),e.dirty(!1)}},{key:"applyAttributesToContext",value:function(e,t){var r=t.parsedStyle,n=r.stroke,i=r.fill,o=r.opacity,a=r.lineDash,s=r.lineDashOffset;a&&e.setLineDash(a),A(s)||(e.lineDashOffset=s),A(o)||(e.globalAlpha*=o),A(n)||Array.isArray(n)||n.isNone||(e.strokeStyle=t.attributes.stroke),A(i)||Array.isArray(i)||i.isNone||(e.fillStyle=t.attributes.fill)}},{key:"convertAABB2Rect",value:function(e){var t=e.getMin(),r=e.getMax(),n=Math.floor(t[0]),i=Math.floor(t[1]);return{x:n,y:i,width:Math.ceil(r[0])-n,height:Math.ceil(r[1])-i}}},{key:"mergeDirtyAABBs",value:function(e){var r=new t.AABB;return e.forEach(function(e){var t=e.getRenderBounds();r.add(t);var n=e.renderable.dirtyRenderBounds;n&&r.add(n)}),r}},{key:"saveDirtyAABB",value:function(e){var r=e.renderable;r.dirtyRenderBounds||(r.dirtyRenderBounds=new t.AABB);var n=e.getRenderBounds();n&&r.dirtyRenderBounds.update(n.center,n.halfExtents)}},{key:"applyWorldTransform",value:function(e,t,r){r?(T(this.tmpMat4,t.getLocalTransform()),P(this.tmpMat4,r,this.tmpMat4),P(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(T(this.tmpMat4,t.getWorldTransform()),P(this.tmpMat4,this.vpMatrix,this.tmpMat4)),e.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var e=new t.AABB,r=arguments.length,n=Array(r),i=0;r>i;i++)n[i]=arguments[i];return n.forEach(function(t){e.add(t)}),e}}])}();function ne(e,t,r,n,i,o,a){var s,l;if("rect"===e.image.nodeName){var c=e.image.parsedStyle,u=c.width,h=c.height;l=n.contextService.getDPR();var f=n.config.offscreenCanvas;(s=o.offscreenCanvasCreator.getOrCreateCanvas(f)).width=u*l,s.height=h*l;var d=o.offscreenCanvasCreator.getOrCreateContext(f),v={restoreStack:[],prevObject:null,currentContext:new Map};e.image.forEach(function(e){i.renderDisplayObject(e,d,n,v,o)}),v.restoreStack.forEach(function(){d.restore()})}return a.getOrCreatePatternSync(t,e,r,s,l,t.getGeometryBounds().min,function(){t.dirty(),n.renderingService.dirty()})}function ie(e,r,n,i){var o;if(e.type===t.GradientType.LinearGradient||e.type===t.GradientType.RadialGradient){var a=r.getGeometryBounds(),s=a&&2*a.halfExtents[0]||1,l=a&&2*a.halfExtents[1]||1,c=a&&a.min||[0,0];o=i.getOrCreateGradient(p(p({type:e.type},e.value),{},{min:c,width:s,height:l}),n)}return o}re.tag="CanvasRenderer";var oe=["shadowBlur","shadowOffsetX","shadowOffsetY"],ae=["lineCap","lineJoin","miterLimit"],se={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},le={};function ce(e,t,r,n){var i=n.has(t)?n.get(t):se[t];return i!==r&&("lineDash"===t?e.setLineDash(r):e[t]=r,n.set(t,r)),i}var ue=function(){return o(function e(t){a(this,e),this.imagePool=t},[{key:"applyAttributesToContext",value:function(e,t){}},{key:"render",value:function(e,t,r,n,i,o){}},{key:"applyCommonStyleToContext",value:function(e,t,r,n){var i=r?le:n.prevObject.parsedStyle,o=t.parsedStyle;(r||o.opacity!==i.opacity)&&ce(e,"globalAlpha",A(o.opacity)?se.globalAlpha:o.opacity,n.currentContext),(r||o.blend!==i.blend)&&ce(e,"globalCompositeOperation",A(o.blend)?se.globalCompositeOperation:o.blend,n.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(e,t,r,n){var i=r?le:n.prevObject.parsedStyle,o=t.parsedStyle,a=o.lineWidth,s=o.fill&&!o.fill.isNone;if(o.stroke&&!o.stroke.isNone&&(void 0===a?se.lineWidth:a)>0){if(r||t.attributes.stroke!==n.prevObject.attributes.stroke)ce(e,"strokeStyle",A(o.stroke)||Array.isArray(o.stroke)||o.stroke.isNone?se.strokeStyle:t.attributes.stroke,n.currentContext);(r||o.lineWidth!==i.lineWidth)&&ce(e,"lineWidth",A(o.lineWidth)?se.lineWidth:o.lineWidth,n.currentContext),(r||o.lineDash!==i.lineDash)&&ce(e,"lineDash",o.lineDash||se.lineDash,n.currentContext),(r||o.lineDashOffset!==i.lineDashOffset)&&ce(e,"lineDashOffset",A(o.lineDashOffset)?se.lineDashOffset:o.lineDashOffset,n.currentContext);for(var l=0;ae.length>l;l++){var c=ae[l];(r||o[c]!==i[c])&&ce(e,c,A(o[c])?se[c]:o[c],n.currentContext)}}s&&(r||t.attributes.fill!==n.prevObject.attributes.fill)&&ce(e,"fillStyle",A(o.fill)||Array.isArray(o.fill)||o.fill.isNone?se.fillStyle:t.attributes.fill,n.currentContext)}},{key:"applyStyleToContext",value:function(e,r,n,i){var o=r.nodeName;this.applyCommonStyleToContext(e,r,n,i),o===t.Shape.IMAGE||this.applyStrokeFillStyleToContext(e,r,n,i)}},{key:"applyShadowAndFilterStyleToContext",value:function(e,t,r,n){var i=t.parsedStyle;if(r){ce(e,"shadowColor",""+i.shadowColor,n.currentContext);for(var o=0;oe.length>o;o++){var a=oe[o];ce(e,a,i[a]||se[a],n.currentContext)}}i.filter&&i.filter.length&&ce(e,"filter",t.attributes.filter,n.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(e,t,r,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(t){ce(e,"shadowColor",se.shadowColor,n.currentContext);for(var o=0;oe.length>o;o++){var a=oe[o];ce(e,a,se[a],n.currentContext)}}if(r)if(t&&i){var s=e.filter;!A(s)&&s.indexOf("drop-shadow")>-1&&ce(e,"filter",s.replace(/drop-shadow\([^)]*\)/,"").trim()||se.filter,n.currentContext)}else ce(e,"filter",se.filter,n.currentContext)}},{key:"fillToContext",value:function(e,r,n,i,o){var a=this,s=r.parsedStyle,l=s.fill,c=s.fillRule,u=null;if(Array.isArray(l)&&l.length>0)l.forEach(function(t){var i=ce(e,"fillStyle",ie(t,r,e,a.imagePool),n.currentContext);u=null!=u?u:i,c?e.fill(c):e.fill()});else{if(t.isPattern(l)){var h=ne(l,r,e,r.ownerDocument.defaultView.context,i,o,this.imagePool);h&&(e.fillStyle=h,u=!0)}c?e.fill(c):e.fill()}null!==u&&ce(e,"fillStyle",u,n.currentContext)}},{key:"strokeToContext",value:function(e,r,n,i,o){var a=this,s=r.parsedStyle.stroke,l=null;if(Array.isArray(s)&&s.length>0)s.forEach(function(t){var i=ce(e,"strokeStyle",ie(t,r,e,a.imagePool),n.currentContext);l=null!=l?l:i,e.stroke()});else{if(t.isPattern(s)){var c=ne(s,r,e,r.ownerDocument.defaultView.context,i,o,this.imagePool);if(c){var u=ce(e,"strokeStyle",c,n.currentContext);l=null!=l?l:u}}e.stroke()}null!==l&&ce(e,"strokeStyle",l,n.currentContext)}},{key:"drawToContext",value:function(e,r,n,i,o){var a,s=r.nodeName,l=r.parsedStyle,c=l.opacity,u=void 0===c?se.globalAlpha:c,h=l.fillOpacity,f=void 0===h?se.fillOpacity:h,d=l.strokeOpacity,v=void 0===d?se.strokeOpacity:d,p=l.lineWidth,y=l.fill&&!l.fill.isNone,g=l.stroke&&!l.stroke.isNone&&(void 0===p?se.lineWidth:p)>0;if(y||g){var m=!A(l.shadowColor)&&l.shadowBlur>0,b="inner"===l.shadowType,x=0===(null===(a=l.fill)||void 0===a?void 0:a.alpha),w=!(!l.filter||!l.filter.length),S=m&&g&&(s===t.Shape.PATH||s===t.Shape.LINE||s===t.Shape.POLYLINE||x||b),k=null;if(y)S||this.applyShadowAndFilterStyleToContext(e,r,m,n),k=ce(e,"globalAlpha",u*f,n.currentContext),this.fillToContext(e,r,n,i,o),S||this.clearShadowAndFilterStyleForContext(e,m,w,n);if(g){var T=!1,P=ce(e,"globalAlpha",u*v,n.currentContext);if(k=y?k:P,S&&(this.applyShadowAndFilterStyleToContext(e,r,m,n),T=!0,b)){var M=e.globalCompositeOperation;e.globalCompositeOperation="source-atop",this.strokeToContext(e,r,n,i,o),e.globalCompositeOperation=M,this.clearShadowAndFilterStyleForContext(e,m,w,n,!0)}this.strokeToContext(e,r,n,i,o),T&&this.clearShadowAndFilterStyleForContext(e,m,w,n)}null!==k&&ce(e,"globalAlpha",k,n.currentContext)}}}])}(),he=function(e){function r(){return a(this,r),u(this,r,arguments)}return f(r,e),o(r,[{key:"render",value:function(e,r,n,i,o,a){var s=r.fill,l=r.fillRule,c=r.opacity,u=void 0===c?1:c,h=r.fillOpacity,f=void 0===h?1:h,d=r.stroke,v=r.strokeOpacity,p=void 0===v?1:v,y=r.lineWidth,g=void 0===y?1:y,m=r.lineCap,b=r.lineJoin,x=r.shadowType,w=r.shadowBlur,S=r.filter,k=r.miterLimit,T=s&&!s.isNone,P=d&&!d.isNone&&g>0,M=0===(null==s?void 0:s.alpha),O=!(!S||!S.length),C=!A(r.shadowColor)&&w>0,E=n.nodeName,D="inner"===x,R=P&&C&&(E===t.Shape.PATH||E===t.Shape.LINE||E===t.Shape.POLYLINE||M||D);T&&(e.globalAlpha=u*f,R||fe(n,e,C),de(e,n,s,l,i,o,a,this.imagePool),R||this.clearShadowAndFilter(e,O,C)),P&&(e.globalAlpha=u*p,e.lineWidth=g,A(k)||(e.miterLimit=k),A(m)||(e.lineCap=m),A(b)||(e.lineJoin=b),R&&(D&&(e.globalCompositeOperation="source-atop"),fe(n,e,!0),D&&(ve(e,n,d,i,o,a,this.imagePool),e.globalCompositeOperation=se.globalCompositeOperation,this.clearShadowAndFilter(e,O,!0))),ve(e,n,d,i,o,a,this.imagePool))}},{key:"clearShadowAndFilter",value:function(e,t,r){if(r&&(e.shadowColor="transparent",e.shadowBlur=0),t){var n=e.filter;!A(n)&&n.indexOf("drop-shadow")>-1&&(e.filter=n.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(ue);function fe(e,t,r){var n=e.parsedStyle,i=n.filter,o=n.shadowColor,a=n.shadowBlur,s=n.shadowOffsetX,l=n.shadowOffsetY;i&&i.length&&(t.filter=e.style.filter),r&&(t.shadowColor=""+o,t.shadowBlur=a||0,t.shadowOffsetX=s||0,t.shadowOffsetY=l||0)}function de(e,r,n,i,o,a,s,l){var c=arguments.length>8&&void 0!==arguments[8]&&arguments[8];Array.isArray(n)?n.forEach(function(t){e.fillStyle=ie(t,r,e,l),c||(i?e.fill(i):e.fill())}):(t.isPattern(n)&&(e.fillStyle=ne(n,r,e,o,a,s,l)),c||(i?e.fill(i):e.fill()))}function ve(e,r,n,i,o,a,s){var l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];Array.isArray(n)?n.forEach(function(t){e.strokeStyle=ie(t,r,e,s),l||e.stroke()}):(t.isPattern(n)&&(e.strokeStyle=ne(n,r,e,i,o,a,s)),l||e.stroke())}var pe=function(e){function t(){return a(this,t),u(this,t,arguments)}return f(t,e),o(t,[{key:"renderDownSampled",value:function(e,t,r,n){var i=n.src,o=n.imageCache;o.downSampled?e.drawImage(o.downSampled,Math.floor(n.drawRect[0]),Math.floor(n.drawRect[1]),Math.ceil(n.drawRect[2]),Math.ceil(n.drawRect[3])):this.imagePool.createDownSampledImage(i,r).then(function(){r.ownerDocument&&(r.dirty(),r.ownerDocument.defaultView.context.renderingService.dirty())}).catch(function(e){console.error(e)})}},{key:"renderTile",value:function(e,t,r,n){var i=n.src,o=n.imageCache,a=n.imageRect,s=n.drawRect,l=o.size,c=e.getTransform(),u=c.a,h=c.b,f=c.c,d=c.d,v=c.e,p=c.f;if(e.resetTransform(),null!=o&&o.gridSize){for(var y=[l[0]/a[2],l[1]/a[3]],g=[o.tileSize[0]/y[0],o.tileSize[1]/y[1]],m=[Math.floor((s[0]-a[0])/g[0]),Math.ceil((s[0]+s[2]-a[0])/g[0])],b=m[0],x=m[1],w=[Math.floor((s[1]-a[1])/g[1]),Math.ceil((s[1]+s[3]-a[1])/g[1])],S=w[1],k=w[0];S>=k;k++)for(var T=b;x>=T;T++){var P=o.tiles[k][T];if(P){var M=[Math.floor(a[0]+P.tileX*g[0]),Math.floor(a[1]+P.tileY*g[1]),Math.ceil(g[0]),Math.ceil(g[1])];e.drawImage(P.data,M[0],M[1],M[2],M[3])}}e.setTransform(u,h,f,d,v,p)}else this.imagePool.createImageTiles(i,[],function(){r.ownerDocument&&(r.dirty(),r.ownerDocument.defaultView.context.renderingService.dirty())},r).catch(function(e){console.error(e)})}},{key:"render",value:function(e,r,n){var i=r.x,o=void 0===i?0:i,a=r.y,s=void 0===a?0:a,l=r.width,c=r.height,u=r.src,h=r.shadowColor,f=r.shadowBlur,d=this.imagePool.getImageSync(u,n),v=null==d?void 0:d.img,p=l,y=c;if(v){var g,b,x,w,k,T,P,M,C,D,R,L,I,j,F,_,N,B,G,W,Y,H,X,z,q,V,Q,$,U,J,Z,K,ee,te,re,ne,ie,oe;p||(p=v.width),y||(y=v.height),fe(n,e,!A(h)&&f>0);try{var ae=n.ownerDocument.defaultView.getContextService().getDomElement(),se=ae.width,le=ae.height,ce=e.getTransform(),ue=(H=ce.a,X=ce.c,z=0,q=0,V=ce.b,Q=ce.d,$=0,U=0,J=0,Z=0,K=1,ee=0,te=ce.e,re=ce.f,ne=0,ie=1,(oe=new S(16))[0]=H,oe[1]=X,oe[2]=z,oe[3]=q,oe[4]=V,oe[5]=Q,oe[6]=$,oe[7]=U,oe[8]=J,oe[9]=Z,oe[10]=K,oe[11]=ee,oe[12]=te,oe[13]=re,oe[14]=ne,oe[15]=ie,oe),he=(_=[o,s,p,y],N=ue,B=E(O(),[_[0],_[1],0],N),G=E(O(),[_[0]+_[2],_[1],0],N),W=E(O(),[_[0],_[1]+_[3],0],N),Y=E(O(),[_[0]+_[2],_[1]+_[3],0],N),[Math.min(B[0],G[0],W[0],Y[0]),Math.min(B[1],G[1],W[1],Y[1]),Math.max(B[0],G[0],W[0],Y[0])-Math.min(B[0],G[0],W[0],Y[0]),Math.max(B[1],G[1],W[1],Y[1])-Math.min(B[1],G[1],W[1],Y[1])]),de=(g=he,b=m([0,0,se,le],4),x=b[0],w=b[1],k=b[2],T=b[3],P=m(g,4),C=P[1],D=P[2],R=P[3],L=Math.max(x,M=P[0]),I=Math.max(w,C),j=Math.min(x+k,M+D),F=Math.min(w+T,C+R),j>L&&F>I?[L,I,j-L,F-I]:null);if(!de)return;if(!n.ownerDocument.defaultView.getConfig().enableLargeImageOptimization)return void t.renderFull(e,r,n,{image:v,drawRect:[o,s,p,y]});if((d.downSamplingRate||.5)>he[2]/d.size[0])return void this.renderDownSampled(e,r,n,{src:u,imageCache:d,drawRect:[o,s,p,y]});if(!ImagePool.isSupportTile)return void t.renderFull(e,r,n,{image:v,drawRect:[o,s,p,y]});this.renderTile(e,r,n,{src:u,imageCache:d,imageRect:he,drawRect:de})}catch(e){}}}},{key:"drawToContext",value:function(e,t,r,n,i){this.render(e,t.parsedStyle,t)}}],[{key:"renderFull",value:function(e,t,r,n){e.drawImage(n.image,Math.floor(n.drawRect[0]),Math.floor(n.drawRect[1]),Math.ceil(n.drawRect[2]),Math.ceil(n.drawRect[3]))}}])}(he),ye=function(e){function t(){return a(this,t),u(this,t,arguments)}return f(t,e),o(t,[{key:"render",value:function(e,t,r,n,i,o){r.getBounds();var a=t.lineWidth,s=void 0===a?1:a,l=t.textAlign,c=void 0===l?"start":l,u=t.textBaseline,h=void 0===u?"alphabetic":u,f=t.lineJoin,d=void 0===f?"miter":f,v=t.miterLimit,p=void 0===v?10:v,y=t.letterSpacing,g=void 0===y?0:y,m=t.stroke,b=t.fill,x=t.fillRule,w=t.fillOpacity,S=void 0===w?1:w,k=t.strokeOpacity,T=void 0===k?1:k,P=t.opacity,M=void 0===P?1:P,O=t.metrics,C=t.x,E=void 0===C?0:C,D=t.y,R=void 0===D?0:D,L=t.dx,I=t.dy,j=t.shadowColor,F=t.shadowBlur,_=t.textDecorationLine,N=O.lines,B=O.height,G=O.lineHeight,W=O.lineMetrics;e.font=O.font,e.lineWidth=s,e.textAlign="middle"===c?"center":c;var Y=h;"alphabetic"===Y&&(Y="bottom"),e.lineJoin=d,A(p)||(e.miterLimit=p);var H=R;"middle"===h?H+=-B/2-G/2:"bottom"===h||"alphabetic"===h||"ideographic"===h?H+=-B:"top"!==h&&"hanging"!==h||(H+=-G);var X=E+(L||0);H+=I||0,1===N.length&&("bottom"===Y?(Y="middle",H-=.5*B):"top"===Y&&(Y="middle",H+=.5*B)),e.textBaseline=Y,fe(r,e,!A(j)&&F>0);for(var z=0;N.length>z;z++){var q=s/2+X;H+=G,A(m)||m.isNone||!s||this.drawLetterSpacing(e,r,N[z],W[z],c,q,H,g,b,x,S,m,T,M,!0,n,i,o),A(b)||this.drawLetterSpacing(e,r,N[z],W[z],c,q,H,g,b,x,S,m,T,M,!1,n,i,o)}_&&"none"!==_&&this.drawTextDecorations(e,t,r,N,G,X,R+(I||0),n,i,o)}},{key:"drawLetterSpacing",value:function(e,t,r,n,i,o,a,s,l,c,u,h,f,d,v,p,y,g){if(0!==s){var m=e.textAlign;e.textAlign="left";var b=o;"center"===i||"middle"===i?b=o-n.width/2:"right"!==i&&"end"!==i||(b=o-n.width);for(var x=Array.from(r),w=e.measureText(r).width,S=0,k=0;x.length>k;++k){var T=x[k];v?this.strokeText(e,t,T,b,a,h,f,p,y,g):this.fillText(e,t,T,b,a,l,c,u,d,p,y,g),b+=w-(S=e.measureText(r.substring(k+1)).width)+s,w=S}e.textAlign=m}else v?this.strokeText(e,t,r,o,a,h,f,p,y,g):this.fillText(e,t,r,o,a,l,c,u,d,p,y,g)}},{key:"fillText",value:function(e,t,r,n,i,o,a,s,l,c,u,h){var f;de(e,t,o,a,c,u,h,this.imagePool,!0);var d=!A(s)&&1!==s;d&&(f=e.globalAlpha,e.globalAlpha=s*l),e.fillText(r,n,i),d&&(e.globalAlpha=f)}},{key:"strokeText",value:function(e,t,r,n,i,o,a,s,l,c){var u;ve(e,t,o,s,l,c,this.imagePool,!0);var h=!A(a)&&1!==a;h&&(u=e.globalAlpha,e.globalAlpha=a),e.strokeText(r,n,i),h&&(e.globalAlpha=u)}},{key:"drawTextDecorations",value:function(e,t,r,n,i,o,a,s,l,c){var u=t.textDecorationLine,h=t.textDecorationColor,f=t.textDecorationStyle,d=t.textDecorationThickness,v=void 0===d?1:d,p=t.textAlign,y=void 0===p?"start":p,g=t.lineWidth,m=void 0===g?1:g,b=t.metrics;if(u&&"none"!==u){var x=b.lineMetrics,w=u.split(" ");switch(e.lineWidth=v,h&&(e.strokeStyle="rgba(".concat(h.r,", ").concat(h.g,", ").concat(h.b,", ").concat(h.alpha,")")),f){case"dashed":e.setLineDash([5,5]);break;case"dotted":e.setLineDash([2,2]);break;default:e.setLineDash([])}var S=a,k=t.textBaseline,T=void 0===k?"alphabetic":k;"middle"===T?S+=-b.height/2-i/2:"bottom"===T||"alphabetic"===T||"ideographic"===T?S+=-b.height:"top"!==T&&"hanging"!==T||(S+=-i);for(var P=0;n.length>P;P++){S+=i;var M=x[P];if(M){var O=m/2,C=o,E=o+M.width;"center"===y||"middle"===y?(C=o-M.width/2,E=o+M.width/2):"right"!==y&&"end"!==y||(C=o-M.width,E=o),C+=O,E+=O;var A,D=j(w);try{for(D.s();!(A=D.n()).done;){var R=S;switch(A.value){case"underline":R+=2;break;case"overline":R-=i-2;break;case"line-through":R-=i/2;break;default:continue}"wavy"===f?this.drawWavyLine(e,C,E,R):(e.beginPath(),e.moveTo(C,R),e.lineTo(E,R),e.stroke())}}catch(e){D.e(e)}finally{D.f()}}}e.setLineDash([])}}},{key:"drawWavyLine",value:function(e,t,r,n){var i=10,o=Math.floor((r-t)/i);e.beginPath(),e.moveTo(t,n);for(var a=0;o>a;a++){e.quadraticCurveTo(t+a*i+2.5,n+2,t+a*i+5,n),e.quadraticCurveTo(t+a*i+7.5,n-2,t+(a+1)*i,n)}e.stroke()}},{key:"drawToContext",value:function(e,t,r,n,i){this.render(e,t.parsedStyle,t,t.ownerDocument.defaultView.context,n,i)}}])}(he),ge=function(e){function r(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a(this,r),(e=u(this,r)).name="canvas-renderer",e.options=t,e}return f(r,e),o(r,[{key:"init",value:function(){var e,r=p({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),n=this.context.imagePool,i=new he(n),o=(d(d(d(d(d(d(d(d(d(d(e={},t.Shape.CIRCLE,i),t.Shape.ELLIPSE,i),t.Shape.RECT,i),t.Shape.IMAGE,new pe(n)),t.Shape.TEXT,new ye(n)),t.Shape.LINE,i),t.Shape.POLYLINE,i),t.Shape.POLYGON,i),t.Shape.PATH,i),t.Shape.GROUP,void 0),d(d(d(e,t.Shape.HTML,void 0),t.Shape.MESH,void 0),t.Shape.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=o,this.context.styleRendererFactory=o,this.addRenderingPlugin(new re(r))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(t.AbstractRendererPlugin),me=Object.freeze({__proto__:null,CircleRenderer:he,DefaultRenderer:he,EllipseRenderer:he,ImageRenderer:pe,LineRenderer:he,PathRenderer:he,Plugin:ge,PolygonRenderer:he,PolylineRenderer:he,RectRenderer:he,TextRenderer:ye}),be=O(),xe=O(),we=O(),Se=k(),ke=function(){function e(){var r=this;a(this,e),this.isHit=function(e,n,i,o){var a,s,l,c,u,h,f,d,v,p,y,g,m,b,x,w,S,k,T,P,M,O,A,D,R,L,I,j,F,_,N,B=r.context.pointInPathPickerFactory[e.nodeName];if(B){var G=(a=Se,(N=(T=(l=(s=i)[0])*(d=s[5])-(c=s[1])*(f=s[4]))*(_=(m=s[10])*(k=s[15])-(b=s[11])*(S=s[14]))-(P=l*(v=s[6])-(u=s[2])*f)*(F=(g=s[9])*k-b*(w=s[13]))+(M=l*(p=s[7])-(h=s[3])*f)*(j=g*S-m*w)+(O=c*v-u*d)*(I=(y=s[8])*k-b*(x=s[12]))-(A=c*p-h*d)*(L=y*S-m*x)+(D=u*p-h*v)*(R=y*w-g*x))?(a[0]=(d*_-v*F+p*j)*(N=1/N),a[1]=(u*F-c*_-h*j)*N,a[2]=(w*D-S*A+k*O)*N,a[3]=(m*A-g*D-b*O)*N,a[4]=(v*I-f*_-p*L)*N,a[5]=(l*_-u*I+h*L)*N,a[6]=(S*M-x*D-k*P)*N,a[7]=(y*D-m*M+b*P)*N,a[8]=(f*F-d*I+p*R)*N,a[9]=(c*I-l*F-h*R)*N,a[10]=(x*A-w*M+k*T)*N,a[11]=(g*M-y*A-b*T)*N,a[12]=(d*L-f*j-v*R)*N,a[13]=(l*j-c*L+u*R)*N,a[14]=(w*P-x*O-S*T)*N,a[15]=(y*O-g*P+m*T)*N,a):null),W=E(xe,C(we,n[0],n[1],0),G);if(B(e,new t.Point(W[0],W[1]),o,r.isPointInPath,r.context,r.runtime))return!0}return!1},this.isPointInPath=function(e,t){var n=r.runtime.offscreenCanvasCreator.getOrCreateContext(r.context.config.offscreenCanvas),i=r.context.pathGeneratorFactory[e.nodeName];return i&&(n.beginPath(),i(n,e.parsedStyle),n.closePath()),n.isPointInPath(t.x,t.y)}}return o(e,[{key:"apply",value:function(t,r){var n,i=this,o=t.renderingService,a=t.renderingContext;this.context=t,this.runtime=r;var s=null===(n=a.root)||void 0===n?void 0:n.ownerDocument;o.hooks.pick.tapPromise(e.tag,function(){var e=q(X().mark(function e(t){return X().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.pick(s,t));case 1:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()),o.hooks.pickSync.tap(e.tag,function(e){return i.pick(s,e)})}},{key:"pick",value:function(e,r){var n,i=r.topmost,o=r.position,a=C(be,o.x,o.y,0),s=[],l=j(e.elementsFromBBox(a[0],a[1],a[0],a[1]));try{for(l.s();!(n=l.n()).done;){var c=n.value,u=c.getWorldTransform();if(this.isHit(c,a,u,!1)){var h=t.findClosestClipPathTarget(c);if(h){var f=h.parsedStyle.clipPath;if(this.isHit(f,a,f.getWorldTransform(),!0)){if(i)return r.picked=[c],r;s.push(c)}}else{if(i)return r.picked=[c],r;s.push(c)}}}}catch(e){l.e(e)}finally{l.f()}return r.picked=s,r}}])}();function Te(e,r,n){var i=e.parsedStyle,o=i.cx,a=i.cy,s=i.r,l=i.fill,c=i.stroke,u=i.lineWidth,h=i.increasedLineWidthForHitTesting,f=i.pointerEvents,d=void 0===f?"auto":f,v=((void 0===u?1:u)+(void 0===h?0:h))/2,p=Q(void 0===o?0:o,void 0===a?0:a,r.x,r.y),y=m(t.isFillOrStrokeAffected(d,l,c),2),g=y[0],b=y[1];return g&&b||n?s+v>=p:g?s>=p:!!b&&(p>=s-v&&s+v>=p)}function Pe(e,t,r,n){return e/(r*r)+t/(n*n)}function Me(e,r,n){var i=e.parsedStyle,o=i.cx,a=void 0===o?0:o,s=i.cy,l=void 0===s?0:s,c=i.rx,u=i.ry,h=i.lineWidth,f=void 0===h?1:h,d=i.increasedLineWidthForHitTesting,v=void 0===d?0:d,p=i.pointerEvents,y=r.x,g=r.y,b=m(t.isFillOrStrokeAffected(void 0===p?"auto":p,i.fill,i.stroke),2),x=b[0],w=b[1],S=(f+v)/2,k=(y-a)*(y-a),T=(g-l)*(g-l);return x&&w||n?1>=Pe(k,T,c+S,u+S):x?1>=Pe(k,T,c,u):!!w&&(Pe(k,T,c-S,u-S)>=1&&1>=Pe(k,T,c+S,u+S))}function Oe(e,t,r,n,i,o){return!(e>i||i>e+r||t>o||o>t+n)}function Ce(e,t,r,n,i,o,a,s){var l=(Math.atan2(s-t,a-e)+2*Math.PI)%(2*Math.PI),c={x:e+r*Math.cos(l),y:t+r*Math.sin(l)};return Q(c.x,c.y,a,s)<=o/2}function Ee(e,t,r,n,i,o,a){var s=i/2;return!(Math.min(e,r)-s>o||o>Math.max(e,r)+s||Math.min(t,n)-s>a||a>Math.max(t,n)+s)&&U(e,t,r,n,o,a)<=i/2}function Ae(e,t,r,n,i){var o=e.length;if(2>o)return!1;for(var a=0;o-1>a;a++){if(Ee(e[a][0],e[a][1],e[a+1][0],e[a+1][1],t,r,n))return!0}if(i){var s=e[0],l=e[o-1];if(Ee(s[0],s[1],l[0],l[1],t,r,n))return!0}return!1}ke.tag="CanvasPicker";function De(e){return 1e-6>Math.abs(e)?0:0>e?-1:1}function Re(e,t,r){return!((r[0]-e[0])*(t[1]-e[1])!==(t[0]-e[0])*(r[1]-e[1])||Math.min(e[0],t[0])>r[0]||r[0]>Math.max(e[0],t[0])||Math.min(e[1],t[1])>r[1]||r[1]>Math.max(e[1],t[1]))}function Le(e,t,r){var n=!1,i=e.length;if(2>=i)return!1;for(var o=0;i>o;o++){var a=e[o],s=e[(o+1)%i];if(Re(a,s,[t,r]))return!0;De(a[1]-r)>0!=De(s[1]-r)>0&&0>De(t-(r-a[1])*(a[0]-s[0])/(a[1]-s[1])-a[0])&&(n=!n)}return n}function Ie(e,t,r){for(var n=!1,i=0;e.length>i;i++){if(n=Le(e[i],t,r))break}return n}function je(e,r,n){var i=e.parsedStyle,o=i.x1,a=i.y1,s=i.x2,l=i.y2,c=i.lineWidth,u=void 0===c?1:c,h=i.increasedLineWidthForHitTesting,f=void 0===h?0:h,d=i.pointerEvents;return!(!m(t.isFillOrStrokeAffected(void 0===d?"auto":d,i.fill,i.stroke),2)[1]&&!n||!u)&&Ee(o,a,s,l,u+f,r.x,r.y)}function Fe(e,r,n,i,o,a){var s=e.parsedStyle,l=s.lineWidth,c=void 0===l?1:l,u=s.increasedLineWidthForHitTesting,h=void 0===u?0:u,f=s.d,d=s.pointerEvents,v=f.segments,p=f.hasArc,y=f.polylines,g=f.polygons,b=m(t.isFillOrStrokeAffected(void 0===d?"auto":d,(null==g?void 0:g.length)&&s.fill,s.stroke),2),x=b[0],w=b[1],S=t.getOrCalculatePathTotalLength(e),k=!1;return x||n?k=p?i(e,r):Ie(g,r.x,r.y)||Ie(y,r.x,r.y):((w||n)&&(k=function(e,t,r,n,i){for(var o=!1,a=t/2,s=0;e.length>s;s++){var l=e[s],c=l.currentPoint,u=l.params,h=l.prePoint,f=l.box;if(!f||Oe(f.x-a,f.y-a,f.width+t,f.height+t,r,n))switch(l.command){case"L":case"Z":if(o=Ee(h[0],h[1],c[0],c[1],t,r,n))return!0;break;case"Q":if(o=t/2>=ee(h[0],h[1],u[1],u[2],u[3],u[4],r,n))return!0;break;case"C":if(o=t/2>=Z(h[0],h[1],u[1],u[2],u[3],u[4],u[5],u[6],r,n,i))return!0;break;case"A":l.cubicParams||(l.cubicParams=L(h[0],h[1],u[1],u[2],u[3],u[4],u[5],u[6],u[7],void 0));for(var d=l.cubicParams,v=h,p=0;d.length>p;p+=6){var y=Z(v[0],v[1],d[p],d[p+1],d[p+2],d[p+3],d[p+4],d[p+5],r,n,i);if(v=[d[p+4],d[p+5]],o=t/2>=y)return!0}}}return o}(v,c+h,r.x,r.y,S)),k)}function _e(e,r,n){var i=e.parsedStyle,o=i.lineWidth,a=void 0===o?1:o,s=i.increasedLineWidthForHitTesting,l=void 0===s?0:s,c=i.points,u=i.pointerEvents,h=m(t.isFillOrStrokeAffected(void 0===u?"auto":u,i.fill,i.stroke),2),f=h[0],d=!1;return(h[1]||n)&&(d=Ae(c.points,a+l,r.x,r.y,!0)),d||!f&&!n||(d=Le(c.points,r.x,r.y)),d}function Ne(e,r,n){var i=e.parsedStyle,o=i.lineWidth,a=void 0===o?1:o,s=i.increasedLineWidthForHitTesting,l=void 0===s?0:s,c=i.points,u=i.pointerEvents;return!(!m(t.isFillOrStrokeAffected(void 0===u?"auto":u,i.fill,i.stroke),2)[1]&&!n||!a)&&Ae(c.points,a+l,r.x,r.y,!1)}function Be(e,r,n,i,o){var a=e.parsedStyle,s=a.radius,l=a.lineWidth,c=void 0===l?1:l,u=a.increasedLineWidthForHitTesting,h=void 0===u?0:u,f=a.x,d=void 0===f?0:f,v=a.y,p=void 0===v?0:v,y=a.width,g=a.height,b=a.pointerEvents,x=m(t.isFillOrStrokeAffected(void 0===b?"auto":b,a.fill,a.stroke),2),w=x[0],S=x[1],k=c+h;if(s&&s.some(function(e){return 0!==e})){var T=!1;return(S||n)&&(T=function(e,t,r,n,i,o,a,s){var l=m(i,4),c=l[0],u=l[1],h=l[2],f=l[3];return Ee(e+c,t,e+r-u,t,o,a,s)||Ee(e+r,t+u,e+r,t+n-h,o,a,s)||Ee(e+r-h,t+n,e+f,t+n,o,a,s)||Ee(e,t+n-f,e,t+c,o,a,s)||Ce(e+r-u,t+u,u,0,0,o,a,s)||Ce(e+r-h,t+n-h,h,0,0,o,a,s)||Ce(e+f,t+n-f,f,0,0,o,a,s)||Ce(e+c,t+c,c,0,0,o,a,s)}(d,p,y,g,s.map(function(e){return D(e,0,Math.min(Math.abs(y)/2,Math.abs(g)/2))}),k,r.x,r.y)),T||!w&&!n||(T=i(e,r)),T}var P=k/2;return w&&S||n?Oe(d-P,p-P,y+P,g+P,r.x,r.y):w?Oe(d,p,y,g,r.x,r.y):!!S&&function(e,t,r,n,i,o,a){var s=i/2;return Oe(e-s,t-s,r,i,o,a)||Oe(e+r-s,t-s,i,n,o,a)||Oe(e+s,t+n-s,r,i,o,a)||Oe(e-s,t+s,i,n,o,a)}(d,p,y,g,k,r.x,r.y)}function Ge(e,r,n,i,o,a){var s=e.parsedStyle,l=s.pointerEvents,c=s.x,u=void 0===c?0:c,h=s.y,f=void 0===h?0:h,d=s.width,v=s.height;if("non-transparent-pixel"===(void 0===l?"auto":l)){var y=o.config.offscreenCanvas,g=a.offscreenCanvasCreator.getOrCreateCanvas(y),m=a.offscreenCanvasCreator.getOrCreateContext(y,{willReadFrequently:!0});return g.width=d,g.height=v,o.defaultStyleRendererFactory[t.Shape.IMAGE].render(m,p(p({},e.parsedStyle),{},{x:0,y:0}),e,void 0,void 0,void 0),m.getImageData(r.x-u,r.y-f,1,1).data.every(function(e){return 0!==e})}return!0}function We(e,t,r,n){var i=e.getGeometryBounds();return!(i.min[0]>t.x||i.min[1]>t.y||t.x>i.max[0]||t.y>i.max[1])}var Ye=function(e){function r(){var e;a(this,r);for(var t=arguments.length,n=Array(t),i=0;t>i;i++)n[i]=arguments[i];return(e=u(this,r,[].concat(n))).name="canvas-picker",e}return f(r,e),o(r,[{key:"init",value:function(){var e,r=(d(d(d(d(d(d(d(d(d(d(e={},t.Shape.CIRCLE,Te),t.Shape.ELLIPSE,Me),t.Shape.RECT,Be),t.Shape.LINE,je),t.Shape.POLYLINE,Ne),t.Shape.POLYGON,_e),t.Shape.PATH,Fe),t.Shape.TEXT,We),t.Shape.GROUP,null),t.Shape.IMAGE,Ge),d(d(e,t.Shape.HTML,null),t.Shape.MESH,null));this.context.pointInPathPickerFactory=r,this.addRenderingPlugin(new ke)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(t.AbstractRendererPlugin),He=Object.freeze({__proto__:null,Plugin:Ye});function Xe(e,t){var r=t.cx,n=t.cy;e.arc(void 0===r?0:r,void 0===n?0:n,t.r,0,2*Math.PI,!1)}function ze(e,t){var r=t.cx,n=void 0===r?0:r,i=t.cy,o=void 0===i?0:i,a=t.rx,s=t.ry;if(e.ellipse)e.ellipse(n,o,a,s,0,0,2*Math.PI,!1);else{var l=a>s?a:s,c=a>s?1:a/s,u=a>s?s/a:1;e.save(),e.scale(c,u),e.arc(n,o,l,0,2*Math.PI)}}function qe(e,r){var n=r.x1,i=r.y1,o=r.x2,a=r.y2,s=r.markerStart,l=r.markerEnd,c=r.markerStartOffset,u=r.markerEndOffset,h=0,f=0,d=0,v=0,p=0;s&&t.isDisplayObject(s)&&c&&(h=Math.cos(p=Math.atan2(a-i,o-n))*(c||0),f=Math.sin(p)*(c||0)),l&&t.isDisplayObject(l)&&u&&(d=Math.cos(p=Math.atan2(i-a,n-o))*(u||0),v=Math.sin(p)*(u||0)),e.moveTo(n+h,i+f),e.lineTo(o+d,a+v)}function Ve(e,r){var n=r.markerStart,i=r.markerEnd,o=r.markerStartOffset,a=r.markerEndOffset,s=r.d,l=s.absolutePath,c=s.segments,u=0,h=0,f=0,d=0,v=0;if(n&&t.isDisplayObject(n)&&o){var p=m(n.parentNode.getStartTangent(),2),y=p[0],g=p[1];u=Math.cos(v=Math.atan2(y[1]-g[1],y[0]-g[0]))*(o||0),h=Math.sin(v)*(o||0)}if(i&&t.isDisplayObject(i)&&a){var b=m(i.parentNode.getEndTangent(),2),x=b[0],w=b[1];f=Math.cos(v=Math.atan2(x[1]-w[1],x[0]-w[0]))*(a||0),d=Math.sin(v)*(a||0)}for(var S=0;l.length>S;S++){var k=l[S],T=k[0],P=l[S+1],M=(S===l.length-1||P&&("M"===P[0]||"Z"===P[0]))&&0!==f&&0!==d,O=m(0===S&&(0!==u||0!==h)?[u,h]:[0,0],2),C=O[0],E=O[1],A=m(M?[f,d]:[0,0],2),D=A[0],R=A[1];switch(T){case"M":e.moveTo(k[1]+C,k[2]+E);break;case"L":e.lineTo(k[1]+D,k[2]+R);break;case"Q":e.quadraticCurveTo(k[1],k[2],k[3]+D,k[4]+R);break;case"C":e.bezierCurveTo(k[1],k[2],k[3],k[4],k[5]+D,k[6]+R);break;case"A":var L=c[S].arcParams,I=L.cx,j=L.cy,F=L.rx,_=L.ry,N=L.startAngle,B=L.endAngle,G=L.xRotation,W=L.sweepFlag;if(e.ellipse)e.ellipse(I,j,F,_,G,N,B,!!(1-W));else{var Y=F>_?F:_,H=F>_?1:F/_,X=F>_?_/F:1;e.translate(I,j),e.rotate(G),e.scale(H,X),e.arc(0,0,Y,N,B,!!(1-W)),e.scale(1/H,1/X),e.rotate(-G),e.translate(-I,-j)}M&&e.lineTo(k[6]+f,k[7]+d);break;case"Z":e.closePath()}}}function Qe(e,r){var n=r.markerStart,i=r.markerEnd,o=r.markerStartOffset,a=r.markerEndOffset,s=r.points.points,l=s.length,c=s[0][0],u=s[0][1],h=s[l-1][0],f=s[l-1][1],d=0,v=0,p=0,y=0,g=0;n&&t.isDisplayObject(n)&&o&&(d=Math.cos(g=Math.atan2(s[1][1]-s[0][1],s[1][0]-s[0][0]))*(o||0),v=Math.sin(g)*(o||0)),i&&t.isDisplayObject(i)&&a&&(p=Math.cos(g=Math.atan2(s[l-1][1]-s[0][1],s[l-1][0]-s[0][0]))*(a||0),y=Math.sin(g)*(a||0)),e.moveTo(c+(d||p),u+(v||y));for(var m=1;l-1>m;m++){var b=s[m];e.lineTo(b[0],b[1])}e.lineTo(h,f)}function $e(e,r){var n=r.markerStart,i=r.markerEnd,o=r.markerStartOffset,a=r.markerEndOffset,s=r.points.points,l=s.length,c=s[0][0],u=s[0][1],h=s[l-1][0],f=s[l-1][1],d=0,v=0,p=0,y=0,g=0;n&&t.isDisplayObject(n)&&o&&(d=Math.cos(g=Math.atan2(s[1][1]-s[0][1],s[1][0]-s[0][0]))*(o||0),v=Math.sin(g)*(o||0)),i&&t.isDisplayObject(i)&&a&&(p=Math.cos(g=Math.atan2(s[l-2][1]-s[l-1][1],s[l-2][0]-s[l-1][0]))*(a||0),y=Math.sin(g)*(a||0)),e.moveTo(c+d,u+v);for(var m=1;l-1>m;m++){var b=s[m];e.lineTo(b[0],b[1])}e.lineTo(h+p,f+y)}function Ue(e,t){var r=t.x,n=void 0===r?0