@arantic/bugpin-widget 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.js","sources":["../../../node_modules/.bun/preact@10.28.1/node_modules/preact/dist/preact.module.js","../../../node_modules/.bun/preact@10.28.1/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../node_modules/.bun/preact@10.28.1/node_modules/preact/hooks/dist/hooks.module.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/shared/src/utils.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/defaultAttributes.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/Icon.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/createLucideIcon.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/bug.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/circle-alert.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/circle-help.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/flag.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/heart.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/info.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/mail.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/message-square.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/send.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/settings.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/star.js","../../../node_modules/.bun/lucide-preact@0.460.0+d1af1c5cf341b28a/node_modules/lucide-preact/dist/esm/icons/zap.js","../components/Icon.tsx","../components/WidgetLauncherButton.tsx","../components/Tabs.tsx","../components/ScreenshotManager.tsx","../components/WidgetDialog.tsx","../components/Toast.tsx","../../../node_modules/.bun/fabric@6.9.1/node_modules/fabric/dist/index.min.mjs","../annotate/AnnotationCanvas.tsx","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/util.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js","../../../node_modules/.bun/html-to-image@1.11.13/node_modules/html-to-image/es/index.js","../capture/screenshot.ts","../capture/context.ts","../../../node_modules/.bun/idb@8.0.3/node_modules/idb/build/index.js","../storage/report-buffer.ts","../api/submit.ts","../components/App.tsx","../config.ts","../index.ts"],"sourcesContent":["var n,l,u,t,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,w=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?S(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!$.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)($)}function $(){for(var n,u,t,r,o,f,c,s=1;i.length;)i.length>s&&i.sort(e),n=i.shift(),s=i.length,n.__d&&(t=void 0,r=void 0,o=(r=(u=n).__v).__e,f=[],c=[],u.__P&&((t=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(t),O(u.__P,t,r,u.__n,u.__P.namespaceURI,32&r.__u?[o]:null,f,null==o?S(r):o,!!(32&r.__u),c),t.__v=r.__v,t.__.__k[t.__i]=t,N(f,t,c),r.__e=r.__=null,t.__e!=o&&C(t)));$.__r=0}function I(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,w,d,g,_,m=t&&t.__k||v,b=l.length;for(f=P(u,l,m,f,b),a=0;a<b;a++)null!=(y=u.__k[a])&&(h=-1==y.__i?p:m[y.__i]||p,y.__i=a,g=O(n,y,h,i,r,o,e,f,c,s),w=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&B(h.ref,null,y),s.push(y.ref,y.__c||w,y)),null==d&&null!=w&&(d=w),(_=!!(4&y.__u))||h.__k===y.__k?f=A(y,f,n,_):\"function\"==typeof y.type&&void 0!==g?f=g:w&&(f=w.nextSibling),y.__u&=-7);return u.__e=d,f}function P(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?o=n.__k[r]=m(null,o,null,null,null):w(o)?o=n.__k[r]=m(k,{children:o},null,null,null):null==o.constructor&&o.__b>0?o=n.__k[r]=m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=L(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=S(e)),D(e,e));return t}function A(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=A(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=S(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function H(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(w(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function T(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||y.test(l)?u:u+\"px\"}function j(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||T(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||T(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(f,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u.u=t.u:(u.u=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=c++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function O(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,m,b,S,C,M,$,P,A,H,L,T,j=u.type;if(null!=u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if(\"function\"==typeof j)try{if(b=u.props,S=\"prototype\"in j&&j.prototype.render,C=(a=j.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?m=(h=u.__c=t.__c).__=h.__E:(S?u.__c=h=new j(b,M):(u.__c=h=new x(b,M),h.constructor=j,h.render=E),C&&C.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),S&&null==h.__s&&(h.__s=h.state),S&&null!=j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,j.getDerivedStateFromProps(b,h.__s))),v=h.props,y=h.state,h.__v=u,p)S&&null==j.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),S&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(S&&null==j.getDerivedStateFromProps&&b!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(b,M),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(b,h.__s,M)){for(u.__v!=t.__v&&(h.props=b,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),$=0;$<h._sb.length;$++)h.__h.push(h._sb[$]);h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(b,h.__s,M),S&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,_)})}if(h.context=M,h.props=b,h.__P=n,h.__e=!1,P=l.__r,A=0,S){for(h.state=h.__s,h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),S&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,y)),L=a,null!=a&&a.type===k&&null==a.key&&(L=V(a.props.children)),f=I(n,w(L)?L:[L],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),m&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(T=o.length;T--;)g(o[T]);z(u)}else u.__e=t.__e,u.__k=t.__k,n.then||z(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=q(t.__e,u,t,i,r,o,e,c,s);return(a=l.diffed)&&a(u),128&u.__u?void 0:f}function z(n){n&&n.__c&&(n.__c.__e=!0),n&&n.__k&&n.__k.forEach(z)}function N(n,u,t){for(var i=0;i<t.length;i++)B(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function V(n){return\"object\"!=typeof n||null==n||n.__b&&n.__b>0?n:w(n)?n.map(V):d({},n)}function q(u,t,i,r,o,e,f,c,s){var a,h,v,y,d,_,m,b=i.props||p,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(a=0;a<e.length;a++)if((d=e[a])&&\"setAttribute\"in d==!!x&&(x?d.localName==x:3==d.nodeType)){u=d,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)b===k||c&&u.data==k||(u.data=k);else{if(e=e&&n.call(u.childNodes),!c&&null!=e)for(b={},a=0;a<u.attributes.length;a++)b[(d=u.attributes[a]).name]=d.value;for(a in b)if(d=b[a],\"children\"==a);else if(\"dangerouslySetInnerHTML\"==a)v=d;else if(!(a in k)){if(\"value\"==a&&\"defaultValue\"in k||\"checked\"==a&&\"defaultChecked\"in k)continue;j(u,a,null,d,o)}for(a in k)d=k[a],\"children\"==a?y=d:\"dangerouslySetInnerHTML\"==a?h=d:\"value\"==a?_=d:\"checked\"==a?m=d:c&&\"function\"!=typeof d||b[a]===d||j(u,a,d,b[a],o);if(h)c||v&&(h.__html==v.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(v&&(u.innerHTML=\"\"),I(\"template\"==t.type?u.content:u,w(y)?y:[y],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a=\"value\",\"progress\"==x&&null==_?u.removeAttribute(\"value\"):null!=_&&(_!==u[a]||\"progress\"==x&&!_||\"option\"==x&&_!=b[a])&&j(u,a,_,b[a],o),a=\"checked\",null!=m&&m!=u[a]&&j(u,a,m,b[a],o))}return u}function B(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function D(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||B(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&D(i[r],u,t||\"function\"!=typeof n.type);t||g(n.__e),n.__c=n.__=n.__e=void 0}function E(n,l,u){return this.constructor(n,u)}function G(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],O(t,u=(!r&&i||t).__k=_(k,null,[u]),o||p,p,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),N(e,u,f)}function J(n,l){G(n,l,J)}function K(l,u,t){var i,r,o,e,f=d({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}function Q(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+h++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},$.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=F(!1),a=F(!0),h=0;export{x as Component,k as Fragment,K as cloneElement,Q as createContext,_ as createElement,b as createRef,_ as h,J as hydrate,t as isValidElement,l as options,G as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function p(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function d(n){return o=1,h(D,n)}function h(n,u,i){var o=p(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.__f)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.__f=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=p(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__H.__h.push(i))}function _(n,u){var i=p(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.u=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){if(\"function\"==typeof n){var r=n(t());return function(){n(null),r&&\"function\"==typeof r&&r()}}if(n)return n.current=t(),function(){return n.current=null}},null==r?r:r.concat(n))}function T(n,r){var u=p(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=p(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=p(t++,10),i=d();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=p(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,35);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,h as useReducer,A as useRef,d as useState};\n//# sourceMappingURL=hooks.module.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { h, toChildArray } from 'preact';\nimport defaultAttributes from './defaultAttributes.js';\n\nconst Icon = ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n children,\n iconNode,\n class: classes = \"\",\n ...rest\n}) => h(\n \"svg\",\n {\n ...defaultAttributes,\n width: String(size),\n height: size,\n stroke: color,\n [\"stroke-width\"]: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n class: [\"lucide\", classes].join(\" \"),\n ...rest\n },\n [...iconNode.map(([tag, attrs]) => h(tag, attrs)), ...toChildArray(children)]\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { h } from 'preact';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = ({ class: classes = \"\", children, ...props }) => h(\n Icon,\n {\n ...props,\n iconNode,\n class: mergeClasses(\n `lucide-${toKebabCase(iconName)}`,\n classes\n )\n },\n children\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Bug = createLucideIcon(\"Bug\", [\n [\"path\", { d: \"m8 2 1.88 1.88\", key: \"fmnt4t\" }],\n [\"path\", { d: \"M14.12 3.88 16 2\", key: \"qol33r\" }],\n [\"path\", { d: \"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1\", key: \"d7y7pr\" }],\n [\n \"path\",\n {\n d: \"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6\",\n key: \"xs1cw7\"\n }\n ],\n [\"path\", { d: \"M12 20v-9\", key: \"1qisl0\" }],\n [\"path\", { d: \"M6.53 9C4.6 8.8 3 7.1 3 5\", key: \"32zzws\" }],\n [\"path\", { d: \"M6 13H2\", key: \"82j7cp\" }],\n [\"path\", { d: \"M3 21c0-2.1 1.7-3.9 3.8-4\", key: \"4p0ekp\" }],\n [\"path\", { d: \"M20.97 5c0 2.1-1.6 3.8-3.5 4\", key: \"18gb23\" }],\n [\"path\", { d: \"M22 13h-4\", key: \"1jl80f\" }],\n [\"path\", { d: \"M17.2 17c2.1.1 3.8 1.9 3.8 4\", key: \"k3fwyw\" }]\n]);\n\nexport { Bug as default };\n//# sourceMappingURL=bug.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleAlert = createLucideIcon(\"CircleAlert\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n]);\n\nexport { CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleHelp = createLucideIcon(\"CircleHelp\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\", key: \"1u773s\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { CircleHelp as default };\n//# sourceMappingURL=circle-help.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Flag = createLucideIcon(\"Flag\", [\n [\"path\", { d: \"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\", key: \"i9b6wo\" }],\n [\"line\", { x1: \"4\", x2: \"4\", y1: \"22\", y2: \"15\", key: \"1cm3nv\" }]\n]);\n\nexport { Flag as default };\n//# sourceMappingURL=flag.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Heart = createLucideIcon(\"Heart\", [\n [\n \"path\",\n {\n d: \"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z\",\n key: \"c3ymky\"\n }\n ]\n]);\n\nexport { Heart as default };\n//# sourceMappingURL=heart.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Info = createLucideIcon(\"Info\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n]);\n\nexport { Info as default };\n//# sourceMappingURL=info.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Mail = createLucideIcon(\"Mail\", [\n [\"rect\", { width: \"20\", height: \"16\", x: \"2\", y: \"4\", rx: \"2\", key: \"18n3k1\" }],\n [\"path\", { d: \"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\", key: \"1ocrg3\" }]\n]);\n\nexport { Mail as default };\n//# sourceMappingURL=mail.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst MessageSquare = createLucideIcon(\"MessageSquare\", [\n [\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\", key: \"1lielz\" }]\n]);\n\nexport { MessageSquare as default };\n//# sourceMappingURL=message-square.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Send = createLucideIcon(\"Send\", [\n [\n \"path\",\n {\n d: \"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\",\n key: \"1ffxy3\"\n }\n ],\n [\"path\", { d: \"m21.854 2.147-10.94 10.939\", key: \"12cjpa\" }]\n]);\n\nexport { Send as default };\n//# sourceMappingURL=send.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Settings = createLucideIcon(\"Settings\", [\n [\n \"path\",\n {\n d: \"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z\",\n key: \"1qme2f\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n]);\n\nexport { Settings as default };\n//# sourceMappingURL=settings.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Star = createLucideIcon(\"Star\", [\n [\n \"path\",\n {\n d: \"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\",\n key: \"r04s7s\"\n }\n ]\n]);\n\nexport { Star as default };\n//# sourceMappingURL=star.js.map\n","/**\n * @license lucide-preact v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Zap = createLucideIcon(\"Zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\nexport { Zap as default };\n//# sourceMappingURL=zap.js.map\n","import {\n Bug,\n MessageSquare,\n AlertCircle,\n HelpCircle,\n Mail,\n Send,\n Flag,\n Star,\n Zap,\n Heart,\n Info,\n Settings,\n type LucideIcon,\n} from 'lucide-preact';\n\ninterface IconProps {\n name: string;\n class?: string;\n size?: number;\n strokeWidth?: number;\n}\n\nconst ICON_MAP: Record<string, LucideIcon> = {\n 'bug': Bug,\n 'message-square': MessageSquare,\n 'alert-circle': AlertCircle,\n 'help-circle': HelpCircle,\n 'mail': Mail,\n 'send': Send,\n 'flag': Flag,\n 'star': Star,\n 'zap': Zap,\n 'heart': Heart,\n 'info': Info,\n 'settings': Settings,\n};\n\nexport const Icon = ({ name, class: className, size = 18, strokeWidth = 2 }: IconProps) => {\n const IconComponent = ICON_MAP[name];\n\n if (!IconComponent) {\n return null;\n }\n\n return <IconComponent class={className} size={size} strokeWidth={strokeWidth} />;\n};\n\n","import { FunctionComponent } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport { Icon } from './Icon.js';\n\ninterface WidgetLauncherButtonProps {\n position: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';\n buttonText: string | null;\n buttonShape: 'rectangle' | 'round';\n buttonIcon: string | null;\n buttonIconSize: number;\n buttonIconStroke: number;\n theme: 'auto' | 'light' | 'dark';\n lightButtonColor: string;\n lightTextColor: string;\n lightButtonHoverColor: string;\n lightTextHoverColor: string;\n darkButtonColor: string;\n darkTextColor: string;\n darkButtonHoverColor: string;\n darkTextHoverColor: string;\n enableHoverScaleEffect: boolean;\n tooltipEnabled: boolean;\n tooltipText: string | null;\n onClick: () => void;\n}\n\nexport const WidgetLauncherButton: FunctionComponent<WidgetLauncherButtonProps> = ({\n position,\n buttonText,\n buttonShape,\n buttonIcon,\n buttonIconSize,\n buttonIconStroke,\n theme,\n lightButtonColor,\n lightTextColor,\n lightButtonHoverColor,\n lightTextHoverColor,\n darkButtonColor,\n darkTextColor,\n darkButtonHoverColor,\n darkTextHoverColor,\n enableHoverScaleEffect,\n tooltipEnabled,\n tooltipText,\n onClick,\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n const [isDarkMode, setIsDarkMode] = useState(false);\n const [tooltipOffset, setTooltipOffset] = useState({ left: '50%', transform: 'translateX(-50%)', arrowLeft: '50%' });\n const tooltipRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n // Detect theme on mount and when theme setting changes\n useEffect(() => {\n if (theme === 'dark') {\n setIsDarkMode(true);\n return;\n } else if (theme === 'light') {\n setIsDarkMode(false);\n return;\n }\n\n // Auto mode: detect from page\n const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n setIsDarkMode(darkModeMediaQuery.matches);\n\n const handler = (e: MediaQueryListEvent) => setIsDarkMode(e.matches);\n darkModeMediaQuery.addEventListener('change', handler);\n return () => darkModeMediaQuery.removeEventListener('change', handler);\n }, [theme]);\n\n // Calculate tooltip position to ensure 4px margin from window edges\n useEffect(() => {\n if (isHovered && tooltipRef.current && buttonRef.current) {\n const tooltip = tooltipRef.current;\n const button = buttonRef.current;\n\n // Small delay to ensure tooltip is rendered\n requestAnimationFrame(() => {\n const tooltipRect = tooltip.getBoundingClientRect();\n const buttonRect = button.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const margin = 4;\n\n // Calculate button center in viewport coordinates\n const buttonCenter = buttonRect.left + buttonRect.width / 2;\n const tooltipHalfWidth = tooltipRect.width / 2;\n\n // Calculate how much to shift from centered position\n let shift = 0;\n const centeredLeft = buttonCenter - tooltipHalfWidth;\n\n // Check if tooltip would go off-screen on the left\n if (centeredLeft < margin) {\n shift = margin - centeredLeft;\n }\n // Check if tooltip would go off-screen on the right\n else if (centeredLeft + tooltipRect.width > windowWidth - margin) {\n shift = (windowWidth - margin) - (centeredLeft + tooltipRect.width);\n }\n\n setTooltipOffset({\n left: '50%',\n transform: `translateX(-50%) translateX(${shift}px)`,\n arrowLeft: '50%',\n });\n });\n }\n }, [isHovered, tooltipText]);\n\n // Select colors based on theme and hover state\n const buttonColor = isDarkMode\n ? (isHovered ? darkButtonHoverColor : darkButtonColor)\n : (isHovered ? lightButtonHoverColor : lightButtonColor);\n\n const textColor = isDarkMode\n ? (isHovered ? darkTextHoverColor : darkTextColor)\n : (isHovered ? lightTextHoverColor : lightTextColor);\n\n // Base colors for tooltip (always use non-hover colors)\n const tooltipBgColor = isDarkMode ? darkButtonColor : lightButtonColor;\n const tooltipTextColor = isDarkMode ? darkTextColor : lightTextColor;\n\n const borderRadius = buttonShape === 'round' ? '50%' : '8px';\n const ariaLabel = buttonText || 'Report Bug';\n\n // For round shape, padding scales with icon size (half the icon size)\n // Smaller icons get less padding, larger icons get more padding\n const padding = buttonShape === 'round' ? `${buttonIconSize / 2}px` : '12px 20px';\n\n const buttonClasses = `bugpin-launcher-button${enableHoverScaleEffect ? ' hover-scale' : ''}`;\n\n // Tooltip styles with dynamic positioning (matches button colors)\n const tooltipStyles: Record<string, string> = {\n position: 'absolute',\n bottom: '100%',\n marginBottom: '8px',\n padding: '6px 12px',\n backgroundColor: tooltipBgColor,\n color: tooltipTextColor,\n fontSize: '12px',\n borderRadius: '4px',\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n zIndex: '2147483647',\n opacity: '0',\n animation: 'bugpin-tooltip-fade-in 0.2s ease-in-out forwards',\n boxShadow: '0 2px 8px rgba(0, 0, 0, 0.2)',\n left: tooltipOffset.left,\n transform: tooltipOffset.transform,\n };\n\n // Arrow styles with dynamic positioning (matches button colors)\n const arrowStyles: Record<string, string> = {\n position: 'absolute',\n top: '100%',\n left: tooltipOffset.arrowLeft,\n transform: 'translateX(-50%)',\n marginTop: '-4px',\n borderWidth: '4px',\n borderStyle: 'solid',\n borderColor: `${tooltipBgColor} transparent transparent transparent`,\n };\n\n return (\n <div class={`bugpin-launcher-button-container ${position}`} style={{ position: 'fixed', zIndex: '2147483647' }}>\n <button\n ref={buttonRef}\n class={buttonClasses}\n style={{\n position: 'relative',\n backgroundColor: buttonColor,\n color: textColor,\n borderRadius: borderRadius,\n padding: padding,\n transition: 'background-color 0.2s ease, color 0.2s ease',\n }}\n onClick={onClick}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n aria-label={ariaLabel}\n >\n {buttonIcon && <Icon name={buttonIcon} size={buttonIconSize} strokeWidth={buttonIconStroke} />}\n {buttonText && <span>{buttonText}</span>}\n </button>\n\n {tooltipEnabled && tooltipText && isHovered && (\n <div ref={tooltipRef} class=\"bugpin-tooltip\" style={tooltipStyles}>\n {tooltipText}\n <div style={arrowStyles} />\n </div>\n )}\n </div>\n );\n};\n","import { FunctionComponent, JSX } from 'preact';\n\nexport interface Tab {\n id: string;\n label: string;\n icon?: JSX.Element;\n}\n\ninterface TabsProps {\n tabs: Tab[];\n activeTab: string;\n onTabChange: (tabId: string) => void;\n}\n\nexport const Tabs: FunctionComponent<TabsProps> = ({ tabs, activeTab, onTabChange }) => {\n return (\n <div class=\"bugpin-tabs\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n type=\"button\"\n class={`bugpin-tab ${activeTab === tab.id ? 'active' : ''}`}\n onClick={() => onTabChange(tab.id)}\n >\n {tab.icon && <span class=\"bugpin-tab-icon\">{tab.icon}</span>}\n {tab.label}\n </button>\n ))}\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { useState, useCallback, useRef } from 'preact/hooks';\n\nexport interface CapturedMedia {\n id: string;\n dataUrl: string;\n timestamp: Date;\n annotated: boolean;\n mimeType: string;\n width?: number;\n height?: number;\n annotations?: object;\n}\n\ninterface ScreenshotManagerProps {\n media: CapturedMedia[];\n onCapture: () => void;\n onUpload: (item: CapturedMedia) => void;\n onRemove: (id: string) => void;\n onAnnotate: (id: string) => void;\n isCapturing: boolean;\n enableAnnotation: boolean;\n}\n\nconst MAX_IMAGE_SIZE = 10 * 1024 * 1024; // 10MB\nconst MAX_VIDEO_SIZE = 50 * 1024 * 1024; // 50MB\nconst ACCEPTED_IMAGE_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'];\nconst ACCEPTED_VIDEO_TYPES = ['video/mp4', 'video/webm', 'video/quicktime', 'video/x-msvideo'];\n\nexport const ScreenshotManager: FunctionComponent<ScreenshotManagerProps> = ({\n media,\n onCapture,\n onUpload,\n onRemove,\n onAnnotate,\n isCapturing,\n enableAnnotation,\n}) => {\n const [isDragging, setIsDragging] = useState(false);\n const [uploadError, setUploadError] = useState<string | null>(null);\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n const isVideo = (mimeType: string) => mimeType.startsWith('video/');\n const isImage = (mimeType: string) => mimeType.startsWith('image/');\n\n const validateFile = useCallback((file: File): string | null => {\n if (isImage(file.type)) {\n if (!ACCEPTED_IMAGE_TYPES.includes(file.type)) {\n return `Unsupported image format: ${file.type}`;\n }\n if (file.size > MAX_IMAGE_SIZE) {\n return `Image too large. Maximum size is 10MB.`;\n }\n } else if (isVideo(file.type)) {\n if (!ACCEPTED_VIDEO_TYPES.includes(file.type)) {\n return `Unsupported video format: ${file.type}`;\n }\n if (file.size > MAX_VIDEO_SIZE) {\n return `Video too large. Maximum size is 50MB.`;\n }\n } else {\n return `Unsupported file type: ${file.type}`;\n }\n return null;\n }, []);\n\n const processFile = useCallback(async (file: File) => {\n const error = validateFile(file);\n if (error) {\n setUploadError(error);\n return;\n }\n\n setUploadError(null);\n\n const reader = new FileReader();\n reader.onload = () => {\n const dataUrl = reader.result as string;\n\n if (isImage(file.type)) {\n const img = new Image();\n img.onload = () => {\n const item: CapturedMedia = {\n id: `upload-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,\n dataUrl,\n timestamp: new Date(),\n annotated: false,\n mimeType: file.type,\n width: img.width,\n height: img.height,\n };\n onUpload(item);\n };\n img.src = dataUrl;\n } else if (isVideo(file.type)) {\n const video = document.createElement('video');\n video.onloadedmetadata = () => {\n const item: CapturedMedia = {\n id: `upload-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,\n dataUrl,\n timestamp: new Date(),\n annotated: false,\n mimeType: file.type,\n width: video.videoWidth,\n height: video.videoHeight,\n };\n onUpload(item);\n };\n video.src = dataUrl;\n }\n };\n reader.readAsDataURL(file);\n }, [validateFile, onUpload]);\n\n const handleDragOver = useCallback((e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(true);\n }, []);\n\n const handleDragLeave = useCallback((e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(false);\n }, []);\n\n const handleDrop = useCallback(async (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(false);\n\n const files = e.dataTransfer?.files;\n if (files) {\n for (let i = 0; i < files.length; i++) {\n await processFile(files[i]);\n }\n }\n }, [processFile]);\n\n const handleFileInput = useCallback(async (e: Event) => {\n const input = e.target as HTMLInputElement;\n const files = input.files;\n if (files) {\n for (let i = 0; i < files.length; i++) {\n await processFile(files[i]);\n }\n }\n input.value = '';\n }, [processFile]);\n\n const handleUploadClick = useCallback(() => {\n fileInputRef.current?.click();\n }, []);\n\n const formatTimestamp = (date: Date) => {\n return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\n };\n\n return (\n <div class=\"bugpin-screenshot-manager\">\n {/* Action buttons */}\n <div class=\"bugpin-media-actions\">\n <button\n type=\"button\"\n class=\"bugpin-btn-action\"\n onClick={onCapture}\n disabled={isCapturing}\n >\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 15.2c1.77 0 3.2-1.43 3.2-3.2S13.77 8.8 12 8.8 8.8 10.23 8.8 12s1.43 3.2 3.2 3.2zM9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z\" fill=\"currentColor\" />\n </svg>\n {isCapturing ? 'Capturing...' : 'Capture Screenshot'}\n </button>\n <button\n type=\"button\"\n class=\"bugpin-btn-action bugpin-btn-action-secondary\"\n onClick={handleUploadClick}\n >\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z\" fill=\"currentColor\" />\n </svg>\n Upload File\n </button>\n <input\n ref={fileInputRef}\n type=\"file\"\n accept=\"image/*,video/*\"\n multiple\n style={{ display: 'none' }}\n onChange={handleFileInput}\n />\n </div>\n\n {/* Error message */}\n {uploadError && (\n <div class=\"bugpin-upload-error\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\" fill=\"currentColor\" />\n </svg>\n {uploadError}\n </div>\n )}\n\n {/* Drop zone / Media grid */}\n <div\n class={`bugpin-drop-zone ${isDragging ? 'dragging' : ''} ${media.length > 0 ? 'has-media' : ''}`}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n >\n {media.length === 0 ? (\n <div class=\"bugpin-drop-placeholder\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z\" fill=\"currentColor\" />\n </svg>\n <p>Drag and drop images or videos here</p>\n <span>or use the buttons above</span>\n </div>\n ) : (\n <>\n <div class=\"bugpin-media-grid\">\n {media.map((item) => (\n <div key={item.id} class=\"bugpin-media-card\">\n <div class=\"bugpin-media-preview\">\n {isVideo(item.mimeType) ? (\n <video src={item.dataUrl} muted />\n ) : (\n <img src={item.dataUrl} alt=\"Screenshot\" />\n )}\n {/* Badges */}\n <div class=\"bugpin-media-badges\">\n {item.annotated && <span class=\"bugpin-badge annotated\">Annotated</span>}\n {isVideo(item.mimeType) && <span class=\"bugpin-badge video\">Video</span>}\n </div>\n </div>\n <div class=\"bugpin-media-info\">\n <span class=\"bugpin-media-time\">{formatTimestamp(item.timestamp)}</span>\n {item.width && item.height && (\n <span class=\"bugpin-media-dimensions\">{item.width} × {item.height}</span>\n )}\n </div>\n <div class=\"bugpin-media-item-actions\">\n {enableAnnotation && isImage(item.mimeType) && (\n <button\n type=\"button\"\n class=\"bugpin-btn-icon\"\n onClick={() => onAnnotate(item.id)}\n title=\"Annotate\"\n >\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 000-1.41l-2.34-2.34a.996.996 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\" fill=\"currentColor\" />\n </svg>\n </button>\n )}\n <button\n type=\"button\"\n class=\"bugpin-btn-icon bugpin-btn-icon-danger\"\n onClick={() => onRemove(item.id)}\n title=\"Remove\"\n >\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" fill=\"currentColor\" />\n </svg>\n </button>\n </div>\n </div>\n ))}\n </div>\n <div class=\"bugpin-drop-more\">\n <span>Drop more files here</span>\n </div>\n </>\n )}\n </div>\n\n {/* Helper text */}\n <p class=\"bugpin-helper-text\">\n Supported: PNG, JPG, GIF, WebP (max 10MB) • MP4, WebM, MOV, AVI (max 50MB)\n </p>\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { useState, useCallback } from 'preact/hooks';\nimport { Tabs } from './Tabs.js';\nimport { ScreenshotManager, CapturedMedia } from './ScreenshotManager.js';\n\nexport interface FormData {\n title: string;\n description: string;\n priority: 'lowest' | 'low' | 'medium' | 'high' | 'highest';\n reporterEmail: string;\n reporterName: string;\n}\n\ninterface WidgetDialogProps {\n onClose: () => void;\n onSubmit: (data: FormData, media: CapturedMedia[]) => void;\n onCaptureScreenshot: () => void;\n onAnnotateMedia: (id: string) => void;\n media: CapturedMedia[];\n onAddMedia: (item: CapturedMedia) => void;\n onRemoveMedia: (id: string) => void;\n isSubmitting: boolean;\n isCapturing: boolean;\n enableAnnotation: boolean;\n // Controlled state props (lifted to App for persistence across capture)\n activeTab: string;\n onActiveTabChange: (tab: string) => void;\n formData: FormData;\n onFormDataChange: (data: FormData) => void;\n}\n\nconst TABS = [\n {\n id: 'details',\n label: 'Details',\n icon: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z\" fill=\"currentColor\" />\n </svg>\n ),\n },\n {\n id: 'media',\n label: 'Screenshots',\n icon: (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z\" fill=\"currentColor\" />\n </svg>\n ),\n },\n];\n\nexport const WidgetDialog: FunctionComponent<WidgetDialogProps> = ({\n onClose,\n onSubmit,\n onCaptureScreenshot,\n onAnnotateMedia,\n media,\n onAddMedia,\n onRemoveMedia,\n isSubmitting,\n isCapturing,\n enableAnnotation,\n activeTab,\n onActiveTabChange,\n formData,\n onFormDataChange,\n}) => {\n const [errors, setErrors] = useState<Partial<Record<keyof FormData, string>>>({});\n\n const handleInputChange = useCallback((field: keyof FormData, value: string) => {\n onFormDataChange({ ...formData, [field]: value });\n if (errors[field]) {\n setErrors((prev) => ({ ...prev, [field]: undefined }));\n }\n }, [formData, onFormDataChange, errors]);\n\n const validate = useCallback((): boolean => {\n const newErrors: Partial<Record<keyof FormData, string>> = {};\n\n if (!formData.title.trim()) {\n newErrors.title = 'Title is required';\n } else if (formData.title.trim().length < 4) {\n newErrors.title = 'Title must be at least 4 characters';\n }\n\n if (formData.reporterEmail && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(formData.reporterEmail)) {\n newErrors.reporterEmail = 'Invalid email address';\n }\n\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0;\n }, [formData]);\n\n const handleSubmit = useCallback((e: Event) => {\n e.preventDefault();\n\n if (!validate()) {\n onActiveTabChange('details');\n return;\n }\n\n onSubmit(formData, media);\n }, [formData, media, validate, onSubmit, onActiveTabChange]);\n\n const handleOverlayClick = useCallback((e: MouseEvent) => {\n if ((e.target as HTMLElement).classList.contains('bugpin-overlay')) {\n onClose();\n }\n }, [onClose]);\n\n const mediaCount = media.length;\n\n return (\n <div class=\"bugpin-overlay\" onClick={handleOverlayClick}>\n <div class=\"bugpin-dialog bugpin-dialog-tabbed\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bugpin-title\">\n {/* Header */}\n <div class=\"bugpin-header\">\n <h2 id=\"bugpin-title\">Report a Bug</h2>\n <button class=\"bugpin-close\" onClick={onClose} aria-label=\"Close\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" fill=\"currentColor\" />\n </svg>\n </button>\n </div>\n\n {/* Tabs */}\n <div class=\"bugpin-tabs-container\">\n <Tabs\n tabs={TABS.map((tab) => ({\n ...tab,\n label: tab.id === 'media' && mediaCount > 0\n ? `${tab.label} (${mediaCount})`\n : tab.label,\n }))}\n activeTab={activeTab}\n onTabChange={onActiveTabChange}\n />\n </div>\n\n {/* Body */}\n <div class=\"bugpin-body\">\n {/* Details Tab */}\n {activeTab === 'details' && (\n <form class=\"bugpin-form\" onSubmit={handleSubmit}>\n {/* Title */}\n <div class=\"bugpin-field\">\n <label class=\"bugpin-label required\" for=\"bugpin-title-input\">Title</label>\n <input\n id=\"bugpin-title-input\"\n class=\"bugpin-input\"\n type=\"text\"\n placeholder=\"Brief description of the issue\"\n value={formData.title}\n onInput={(e) => handleInputChange('title', (e.target as HTMLInputElement).value)}\n maxLength={200}\n />\n {errors.title && <span class=\"bugpin-error\">{errors.title}</span>}\n </div>\n\n {/* Description */}\n <div class=\"bugpin-field\">\n <label class=\"bugpin-label\" for=\"bugpin-description\">Description</label>\n <textarea\n id=\"bugpin-description\"\n class=\"bugpin-textarea\"\n placeholder=\"Steps to reproduce, expected behavior, etc.\"\n value={formData.description}\n onInput={(e) => handleInputChange('description', (e.target as HTMLTextAreaElement).value)}\n />\n </div>\n\n {/* Priority */}\n <div class=\"bugpin-field\">\n <label class=\"bugpin-label\" for=\"bugpin-priority\">Priority</label>\n <select\n id=\"bugpin-priority\"\n class=\"bugpin-select\"\n value={formData.priority}\n onChange={(e) => handleInputChange('priority', (e.target as HTMLSelectElement).value)}\n >\n <option value=\"lowest\">Lowest</option>\n <option value=\"low\">Low</option>\n <option value=\"medium\">Medium</option>\n <option value=\"high\">High</option>\n <option value=\"highest\">Highest</option>\n </select>\n </div>\n\n {/* Email */}\n <div class=\"bugpin-field\">\n <label class=\"bugpin-label\" for=\"bugpin-email\">Email (optional)</label>\n <input\n id=\"bugpin-email\"\n class=\"bugpin-input\"\n type=\"email\"\n placeholder=\"your@email.com\"\n value={formData.reporterEmail}\n onInput={(e) => handleInputChange('reporterEmail', (e.target as HTMLInputElement).value)}\n />\n {errors.reporterEmail && <span class=\"bugpin-error\">{errors.reporterEmail}</span>}\n </div>\n\n {/* Name */}\n <div class=\"bugpin-field\">\n <label class=\"bugpin-label\" for=\"bugpin-name\">Name (optional)</label>\n <input\n id=\"bugpin-name\"\n class=\"bugpin-input\"\n type=\"text\"\n placeholder=\"Your name\"\n value={formData.reporterName}\n onInput={(e) => handleInputChange('reporterName', (e.target as HTMLInputElement).value)}\n />\n </div>\n </form>\n )}\n\n {/* Media Tab */}\n {activeTab === 'media' && (\n <ScreenshotManager\n media={media}\n onCapture={onCaptureScreenshot}\n onUpload={onAddMedia}\n onRemove={onRemoveMedia}\n onAnnotate={onAnnotateMedia}\n isCapturing={isCapturing}\n enableAnnotation={enableAnnotation}\n />\n )}\n </div>\n\n {/* Footer */}\n <div class=\"bugpin-footer\">\n <button type=\"button\" class=\"bugpin-btn-cancel\" onClick={onClose} disabled={isSubmitting}>\n Cancel\n </button>\n <button\n type=\"submit\"\n class=\"bugpin-btn-submit\"\n onClick={handleSubmit}\n disabled={isSubmitting}\n >\n {isSubmitting ? (\n <span class=\"bugpin-spinner\" />\n ) : (\n 'Submit Report'\n )}\n </button>\n </div>\n </div>\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nexport type ToastType = 'success' | 'error' | 'info';\n\ninterface ToastProps {\n message: string;\n type: ToastType;\n onClose: () => void;\n duration?: number;\n}\n\nexport const Toast: FunctionComponent<ToastProps> = ({\n message,\n type,\n onClose,\n duration = 5000,\n}) => {\n useEffect(() => {\n const timer = setTimeout(onClose, duration);\n return () => clearTimeout(timer);\n }, [onClose, duration]);\n\n return (\n <div class={`bugpin-toast ${type}`} role=\"alert\">\n {type === 'success' && (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\" fill=\"currentColor\" />\n </svg>\n )}\n {type === 'error' && (\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\" fill=\"currentColor\" />\n </svg>\n )}\n <span>{message}</span>\n </div>\n );\n};\n","function t(t,e,s){return(e=function(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,e||\"default\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function e(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,i)}return s}function s(s){for(var i=1;i<arguments.length;i++){var r=null!=arguments[i]?arguments[i]:{};i%2?e(Object(r),!0).forEach((function(e){t(s,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(t){Object.defineProperty(s,t,Object.getOwnPropertyDescriptor(r,t))}))}return s}function i(t,e){if(null==t)return{};var s,i,r=function(t,e){if(null==t)return{};var s={};for(var i in t)if({}.hasOwnProperty.call(t,i)){if(e.indexOf(i)>=0)continue;s[i]=t[i]}return s}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i<n.length;i++)s=n[i],e.indexOf(s)>=0||{}.propertyIsEnumerable.call(t,s)&&(r[s]=t[s])}return r}function r(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}class n{constructor(){t(this,\"browserShadowBlurConstant\",1),t(this,\"DPI\",96),t(this,\"devicePixelRatio\",\"undefined\"!=typeof window?window.devicePixelRatio:1),t(this,\"perfLimitSizeTotal\",2097152),t(this,\"maxCacheSideLimit\",4096),t(this,\"minCacheSideLimit\",256),t(this,\"disableStyleCopyPaste\",!1),t(this,\"enableGLFiltering\",!0),t(this,\"textureSize\",4096),t(this,\"forceGLPutImageData\",!1),t(this,\"cachesBoundsOfCurve\",!1),t(this,\"fontPaths\",{}),t(this,\"NUM_FRACTION_DIGITS\",4)}}const o=new class extends n{constructor(t){super(),this.configure(t)}configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,t)}addFonts(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths=s(s({},this.fontPaths),t)}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach((t=>{delete this.fontPaths[t]}))}clearFonts(){this.fontPaths={}}restoreDefaults(t){const e=new n,s=(null==t?void 0:t.reduce(((t,s)=>(t[s]=e[s],t)),{}))||e;this.configure(s)}},a=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return console[t](\"fabric\",...s)};class h extends Error{constructor(t,e){super(\"fabric: \".concat(t),e)}}class c extends h{constructor(t){super(\"\".concat(t,\" 'options.signal' is in 'aborted' state\"))}}class l{}class u extends l{testPrecision(t,e){const s=\"precision \".concat(e,\" float;\\nvoid main(){}\"),i=t.createShader(t.FRAGMENT_SHADER);return!!i&&(t.shaderSource(i,s),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS))}queryWebGL(t){const e=t.getContext(\"webgl\");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=[\"highp\",\"mediump\",\"lowp\"].find((t=>this.testPrecision(e,t))),e.getExtension(\"WEBGL_lose_context\").loseContext(),a(\"log\",\"WebGL: max texture size \".concat(this.maxTextureSize)))}isSupported(t){return!!this.maxTextureSize&&this.maxTextureSize>=t}}const d={};let g;const f=t=>{g=t},p=()=>g||(g={document:document,window:window,isTouchSupported:\"ontouchstart\"in window||\"ontouchstart\"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new u,dispose(){},copyPasteData:d}),m=()=>p().document,v=()=>p().window,y=()=>{var t;return Math.max(null!==(t=o.devicePixelRatio)&&void 0!==t?t:v().devicePixelRatio,1)};const _=new class{constructor(){t(this,\"boundsOfCurveCache\",{}),this.charWidthsCache=new Map}getFontCache(t){let{fontFamily:e,fontStyle:s,fontWeight:i}=t;e=e.toLowerCase();const r=this.charWidthsCache;r.has(e)||r.set(e,new Map);const n=r.get(e),o=\"\".concat(s.toLowerCase(),\"_\").concat((i+\"\").toLowerCase());return n.has(o)||n.set(o,new Map),n.get(o)}clearFontCache(t){t?this.charWidthsCache.delete((t||\"\").toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(t){const{perfLimitSizeTotal:e}=o,s=Math.sqrt(e*t);return[Math.floor(s),Math.floor(e/s)]}};const x=\"6.9.1\";function C(){}const b=Math.PI/2,S=2*Math.PI,w=Math.PI/180,T=Object.freeze([1,0,0,1,0,0]),O=16,k=.4477152502,D=\"center\",M=\"left\",P=\"top\",E=\"bottom\",A=\"right\",j=\"none\",F=/\\r?\\n/,L=\"moving\",R=\"scaling\",I=\"rotating\",B=\"rotate\",X=\"skewing\",Y=\"resizing\",W=\"modifyPoly\",V=\"modifyPath\",z=\"changed\",G=\"scale\",H=\"scaleX\",N=\"scaleY\",U=\"skewX\",q=\"skewY\",K=\"fill\",J=\"stroke\",Q=\"modified\",Z=\"json\",$=\"svg\";const tt=new class{constructor(){this[Z]=new Map,this[$]=new Map}has(t){return this[Z].has(t)}getClass(t){const e=this[Z].get(t);if(!e)throw new h(\"No class registered for \".concat(t));return e}setClass(t,e){e?this[Z].set(e,t):(this[Z].set(t.type,t),this[Z].set(t.type.toLowerCase(),t))}getSVGClass(t){return this[$].get(t)}setSVGClass(t,e){this[$].set(null!=e?e:t.type.toLowerCase(),t)}};const et=new class extends Array{remove(t){const e=this.indexOf(t);e>-1&&this.splice(e,1)}cancelAll(){const t=this.splice(0);return t.forEach((t=>t.abort())),t}cancelByCanvas(t){if(!t)return[];const e=this.filter((e=>{var s;return e.target===t||\"object\"==typeof e.target&&(null===(s=e.target)||void 0===s?void 0:s.canvas)===t}));return e.forEach((t=>t.abort())),e}cancelByTarget(t){if(!t)return[];const e=this.filter((e=>e.target===t));return e.forEach((t=>t.abort())),e}};class st{constructor(){t(this,\"__eventListeners\",{})}on(t,e){if(this.__eventListeners||(this.__eventListeners={}),\"object\"==typeof t)return Object.entries(t).forEach((t=>{let[e,s]=t;this.on(e,s)})),()=>this.off(t);if(e){const s=t;return this.__eventListeners[s]||(this.__eventListeners[s]=[]),this.__eventListeners[s].push(e),()=>this.off(s,e)}return()=>!1}once(t,e){if(\"object\"==typeof t){const e=[];return Object.entries(t).forEach((t=>{let[s,i]=t;e.push(this.once(s,i))})),()=>e.forEach((t=>t()))}if(e){const s=this.on(t,(function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.call(this,...i),s()}));return s}return()=>!1}_removeEventListener(t,e){if(this.__eventListeners[t])if(e){const s=this.__eventListeners[t],i=s.indexOf(e);i>-1&&s.splice(i,1)}else this.__eventListeners[t]=[]}off(t,e){if(this.__eventListeners)if(void 0===t)for(const t in this.__eventListeners)this._removeEventListener(t);else\"object\"==typeof t?Object.entries(t).forEach((t=>{let[e,s]=t;this._removeEventListener(e,s)})):this._removeEventListener(t,e)}fire(t,e){var s;if(!this.__eventListeners)return;const i=null===(s=this.__eventListeners[t])||void 0===s?void 0:s.concat();if(i)for(let t=0;t<i.length;t++)i[t].call(this,e||{})}}const it=(t,e)=>{const s=t.indexOf(e);return-1!==s&&t.splice(s,1),t},rt=t=>{if(0===t)return 1;switch(Math.abs(t)/b){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},nt=t=>{if(0===t)return 0;const e=t/b,s=Math.sign(t);switch(e){case 1:return s;case 2:return 0;case 3:return-s}return Math.sin(t)};class ot{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;\"object\"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t,this.y=e)}add(t){return new ot(this.x+t.x,this.y+t.y)}addEquals(t){return this.x+=t.x,this.y+=t.y,this}scalarAdd(t){return new ot(this.x+t,this.y+t)}scalarAddEquals(t){return this.x+=t,this.y+=t,this}subtract(t){return new ot(this.x-t.x,this.y-t.y)}subtractEquals(t){return this.x-=t.x,this.y-=t.y,this}scalarSubtract(t){return new ot(this.x-t,this.y-t)}scalarSubtractEquals(t){return this.x-=t,this.y-=t,this}multiply(t){return new ot(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new ot(this.x*t,this.y*t)}scalarMultiplyEquals(t){return this.x*=t,this.y*=t,this}divide(t){return new ot(this.x/t.x,this.y/t.y)}scalarDivide(t){return new ot(this.x/t,this.y/t)}scalarDivideEquals(t){return this.x/=t,this.y/=t,this}eq(t){return this.x===t.x&&this.y===t.y}lt(t){return this.x<t.x&&this.y<t.y}lte(t){return this.x<=t.x&&this.y<=t.y}gt(t){return this.x>t.x&&this.y>t.y}gte(t){return this.x>=t.x&&this.y>=t.y}lerp(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return e=Math.max(Math.min(1,e),0),new ot(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)}distanceFrom(t){const e=this.x-t.x,s=this.y-t.y;return Math.sqrt(e*e+s*s)}midPointFrom(t){return this.lerp(t)}min(t){return new ot(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new ot(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return\"\".concat(this.x,\",\").concat(this.y)}setXY(t,e){return this.x=t,this.y=e,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setFromPoint(t){return this.x=t.x,this.y=t.y,this}swap(t){const e=this.x,s=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=s}clone(){return new ot(this.x,this.y)}rotate(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at;const s=nt(t),i=rt(t),r=this.subtract(e);return new ot(r.x*i-r.y*s,r.x*s+r.y*i).add(e)}transform(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new ot(t[0]*this.x+t[2]*this.y+(e?0:t[4]),t[1]*this.x+t[3]*this.y+(e?0:t[5]))}}const at=new ot(0,0),ht=t=>!!t&&Array.isArray(t._objects);function ct(e){class s extends e{constructor(){super(...arguments),t(this,\"_objects\",[])}_onObjectAdded(t){}_onObjectRemoved(t){}_onStackOrderChanged(t){}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._objects.push(...e);return e.forEach((t=>this._onObjectAdded(t))),i}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return this._objects.splice(t,0,...s),s.forEach((t=>this._onObjectAdded(t))),this._objects.length}remove(){const t=this._objects,e=[];for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return i.forEach((s=>{const i=t.indexOf(s);-1!==i&&(t.splice(i,1),e.push(s),this._onObjectRemoved(s))})),e}forEachObject(t){this.getObjects().forEach(((e,s,i)=>t(e,s,i)))}getObjects(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return 0===e.length?[...this._objects]:this._objects.filter((t=>t.isType(...e)))}item(t){return this._objects[t]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(t,e){return!!this._objects.includes(t)||!!e&&this._objects.some((e=>e instanceof s&&e.contains(t,!0)))}complexity(){return this._objects.reduce(((t,e)=>t+=e.complexity?e.complexity():0),0)}sendObjectToBack(t){return!(!t||t===this._objects[0])&&(it(this._objects,t),this._objects.unshift(t),this._onStackOrderChanged(t),!0)}bringObjectToFront(t){return!(!t||t===this._objects[this._objects.length-1])&&(it(this._objects,t),this._objects.push(t),this._onStackOrderChanged(t),!0)}sendObjectBackwards(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(0!==s){const i=this.findNewLowerIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}bringObjectForward(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(s!==this._objects.length-1){const i=this.findNewUpperIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}moveObjectTo(t,e){return t!==this._objects[e]&&(it(this._objects,t),this._objects.splice(e,0,t),this._onStackOrderChanged(t),!0)}findNewLowerIndex(t,e,s){let i;if(s){i=e;for(let s=e-1;s>=0;--s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e-1;return i}findNewUpperIndex(t,e,s){let i;if(s){i=e;for(let s=e+1;s<this._objects.length;++s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e+1;return i}collectObjects(t){let{left:e,top:s,width:i,height:r}=t,{includeIntersecting:n=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=[],a=new ot(e,s),h=a.add(new ot(i,r));for(let t=this._objects.length-1;t>=0;t--){const e=this._objects[t];e.selectable&&e.visible&&(n&&e.intersectsWithRect(a,h)||e.isContainedWithinRect(a,h)||n&&e.containsPoint(a)||n&&e.containsPoint(h))&&o.push(e)}return o}}return s}class lt extends st{_setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(const e in t)this.set(e,t[e])}_setObject(t){for(const e in t)this._set(e,t[e])}set(t,e){return\"object\"==typeof t?this._setObject(t):this._set(t,e),this}_set(t,e){this[t]=e}toggle(t){const e=this.get(t);return\"boolean\"==typeof e&&this.set(t,!e),this}get(t){return this[t]}}function ut(t){return v().requestAnimationFrame(t)}function dt(t){return v().cancelAnimationFrame(t)}let gt=0;const ft=()=>gt++,pt=()=>{const t=m().createElement(\"canvas\");if(!t||void 0===t.getContext)throw new h(\"Failed to create `canvas` element\");return t},mt=()=>m().createElement(\"img\"),vt=t=>{const e=pt();return e.width=t.width,e.height=t.height,e},yt=(t,e,s)=>t.toDataURL(\"image/\".concat(e),s),_t=(t,e,s)=>new Promise(((i,r)=>{t.toBlob(i,\"image/\".concat(e),s)})),xt=t=>t*w,Ct=t=>t/w,bt=t=>t.every(((t,e)=>t===T[e])),St=(t,e,s)=>new ot(t).transform(e,s),wt=t=>{const e=1/(t[0]*t[3]-t[1]*t[2]),s=[e*t[3],-e*t[1],-e*t[2],e*t[0],0,0],{x:i,y:r}=new ot(t[4],t[5]).transform(s,!0);return s[4]=-i,s[5]=-r,s},Tt=(t,e,s)=>[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],s?0:t[0]*e[4]+t[2]*e[5]+t[4],s?0:t[1]*e[4]+t[3]*e[5]+t[5]],Ot=(t,e)=>t.reduceRight(((t,s)=>s&&t?Tt(s,t,e):s||t),void 0)||T.concat(),kt=t=>{let[e,s]=t;return Math.atan2(s,e)},Dt=t=>{const e=kt(t),s=Math.pow(t[0],2)+Math.pow(t[1],2),i=Math.sqrt(s),r=(t[0]*t[3]-t[2]*t[1])/i,n=Math.atan2(t[0]*t[2]+t[1]*t[3],s);return{angle:Ct(e),scaleX:i,scaleY:r,skewX:Ct(n),skewY:0,translateX:t[4]||0,translateY:t[5]||0}},Mt=function(t){return[1,0,0,1,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function Pt(){let{angle:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:s=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=xt(t),r=rt(i),n=nt(i);return[r,n,-n,r,e?e-(r*e-n*s):0,s?s-(n*e+r*s):0]}const Et=function(t){return[t,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,0,0]},At=t=>Math.tan(xt(t)),jt=t=>[1,0,At(t),1,0,0],Ft=t=>[1,At(t),0,1,0,0],Lt=t=>{let{scaleX:e=1,scaleY:s=1,flipX:i=!1,flipY:r=!1,skewX:n=0,skewY:o=0}=t,a=Et(i?-e:e,r?-s:s);return n&&(a=Tt(a,jt(n),!0)),o&&(a=Tt(a,Ft(o),!0)),a},Rt=t=>{const{translateX:e=0,translateY:s=0,angle:i=0}=t;let r=Mt(e,s);i&&(r=Tt(r,Pt({angle:i})));const n=Lt(t);return bt(n)||(r=Tt(r,n)),r},It=function(t){let{signal:e,crossOrigin:s=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(i,r){if(e&&e.aborted)return r(new c(\"loadImage\"));const n=mt();let o;e&&(o=function(t){n.src=\"\",r(t)},e.addEventListener(\"abort\",o,{once:!0}));const a=function(){n.onload=n.onerror=null,o&&(null==e||e.removeEventListener(\"abort\",o)),i(n)};t?(n.onload=a,n.onerror=function(){o&&(null==e||e.removeEventListener(\"abort\",o)),r(new h(\"Error loading \".concat(n.src)))},s&&(n.crossOrigin=s),n.src=t):a()}))},Bt=function(t){let{signal:e,reviver:s=C}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=[];e&&e.addEventListener(\"abort\",r,{once:!0}),Promise.all(t.map((t=>tt.getClass(t.type).fromObject(t,{signal:e}).then((e=>(s(t,e),n.push(e),e)))))).then(i).catch((t=>{n.forEach((t=>{t.dispose&&t.dispose()})),r(t)})).finally((()=>{e&&e.removeEventListener(\"abort\",r)}))}))},Xt=function(t){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=[];e&&e.addEventListener(\"abort\",i,{once:!0});const n=Object.values(t).map((t=>t&&t.type&&tt.has(t.type)?Bt([t],{signal:e}).then((t=>{let[e]=t;return r.push(e),e})):t)),o=Object.keys(t);Promise.all(n).then((t=>t.reduce(((t,e,s)=>(t[o[s]]=e,t)),{}))).then(s).catch((t=>{r.forEach((t=>{t.dispose&&t.dispose()})),i(t)})).finally((()=>{e&&e.removeEventListener(\"abort\",i)}))}))},Yt=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce(((e,s)=>(s in t&&(e[s]=t[s]),e)),{})},Wt=(t,e)=>Object.keys(t).reduce(((s,i)=>(e(t[i],i,t)&&(s[i]=t[i]),s)),{}),Vt=(t,e)=>parseFloat(Number(t).toFixed(e)),zt=t=>\"matrix(\"+t.map((t=>Vt(t,o.NUM_FRACTION_DIGITS))).join(\" \")+\")\",Gt=t=>!!t&&void 0!==t.toLive,Ht=t=>!!t&&\"function\"==typeof t.toObject,Nt=t=>!!t&&void 0!==t.offsetX&&\"source\"in t,Ut=t=>!!t&&\"multiSelectionStacking\"in t;function qt(t){const e=t&&Kt(t);let s=0,i=0;if(!t||!e)return{left:s,top:i};let r=t;const n=e.documentElement,o=e.body||{scrollLeft:0,scrollTop:0};for(;r&&(r.parentNode||r.host)&&(r=r.parentNode||r.host,r===e?(s=o.scrollLeft||n.scrollLeft||0,i=o.scrollTop||n.scrollTop||0):(s+=r.scrollLeft||0,i+=r.scrollTop||0),1!==r.nodeType||\"fixed\"!==r.style.position););return{left:s,top:i}}const Kt=t=>t.ownerDocument||null,Jt=t=>{var e;return(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||null},Qt=function(t,e,s){let{width:i,height:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;t.width=i,t.height=r,n>1&&(t.setAttribute(\"width\",(i*n).toString()),t.setAttribute(\"height\",(r*n).toString()),e.scale(n,n))},Zt=(t,e)=>{let{width:s,height:i}=e;s&&(t.style.width=\"number\"==typeof s?\"\".concat(s,\"px\"):s),i&&(t.style.height=\"number\"==typeof i?\"\".concat(i,\"px\"):i)};function $t(t){return void 0!==t.onselectstart&&(t.onselectstart=()=>!1),t.style.userSelect=j,t}class te{constructor(e){t(this,\"_originalCanvasStyle\",void 0),t(this,\"lower\",void 0);const s=this.createLowerCanvas(e);this.lower={el:s,ctx:s.getContext(\"2d\")}}createLowerCanvas(t){const e=(s=t)&&void 0!==s.getContext?t:t&&m().getElementById(t)||pt();var s;if(e.hasAttribute(\"data-fabric\"))throw new h(\"Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?\");return this._originalCanvasStyle=e.style.cssText,e.setAttribute(\"data-fabric\",\"main\"),e.classList.add(\"lower-canvas\"),e}cleanupDOM(t){let{width:e,height:s}=t;const{el:i}=this.lower;i.classList.remove(\"lower-canvas\"),i.removeAttribute(\"data-fabric\"),i.setAttribute(\"width\",\"\".concat(e)),i.setAttribute(\"height\",\"\".concat(s)),i.style.cssText=this._originalCanvasStyle||\"\",this._originalCanvasStyle=void 0}setDimensions(t,e){const{el:s,ctx:i}=this.lower;Qt(s,i,t,e)}setCSSDimensions(t){Zt(this.lower.el,t)}calcOffset(){return function(t){var e;const s=t&&Kt(t),i={left:0,top:0};if(!s)return i;const r=(null===(e=Jt(t))||void 0===e?void 0:e.getComputedStyle(t,null))||{};i.left+=parseInt(r.borderLeftWidth,10)||0,i.top+=parseInt(r.borderTopWidth,10)||0,i.left+=parseInt(r.paddingLeft,10)||0,i.top+=parseInt(r.paddingTop,10)||0;let n={left:0,top:0};const o=s.documentElement;void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect());const a=qt(t);return{left:n.left+a.left-(o.clientLeft||0)+i.left,top:n.top+a.top-(o.clientTop||0)+i.top}}(this.lower.el)}dispose(){p().dispose(this.lower.el),delete this.lower}}const ee={backgroundVpt:!0,backgroundColor:\"\",overlayVpt:!0,overlayColor:\"\",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...T]},se=[\"objects\"];class ie extends(ct(lt)){get lowerCanvasEl(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.el}get contextContainer(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.ctx}static getDefaults(){return ie.ownDefaults}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(t),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(t){this.elements=new te(t)}add(){const t=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=super.insertAt(t,...s);return s.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),r}remove(){const t=super.remove(...arguments);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(t){t.canvas&&t.canvas!==this&&(a(\"warn\",\"Canvas is trying to add an object that belongs to a different canvas.\\nResulting to default behavior: removing object from previous canvas and adding to new canvas\"),t.canvas.remove(t)),t._set(\"canvas\",this),t.setCoords(),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t){t._set(\"canvas\",void 0),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?y():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}setWidth(t,e){return this.setDimensions({width:t},e)}setHeight(t,e){return this.setDimensions({height:t},e)}_setDimensionsImpl(t){let{cssOnly:e=!1,backstoreOnly:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){const e=s({width:this.width,height:this.height},t);this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}i||this.elements.setCSSDimensions(t),this.calcOffset()}setDimensions(t,e){this._setDimensionsImpl(t,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(t){this.viewportTransform=t,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(t,e){const s=t,i=[...this.viewportTransform],r=St(t,wt(i));i[0]=e,i[3]=e;const n=St(r,i);i[4]+=s.x-n.x,i[5]+=s.y-n.y,this.setViewportTransform(i)}setZoom(t){this.zoomToPoint(new ot(0,0),t)}absolutePan(t){const e=[...this.viewportTransform];return e[4]=-t.x,e[5]=-t.y,this.setViewportTransform(e)}relativePan(t){return this.absolutePan(new ot(-t.x-this.viewportTransform[4],-t.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(t){t.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor=\"\",this.overlayColor=\"\",this.clearContext(this.getContext()),this.fire(\"canvas:cleared\"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=ut((()=>this.renderAndReset())))}calcViewportBoundaries(){const t=this.width,e=this.height,s=wt(this.viewportTransform),i=St({x:0,y:0},s),r=St({x:t,y:e},s),n=i.min(r),o=i.max(r);return this.vptCoords={tl:n,tr:new ot(o.x,n.y),bl:new ot(n.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&(dt(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(t){}renderCanvas(t,e){if(this.destroyed)return;const s=this.viewportTransform,i=this.clipPath;this.calcViewportBoundaries(),this.clearContext(t),t.imageSmoothingEnabled=this.imageSmoothingEnabled,t.patternQuality=\"best\",this.fire(\"before:render\",{ctx:t}),this._renderBackground(t),t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._renderObjects(t,e),t.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(t),i&&(i._set(\"canvas\",this),i.shouldCache(),i._transformDone=!0,i.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(t,i)),this._renderOverlay(t),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(t),this.fire(\"after:render\",{ctx:t}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(t,e){const s=this.viewportTransform;t.save(),t.transform(...s),t.globalCompositeOperation=\"destination-in\",e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()}_renderObjects(t,e){for(let s=0,i=e.length;s<i;++s)e[s]&&e[s].render(t)}_renderBackgroundOrOverlay(t,e){const s=this[\"\".concat(e,\"Color\")],i=this[\"\".concat(e,\"Image\")],r=this.viewportTransform,n=this[\"\".concat(e,\"Vpt\")];if(!s&&!i)return;const o=Gt(s);if(s){if(t.save(),t.beginPath(),t.moveTo(0,0),t.lineTo(this.width,0),t.lineTo(this.width,this.height),t.lineTo(0,this.height),t.closePath(),t.fillStyle=o?s.toLive(t):s,n&&t.transform(...r),o){t.transform(1,0,0,1,s.offsetX||0,s.offsetY||0);const e=s.gradientTransform||s.patternTransform;e&&t.transform(...e)}t.fill(),t.restore()}if(i){t.save();const{skipOffscreen:e}=this;this.skipOffscreen=n,n&&t.transform(...r),i.render(t),this.skipOffscreen=e,t.restore()}}_renderBackground(t){this._renderBackgroundOrOverlay(t,\"background\")}_renderOverlay(t){this._renderBackgroundOrOverlay(t,\"overlay\")}getCenter(){return{top:this.height/2,left:this.width/2}}getCenterPoint(){return new ot(this.width/2,this.height/2)}centerObjectH(t){return this._centerObject(t,new ot(this.getCenterPoint().x,t.getCenterPoint().y))}centerObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getCenterPoint().y))}centerObject(t){return this._centerObject(t,this.getCenterPoint())}viewportCenterObject(t){return this._centerObject(t,this.getVpCenter())}viewportCenterObjectH(t){return this._centerObject(t,new ot(this.getVpCenter().x,t.getCenterPoint().y))}viewportCenterObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return St(this.getCenterPoint(),wt(this.viewportTransform))}_centerObject(t,e){t.setXY(e,D,D),t.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(t){return this.toDatalessObject(t)}toObject(t){return this._toObjectMethod(\"toObject\",t)}toJSON(){return this.toObject()}toDatalessObject(t){return this._toObjectMethod(\"toDatalessObject\",t)}_toObjectMethod(t,e){const i=this.clipPath,r=i&&!i.excludeFromExport?this._toObject(i,t,e):null;return s(s(s({version:x},Yt(this,e)),{},{objects:this._objects.filter((t=>!t.excludeFromExport)).map((s=>this._toObject(s,t,e)))},this.__serializeBgOverlay(t,e)),r?{clipPath:r}:null)}_toObject(t,e,s){let i;this.includeDefaultValues||(i=t.includeDefaultValues,t.includeDefaultValues=!1);const r=t[e](s);return this.includeDefaultValues||(t.includeDefaultValues=!!i),r}__serializeBgOverlay(t,e){const s={},i=this.backgroundImage,r=this.overlayImage,n=this.backgroundColor,o=this.overlayColor;return Gt(n)?n.excludeFromExport||(s.background=n.toObject(e)):n&&(s.background=n),Gt(o)?o.excludeFromExport||(s.overlay=o.toObject(e)):o&&(s.overlay=o),i&&!i.excludeFromExport&&(s.backgroundImage=this._toObject(i,t,e)),r&&!r.excludeFromExport&&(s.overlayImage=this._toObject(r,t,e)),s}toSVG(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;t.reviver=e;const s=[];return this._setSVGPreamble(s,t),this._setSVGHeader(s,t),this.clipPath&&s.push('<g clip-path=\"url(#'.concat(this.clipPath.clipPathId,')\" >\\n')),this._setSVGBgOverlayColor(s,\"background\"),this._setSVGBgOverlayImage(s,\"backgroundImage\",e),this._setSVGObjects(s,e),this.clipPath&&s.push(\"</g>\\n\"),this._setSVGBgOverlayColor(s,\"overlay\"),this._setSVGBgOverlayImage(s,\"overlayImage\",e),s.push(\"</svg>\"),s.join(\"\")}_setSVGPreamble(t,e){e.suppressPreamble||t.push('<?xml version=\"1.0\" encoding=\"',e.encoding||\"UTF-8\",'\" standalone=\"no\" ?>\\n','<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ','\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n')}_setSVGHeader(t,e){const s=e.width||\"\".concat(this.width),i=e.height||\"\".concat(this.height),r=o.NUM_FRACTION_DIGITS,n=e.viewBox;let a;if(n)a='viewBox=\"'.concat(n.x,\" \").concat(n.y,\" \").concat(n.width,\" \").concat(n.height,'\" ');else if(this.svgViewportTransformation){const t=this.viewportTransform;a='viewBox=\"'.concat(Vt(-t[4]/t[0],r),\" \").concat(Vt(-t[5]/t[3],r),\" \").concat(Vt(this.width/t[0],r),\" \").concat(Vt(this.height/t[3],r),'\" ')}else a='viewBox=\"0 0 '.concat(this.width,\" \").concat(this.height,'\" ');t.push(\"<svg \",'xmlns=\"http://www.w3.org/2000/svg\" ','xmlns:xlink=\"http://www.w3.org/1999/xlink\" ','version=\"1.1\" ','width=\"',s,'\" ','height=\"',i,'\" ',a,'xml:space=\"preserve\">\\n',\"<desc>Created with Fabric.js \",x,\"</desc>\\n\",\"<defs>\\n\",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),\"</defs>\\n\")}createSVGClipPathMarkup(t){const e=this.clipPath;return e?(e.clipPathId=\"CLIPPATH_\".concat(ft()),'<clipPath id=\"'.concat(e.clipPathId,'\" >\\n').concat(e.toClipPathSVG(t.reviver),\"</clipPath>\\n\")):\"\"}createSVGRefElementsMarkup(){return[\"background\",\"overlay\"].map((t=>{const e=this[\"\".concat(t,\"Color\")];if(Gt(e)){const s=this[\"\".concat(t,\"Vpt\")],i=this.viewportTransform,r={isType:()=>!1,width:this.width/(s?i[0]:1),height:this.height/(s?i[3]:1)};return e.toSVG(r,{additionalTransform:s?zt(i):\"\"})}})).join(\"\")}createSVGFontFacesMarkup(){const t=[],e={},s=o.fontPaths;this._objects.forEach((function e(s){t.push(s),ht(s)&&s._objects.forEach(e)})),t.forEach((t=>{if(!(i=t)||\"function\"!=typeof i._renderText)return;var i;const{styles:r,fontFamily:n}=t;!e[n]&&s[n]&&(e[n]=!0,r&&Object.values(r).forEach((t=>{Object.values(t).forEach((t=>{let{fontFamily:i=\"\"}=t;!e[i]&&s[i]&&(e[i]=!0)}))})))}));const i=Object.keys(e).map((t=>\"\\t\\t@font-face {\\n\\t\\t\\tfont-family: '\".concat(t,\"';\\n\\t\\t\\tsrc: url('\").concat(s[t],\"');\\n\\t\\t}\\n\"))).join(\"\");return i?'\\t<style type=\"text/css\"><![CDATA[\\n'.concat(i,\"]]></style>\\n\"):\"\"}_setSVGObjects(t,e){this.forEachObject((s=>{s.excludeFromExport||this._setSVGObject(t,s,e)}))}_setSVGObject(t,e,s){t.push(e.toSVG(s))}_setSVGBgOverlayImage(t,e,s){const i=this[e];i&&!i.excludeFromExport&&i.toSVG&&t.push(i.toSVG(s))}_setSVGBgOverlayColor(t,e){const s=this[\"\".concat(e,\"Color\")];if(s)if(Gt(s)){const i=s.repeat||\"\",r=this.width,n=this.height,o=this[\"\".concat(e,\"Vpt\")]?zt(wt(this.viewportTransform)):\"\";t.push('<rect transform=\"'.concat(o,\" translate(\").concat(r/2,\",\").concat(n/2,')\" x=\"').concat(s.offsetX-r/2,'\" y=\"').concat(s.offsetY-n/2,'\" width=\"').concat(\"repeat-y\"!==i&&\"no-repeat\"!==i||!Nt(s)?r:s.source.width,'\" height=\"').concat(\"repeat-x\"!==i&&\"no-repeat\"!==i||!Nt(s)?n:s.source.height,'\" fill=\"url(#SVGID_').concat(s.id,')\"></rect>\\n'))}else t.push('<rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" ','fill=\"',s,'\"',\"></rect>\\n\")}loadFromJSON(t,e){let{signal:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return Promise.reject(new h(\"`json` is undefined\"));const r=\"string\"==typeof t?JSON.parse(t):t,{objects:n=[]}=r,o=i(r,se),{backgroundImage:a,background:c,overlayImage:l,overlay:u,clipPath:d}=o,g=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([Bt(n,{reviver:e,signal:s}),Xt({backgroundImage:a,backgroundColor:c,overlayImage:l,overlayColor:u,clipPath:d},{signal:s})]).then((t=>{let[e,s]=t;return this.clear(),this.add(...e),this.set(o),this.set(s),this.renderOnAddRemove=g,this}))}clone(t){const e=this.toObject(t);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){const t=vt(this);return new this.constructor(t)}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return yt(this.toCanvasElement(n,t),e,s)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return _t(this.toCanvasElement(n,t),e,s)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:s,left:i,top:r,filter:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=(e||this.width)*t,a=(s||this.height)*t,h=this.getZoom(),c=this.width,l=this.height,u=this.skipControlsDrawing,d=h*t,g=this.viewportTransform,f=[d,0,0,d,(g[4]-(i||0))*t,(g[5]-(r||0))*t],p=this.enableRetinaScaling,m=vt({width:o,height:a}),v=n?this._objects.filter((t=>n(t))):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=f,this.width=o,this.height=a,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(m.getContext(\"2d\"),v),this.viewportTransform=g,this.width=c,this.height=l,this.calcViewportBoundaries(),this.enableRetinaScaling=p,this.skipControlsDrawing=u,m}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),et.cancelByCanvas(this),this.disposed=!0,new Promise(((t,e)=>{const s=()=>{this.destroy(),t(!0)};s.kill=e,this.__cleanupTask&&this.__cleanupTask.kill(\"aborted\"),this.destroyed?t(!1):this.nextRenderHandle?this.__cleanupTask=s:s()}))}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject((t=>t.dispose())),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return\"#<Canvas (\".concat(this.complexity(),\"): { objects: \").concat(this._objects.length,\" }>\")}}t(ie,\"ownDefaults\",ee);const re=[\"touchstart\",\"touchmove\",\"touchend\"];const ne=t=>{const e=qt(t.target),s=function(t){const e=t.changedTouches;return e&&e[0]?e[0]:t}(t);return new ot(s.clientX+e.left,s.clientY+e.top)},oe=t=>re.includes(t.type)||\"touch\"===t.pointerType,ae=t=>{t.preventDefault(),t.stopPropagation()},he=t=>{let e=0,s=0,i=0,r=0;for(let n=0,o=t.length;n<o;n++){const{x:o,y:a}=t[n];(o>i||!n)&&(i=o),(o<e||!n)&&(e=o),(a>r||!n)&&(r=a),(a<s||!n)&&(s=a)}return{left:e,top:s,width:i-e,height:r-s}},ce=[\"translateX\",\"translateY\",\"scaleX\",\"scaleY\"],le=(t,e)=>ue(t,Tt(e,t.calcOwnMatrix())),ue=(t,e)=>{const s=Dt(e),{translateX:r,translateY:n,scaleX:o,scaleY:a}=s,h=i(s,ce),c=new ot(r,n);t.flipX=!1,t.flipY=!1,Object.assign(t,h),t.set({scaleX:o,scaleY:a}),t.setPositionByOrigin(c,D,D)},de=t=>{t.scaleX=1,t.scaleY=1,t.skewX=0,t.skewY=0,t.flipX=!1,t.flipY=!1,t.rotate(0)},ge=t=>({scaleX:t.scaleX,scaleY:t.scaleY,skewX:t.skewX,skewY:t.skewY,angle:t.angle,left:t.left,flipX:t.flipX,flipY:t.flipY,top:t.top}),fe=(t,e,s)=>{const i=t/2,r=e/2,n=[new ot(-i,-r),new ot(i,-r),new ot(-i,r),new ot(i,r)].map((t=>t.transform(s))),o=he(n);return new ot(o.width,o.height)},pe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;return Tt(wt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:T),t)},me=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;return t.transform(pe(e,s))},ve=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:T;return t.transform(pe(e,s),!0)},ye=(t,e,s)=>{const i=pe(e,s);return ue(t,Tt(i,t.calcOwnMatrix())),i},_e=(t,e)=>{var i;const{transform:{target:r}}=e;null===(i=r.canvas)||void 0===i||i.fire(\"object:\".concat(t),s(s({},e),{},{target:r})),r.fire(t,e)},xe={left:-.5,top:-.5,center:0,bottom:.5,right:.5},Ce=t=>\"string\"==typeof t?xe[t]:t-.5,be=\"not-allowed\";function Se(t){return Ce(t.originX)===Ce(D)&&Ce(t.originY)===Ce(D)}function we(t){return.5-Ce(t)}const Te=(t,e)=>t[e],Oe=(t,e,s,i)=>({e:t,transform:e,pointer:new ot(s,i)});function ke(t,e){const s=t.getTotalAngle()+Ct(Math.atan2(e.y,e.x))+360;return Math.round(s%360/45)}function De(t,e,s,i,r){var n;let{target:o,corner:a}=t;const h=o.controls[a],c=(null===(n=o.canvas)||void 0===n?void 0:n.getZoom())||1,l=o.padding/c,u=function(t,e,s,i){const r=t.getRelativeCenterPoint(),n=void 0!==s&&void 0!==i?t.translateToGivenOrigin(r,D,D,s,i):new ot(t.left,t.top);return(t.angle?e.rotate(-xt(t.angle),r):e).subtract(n)}(o,new ot(i,r),e,s);return u.x>=l&&(u.x-=l),u.x<=-l&&(u.x+=l),u.y>=l&&(u.y-=l),u.y<=l&&(u.y+=l),u.x-=h.offsetX,u.y-=h.offsetY,u}const Me=(t,e,s,i)=>{const{target:r,offsetX:n,offsetY:o}=e,a=s-n,h=i-o,c=!Te(r,\"lockMovementX\")&&r.left!==a,l=!Te(r,\"lockMovementY\")&&r.top!==h;return c&&r.set(M,a),l&&r.set(P,h),(c||l)&&_e(L,Oe(t,e,s,i)),c||l},Pe=t=>t.replace(/\\s+/g,\" \"),Ee={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#0FF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000\",blanchedalmond:\"#FFEBCD\",blue:\"#00F\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#0FF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#F0F\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",indianred:\"#CD5C5C\",indigo:\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#789\",lightslategrey:\"#789\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#0F0\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#F0F\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#639\",red:\"#F00\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FF0\",yellowgreen:\"#9ACD32\"},Ae=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t),je=(t,e,s,i)=>{t/=255,e/=255,s/=255;const r=Math.max(t,e,s),n=Math.min(t,e,s);let o,a;const h=(r+n)/2;if(r===n)o=a=0;else{const i=r-n;switch(a=h>.5?i/(2-r-n):i/(r+n),r){case t:o=(e-s)/i+(e<s?6:0);break;case e:o=(s-t)/i+2;break;case s:o=(t-e)/i+4}o/=6}return[Math.round(360*o),Math.round(100*a),Math.round(100*h),i]},Fe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"1\";return parseFloat(t)/(t.endsWith(\"%\")?100:1)},Le=t=>Math.min(Math.round(t),255).toString(16).toUpperCase().padStart(2,\"0\"),Re=t=>{let[e,s,i,r=1]=t;const n=Math.round(.3*e+.59*s+.11*i);return[n,n,n,r]};class Ie{constructor(e){if(t(this,\"isUnrecognised\",!1),e)if(e instanceof Ie)this.setSource([...e._source]);else if(Array.isArray(e)){const[t,s,i,r=1]=e;this.setSource([t,s,i,r])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(t){return(t=t.toLowerCase())in Ee&&(t=Ee[t]),\"transparent\"===t?[255,255,255,0]:Ie.sourceFromHex(t)||Ie.sourceFromRgb(t)||Ie.sourceFromHsl(t)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(t){this._source=t}toRgb(){const[t,e,s]=this.getSource();return\"rgb(\".concat(t,\",\").concat(e,\",\").concat(s,\")\")}toRgba(){return\"rgba(\".concat(this.getSource().join(\",\"),\")\")}toHsl(){const[t,e,s]=je(...this.getSource());return\"hsl(\".concat(t,\",\").concat(e,\"%,\").concat(s,\"%)\")}toHsla(){const[t,e,s,i]=je(...this.getSource());return\"hsla(\".concat(t,\",\").concat(e,\"%,\").concat(s,\"%,\").concat(i,\")\")}toHex(){return this.toHexa().slice(0,6)}toHexa(){const[t,e,s,i]=this.getSource();return\"\".concat(Le(t)).concat(Le(e)).concat(Le(s)).concat(Le(Math.round(255*i)))}getAlpha(){return this.getSource()[3]}setAlpha(t){return this._source[3]=t,this}toGrayscale(){return this.setSource(Re(this.getSource())),this}toBlackWhite(t){const[e,,,s]=Re(this.getSource()),i=e<(t||127)?0:255;return this.setSource([i,i,i,s]),this}overlayWith(t){t instanceof Ie||(t=new Ie(t));const e=this.getSource(),s=t.getSource(),[i,r,n]=e.map(((t,e)=>Math.round(.5*t+.5*s[e])));return this.setSource([i,r,n,e[3]]),this}static fromRgb(t){return Ie.fromRgba(t)}static fromRgba(t){return new Ie(Ie.sourceFromRgb(t))}static sourceFromRgb(t){const e=Pe(t).match(/^rgba?\\(\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?(?:\\s?[,/]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?)?\\)$/i);if(e){const[t,s,i]=e.slice(1,4).map((t=>{const e=parseFloat(t);return t.endsWith(\"%\")?Math.round(2.55*e):e}));return[t,s,i,Fe(e[4])]}}static fromHsl(t){return Ie.fromHsla(t)}static fromHsla(t){return new Ie(Ie.sourceFromHsl(t))}static sourceFromHsl(t){const e=Pe(t).match(/^hsla?\\(\\s?([+-]?\\d{0,3}(?:\\.\\d+)?(?:deg|turn|rad)?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?(?:\\s?[,/]\\s?(\\d*(?:\\.\\d+)?%?)\\s?)?\\)$/i);if(!e)return;const s=(Ie.parseAngletoDegrees(e[1])%360+360)%360/360,i=parseFloat(e[2])/100,r=parseFloat(e[3])/100;let n,o,a;if(0===i)n=o=a=r;else{const t=r<=.5?r*(i+1):r+i-r*i,e=2*r-t;n=Ae(e,t,s+1/3),o=Ae(e,t,s),a=Ae(e,t,s-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*a),Fe(e[4])]}static fromHex(t){return new Ie(Ie.sourceFromHex(t))}static sourceFromHex(t){if(t.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){const e=t.slice(t.indexOf(\"#\")+1);let s;s=e.length<=4?e.split(\"\").map((t=>t+t)):e.match(/.{2}/g);const[i,r,n,o=255]=s.map((t=>parseInt(t,16)));return[i,r,n,o/255]}}static parseAngletoDegrees(t){const e=t.toLowerCase(),s=parseFloat(e);return e.includes(\"rad\")?Ct(s):e.includes(\"turn\")?360*s:s}}const Be=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O;const s=/\\D{0,2}$/.exec(t),i=parseFloat(t),r=o.DPI;switch(null==s?void 0:s[0]){case\"mm\":return i*r/25.4;case\"cm\":return i*r/2.54;case\"in\":return i*r;case\"pt\":return i*r/72;case\"pc\":return i*r/72*12;case\"em\":return i*e;default:return i}},Xe=t=>{const[e,s]=t.trim().split(\" \"),[i,r]=(n=e)&&n!==j?[n.slice(1,4),n.slice(5,8)]:n===j?[n,n]:[\"Mid\",\"Mid\"];var n;return{meetOrSlice:s||\"meet\",alignX:i,alignY:r}},Ye=function(t,e){let s,i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)s=\"url(#SVGID_\".concat(e.id,\")\");else{const t=new Ie(e),r=t.getAlpha();s=t.toRgb(),1!==r&&(i=r.toString())}else s=\"none\";return r?\"\".concat(t,\": \").concat(s,\"; \").concat(i?\"\".concat(t,\"-opacity: \").concat(i,\"; \"):\"\"):\"\".concat(t,'=\"').concat(s,'\" ').concat(i?\"\".concat(t,'-opacity=\"').concat(i,'\" '):\"\")};class We{getSvgStyles(t){const e=this.fillRule?this.fillRule:\"nonzero\",s=this.strokeWidth?this.strokeWidth:\"0\",i=this.strokeDashArray?this.strokeDashArray.join(\" \"):j,r=this.strokeDashOffset?this.strokeDashOffset:\"0\",n=this.strokeLineCap?this.strokeLineCap:\"butt\",o=this.strokeLineJoin?this.strokeLineJoin:\"miter\",a=this.strokeMiterLimit?this.strokeMiterLimit:\"4\",h=void 0!==this.opacity?this.opacity:\"1\",c=this.visible?\"\":\" visibility: hidden;\",l=t?\"\":this.getSvgFilter(),u=Ye(K,this.fill);return[Ye(J,this.stroke),\"stroke-width: \",s,\"; \",\"stroke-dasharray: \",i,\"; \",\"stroke-linecap: \",n,\"; \",\"stroke-dashoffset: \",r,\"; \",\"stroke-linejoin: \",o,\"; \",\"stroke-miterlimit: \",a,\"; \",u,\"fill-rule: \",e,\"; \",\"opacity: \",h,\";\",l,c].join(\"\")}getSvgFilter(){return this.shadow?\"filter: url(#SVGID_\".concat(this.shadow.id,\");\"):\"\"}getSvgCommons(){return[this.id?'id=\"'.concat(this.id,'\" '):\"\",this.clipPath?'clip-path=\"url(#'.concat(this.clipPath.clipPathId,')\" '):\"\"].join(\"\")}getSvgTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";const s=t?this.calcTransformMatrix():this.calcOwnMatrix(),i='transform=\"'.concat(zt(s));return\"\".concat(i).concat(e,'\" ')}_toSVG(t){return[\"\"]}toSVG(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})}toClipPathSVG(t){return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})}_createBaseClipPathSVGMarkup(t){let{reviver:e,additionalTransform:s=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[this.getSvgTransform(!0,s),this.getSvgCommons()].join(\"\"),r=t.indexOf(\"COMMON_PARTS\");return t[r]=i,e?e(t.join(\"\")):t.join(\"\")}_createBaseSVGMarkup(t){let{noStyle:e,reviver:s,withShadow:i,additionalTransform:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e?\"\":'style=\"'.concat(this.getSvgStyles(),'\" '),o=i?'style=\"'.concat(this.getSvgFilter(),'\" '):\"\",a=this.clipPath,h=this.strokeUniform?'vector-effect=\"non-scaling-stroke\" ':\"\",c=a&&a.absolutePositioned,l=this.stroke,u=this.fill,d=this.shadow,g=[],f=t.indexOf(\"COMMON_PARTS\");let p;a&&(a.clipPathId=\"CLIPPATH_\".concat(ft()),p='<clipPath id=\"'.concat(a.clipPathId,'\" >\\n').concat(a.toClipPathSVG(s),\"</clipPath>\\n\")),c&&g.push(\"<g \",o,this.getSvgCommons(),\" >\\n\"),g.push(\"<g \",this.getSvgTransform(!1),c?\"\":o+this.getSvgCommons(),\" >\\n\");const m=[n,h,e?\"\":this.addPaintOrder(),\" \",r?'transform=\"'.concat(r,'\" '):\"\"].join(\"\");return t[f]=m,Gt(u)&&g.push(u.toSVG(this)),Gt(l)&&g.push(l.toSVG(this)),d&&g.push(d.toSVG(this)),a&&g.push(p),g.push(t.join(\"\")),g.push(\"</g>\\n\"),c&&g.push(\"</g>\\n\"),s?s(g.join(\"\")):g.join(\"\")}addPaintOrder(){return this.paintFirst!==K?' paint-order=\"'.concat(this.paintFirst,'\" '):\"\"}}function Ve(t){return new RegExp(\"^(\"+t.join(\"|\")+\")\\\\b\",\"i\")}const ze=\"textDecorationThickness\",Ge=[\"fontSize\",\"fontWeight\",\"fontFamily\",\"fontStyle\"],He=[\"underline\",\"overline\",\"linethrough\"],Ne=[...Ge,\"lineHeight\",\"text\",\"charSpacing\",\"textAlign\",\"styles\",\"path\",\"pathStartOffset\",\"pathSide\",\"pathAlign\"],Ue=[...Ne,...He,\"textBackgroundColor\",\"direction\",ze],qe=[...Ge,...He,J,\"strokeWidth\",K,\"deltaY\",\"textBackgroundColor\",ze],Ke={_reNewline:F,_reSpacesAndTabs:/[ \\t\\r]/g,_reSpaceAndTab:/[ \\t\\r]/,_reWords:/\\S+/g,fontSize:40,fontWeight:\"normal\",fontFamily:\"Times New Roman\",underline:!1,overline:!1,linethrough:!1,textAlign:M,fontStyle:\"normal\",lineHeight:1.16,textBackgroundColor:\"\",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:M,pathAlign:\"baseline\",charSpacing:0,deltaY:0,direction:\"ltr\",CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.28167,overline:-.81333},_fontSizeMult:1.13,[ze]:66.667},Je=\"justify\",Qe=\"justify-left\",Ze=\"justify-right\",$e=\"justify-center\";var ts,es,ss;const is=String.raw(ts||(ts=r([\"[-+]?(?:d*.d+|d+.?)(?:[eE][-+]?d+)?\"],[\"[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\"]))),rs=String.raw(es||(es=r([\"(?:s*,?s+|s*,s*)\"],[\"(?:\\\\s*,?\\\\s+|\\\\s*,\\\\s*)\"]))),ns=\"http://www.w3.org/2000/svg\",os=new RegExp(\"(normal|italic)?\\\\s*(normal|small-caps)?\\\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\\\s*(\"+is+\"(?:px|cm|mm|em|pt|pc|in)*)(?:\\\\/(normal|\"+is+\"))?\\\\s+(.*)\"),as={cx:M,x:M,r:\"radius\",cy:P,y:P,display:\"visible\",visibility:\"visible\",transform:\"transformMatrix\",\"fill-opacity\":\"fillOpacity\",\"fill-rule\":\"fillRule\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"letter-spacing\":\"charSpacing\",\"paint-order\":\"paintFirst\",\"stroke-dasharray\":\"strokeDashArray\",\"stroke-dashoffset\":\"strokeDashOffset\",\"stroke-linecap\":\"strokeLineCap\",\"stroke-linejoin\":\"strokeLineJoin\",\"stroke-miterlimit\":\"strokeMiterLimit\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-width\":\"strokeWidth\",\"text-decoration\":\"textDecoration\",\"text-anchor\":\"textAnchor\",opacity:\"opacity\",\"clip-path\":\"clipPath\",\"clip-rule\":\"clipRule\",\"vector-effect\":\"strokeUniform\",\"image-rendering\":\"imageSmoothing\",\"text-decoration-thickness\":ze},hs=\"font-size\",cs=\"clip-path\",ls=Ve([\"path\",\"circle\",\"polygon\",\"polyline\",\"ellipse\",\"rect\",\"line\",\"image\",\"text\"]),us=Ve([\"symbol\",\"image\",\"marker\",\"pattern\",\"view\",\"svg\"]),ds=Ve([\"symbol\",\"g\",\"a\",\"svg\",\"clipPath\",\"defs\"]),gs=new RegExp(String.raw(ss||(ss=r([\"^s*(\",\")\",\"(\",\")\",\"(\",\")\",\"(\",\")s*$\"],[\"^\\\\s*(\",\")\",\"(\",\")\",\"(\",\")\",\"(\",\")\\\\s*$\"])),is,rs,is,rs,is,rs,is)),fs=new ot(1,0),ps=new ot,ms=(t,e)=>t.rotate(e),vs=(t,e)=>new ot(e).subtract(t),ys=t=>t.distanceFrom(ps),_s=(t,e)=>Math.atan2(Ss(t,e),ws(t,e)),xs=t=>_s(fs,t),Cs=t=>t.eq(ps)?t:t.scalarDivide(ys(t)),bs=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Cs(new ot(-t.y,t.x).scalarMultiply(e?1:-1))},Ss=(t,e)=>t.x*e.y-t.y*e.x,ws=(t,e)=>t.x*e.x+t.y*e.y,Ts=(t,e,s)=>{if(t.eq(e)||t.eq(s))return!0;const i=Ss(e,s),r=Ss(e,t),n=Ss(s,t);return i>=0?r>=0&&n<=0:!(r<=0&&n>=0)},Os=\"(-?\\\\d+(?:\\\\.\\\\d*)?(?:px)?(?:\\\\s?|$))?\",ks=new RegExp(\"(?:\\\\s|^)\"+Os+Os+\"(\"+is+\"?(?:px)?)?(?:\\\\s?|$)(?:$|\\\\s)\");class Ds{constructor(t){const e=\"string\"==typeof t?Ds.parseShadow(t):t;Object.assign(this,Ds.ownDefaults,e),this.id=ft()}static parseShadow(t){const e=t.trim(),[,s=0,i=0,r=0]=(ks.exec(e)||[]).map((t=>parseFloat(t)||0));return{color:(e.replace(ks,\"\")||\"rgb(0,0,0)\").trim(),offsetX:s,offsetY:i,blur:r}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(\"px \")}toSVG(t){const e=ms(new ot(this.offsetX,this.offsetY),xt(-t.angle)),s=new Ie(this.color);let i=40,r=40;return t.width&&t.height&&(i=100*Vt((Math.abs(e.x)+this.blur)/t.width,o.NUM_FRACTION_DIGITS)+20,r=100*Vt((Math.abs(e.y)+this.blur)/t.height,o.NUM_FRACTION_DIGITS)+20),t.flipX&&(e.x*=-1),t.flipY&&(e.y*=-1),'<filter id=\"SVGID_'.concat(this.id,'\" y=\"-').concat(r,'%\" height=\"').concat(100+2*r,'%\" x=\"-').concat(i,'%\" width=\"').concat(100+2*i,'%\" >\\n\\t<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"').concat(Vt(this.blur?this.blur/2:0,o.NUM_FRACTION_DIGITS),'\"></feGaussianBlur>\\n\\t<feOffset dx=\"').concat(Vt(e.x,o.NUM_FRACTION_DIGITS),'\" dy=\"').concat(Vt(e.y,o.NUM_FRACTION_DIGITS),'\" result=\"oBlur\" ></feOffset>\\n\\t<feFlood flood-color=\"').concat(s.toRgb(),'\" flood-opacity=\"').concat(s.getAlpha(),'\"/>\\n\\t<feComposite in2=\"oBlur\" operator=\"in\" />\\n\\t<feMerge>\\n\\t\\t<feMergeNode></feMergeNode>\\n\\t\\t<feMergeNode in=\"SourceGraphic\"></feMergeNode>\\n\\t</feMerge>\\n</filter>\\n')}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=Ds.ownDefaults;return this.includeDefaultValues?t:Wt(t,((t,s)=>t!==e[s]))}static async fromObject(t){return new this(t)}}t(Ds,\"ownDefaults\",{color:\"rgb(0,0,0)\",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),t(Ds,\"type\",\"shadow\"),tt.setClass(Ds,\"shadow\");const Ms=(t,e,s)=>Math.max(t,Math.min(e,s)),Ps=[P,M,H,N,\"flipX\",\"flipY\",\"originX\",\"originY\",\"angle\",\"opacity\",\"globalCompositeOperation\",\"shadow\",\"visible\",U,q],Es=[K,J,\"strokeWidth\",\"strokeDashArray\",\"width\",\"height\",\"paintFirst\",\"strokeUniform\",\"strokeLineCap\",\"strokeDashOffset\",\"strokeLineJoin\",\"strokeMiterLimit\",\"backgroundColor\",\"clipPath\"],As={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:M,originY:P,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:K,fill:\"rgb(0,0,0)\",fillRule:\"nonzero\",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:\"butt\",strokeLineJoin:\"miter\",strokeMiterLimit:4,globalCompositeOperation:\"source-over\",backgroundColor:\"\",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},js=(t,e,s,i)=>(t<Math.abs(e)?(t=e,i=s/4):i=0===e&&0===t?s/S*Math.asin(1):s/S*Math.asin(e/t),{a:t,c:e,p:s,s:i}),Fs=(t,e,s,i,r)=>t*Math.pow(2,10*(i-=1))*Math.sin((i*r-e)*S/s),Ls=(t,e,s,i)=>-s*Math.cos(t/i*b)+s+e,Rs=(t,e,s,i)=>(t/=i)<1/2.75?s*(7.5625*t*t)+e:t<2/2.75?s*(7.5625*(t-=1.5/2.75)*t+.75)+e:t<2.5/2.75?s*(7.5625*(t-=2.25/2.75)*t+.9375)+e:s*(7.5625*(t-=2.625/2.75)*t+.984375)+e,Is=(t,e,s,i)=>s-Rs(i-t,0,s,i)+e;var Bs=Object.freeze({__proto__:null,defaultEasing:Ls,easeInBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*(t/=i)*t*((r+1)*t-r)+e},easeInBounce:Is,easeInCirc:(t,e,s,i)=>-s*(Math.sqrt(1-(t/=i)*t)-1)+e,easeInCubic:(t,e,s,i)=>s*(t/i)**3+e,easeInElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h}=js(r,s,n,1.70158);return-Fs(o,a,h,t,i)+e},easeInExpo:(t,e,s,i)=>0===t?e:s*2**(10*(t/i-1))+e,easeInOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(t/=i/2)<1?s/2*(t*t*((1+(r*=1.525))*t-r))+e:s/2*((t-=2)*t*((1+(r*=1.525))*t+r)+2)+e},easeInOutBounce:(t,e,s,i)=>t<i/2?.5*Is(2*t,0,s,i)+e:.5*Rs(2*t-i,0,s,i)+.5*s+e,easeInOutCirc:(t,e,s,i)=>(t/=i/2)<1?-s/2*(Math.sqrt(1-t**2)-1)+e:s/2*(Math.sqrt(1-(t-=2)*t)+1)+e,easeInOutCubic:(t,e,s,i)=>(t/=i/2)<1?s/2*t**3+e:s/2*((t-2)**3+2)+e,easeInOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(2===(t/=i/2))return e+s;n||(n=i*(.3*1.5));const{a:o,s:a,p:h,c:c}=js(r,s,n,1.70158);return t<1?-.5*Fs(o,a,h,t,i)+e:o*Math.pow(2,-10*(t-=1))*Math.sin((t*i-a)*S/h)*.5+c+e},easeInOutExpo:(t,e,s,i)=>0===t?e:t===i?e+s:(t/=i/2)<1?s/2*2**(10*(t-1))+e:s/2*-(2**(-10*--t)+2)+e,easeInOutQuad:(t,e,s,i)=>(t/=i/2)<1?s/2*t**2+e:-s/2*(--t*(t-2)-1)+e,easeInOutQuart:(t,e,s,i)=>(t/=i/2)<1?s/2*t**4+e:-s/2*((t-=2)*t**3-2)+e,easeInOutQuint:(t,e,s,i)=>(t/=i/2)<1?s/2*t**5+e:s/2*((t-2)**5+2)+e,easeInOutSine:(t,e,s,i)=>-s/2*(Math.cos(Math.PI*t/i)-1)+e,easeInQuad:(t,e,s,i)=>s*(t/=i)*t+e,easeInQuart:(t,e,s,i)=>s*(t/=i)*t**3+e,easeInQuint:(t,e,s,i)=>s*(t/i)**5+e,easeInSine:(t,e,s,i)=>-s*Math.cos(t/i*b)+s+e,easeOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*((t=t/i-1)*t*((r+1)*t+r)+1)+e},easeOutBounce:Rs,easeOutCirc:(t,e,s,i)=>s*Math.sqrt(1-(t=t/i-1)*t)+e,easeOutCubic:(t,e,s,i)=>s*((t/i-1)**3+1)+e,easeOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h,c:c}=js(r,s,n,1.70158);return o*2**(-10*t)*Math.sin((t*i-a)*S/h)+c+e},easeOutExpo:(t,e,s,i)=>t===i?e+s:s*-(2**(-10*t/i)+1)+e,easeOutQuad:(t,e,s,i)=>-s*(t/=i)*(t-2)+e,easeOutQuart:(t,e,s,i)=>-s*((t=t/i-1)*t**3-1)+e,easeOutQuint:(t,e,s,i)=>s*((t/i-1)**5+1)+e,easeOutSine:(t,e,s,i)=>s*Math.sin(t/i*b)+e});const Xs=()=>!1;class Ys{constructor(e){let{startValue:s,byValue:i,duration:r=500,delay:n=0,easing:o=Ls,onStart:a=C,onChange:h=C,onComplete:c=C,abort:l=Xs,target:u}=e;t(this,\"_state\",\"pending\"),t(this,\"durationProgress\",0),t(this,\"valueProgress\",0),this.tick=this.tick.bind(this),this.duration=r,this.delay=n,this.easing=o,this._onStart=a,this._onChange=h,this._onComplete=c,this._abort=l,this.target=u,this.startValue=s,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return\"aborted\"===this._state||\"completed\"===this._state}start(){const t=t=>{\"pending\"===this._state&&(this.startTime=t||+new Date,this._state=\"running\",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout((()=>ut(t)),this.delay):ut(t)}tick(t){const e=(t||+new Date)-this.startTime,s=Math.min(e,this.duration);this.durationProgress=s/this.duration;const{value:i,valueProgress:r}=this.calculate(s);this.value=Object.freeze(i),this.valueProgress=r,\"aborted\"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state=\"aborted\",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state=\"completed\",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),ut(this.tick)))}register(){et.push(this)}unregister(){et.remove(this)}abort(){this._state=\"aborted\",this.unregister()}}const Ws=[\"startValue\",\"endValue\"];class Vs extends Ys{constructor(t){let{startValue:e=0,endValue:r=100}=t;super(s(s({},i(t,Ws)),{},{startValue:e,byValue:r-e}))}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}const zs=[\"startValue\",\"endValue\"];class Gs extends Ys{constructor(t){let{startValue:e=[0],endValue:r=[100]}=t;super(s(s({},i(t,zs)),{},{startValue:e,byValue:r.map(((t,s)=>t-e[s]))}))}calculate(t){const e=this.startValue.map(((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s)));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const Hs=[\"startValue\",\"endValue\",\"easing\",\"onChange\",\"onComplete\",\"abort\"],Ns=(t,e,s,i)=>e+s*(1-Math.cos(t/i*b)),Us=t=>t&&((e,s,i)=>t(new Ie(e).toRgba(),s,i));class qs extends Ys{constructor(t){let{startValue:e,endValue:r,easing:n=Ns,onChange:o,onComplete:a,abort:h}=t,c=i(t,Hs);const l=new Ie(e).getSource(),u=new Ie(r).getSource();super(s(s({},c),{},{startValue:l,byValue:u.map(((t,e)=>t-l[e])),easing:n,onChange:Us(o),onComplete:Us(a),abort:Us(h)}))}calculate(t){const[e,s,i,r]=this.startValue.map(((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s))),n=[...[e,s,i].map(Math.round),Ms(0,r,1)];return{value:n,valueProgress:n.map(((t,e)=>0!==this.byValue[e]?Math.abs((t-this.startValue[e])/this.byValue[e]):0)).find((t=>0!==t))||0}}}function Ks(t){const e=(t=>Array.isArray(t.startValue)||Array.isArray(t.endValue))(t)?new Gs(t):new Vs(t);return e.start(),e}function Js(t){const e=new qs(t);return e.start(),e}class Qs{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some((e=>e.eq(t)))}append(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.points=this.points.concat(e.filter((t=>!this.includes(t)))),this}static isPointContained(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(s))return t.eq(e);if(e.x===s.x)return t.x===e.x&&(i||t.y>=Math.min(e.y,s.y)&&t.y<=Math.max(e.y,s.y));if(e.y===s.y)return t.y===e.y&&(i||t.x>=Math.min(e.x,s.x)&&t.x<=Math.max(e.x,s.x));{const r=vs(e,s),n=vs(e,t).divide(r);return i?Math.abs(n.x)===Math.abs(n.y):n.x===n.y&&n.x>=0&&n.x<=1}}static isPointInPolygon(t,e){const s=new ot(t).setX(Math.min(t.x-1,...e.map((t=>t.x))));let i=0;for(let r=0;r<e.length;r++){const n=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,s);if(n.includes(t))return!0;i+=Number(\"Intersection\"===n.status)}return i%2==1}static intersectLineLine(t,e,s,i){let r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=e.x-t.x,a=e.y-t.y,h=i.x-s.x,c=i.y-s.y,l=t.x-s.x,u=t.y-s.y,d=h*u-c*l,g=o*u-a*l,f=c*o-h*a;if(0!==f){const e=d/f,s=g/f;return(r||0<=e&&e<=1)&&(n||0<=s&&s<=1)?new Qs(\"Intersection\").append(new ot(t.x+e*o,t.y+e*a)):new Qs}if(0===d||0===g){const o=r||n||Qs.isPointContained(t,s,i)||Qs.isPointContained(e,s,i)||Qs.isPointContained(s,t,e)||Qs.isPointContained(i,t,e);return new Qs(o?\"Coincident\":void 0)}return new Qs(\"Parallel\")}static intersectSegmentLine(t,e,s,i){return Qs.intersectLineLine(t,e,s,i,!1,!0)}static intersectSegmentSegment(t,e,s,i){return Qs.intersectLineLine(t,e,s,i,!1,!1)}static intersectLinePolygon(t,e,s){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const r=new Qs,n=s.length;for(let o,a,h,c=0;c<n;c++){if(o=s[c],a=s[(c+1)%n],h=Qs.intersectLineLine(t,e,o,a,i,!1),\"Coincident\"===h.status)return h;r.append(...h.points)}return r.points.length>0&&(r.status=\"Intersection\"),r}static intersectSegmentPolygon(t,e,s){return Qs.intersectLinePolygon(t,e,s,!1)}static intersectPolygonPolygon(t,e){const s=new Qs,i=t.length,r=[];for(let n=0;n<i;n++){const o=t[n],a=t[(n+1)%i],h=Qs.intersectSegmentPolygon(o,a,e);\"Coincident\"===h.status?(r.push(h),s.append(o,a)):s.append(...h.points)}return r.length>0&&r.length===t.length?new Qs(\"Coincident\"):(s.points.length>0&&(s.status=\"Intersection\"),s)}static intersectPolygonRectangle(t,e,s){const i=e.min(s),r=e.max(s),n=new ot(r.x,i.y),o=new ot(i.x,r.y);return Qs.intersectPolygonPolygon(t,[i,n,r,o])}}class Zs extends lt{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?St(t,this.group.calcTransformMatrix()):t}setXY(t,e,s){this.group&&(t=St(t,wt(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,s)}getRelativeXY(){return new ot(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(t,e,s)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:s,bl:i}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,s,i];if(this.group){const t=this.group.calcTransformMatrix();return r.map((e=>St(e,t)))}return r}intersectsWithRect(t,e){return\"Intersection\"===Qs.intersectPolygonRectangle(this.getCoords(),t,e).status}intersectsWithObject(t){const e=Qs.intersectPolygonPolygon(this.getCoords(),t.getCoords());return\"Intersection\"===e.status||\"Coincident\"===e.status||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every((e=>t.containsPoint(e)))}isContainedWithinRect(t,e){const{left:s,top:i,width:r,height:n}=this.getBoundingRect();return s>=t.x&&s+r<=e.x&&i>=t.y&&i+n<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return Qs.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some((s=>s.x<=e.x&&s.x>=t.x&&s.y<=e.y&&s.y>=t.y))||(!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e)))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;if(this.intersectsWithRect(t,e))return!0;return this.getCoords().every((s=>(s.x>=e.x||s.x<=t.x)&&(s.y>=e.y||s.y<=t.y)))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return he(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(H,t),this._set(N,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?Ct(kt(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.viewportTransform)||T.concat()}calcACoords(){const t=Pt({angle:this.angle}),{x:e,y:s}=this.getRelativeCenterPoint(),i=Mt(e,s),r=Tt(i,t),n=this._getTransformedDimensions(),o=n.x/2,a=n.y/2;return{tl:St({x:-o,y:-a},r),tr:St({x:o,y:-a},r),bl:St({x:-o,y:a},r),br:St({x:o,y:a},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,Ce(this.originX),Ce(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const s=this.transformMatrixKey(t),i=this.matrixCache;return i&&i.key.every(((t,e)=>t===s[e]))?i.value:(this.group&&(e=Tt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:s,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===t)return e.value;const s=this.getRelativeCenterPoint(),i={angle:this.angle,translateX:s.x,translateY:s.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Rt(i);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new ot(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=s({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},t),i=e.strokeWidth;let r=i,n=0;this.strokeUniform&&(r=0,n=i);const o=e.width+r,a=e.height+r;let h;return h=0===e.skewX&&0===e.skewY?new ot(o*e.scaleX,a*e.scaleY):fe(o,a,Lt(e)),h.scalarAdd(n)}translateToGivenOrigin(t,e,s,i,r){let n=t.x,o=t.y;const a=Ce(i)-Ce(e),h=Ce(r)-Ce(s);if(a||h){const t=this._getTransformedDimensions();n+=a*t.x,o+=h*t.y}return new ot(n,o)}translateToCenterPoint(t,e,s){if(e===D&&s===D)return t;const i=this.translateToGivenOrigin(t,e,s,D,D);return this.angle?i.rotate(xt(this.angle),t):i}translateToOriginPoint(t,e,s){const i=this.translateToGivenOrigin(t,D,D,e,s);return this.angle?i.rotate(xt(this.angle),t):i}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?St(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new ot(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,s){const i=this.translateToCenterPoint(t,e,s),r=this.translateToOriginPoint(i,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),M,P)}}const $s=[\"type\"],ti=[\"extraParam\"];let ei=class e extends Zs{static getDefaults(){return e.ownDefaults}get type(){const t=this.constructor.type;return\"FabricObject\"===t?\"object\":t.toLowerCase()}set type(t){a(\"warn\",\"Setting type has no effect\",t)}constructor(s){super(),t(this,\"_cacheContext\",null),Object.assign(this,e.ownDefaults),this.setOptions(s)}_createCacheCanvas(){this._cacheCanvas=pt(),this._cacheContext=this._cacheCanvas.getContext(\"2d\"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,s=t.height,i=o.maxCacheSideLimit,r=o.minCacheSideLimit;if(e<=i&&s<=i&&e*s<=o.perfLimitSizeTotal)return e<r&&(t.width=r),s<r&&(t.height=r),t;const n=e/s,[a,h]=_.limitDimsByArea(n),c=Ms(r,a,i),l=Ms(r,h,i);return e>c&&(t.zoomX/=e/c,t.width=c,t.capped=!0),s>l&&(t.zoomY/=s/l,t.height=l,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),s=e.x*t.x/this.scaleX,i=e.y*t.y/this.scaleY;return{width:Math.ceil(s+2),height:Math.ceil(i+2),zoomX:t.x,zoomY:t.y,x:s,y:i}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:s,height:i,zoomX:r,zoomY:n,x:o,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),h=s!==t.width||i!==t.height,c=this.zoomX!==r||this.zoomY!==n;if(!t||!e)return!1;if(h||c){s!==t.width||i!==t.height?(t.width=s,t.height=i):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const h=o/2,c=a/2;return this.cacheTranslationX=Math.round(t.width/2-h)+h,this.cacheTranslationY=Math.round(t.height/2-c)+c,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,n),this.zoomX=r,this.zoomY=n,!0}return!1}setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,s=this.calcTransformMatrix(!e);t.transform(s[0],s[1],s[2],s[3],s[4],s[5])}getObjectScaling(){if(!this.group)return new ot(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Dt(this.calcTransformMatrix());return new ot(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),s=this.getCanvasRetinaScaling();return t.scalarMultiply(e*s)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:0===t?1e-4:t}_set(t,e){t!==H&&t!==N||(e=this._constrainScale(e)),t===H&&e<0?(this.flipX=!this.flipX,e*=-1):\"scaleY\"===t&&e<0?(this.flipY=!this.flipY,e*=-1):\"shadow\"!==t||!e||e instanceof Ds||(e=new Ds(e));const s=this[t]!==e;return this[t]=e,s&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||s&&this.constructor.stateProperties.includes(t))&&this.parent._set(\"dirty\",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r}=this,{width:n,height:o}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r,width:n,height:o,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&\"transparent\"!==this.stroke&&0!==this.strokeWidth}hasFill(){return this.fill&&\"transparent\"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===J&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(t,e,s){t.save(),e.inverted?t.globalCompositeOperation=\"destination-out\":t.globalCompositeOperation=\"destination-in\",t.setTransform(1,0,0,1,0,0),t.drawImage(s,0,0),t.restore()}drawObject(t,e,s){const i=this.fill,r=this.stroke;e?(this.fill=\"black\",this.stroke=\"\",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath,s),this.fill=i,this.stroke=r}createClipPathLayer(t,e){const s=vt(e),i=s.getContext(\"2d\");if(i.translate(e.cacheTranslationX,e.cacheTranslationY),i.scale(e.zoomX,e.zoomY),t._cacheCanvas=s,e.parentClipPaths.forEach((t=>{t.transform(i)})),e.parentClipPaths.push(t),t.absolutePositioned){const t=wt(this.calcTransformMatrix());i.transform(t[0],t[1],t[2],t[3],t[4],t[5])}return t.transform(i),t.drawObject(i,!0,e),s}_drawClipPath(t,e,s){if(!e)return;e._transformDone=!0;const i=this.createClipPathLayer(e,s);this.drawClipPathOnCache(t,e,i)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,s=this._cacheContext;return!(!e||!s||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&s&&!t&&(s.save(),s.setTransform(1,0,0,1,0,0),s.clearRect(0,0,e.width,e.height),s.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const s=e.stroke;s&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,Gt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?this._applyPatternForTransformedGradient(t,s):(t.strokeStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:s}=e;s&&(Gt(s)?(t.fillStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.fillStyle=s)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle=\"transparent\",t.fillStyle=\"#000000\"}_setLineDash(t,e){e&&0!==e.length&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,s=this.canvas,i=this.getCanvasRetinaScaling(),[r,,,n]=(null==s?void 0:s.viewportTransform)||T,a=r*i,h=n*i,c=e.nonScaling?new ot(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*o.browserShadowBlurConstant*(a+h)*(c.x+c.y)/4,t.shadowOffsetX=e.offsetX*a*c.x,t.shadowOffsetY=e.offsetY*h*c.y}_removeShadow(t){this.shadow&&(t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!Gt(e))return{offsetX:0,offsetY:0};const s=e.gradientTransform||e.patternTransform,i=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return\"percentage\"===e.gradientUnits?t.transform(this.width,0,0,this.height,i,r):t.transform(1,0,0,1,i,r),s&&t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),{offsetX:i,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===J?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),\"evenodd\"===this.fillRule?t.fill(\"evenodd\"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var s;const i=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),n=i.x/this.scaleX/r,o=i.y/this.scaleY/r,a=vt({width:Math.ceil(n),height:Math.ceil(o)}),h=a.getContext(\"2d\");h&&(h.beginPath(),h.moveTo(0,0),h.lineTo(n,0),h.lineTo(n,o),h.lineTo(0,o),h.closePath(),h.translate(n/2,o/2),h.scale(i.zoomX/this.scaleX/r,i.zoomY/this.scaleY/r),this._applyPatternGradientTransform(h,e),h.fillStyle=e.toLive(t),h.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/i.zoomX,r*this.scaleY/i.zoomY),t.strokeStyle=null!==(s=h.createPattern(a,\"no-repeat\"))&&void 0!==s?s:\"\")}_findCenterFromElement(){return new ot(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(tt.getClass(\"image\"))(e)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=ge(this),s=this.group,i=this.shadow,r=Math.abs,n=t.enableRetinaScaling?y():1,o=(t.multiplier||1)*n,a=t.canvasProvider||(t=>new ie(t,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&de(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&ye(this,this.getViewportTransform()),this.setCoords();const h=pt(),c=this.getBoundingRect(),l=this.shadow,u=new ot;if(l){const t=l.blur,e=l.nonScaling?new ot(1,1):this.getObjectScaling();u.x=2*Math.round(r(l.offsetX)+t)*r(e.x),u.y=2*Math.round(r(l.offsetY)+t)*r(e.y)}const d=c.width+u.x,g=c.height+u.y;h.width=Math.ceil(d),h.height=Math.ceil(g);const f=a(h);\"jpeg\"===t.format&&(f.backgroundColor=\"#fff\"),this.setPositionByOrigin(new ot(f.width/2,f.height/2),D,D);const p=this.canvas;f._objects=[this],this.set(\"canvas\",f),this.setCoords();const m=f.toCanvasElement(o||1,t);return this.set(\"canvas\",p),this.shadow=i,s&&(this.group=s),this.set(e),this.setCoords(),f._objects=[],f.destroy(),m}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return yt(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _t(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:s,originY:i}=this;if(e){const{x:t,y:e}=this.getRelativeCenterPoint();this.originX=D,this.originY=D,this.left=t,this.top=e}if(this.set(\"angle\",t),e){const{x:t,y:e}=this.translateToOriginPoint(this.getRelativeCenterPoint(),s,i);this.left=t,this.top=e,this.originX=s,this.originY=i}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){et.cancelByTarget(this),this.off(),this._set(\"canvas\",void 0),this._cacheCanvas&&p().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce(((t,s)=>{let[i,r]=s;return t[i]=this._animate(i,r,e),t}),{})}_animate(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.split(\".\"),n=this.constructor.colorProperties.includes(r[r.length-1]),{abort:o,startValue:a,onChange:h,onComplete:c}=i,l=s(s({},i),{},{target:this,startValue:null!=a?a:r.reduce(((t,e)=>t[e]),this),endValue:e,abort:null==o?void 0:o.bind(this),onChange:(t,e,s)=>{r.reduce(((e,s,i)=>(i===r.length-1&&(e[s]=t),e[s])),this),h&&h(t,e,s)},onComplete:(t,e,s)=>{this.setCoords(),c&&c(t,e,s)}});return n?Js(l):Ks(l)}isDescendantOf(t){const{parent:e,group:s}=this;return e===t||s===t||!!e&&e.isDescendantOf(t)||!!s&&s!==e&&s.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do{e=e.parent,e&&t.push(e)}while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),s=t.getAncestors();if(0===e.length&&s.length>0&&this===s[s.length-1])return{fork:[],otherFork:[t,...s.slice(0,s.length-1)],common:[this]};for(let i,r=0;r<e.length;r++){if(i=e[r],i===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let n=0;n<s.length;n++){if(this===s[n])return{fork:[],otherFork:[t,...s.slice(0,n)],common:[this,...e]};if(i===s[n])return{fork:[this,...e.slice(0,r)],otherFork:[t,...s.slice(0,n)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...s],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const s=e.common[0]||this.canvas;if(!s)return;const i=e.fork.pop(),r=e.otherFork.pop(),n=s._objects.indexOf(i),o=s._objects.indexOf(r);return n>-1&&n>o}toObject(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(e.customProperties,this.constructor.customProperties||[]);let i;const r=o.NUM_FRACTION_DIGITS,{clipPath:n,fill:a,stroke:h,shadow:c,strokeDashArray:l,left:u,top:d,originX:g,originY:f,width:p,height:m,strokeWidth:v,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:C,strokeUniform:b,strokeMiterLimit:S,scaleX:w,scaleY:T,angle:O,flipX:k,flipY:D,opacity:M,visible:P,backgroundColor:E,fillRule:A,paintFirst:j,globalCompositeOperation:F,skewX:L,skewY:R}=this;n&&!n.excludeFromExport&&(i=n.toObject(t.concat(\"inverted\",\"absolutePositioned\")));const I=t=>Vt(t,r),B=s(s({},Yt(this,t)),{},{type:this.constructor.type,version:x,originX:g,originY:f,left:I(u),top:I(d),width:I(p),height:I(m),fill:Ht(a)?a.toObject():a,stroke:Ht(h)?h.toObject():h,strokeWidth:I(v),strokeDashArray:l?l.concat():l,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:C,strokeUniform:b,strokeMiterLimit:I(S),scaleX:I(w),scaleY:I(T),angle:I(O),flipX:k,flipY:D,opacity:I(M),shadow:c?c.toObject():c,visible:P,backgroundColor:E,fillRule:A,paintFirst:j,globalCompositeOperation:F,skewX:I(L),skewY:I(R)},i?{clipPath:i}:null);return this.includeDefaultValues?B:this._removeDefaultValues(B)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),s=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return Wt(t,((t,e)=>{if(e===M||e===P||\"type\"===e)return!0;const i=s[e];return t!==i&&!(Array.isArray(t)&&Array.isArray(i)&&0===t.length&&0===i.length)}))}toString(){return\"#<\".concat(this.constructor.type,\">\")}static _fromObject(t){let e=i(t,$s),s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{extraParam:r}=s,n=i(s,ti);return Xt(e,n).then((t=>r?(delete t[r],new this(e[r],t)):new this(t)))}static fromObject(t,e){return this._fromObject(t,e)}};t(ei,\"stateProperties\",Ps),t(ei,\"cacheProperties\",Es),t(ei,\"ownDefaults\",As),t(ei,\"type\",\"FabricObject\"),t(ei,\"colorProperties\",[K,J,\"backgroundColor\"]),t(ei,\"customProperties\",[]),tt.setClass(ei),tt.setClass(ei,\"object\");const si=(t,e,i)=>(r,n,o,a)=>{const h=e(r,n,o,a);return h&&_e(t,s(s({},Oe(r,n,o,a)),i)),h};function ii(t){return(e,s,i,r)=>{const{target:n,originX:o,originY:a}=s,h=n.getRelativeCenterPoint(),c=n.translateToOriginPoint(h,o,a),l=t(e,s,i,r);return n.setPositionByOrigin(c,s.originX,s.originY),l}}const ri=si(Y,ii(((t,e,s,i)=>{const r=De(e,e.originX,e.originY,s,i);if(Ce(e.originX)===Ce(D)||Ce(e.originX)===Ce(A)&&r.x<0||Ce(e.originX)===Ce(M)&&r.x>0){const{target:t}=e,s=t.strokeWidth/(t.strokeUniform?t.scaleX:1),i=Se(e)?2:1,n=t.width,o=Math.abs(r.x*i/t.scaleX)-s;return t.set(\"width\",Math.max(o,1)),n!==t.width}return!1})));function ni(t,e,s,i,r){i=i||{};const n=this.sizeX||i.cornerSize||r.cornerSize,o=this.sizeY||i.cornerSize||r.cornerSize,a=void 0!==i.transparentCorners?i.transparentCorners:r.transparentCorners,h=a?J:K,c=!a&&(i.cornerStrokeColor||r.cornerStrokeColor);let l,u=e,d=s;t.save(),t.fillStyle=i.cornerColor||r.cornerColor||\"\",t.strokeStyle=i.cornerStrokeColor||r.cornerStrokeColor||\"\",n>o?(l=n,t.scale(1,o/n),d=s*n/o):o>n?(l=o,t.scale(n/o,1),u=e*o/n):l=n,t.beginPath(),t.arc(u,d,l/2,0,S,!1),t[h](),c&&t.stroke(),t.restore()}function oi(t,e,s,i,r){i=i||{};const n=this.sizeX||i.cornerSize||r.cornerSize,o=this.sizeY||i.cornerSize||r.cornerSize,a=void 0!==i.transparentCorners?i.transparentCorners:r.transparentCorners,h=a?J:K,c=!a&&(i.cornerStrokeColor||r.cornerStrokeColor),l=n/2,u=o/2;t.save(),t.fillStyle=i.cornerColor||r.cornerColor||\"\",t.strokeStyle=i.cornerStrokeColor||r.cornerStrokeColor||\"\",t.translate(e,s);const d=r.getTotalAngle();t.rotate(xt(d)),t[\"\".concat(h,\"Rect\")](-l,-u,n,o),c&&t.strokeRect(-l,-u,n,o),t.restore()}class ai{constructor(e){t(this,\"visible\",!0),t(this,\"actionName\",G),t(this,\"angle\",0),t(this,\"x\",0),t(this,\"y\",0),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"sizeX\",0),t(this,\"sizeY\",0),t(this,\"touchSizeX\",0),t(this,\"touchSizeY\",0),t(this,\"cursorStyle\",\"crosshair\"),t(this,\"withConnection\",!1),Object.assign(this,e)}shouldActivate(t,e,s,i){var r;let{tl:n,tr:o,br:a,bl:h}=i;return(null===(r=e.canvas)||void 0===r?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&Qs.isPointInPolygon(s,[n,o,a,h])}getActionHandler(t,e,s){return this.actionHandler}getMouseDownHandler(t,e,s){return this.mouseDownHandler}getMouseUpHandler(t,e,s){return this.mouseUpHandler}cursorStyleHandler(t,e,s){return e.cursorStyle}getActionName(t,e,s){return e.actionName}getVisibility(t,e){var s,i;return null!==(s=null===(i=t._controlsVisibility)||void 0===i?void 0:i[e])&&void 0!==s?s:this.visible}setVisibility(t,e,s){this.visible=t}positionHandler(t,e,s,i){return new ot(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,s,i,r,n){const o=Ot([Mt(s,i),Pt({angle:t}),Et((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new ot(-.5,-.5).transform(o),tr:new ot(.5,-.5).transform(o),br:new ot(.5,.5).transform(o),bl:new ot(-.5,.5).transform(o)}}render(t,e,s,i,r){if(\"circle\"===((i=i||{}).cornerStyle||r.cornerStyle))ni.call(this,t,e,s,i,r);else oi.call(this,t,e,s,i,r)}}const hi=(t,e,s)=>s.lockRotation?be:e.cursorStyle,ci=si(I,ii(((t,e,s,i)=>{let{target:r,ex:n,ey:o,theta:a,originX:h,originY:c}=e;const l=r.translateToOriginPoint(r.getRelativeCenterPoint(),h,c);if(Te(r,\"lockRotation\"))return!1;const u=Math.atan2(o-l.y,n-l.x),d=Math.atan2(i-l.y,s-l.x);let g=Ct(d-u+a);if(r.snapAngle&&r.snapAngle>0){const t=r.snapAngle,e=r.snapThreshold||t,s=Math.ceil(g/t)*t,i=Math.floor(g/t)*t;Math.abs(g-i)<e?g=i:Math.abs(g-s)<e&&(g=s)}g<0&&(g=360+g),g%=360;const f=r.angle!==g;return r.angle=g,f})));function li(t,e){const s=e.canvas,i=t[s.uniScaleKey];return s.uniformScaling&&!i||!s.uniformScaling&&i}function ui(t,e,s){const i=Te(t,\"lockScalingX\"),r=Te(t,\"lockScalingY\");if(i&&r)return!0;if(!e&&(i||r)&&s)return!0;if(i&&\"x\"===e)return!0;if(r&&\"y\"===e)return!0;const{width:n,height:o,strokeWidth:a}=t;return 0===n&&0===a&&\"y\"!==e||0===o&&0===a&&\"x\"!==e}const di=[\"e\",\"se\",\"s\",\"sw\",\"w\",\"nw\",\"n\",\"ne\",\"e\"],gi=(t,e,s)=>{const i=li(t,s);if(ui(s,0!==e.x&&0===e.y?\"x\":0===e.x&&0!==e.y?\"y\":\"\",i))return be;const r=ke(s,e);return\"\".concat(di[r],\"-resize\")};function fi(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const n=e.target,o=r.by,a=li(t,n);let h,c,l,u,d,g;if(ui(n,o,a))return!1;if(e.gestureScale)c=e.scaleX*e.gestureScale,l=e.scaleY*e.gestureScale;else{if(h=De(e,e.originX,e.originY,s,i),d=\"y\"!==o?Math.sign(h.x||e.signX||1):1,g=\"x\"!==o?Math.sign(h.y||e.signY||1):1,e.signX||(e.signX=d),e.signY||(e.signY=g),Te(n,\"lockScalingFlip\")&&(e.signX!==d||e.signY!==g))return!1;if(u=n._getTransformedDimensions(),a&&!o){const t=Math.abs(h.x)+Math.abs(h.y),{original:s}=e,i=t/(Math.abs(u.x*s.scaleX/n.scaleX)+Math.abs(u.y*s.scaleY/n.scaleY));c=s.scaleX*i,l=s.scaleY*i}else c=Math.abs(h.x*n.scaleX/u.x),l=Math.abs(h.y*n.scaleY/u.y);Se(e)&&(c*=2,l*=2),e.signX!==d&&\"y\"!==o&&(e.originX=we(e.originX),c*=-1,e.signX=d),e.signY!==g&&\"x\"!==o&&(e.originY=we(e.originY),l*=-1,e.signY=g)}const f=n.scaleX,p=n.scaleY;return o?(\"x\"===o&&n.set(H,c),\"y\"===o&&n.set(N,l)):(!Te(n,\"lockScalingX\")&&n.set(H,c),!Te(n,\"lockScalingY\")&&n.set(N,l)),f!==n.scaleX||p!==n.scaleY}const pi=si(R,ii(((t,e,s,i)=>fi(t,e,s,i)))),mi=si(R,ii(((t,e,s,i)=>fi(t,e,s,i,{by:\"x\"})))),vi=si(R,ii(((t,e,s,i)=>fi(t,e,s,i,{by:\"y\"})))),yi=[\"target\",\"ex\",\"ey\",\"skewingSide\"],_i={x:{counterAxis:\"y\",scale:H,skew:U,lockSkewing:\"lockSkewingX\",origin:\"originX\",flip:\"flipX\"},y:{counterAxis:\"x\",scale:N,skew:q,lockSkewing:\"lockSkewingY\",origin:\"originY\",flip:\"flipY\"}},xi=[\"ns\",\"nesw\",\"ew\",\"nwse\"],Ci=(t,e,s)=>{if(0!==e.x&&Te(s,\"lockSkewingY\"))return be;if(0!==e.y&&Te(s,\"lockSkewingX\"))return be;const i=ke(s,e)%4;return\"\".concat(xi[i],\"-resize\")};function bi(t,e,r,n,o){const{target:a}=r,{counterAxis:h,origin:c,lockSkewing:l,skew:u,flip:d}=_i[t];if(Te(a,l))return!1;const{origin:g,flip:f}=_i[h],p=Ce(r[g])*(a[f]?-1:1),m=-Math.sign(p)*(a[d]?-1:1),v=.5*-((0===a[u]&&De(r,D,D,n,o)[t]>0||a[u]>0?1:-1)*m)+.5,y=si(X,ii(((e,s,r,n)=>function(t,e,s){let{target:r,ex:n,ey:o,skewingSide:a}=e,h=i(e,yi);const{skew:c}=_i[t],l=s.subtract(new ot(n,o)).divide(new ot(r.scaleX,r.scaleY))[t],u=r[c],d=h[c],g=Math.tan(xt(d)),f=\"y\"===t?r._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:r._getTransformedDimensions({scaleX:1,scaleY:1}).y,p=2*l*a/Math.max(f,1)+g,m=Ct(Math.atan(p));r.set(c,m);const v=u!==r[c];if(v&&\"y\"===t){const{skewX:t,scaleX:e}=r,s=r._getTransformedDimensions({skewY:u}),i=r._getTransformedDimensions(),n=0!==t?s.x/i.x:1;1!==n&&r.set(H,n*e)}return v}(t,s,new ot(r,n)))));return y(e,s(s({},r),{},{[c]:v,skewingSide:m}),n,o)}const Si=(t,e,s,i)=>bi(\"x\",t,e,s,i),wi=(t,e,s,i)=>bi(\"y\",t,e,s,i);function Ti(t,e){return t[e.canvas.altActionKey]}const Oi=(t,e,s)=>{const i=Ti(t,s);return 0===e.x?i?U:N:0===e.y?i?q:H:\"\"},ki=(t,e,s)=>Ti(t,s)?Ci(0,e,s):gi(t,e,s),Di=(t,e,s,i)=>Ti(t,e.target)?wi(t,e,s,i):mi(t,e,s,i),Mi=(t,e,s,i)=>Ti(t,e.target)?Si(t,e,s,i):vi(t,e,s,i),Pi=()=>({ml:new ai({x:-.5,y:0,cursorStyleHandler:ki,actionHandler:Di,getActionName:Oi}),mr:new ai({x:.5,y:0,cursorStyleHandler:ki,actionHandler:Di,getActionName:Oi}),mb:new ai({x:0,y:.5,cursorStyleHandler:ki,actionHandler:Mi,getActionName:Oi}),mt:new ai({x:0,y:-.5,cursorStyleHandler:ki,actionHandler:Mi,getActionName:Oi}),tl:new ai({x:-.5,y:-.5,cursorStyleHandler:gi,actionHandler:pi}),tr:new ai({x:.5,y:-.5,cursorStyleHandler:gi,actionHandler:pi}),bl:new ai({x:-.5,y:.5,cursorStyleHandler:gi,actionHandler:pi}),br:new ai({x:.5,y:.5,cursorStyleHandler:gi,actionHandler:pi}),mtr:new ai({x:0,y:-.5,actionHandler:ci,cursorStyleHandler:hi,offsetY:-40,withConnection:!0,actionName:B})}),Ei=()=>({mr:new ai({x:.5,y:0,actionHandler:ri,cursorStyleHandler:ki,actionName:Y}),ml:new ai({x:-.5,y:0,actionHandler:ri,cursorStyleHandler:ki,actionName:Y})}),Ai=()=>s(s({},Pi()),Ei());class ji extends ei{static getDefaults(){return s(s({},super.getDefaults()),ji.ownDefaults)}constructor(t){super(),Object.assign(this,this.constructor.createControls(),ji.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Pi()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,s=e.target,i=e.action;if(this===s&&i&&i.startsWith(G))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const s=Object.entries(this.oCoords);for(let i=s.length-1;i>=0;i--){const[r,n]=s[i],o=this.controls[r];if(o.shouldActivate(r,this,t,e?n.touchCorner:n.corner))return this.__corner=r,{key:r,control:o,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),s=Mt(e.x,e.y),i=Pt({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Tt(s,i),n=Tt(t,r),o=Tt(n,[1/t[0],0,0,1/t[3],0,0]),a=this.group?Dt(this.calcTransformMatrix()):void 0;a&&(a.scaleX=Math.abs(a.scaleX),a.scaleY=Math.abs(a.scaleY));const h=this._calculateCurrentDimensions(a),c={};return this.forEachControl(((t,e)=>{const s=t.positionHandler(h,o,this,t);c[e]=Object.assign(s,this._calcCornerCoords(t,s))})),c}_calcCornerCoords(t,e){const s=this.getTotalAngle();return{corner:t.calcCornerCoords(s,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(s,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),s=this._calculateCurrentDimensions(),i=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/i[0],1/i[3]),t.rotate(xt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-s.x/2,-s.y/2,s.x,s.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=s({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},i);t.save(),t.strokeStyle=r.borderColor,this._setLineDash(t,r.borderDashArray),this.strokeBorders(t,e),r.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{hasBorders:i,hasControls:r}=this,n=s({hasBorders:i,hasControls:r},e),o=this.getViewportTransform(),a=n.hasBorders,h=n.hasControls,c=Tt(o,this.calcTransformMatrix()),l=Dt(c);t.save(),t.translate(l.translateX,l.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(l.angle-=180),t.rotate(xt(this.group?l.angle:this.angle)),a&&this.drawBorders(t,l,e),h&&this.drawControls(t,e),t.restore()}drawBorders(t,e,s){let i;if(s&&s.forActiveSelection||this.group){const t=fe(this.width,this.height,Lt(e)),s=this.isStrokeAccountedForInDimensions()?at:(this.strokeUniform?(new ot).scalarAdd(this.canvas?this.canvas.getZoom():1):new ot(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);i=t.add(s).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else i=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,i,s)}drawControlsConnectingLines(t,e){let s=!1;t.beginPath(),this.forEachControl(((i,r)=>{i.withConnection&&i.getVisibility(this,r)&&(s=!0,t.moveTo(i.x*e.x,i.y*e.y),t.lineTo(i.x*e.x+i.offsetX,i.y*e.y+i.offsetY))})),s&&t.stroke()}drawControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.save();const i=this.getCanvasRetinaScaling(),{cornerStrokeColor:r,cornerDashArray:n,cornerColor:o}=this,a=s({cornerStrokeColor:r,cornerDashArray:n,cornerColor:o},e);t.setTransform(i,0,0,i,0,0),t.strokeStyle=t.fillStyle=a.cornerColor,this.transparentCorners||(t.strokeStyle=a.cornerStrokeColor),this._setLineDash(t,a.cornerDashArray),this.forEachControl(((e,s)=>{if(e.getVisibility(this,s)){const i=this.oCoords[s];e.render(t,i.x,i.y,a,this)}})),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(t).forEach((t=>{let[e,s]=t;return this.setControlVisible(e,s)}))}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const s=this.canvas.viewportTransform;e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this.transform(e);const i=this.width+4,r=this.height+4;return e.clearRect(-i/2,-r/2,i,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Fi(t,e){return e.forEach((e=>{Object.getOwnPropertyNames(e.prototype).forEach((s=>{\"constructor\"!==s&&Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))}))})),t}t(ji,\"ownDefaults\",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:\"rgb(178,204,255)\",cornerStrokeColor:\"\",cornerStyle:\"rect\",cornerDashArray:null,hasControls:!0,borderColor:\"rgb(178,204,255)\",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:\"\",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:\"down\",hoverCursor:null,moveCursor:null});class Li extends ji{}Fi(Li,[We]),tt.setClass(Li),tt.setClass(Li,\"object\");const Ri=(t,e,s,i)=>{const r=2*(i=Math.round(i))+1,{data:n}=t.getImageData(e-i,s-i,r,r);for(let t=3;t<n.length;t+=4){if(n[t]>0)return!1}return!0};class Ii{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new ot(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new ot(1/this.options.scaleX,1/this.options.scaleY):new ot(1,1)}createSideVector(t,e){const s=vs(t,e);return this.options.strokeUniform?s.multiply(this.scale):s}projectOrthogonally(t,e,s){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,s)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(t){const e=new ot(t);return e.y+=e.x*Math.tan(xt(this.options.skewY)),e.x+=e.y*Math.tan(xt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Bi=new ot;class Xi extends Ii{static getOrthogonalRotationFactor(t,e){const s=e?_s(t,e):xs(t);return Math.abs(s)<b?-1:1}constructor(e,s,i,r){super(r),t(this,\"AB\",void 0),t(this,\"AC\",void 0),t(this,\"alpha\",void 0),t(this,\"bisector\",void 0),this.A=new ot(e),this.B=new ot(s),this.C=new ot(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=_s(this.AB,this.AC),this.bisector=Cs(ms(this.AB.eq(Bi)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e),r=bs(i),n=Xi.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,s*n)}projectBevel(){const t=[];return(this.alpha%S==0?[this.B]:[this.B,this.C]).forEach((e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))})),t}projectMiter(){const t=[],e=Math.abs(this.alpha),s=1/Math.sin(e/2),i=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*s),r=this.options.strokeUniform?ys(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return ys(i)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(i))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const s=[],i=new ot(Xi.getOrthogonalRotationFactor(this.bisector),Xi.getOrthogonalRotationFactor(new ot(this.bisector.y,this.bisector.x)));return[new ot(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i),new ot(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i)].forEach((i=>{Ts(i,t,e)&&s.push(this.A.add(i))})),s}projectRoundWithSkew(t,e){const s=[],{skewX:i,skewY:r,scaleX:n,scaleY:o,strokeUniform:a}=this.options,h=new ot(Math.tan(xt(i)),Math.tan(xt(r))),c=this.strokeProjectionMagnitude,l=a?c/o/Math.sqrt(1/o**2+1/n**2*h.y**2):c/Math.sqrt(1+h.y**2),u=new ot(Math.sqrt(Math.max(c**2-l**2,0)),l),d=a?c/Math.sqrt(1+h.x**2*(1/o)**2/(1/n+1/n*h.x*h.y)**2):c/Math.sqrt(1+h.x**2/(1+h.x*h.y)**2),g=new ot(d,Math.sqrt(Math.max(c**2-d**2,0)));return[g,g.scalarMultiply(-1),u,u.scalarMultiply(-1)].map((t=>this.applySkew(a?t.multiply(this.strokeUniformScalar):t))).forEach((i=>{Ts(i,t,e)&&s.push(this.applySkew(this.A).add(i))})),s}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%S==0,s=this.applySkew(this.A),i=t[e?0:2].subtract(s),r=t[e?1:0].subtract(s),n=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),o=Ss(i,n)>0,a=o?i:r,h=o?r:i;return this.isSkewed()?t.push(...this.projectRoundWithSkew(a,h)):t.push(...this.projectRoundNoSkew(a,h)),t}projectPoints(){switch(this.options.strokeLineJoin){case\"miter\":return this.projectMiter();case\"round\":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map((t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector})))}}class Yi extends Ii{constructor(t,e,s){super(s),this.A=new ot(t),this.T=new ot(e)}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e);return this.scaleUnitVector(bs(i),s)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Xi(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),s=this.scaleUnitVector(Cs(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),i=this.A.add(s);t.push(i.add(e),i.subtract(e))}return t.map((t=>this.applySkew(t)))}projectPoints(){switch(this.options.strokeLineCap){case\"round\":return this.projectRound();case\"square\":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map((t=>({originPoint:this.A,projectedPoint:t})))}}const Wi=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=[];if(0===t.length)return i;const r=t.reduce(((t,e)=>(t[t.length-1].eq(e)||t.push(new ot(e)),t)),[new ot(t[0])]);if(1===r.length)s=!0;else if(!s){const t=r[0],e=((t,e)=>{for(let s=t.length-1;s>=0;s--)if(e(t[s],s,t))return s;return-1})(r,(e=>!e.eq(t)));r.splice(e+1)}return r.forEach(((t,r,n)=>{let o,a;0===r?(a=n[1],o=s?t:n[n.length-1]):r===n.length-1?(o=n[r-1],a=s?t:n[0]):(o=n[r-1],a=n[r+1]),s&&1===n.length?i.push(...new Yi(t,t,e).project()):!s||0!==r&&r!==n.length-1?i.push(...new Xi(t,o,a,e).project()):i.push(...new Yi(t,0===r?a:o,e).project())})),i},Vi=t=>{const e={};return Object.keys(t).forEach((i=>{e[i]={},Object.keys(t[i]).forEach((r=>{e[i][r]=s({},t[i][r])}))})),e},zi=t=>t.replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\");let Gi;const Hi=t=>{if(Gi||Gi||(Gi=\"Intl\"in v()&&\"Segmenter\"in Intl&&new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Gi){const e=Gi.segment(t);return Array.from(e).map((t=>{let{segment:e}=t;return e}))}return Ni(t)},Ni=t=>{const e=[];for(let s,i=0;i<t.length;i++)!1!==(s=Ui(t,i))&&e.push(s);return e},Ui=(t,e)=>{const s=t.charCodeAt(e);if(isNaN(s))return\"\";if(s<55296||s>57343)return t.charAt(e);if(55296<=s&&s<=56319){if(t.length<=e+1)throw\"High surrogate without following low surrogate\";const s=t.charCodeAt(e+1);if(56320>s||s>57343)throw\"High surrogate without following low surrogate\";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw\"Low surrogate without preceding high surrogate\";const i=t.charCodeAt(e-1);if(55296>i||i>56319)throw\"Low surrogate without preceding high surrogate\";return!1};var qi=Object.freeze({__proto__:null,capitalize:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return\"\".concat(t.charAt(0).toUpperCase()).concat(e?t.slice(1):t.slice(1).toLowerCase())},escapeXml:zi,graphemeSplit:Hi});const Ki=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.fill!==e.fill||t.stroke!==e.stroke||t.strokeWidth!==e.strokeWidth||t.fontSize!==e.fontSize||t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight||t.fontStyle!==e.fontStyle||t.textDecorationThickness!==e.textDecorationThickness||t.textBackgroundColor!==e.textBackgroundColor||t.deltaY!==e.deltaY||s&&(t.overline!==e.overline||t.underline!==e.underline||t.linethrough!==e.linethrough)},Ji=(t,e)=>{const s=e.split(\"\\n\"),i=[];let r=-1,n={};t=Vi(t);for(let e=0;e<s.length;e++){const o=Hi(s[e]);if(t[e])for(let s=0;s<o.length;s++){r++;const o=t[e][s];o&&Object.keys(o).length>0&&(Ki(n,o,!0)?i.push({start:r,end:r+1,style:o}):i[i.length-1].end++),n=o||{}}else r+=o.length,n={}}return i},Qi=(t,e)=>{if(!Array.isArray(t))return Vi(t);const i=e.split(F),r={};let n=-1,o=0;for(let e=0;e<i.length;e++){const a=Hi(i[e]);for(let i=0;i<a.length;i++)n++,t[o]&&t[o].start<=n&&n<t[o].end&&(r[e]=r[e]||{},r[e][i]=s({},t[o].style),n===t[o].end-1&&o++)}return r},Zi=[\"display\",\"transform\",K,\"fill-opacity\",\"fill-rule\",\"opacity\",J,\"stroke-dasharray\",\"stroke-linecap\",\"stroke-dashoffset\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"id\",\"paint-order\",\"vector-effect\",\"instantiated_by_use\",\"clip-path\"];function $i(t,e){const s=t.nodeName,i=t.getAttribute(\"class\"),r=t.getAttribute(\"id\"),n=\"(?![a-zA-Z\\\\-]+)\";let o;if(o=new RegExp(\"^\"+s,\"i\"),e=e.replace(o,\"\"),r&&e.length&&(o=new RegExp(\"#\"+r+n,\"i\"),e=e.replace(o,\"\")),i&&e.length){const t=i.split(\" \");for(let s=t.length;s--;)o=new RegExp(\"\\\\.\"+t[s]+n,\"i\"),e=e.replace(o,\"\")}return 0===e.length}function tr(t,e){let s=!0;const i=$i(t,e.pop());return i&&e.length&&(s=function(t,e){let s,i=!0;for(;t.parentElement&&1===t.parentElement.nodeType&&e.length;)i&&(s=e.pop()),i=$i(t=t.parentElement,s);return 0===e.length}(t,e)),i&&s&&0===e.length}const er=t=>{var e;return null!==(e=as[t])&&void 0!==e?e:t},sr=new RegExp(\"(\".concat(is,\")\"),\"gi\"),ir=t=>Pe(t.replace(sr,\" $1 \").replace(/,/gi,\" \"));var rr,nr,or,ar,hr,cr,lr;const ur=\"(\".concat(is,\")\"),dr=String.raw(rr||(rr=r([\"(skewX)(\",\")\"],[\"(skewX)\\\\(\",\"\\\\)\"])),ur),gr=String.raw(nr||(nr=r([\"(skewY)(\",\")\"],[\"(skewY)\\\\(\",\"\\\\)\"])),ur),fr=String.raw(or||(or=r([\"(rotate)(\",\"(?: \",\" \",\")?)\"],[\"(rotate)\\\\(\",\"(?: \",\" \",\")?\\\\)\"])),ur,ur,ur),pr=String.raw(ar||(ar=r([\"(scale)(\",\"(?: \",\")?)\"],[\"(scale)\\\\(\",\"(?: \",\")?\\\\)\"])),ur,ur),mr=String.raw(hr||(hr=r([\"(translate)(\",\"(?: \",\")?)\"],[\"(translate)\\\\(\",\"(?: \",\")?\\\\)\"])),ur,ur),vr=String.raw(cr||(cr=r([\"(matrix)(\",\" \",\" \",\" \",\" \",\" \",\")\"],[\"(matrix)\\\\(\",\" \",\" \",\" \",\" \",\" \",\"\\\\)\"])),ur,ur,ur,ur,ur,ur),yr=\"(?:\".concat(vr,\"|\").concat(mr,\"|\").concat(fr,\"|\").concat(pr,\"|\").concat(dr,\"|\").concat(gr,\")\"),_r=\"(?:\".concat(yr,\"*)\"),xr=String.raw(lr||(lr=r([\"^s*(?:\",\"?)s*$\"],[\"^\\\\s*(?:\",\"?)\\\\s*$\"])),_r),Cr=new RegExp(xr),br=new RegExp(yr),Sr=new RegExp(yr,\"g\");function wr(t){const e=[];if(!(t=ir(t).replace(/\\s*([()])\\s*/gi,\"$1\"))||t&&!Cr.test(t))return[...T];for(const s of t.matchAll(Sr)){const t=br.exec(s[0]);if(!t)continue;let i=T;const r=t.filter((t=>!!t)),[,n,...o]=r,[a,h,c,l,u,d]=o.map((t=>parseFloat(t)));switch(n){case\"translate\":i=Mt(a,h);break;case B:i=Pt({angle:a},{x:h,y:c});break;case G:i=Et(a,h);break;case U:i=jt(a);break;case q:i=Ft(a);break;case\"matrix\":i=[a,h,c,l,u,d]}e.push(i)}return Ot(e)}function Tr(t,e,s,i){const r=Array.isArray(e);let n,o=e;if(t!==K&&t!==J||e!==j){if(\"strokeUniform\"===t)return\"non-scaling-stroke\"===e;if(\"strokeDashArray\"===t)o=e===j?null:e.replace(/,/g,\" \").split(/\\s+/).map(parseFloat);else if(\"transformMatrix\"===t)o=s&&s.transformMatrix?Tt(s.transformMatrix,wr(e)):wr(e);else if(\"visible\"===t)o=e!==j&&\"hidden\"!==e,s&&!1===s.visible&&(o=!1);else if(\"opacity\"===t)o=parseFloat(e),s&&void 0!==s.opacity&&(o*=s.opacity);else if(\"textAnchor\"===t)o=\"start\"===e?M:\"end\"===e?A:D;else if(\"charSpacing\"===t||t===ze)n=Be(e,i)/i*1e3;else if(\"paintFirst\"===t){const t=e.indexOf(K),s=e.indexOf(J);o=K,(t>-1&&s>-1&&s<t||-1===t&&s>-1)&&(o=J)}else{if(\"href\"===t||\"xlink:href\"===t||\"font\"===t||\"id\"===t)return e;if(\"imageSmoothing\"===t)return\"optimizeQuality\"===e;n=r?e.map(Be):Be(e,i)}}else o=\"\";return!r&&isNaN(n)?o:n}function Or(t,e){const s=t.match(os);if(!s)return;const i=s[1],r=s[3],n=s[4],o=s[5],a=s[6];i&&(e.fontStyle=i),r&&(e.fontWeight=isNaN(parseFloat(r))?r:parseFloat(r)),n&&(e.fontSize=Be(n)),a&&(e.fontFamily=a),o&&(e.lineHeight=\"normal\"===o?1:o)}function kr(t,e){t.replace(/;\\s*$/,\"\").split(\";\").forEach((t=>{if(!t)return;const[s,i]=t.split(\":\");e[s.trim().toLowerCase()]=i.trim()}))}function Dr(t){const e={},s=t.getAttribute(\"style\");return s?(\"string\"==typeof s?kr(s,e):function(t,e){Object.entries(t).forEach((t=>{let[s,i]=t;void 0!==i&&(e[s.toLowerCase()]=i)}))}(s,e),e):e}const Mr={stroke:\"strokeOpacity\",fill:\"fillOpacity\"};function Pr(t,e,i){if(!t)return{};let r,n={},o=O;t.parentNode&&ds.test(t.parentNode.nodeName)&&(n=Pr(t.parentElement,e,i),n.fontSize&&(r=o=Be(n.fontSize)));const a=s(s(s({},e.reduce(((e,s)=>{const i=t.getAttribute(s);return i&&(e[s]=i),e}),{})),function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i={};for(const r in e)tr(t,r.split(\" \"))&&(i=s(s({},i),e[r]));return i}(t,i)),Dr(t));a[cs]&&t.setAttribute(cs,a[cs]),a[hs]&&(r=Be(a[hs],o),a[hs]=\"\".concat(r));const h={};for(const t in a){const e=er(t),s=Tr(e,a[t],n,r);h[e]=s}h&&h.font&&Or(h.font,h);const c=s(s({},n),h);return ds.test(t.nodeName)?c:function(t){const e=Li.getDefaults();return Object.entries(Mr).forEach((s=>{let[i,r]=s;if(void 0===t[r]||\"\"===t[i])return;if(void 0===t[i]){if(!e[i])return;t[i]=e[i]}if(0===t[i].indexOf(\"url(\"))return;const n=new Ie(t[i]);t[i]=n.setAlpha(Vt(n.getAlpha()*t[r],2)).toRgba()})),t}(c)}const Er=[\"left\",\"top\",\"width\",\"height\",\"visible\"],Ar=[\"rx\",\"ry\"];class jr extends Li{static getDefaults(){return s(s({},super.getDefaults()),jr.ownDefaults)}constructor(t){super(),Object.assign(this,jr.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){const{rx:t,ry:e}=this;t&&!e?this.ry=t:e&&!t&&(this.rx=e)}_render(t){const{width:e,height:s}=this,i=-e/2,r=-s/2,n=this.rx?Math.min(this.rx,e/2):0,o=this.ry?Math.min(this.ry,s/2):0,a=0!==n||0!==o;t.beginPath(),t.moveTo(i+n,r),t.lineTo(i+e-n,r),a&&t.bezierCurveTo(i+e-k*n,r,i+e,r+k*o,i+e,r+o),t.lineTo(i+e,r+s-o),a&&t.bezierCurveTo(i+e,r+s-k*o,i+e-k*n,r+s,i+e-n,r+s),t.lineTo(i+n,r+s),a&&t.bezierCurveTo(i+k*n,r+s,i,r+s-k*o,i,r+s-o),t.lineTo(i,r+o),a&&t.bezierCurveTo(i,r+k*o,i+k*n,r,i+n,r),t.closePath(),this._renderPaintInOrder(t)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Ar,...t])}_toSVG(){const{width:t,height:e,rx:s,ry:i}=this;return[\"<rect \",\"COMMON_PARTS\",'x=\"'.concat(-t/2,'\" y=\"').concat(-e/2,'\" rx=\"').concat(s,'\" ry=\"').concat(i,'\" width=\"').concat(t,'\" height=\"').concat(e,'\" />\\n')]}static async fromElement(t,e,r){const n=Pr(t,this.ATTRIBUTE_NAMES,r),{left:o=0,top:a=0,width:h=0,height:c=0,visible:l=!0}=n,u=i(n,Er);return new this(s(s(s({},e),u),{},{left:o,top:a,width:h,height:c,visible:Boolean(l&&h&&c)}))}}t(jr,\"type\",\"Rect\"),t(jr,\"cacheProperties\",[...Es,...Ar]),t(jr,\"ownDefaults\",{rx:0,ry:0}),t(jr,\"ATTRIBUTE_NAMES\",[...Zi,\"x\",\"y\",\"rx\",\"ry\",\"width\",\"height\"]),tt.setClass(jr),tt.setSVGClass(jr);const Fr=\"initialization\",Lr=\"added\",Rr=\"removed\",Ir=\"imperative\",Br=(t,e)=>{const{strokeUniform:s,strokeWidth:i,width:r,height:n,group:o}=e,a=o&&o!==t?pe(o.calcTransformMatrix(),t.calcTransformMatrix()):null,h=a?e.getRelativeCenterPoint().transform(a):e.getRelativeCenterPoint(),c=!e.isStrokeAccountedForInDimensions(),l=s&&c?ve(new ot(i,i),void 0,t.calcTransformMatrix()):at,u=!s&&c?i:0,d=fe(r+u,n+u,Ot([a,e.calcOwnMatrix()],!0)).add(l).scalarDivide(2);return[h.subtract(d),h.add(d)]};class Xr{calcLayoutResult(t,e){if(this.shouldPerformLayout(t))return this.calcBoundingBox(e,t)}shouldPerformLayout(t){let{type:e,prevStrategy:s,strategy:i}=t;return e===Fr||e===Ir||!!s&&i!==s}shouldLayoutClipPath(t){let{type:e,target:{clipPath:s}}=t;return e!==Fr&&s&&!s.absolutePositioned}getInitialSize(t,e){return e.size}calcBoundingBox(t,e){const{type:s,target:i}=e;if(s===Ir&&e.overrides)return e.overrides;if(0===t.length)return;const{left:r,top:n,width:o,height:a}=he(t.map((t=>Br(i,t))).reduce(((t,e)=>t.concat(e)),[])),h=new ot(o,a),c=new ot(r,n).add(h.scalarDivide(2));if(s===Fr){const t=this.getInitialSize(e,{size:h,center:c});return{center:c,relativeCorrection:new ot(0,0),size:t}}return{center:c.transform(i.calcOwnMatrix()),size:h}}}t(Xr,\"type\",\"strategy\");class Yr extends Xr{shouldPerformLayout(t){return!0}}t(Yr,\"type\",\"fit-content\"),tt.setClass(Yr);const Wr=[\"strategy\"],Vr=[\"target\",\"strategy\",\"bubbles\",\"prevStrategy\"],zr=\"layoutManager\";class Gr{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Yr;t(this,\"strategy\",void 0),this.strategy=e,this._subscriptions=new Map}performLayout(t){const e=s(s({bubbles:!0,strategy:this.strategy},t),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);const i=this.getLayoutResult(e);i&&this.commitLayout(e,i),this.onAfterLayout(e,i),this._prevLayoutStrategy=e.strategy}attachHandlers(t,e){const{target:s}=e;return[Q,L,Y,I,R,X,z,W,V].map((e=>t.on(e,(t=>this.performLayout(e===Q?{type:\"object_modified\",trigger:e,e:t,target:s}:{type:\"object_modifying\",trigger:e,e:t,target:s})))))}subscribe(t,e){this.unsubscribe(t,e);const s=this.attachHandlers(t,e);this._subscriptions.set(t,s)}unsubscribe(t,e){(this._subscriptions.get(t)||[]).forEach((t=>t())),this._subscriptions.delete(t)}unsubscribeTargets(t){t.targets.forEach((e=>this.unsubscribe(e,t)))}subscribeTargets(t){t.targets.forEach((e=>this.subscribe(e,t)))}onBeforeLayout(t){const{target:e,type:r}=t,{canvas:n}=e;if(r===Fr||r===Lr?this.subscribeTargets(t):r===Rr&&this.unsubscribeTargets(t),e.fire(\"layout:before\",{context:t}),n&&n.fire(\"object:layout:before\",{target:e,context:t}),r===Ir&&t.deep){const r=i(t,Wr);e.forEachObject((t=>t.layoutManager&&t.layoutManager.performLayout(s(s({},r),{},{bubbles:!1,target:t}))))}}getLayoutResult(t){const{target:e,strategy:s,type:i}=t,r=s.calcLayoutResult(t,e.getObjects());if(!r)return;const n=i===Fr?new ot:e.getRelativeCenterPoint(),{center:o,correction:a=new ot,relativeCorrection:h=new ot}=r,c=n.subtract(o).add(a).transform(i===Fr?T:wt(e.calcOwnMatrix()),!0).add(h);return{result:r,prevCenter:n,nextCenter:o,offset:c}}commitLayout(t,e){const{target:s}=t,{result:{size:i},nextCenter:r}=e;var n,o;(s.set({width:i.x,height:i.y}),this.layoutObjects(t,e),t.type===Fr)?s.set({left:null!==(n=t.x)&&void 0!==n?n:r.x+i.x*Ce(s.originX),top:null!==(o=t.y)&&void 0!==o?o:r.y+i.y*Ce(s.originY)}):(s.setPositionByOrigin(r,D,D),s.setCoords(),s.set(\"dirty\",!0))}layoutObjects(t,e){const{target:s}=t;s.forEachObject((i=>{i.group===s&&this.layoutObject(t,e,i)})),t.strategy.shouldLayoutClipPath(t)&&this.layoutObject(t,e,s.clipPath)}layoutObject(t,e,s){let{offset:i}=e;s.set({left:s.left+i.x,top:s.top+i.y})}onAfterLayout(t,e){const{target:r,strategy:n,bubbles:o,prevStrategy:a}=t,h=i(t,Vr),{canvas:c}=r;r.fire(\"layout:after\",{context:t,result:e}),c&&c.fire(\"object:layout:after\",{context:t,result:e,target:r});const l=r.parent;o&&null!=l&&l.layoutManager&&((h.path||(h.path=[])).push(r),l.layoutManager.performLayout(s(s({},h),{},{target:l}))),r.set(\"dirty\",!0)}dispose(){const{_subscriptions:t}=this;t.forEach((t=>t.forEach((t=>t())))),t.clear()}toObject(){return{type:zr,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}}tt.setClass(Gr,zr);const Hr=[\"type\",\"objects\",\"layoutManager\"];class Nr extends Gr{performLayout(){}}class Ur extends(ct(Li)){static getDefaults(){return s(s({},super.getDefaults()),Ur.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"_activeObjects\",[]),t(this,\"__objectSelectionTracker\",void 0),t(this,\"__objectSelectionDisposer\",void 0),Object.assign(this,Ur.ownDefaults),this.setOptions(s),this.groupInit(e,s)}groupInit(t,e){var s;this._objects=[...t],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject((t=>{this.enterGroup(t,!1)})),this.layoutManager=null!==(s=e.layoutManager)&&void 0!==s?s:new Gr,this.layoutManager.performLayout({type:Fr,target:this,targets:[...t],x:e.left,y:e.top})}canEnterGroup(t){return t===this||this.isDescendantOf(t)?(a(\"error\",\"Group: circular object trees are not supported, this call has no effect\"),!1):-1===this._objects.indexOf(t)||(a(\"error\",\"Group: duplicate objects are not supported inside group, this call has no effect\"),!1)}_filterObjectsBeforeEnteringGroup(t){return t.filter(((t,e,s)=>this.canEnterGroup(t)&&s.indexOf(t)===e))}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._filterObjectsBeforeEnteringGroup(e),r=super.add(...i);return this._onAfterObjectsChange(Lr,i),r}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=this._filterObjectsBeforeEnteringGroup(s),n=super.insertAt(t,...r);return this._onAfterObjectsChange(Lr,r),n}remove(){const t=super.remove(...arguments);return this._onAfterObjectsChange(Rr,t),t}_onObjectAdded(t){this.enterGroup(t,!0),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t,e){this.exitGroup(t,e),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onAfterObjectsChange(t,e){this.layoutManager.performLayout({type:t,targets:e,target:this})}_onStackOrderChanged(){this._set(\"dirty\",!0)}_set(t,e){const s=this[t];return super._set(t,e),\"canvas\"===t&&s!==e&&(this._objects||[]).forEach((s=>{s._set(t,e)})),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(t,e){let{target:s}=e;const i=this._activeObjects;if(t)i.push(s),this._set(\"dirty\",!0);else if(i.length>0){const t=i.indexOf(s);t>-1&&(i.splice(t,1),this._set(\"dirty\",!0))}}_watchObject(t,e){t&&this._watchObject(!1,e),t?(e.on(\"selected\",this.__objectSelectionTracker),e.on(\"deselected\",this.__objectSelectionDisposer)):(e.off(\"selected\",this.__objectSelectionTracker),e.off(\"deselected\",this.__objectSelectionDisposer))}enterGroup(t,e){t.group&&t.group.remove(t),t._set(\"parent\",this),this._enterGroup(t,e)}_enterGroup(t,e){e&&ue(t,Tt(wt(this.calcTransformMatrix()),t.calcTransformMatrix())),this._shouldSetNestedCoords()&&t.setCoords(),t._set(\"group\",this),t._set(\"canvas\",this.canvas),this._watchObject(!0,t);const s=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();s&&(s===t||t.isDescendantOf(s))&&this._activeObjects.push(t)}exitGroup(t,e){this._exitGroup(t,e),t._set(\"parent\",void 0),t._set(\"canvas\",void 0)}_exitGroup(t,e){t._set(\"group\",void 0),e||(ue(t,Tt(this.calcTransformMatrix(),t.calcTransformMatrix())),t.setCoords()),this._watchObject(!1,t);const s=this._activeObjects.length>0?this._activeObjects.indexOf(t):-1;s>-1&&this._activeObjects.splice(s,1)}shouldCache(){const t=Li.prototype.shouldCache.call(this);if(t)for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return this.ownCaching=!1,!1;return t}willDrawShadow(){if(super.willDrawShadow())return!0;for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(t,e,s){this._renderBackground(t);for(let e=0;e<this._objects.length;e++){var i;const s=this._objects[e];null!==(i=this.canvas)&&void 0!==i&&i.preserveObjectStacking&&s.group!==this?(t.save(),t.transform(...wt(this.calcTransformMatrix())),s.render(t),t.restore()):s.group===this&&s.render(t)}this._drawClipPath(t,this.clipPath,s)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject((t=>t.setCoords()))}triggerLayout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout(s({target:this,type:Ir},t))}render(t){this._transformDone=!0,super.render(t),this._transformDone=!1}__serializeObjects(t,e){const s=this.includeDefaultValues;return this._objects.filter((function(t){return!t.excludeFromExport})).map((function(i){const r=i.includeDefaultValues;i.includeDefaultValues=s;const n=i[t||\"toObject\"](e);return i.includeDefaultValues=r,n}))}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.layoutManager.toObject();return s(s(s({},super.toObject([\"subTargetCheck\",\"interactive\",...t])),\"fit-content\"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects(\"toObject\",t)})}toString(){return\"#<Group: (\".concat(this.complexity(),\")>\")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject((t=>{this._watchObject(!1,t),t.dispose()})),super.dispose()}_createSVGBgRect(t){if(!this.backgroundColor)return\"\";const e=jr.prototype._toSVG.call(this),s=e.indexOf(\"COMMON_PARTS\");e[s]='for=\"group\" ';const i=e.join(\"\");return t?t(i):i}_toSVG(t){const e=[\"<g \",\"COMMON_PARTS\",\" >\\n\"],s=this._createSVGBgRect(t);s&&e.push(\"\\t\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\\t\",this._objects[s].toSVG(t));return e.push(\"</g>\\n\"),e}getSvgStyles(){const t=void 0!==this.opacity&&1!==this.opacity?\"opacity: \".concat(this.opacity,\";\"):\"\",e=this.visible?\"\":\" visibility: hidden;\";return[t,this.getSvgFilter(),e].join(\"\")}toClipPathSVG(t){const e=[],s=this._createSVGBgRect(t);s&&e.push(\"\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:r,objects:n=[],layoutManager:o}=t,a=i(t,Hr);return Promise.all([Bt(n,e),Xt(a,e)]).then((t=>{let[e,i]=t;const r=new this(e,s(s(s({},a),i),{},{layoutManager:new Nr}));if(o){const t=tt.getClass(o.type),e=tt.getClass(o.strategy);r.layoutManager=new t(new e)}else r.layoutManager=new Gr;return r.layoutManager.subscribeTargets({type:Fr,target:r,targets:r.getObjects()}),r.setCoords(),r}))}}t(Ur,\"type\",\"Group\"),t(Ur,\"ownDefaults\",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),tt.setClass(Ur);const qr=(t,e)=>Math.min(e.width/t.width,e.height/t.height),Kr=(t,e)=>Math.max(e.width/t.width,e.height/t.height),Jr=\"\\\\s*,?\\\\s*\",Qr=\"\".concat(Jr,\"(\").concat(is,\")\"),Zr=\"\".concat(Qr).concat(Qr).concat(Qr).concat(Jr,\"([01])\").concat(Jr,\"([01])\").concat(Qr).concat(Qr),$r={m:\"l\",M:\"L\"},tn=(t,e,s,i,r,n,o,a,h,c,l)=>{const u=rt(t),d=nt(t),g=rt(e),f=nt(e),p=s*r*g-i*n*f+o,m=i*r*g+s*n*f+a;return[\"C\",c+h*(-s*r*d-i*n*u),l+h*(-i*r*d+s*n*u),p+h*(s*r*f+i*n*g),m+h*(i*r*f-s*n*g),p,m]},en=(t,e,s,i)=>{const r=Math.atan2(e,t),n=Math.atan2(i,s);return n>=r?n-r:2*Math.PI-(r-n)};function sn(t,e,s,i,r,n,a,h){let c;if(o.cachesBoundsOfCurve&&(c=[...arguments].join(),_.boundsOfCurveCache[c]))return _.boundsOfCurveCache[c];const l=Math.sqrt,u=Math.abs,d=[],g=[[0,0],[0,0]];let f=6*t-12*s+6*r,p=-3*t+9*s-9*r+3*a,m=3*s-3*t;for(let t=0;t<2;++t){if(t>0&&(f=6*e-12*i+6*n,p=-3*e+9*i-9*n+3*h,m=3*i-3*e),u(p)<1e-12){if(u(f)<1e-12)continue;const t=-m/f;0<t&&t<1&&d.push(t);continue}const s=f*f-4*m*p;if(s<0)continue;const r=l(s),o=(-f+r)/(2*p);0<o&&o<1&&d.push(o);const a=(-f-r)/(2*p);0<a&&a<1&&d.push(a)}let v=d.length;const y=v,x=an(t,e,s,i,r,n,a,h);for(;v--;){const{x:t,y:e}=x(d[v]);g[0][v]=t,g[1][v]=e}g[0][y]=t,g[1][y]=e,g[0][y+1]=a,g[1][y+1]=h;const C=[new ot(Math.min(...g[0]),Math.min(...g[1])),new ot(Math.max(...g[0]),Math.max(...g[1]))];return o.cachesBoundsOfCurve&&(_.boundsOfCurveCache[c]=C),C}const rn=(t,e,s)=>{let[i,r,n,o,a,h,c,l]=s;const u=((t,e,s,i,r,n,o)=>{if(0===s||0===i)return[];let a=0,h=0,c=0;const l=Math.PI,u=o*w,d=nt(u),g=rt(u),f=.5*(-g*t-d*e),p=.5*(-g*e+d*t),m=s**2,v=i**2,y=p**2,_=f**2,x=m*v-m*y-v*_;let C=Math.abs(s),b=Math.abs(i);if(x<0){const t=Math.sqrt(1-x/(m*v));C*=t,b*=t}else c=(r===n?-1:1)*Math.sqrt(x/(m*y+v*_));const S=c*C*p/b,T=-c*b*f/C,O=g*S-d*T+.5*t,k=d*S+g*T+.5*e;let D=en(1,0,(f-S)/C,(p-T)/b),M=en((f-S)/C,(p-T)/b,(-f-S)/C,(-p-T)/b);0===n&&M>0?M-=2*l:1===n&&M<0&&(M+=2*l);const P=Math.ceil(Math.abs(M/l*2)),E=[],A=M/P,j=8/3*Math.sin(A/4)*Math.sin(A/4)/Math.sin(A/2);let F=D+A;for(let t=0;t<P;t++)E[t]=tn(D,F,g,d,C,b,O,k,j,a,h),a=E[t][5],h=E[t][6],D=F,F+=A;return E})(c-t,l-e,r,n,a,h,o);for(let s=0,i=u.length;s<i;s++)u[s][1]+=t,u[s][2]+=e,u[s][3]+=t,u[s][4]+=e,u[s][5]+=t,u[s][6]+=e;return u},nn=t=>{let e=0,s=0,i=0,r=0;const n=[];let o,a=0,h=0;for(const c of t){const t=[...c];let l;switch(t[0]){case\"l\":t[1]+=e,t[2]+=s;case\"L\":e=t[1],s=t[2],l=[\"L\",e,s];break;case\"h\":t[1]+=e;case\"H\":e=t[1],l=[\"L\",e,s];break;case\"v\":t[1]+=s;case\"V\":s=t[1],l=[\"L\",e,s];break;case\"m\":t[1]+=e,t[2]+=s;case\"M\":e=t[1],s=t[2],i=t[1],r=t[2],l=[\"M\",e,s];break;case\"c\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s,t[5]+=e,t[6]+=s;case\"C\":a=t[3],h=t[4],e=t[5],s=t[6],l=[\"C\",t[1],t[2],a,h,e,s];break;case\"s\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"S\":\"C\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[3],s=t[4],l=[\"C\",a,h,t[1],t[2],e,s],a=l[3],h=l[4];break;case\"q\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"Q\":a=t[1],h=t[2],e=t[3],s=t[4],l=[\"Q\",a,h,e,s];break;case\"t\":t[1]+=e,t[2]+=s;case\"T\":\"Q\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[1],s=t[2],l=[\"Q\",a,h,e,s];break;case\"a\":t[6]+=e,t[7]+=s;case\"A\":rn(e,s,t).forEach((t=>n.push(t))),e=t[6],s=t[7];break;case\"z\":case\"Z\":e=i,s=r,l=[\"Z\"]}l?(n.push(l),o=l[0]):o=\"\"}return n},on=(t,e,s,i)=>Math.sqrt((s-t)**2+(i-e)**2),an=(t,e,s,i,r,n,o,a)=>h=>{const c=h**3,l=(t=>3*t**2*(1-t))(h),u=(t=>3*t*(1-t)**2)(h),d=(t=>(1-t)**3)(h);return new ot(o*c+r*l+s*u+t*d,a*c+n*l+i*u+e*d)},hn=t=>t**2,cn=t=>2*t*(1-t),ln=t=>(1-t)**2,un=(t,e,s,i,r,n,o,a)=>h=>{const c=hn(h),l=cn(h),u=ln(h),d=3*(u*(s-t)+l*(r-s)+c*(o-r)),g=3*(u*(i-e)+l*(n-i)+c*(a-n));return Math.atan2(g,d)},dn=(t,e,s,i,r,n)=>o=>{const a=hn(o),h=cn(o),c=ln(o);return new ot(r*a+s*h+t*c,n*a+i*h+e*c)},gn=(t,e,s,i,r,n)=>o=>{const a=1-o,h=2*(a*(s-t)+o*(r-s)),c=2*(a*(i-e)+o*(n-i));return Math.atan2(c,h)},fn=(t,e,s)=>{let i=new ot(e,s),r=0;for(let e=1;e<=100;e+=1){const s=t(e/100);r+=on(i.x,i.y,s.x,s.y),i=s}return r},pn=(t,e)=>{let i,r=0,n=0,o={x:t.x,y:t.y},a=s({},o),h=.01,c=0;const l=t.iterator,u=t.angleFinder;for(;n<e&&h>1e-4;)a=l(r),c=r,i=on(o.x,o.y,a.x,a.y),i+n>e?(r-=h,h/=2):(o=a,r+=h,n+=i);return s(s({},a),{},{angle:u(c)})},mn=t=>{let e,s,i=0,r=0,n=0,o=0,a=0;const h=[];for(const c of t){const t={x:r,y:n,command:c[0],length:0};switch(c[0]){case\"M\":s=t,s.x=o=r=c[1],s.y=a=n=c[2];break;case\"L\":s=t,s.length=on(r,n,c[1],c[2]),r=c[1],n=c[2];break;case\"C\":e=an(r,n,c[1],c[2],c[3],c[4],c[5],c[6]),s=t,s.iterator=e,s.angleFinder=un(r,n,c[1],c[2],c[3],c[4],c[5],c[6]),s.length=fn(e,r,n),r=c[5],n=c[6];break;case\"Q\":e=dn(r,n,c[1],c[2],c[3],c[4]),s=t,s.iterator=e,s.angleFinder=gn(r,n,c[1],c[2],c[3],c[4]),s.length=fn(e,r,n),r=c[3],n=c[4];break;case\"Z\":s=t,s.destX=o,s.destY=a,s.length=on(r,n,o,a),r=o,n=a}i+=s.length,h.push(s)}return h.push({length:i,x:r,y:n}),h},vn=function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:mn(t),r=0;for(;e-i[r].length>0&&r<i.length-2;)e-=i[r].length,r++;const n=i[r],o=e/n.length,a=t[r];switch(n.command){case\"M\":return{x:n.x,y:n.y,angle:0};case\"Z\":return s(s({},new ot(n.x,n.y).lerp(new ot(n.destX,n.destY),o)),{},{angle:Math.atan2(n.destY-n.y,n.destX-n.x)});case\"L\":return s(s({},new ot(n.x,n.y).lerp(new ot(a[1],a[2]),o)),{},{angle:Math.atan2(a[2]-n.y,a[1]-n.x)});case\"C\":case\"Q\":return pn(n,e)}},yn=new RegExp(\"[mzlhvcsqta][^mzlhvcsqta]*\",\"gi\"),_n=new RegExp(Zr,\"g\"),xn=new RegExp(is,\"gi\"),Cn={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},bn=t=>{var e;const s=[],i=null!==(e=t.match(yn))&&void 0!==e?e:[];for(const t of i){const e=t[0];if(\"z\"===e||\"Z\"===e){s.push([e]);continue}const i=Cn[e.toLowerCase()];let r=[];if(\"a\"===e||\"A\"===e){_n.lastIndex=0;for(let e=null;e=_n.exec(t);)r.push(...e.slice(1))}else r=t.match(xn)||[];for(let t=0;t<r.length;t+=i){const n=new Array(i),o=$r[e];n[0]=t>0&&o?o:e;for(let e=0;e<i;e++)n[e+1]=parseFloat(r[t+e]);s.push(n)}}return s},Sn=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=new ot(t[0]),i=new ot(t[1]),r=1,n=0;const o=[],a=t.length,h=a>2;let c;for(h&&(r=t[2].x<i.x?-1:t[2].x===i.x?0:1,n=t[2].y<i.y?-1:t[2].y===i.y?0:1),o.push([\"M\",s.x-r*e,s.y-n*e]),c=1;c<a;c++){if(!s.eq(i)){const t=s.midPointFrom(i);o.push([\"Q\",s.x,s.y,t.x,t.y])}s=t[c],c+1<t.length&&(i=t[c+1])}return h&&(r=s.x>t[c-2].x?1:s.x===t[c-2].x?0:-1,n=s.y>t[c-2].y?1:s.y===t[c-2].y?0:-1),o.push([\"L\",s.x+r*e,s.y+n*e]),o},wn=(t,e)=>t.map((t=>t.map(((t,s)=>0===s||void 0===e?t:Vt(t,e))).join(\" \"))).join(\" \");function Tn(t,e){const s=t.style;s&&e&&(\"string\"==typeof e?s.cssText+=\";\"+e:Object.entries(e).forEach((t=>{let[e,i]=t;return s.setProperty(e,i)})))}const On=(t,e)=>Math.floor(Math.random()*(e-t+1))+t;function kn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=e.onComplete||C,i=new(v().XMLHttpRequest),r=e.signal,n=function(){i.abort()},o=function(){r&&r.removeEventListener(\"abort\",n),i.onerror=i.ontimeout=C};if(r&&r.aborted)throw new c(\"request\");return r&&r.addEventListener(\"abort\",n,{once:!0}),i.onreadystatechange=function(){4===i.readyState&&(o(),s(i),i.onreadystatechange=C)},i.onerror=i.ontimeout=o,i.open(\"get\",t,!0),i.send(),i}const Dn=(t,e)=>{let s=t._findCenterFromElement();t.transformMatrix&&((t=>{if(t.transformMatrix){const{scaleX:e,scaleY:s,angle:i,skewX:r}=Dt(t.transformMatrix);t.flipX=!1,t.flipY=!1,t.set(H,e),t.set(N,s),t.angle=i,t.skewX=r,t.skewY=0}})(t),s=s.transform(t.transformMatrix)),delete t.transformMatrix,e&&(t.scaleX*=e.scaleX,t.scaleY*=e.scaleY,t.cropX=e.cropX,t.cropY=e.cropY,s.x+=e.offsetLeft,s.y+=e.offsetTop,t.width=e.width,t.height=e.height),t.setPositionByOrigin(s,D,D)};var Mn=Object.freeze({__proto__:null,addTransformToObject:le,animate:Ks,animateColor:Js,applyTransformToObject:ue,calcAngleBetweenVectors:_s,calcDimensionsMatrix:Lt,calcPlaneChangeMatrix:pe,calcVectorRotation:xs,cancelAnimFrame:dt,capValue:Ms,composeMatrix:Rt,copyCanvasElement:t=>{var e;const s=vt(t);return null===(e=s.getContext(\"2d\"))||void 0===e||e.drawImage(t,0,0),s},cos:rt,createCanvasElement:pt,createImage:mt,createRotateMatrix:Pt,createScaleMatrix:Et,createSkewXMatrix:jt,createSkewYMatrix:Ft,createTranslateMatrix:Mt,createVector:vs,crossProduct:Ss,degreesToRadians:xt,dotProduct:ws,ease:Bs,enlivenObjectEnlivables:Xt,enlivenObjects:Bt,findScaleToCover:Kr,findScaleToFit:qr,getBoundsOfCurve:sn,getOrthonormalVector:bs,getPathSegmentsInfo:mn,getPointOnPath:vn,getPointer:ne,getRandomInt:On,getRegularPolygonPath:(t,e)=>{const s=2*Math.PI/t;let i=-b;t%2==0&&(i+=s/2);const r=new Array(t+1);for(let n=0;n<t;n++){const t=n*s+i,{x:o,y:a}=new ot(rt(t),nt(t)).scalarMultiply(e);r[n]=[0===n?\"M\":\"L\",o,a]}return r[t]=[\"Z\"],r},getSmoothPathFromPoints:Sn,getSvgAttributes:t=>{const e=[\"instantiated_by_use\",\"style\",\"id\",\"class\"];switch(t){case\"linearGradient\":return e.concat([\"x1\",\"y1\",\"x2\",\"y2\",\"gradientUnits\",\"gradientTransform\"]);case\"radialGradient\":return e.concat([\"gradientUnits\",\"gradientTransform\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\",\"fr\"]);case\"stop\":return e.concat([\"offset\",\"stop-color\",\"stop-opacity\"])}return e},getUnitVector:Cs,groupSVGElements:(t,e)=>t&&1===t.length?t[0]:new Ur(t,e),hasStyleChanged:Ki,invertTransform:wt,isBetweenVectors:Ts,isIdentityMatrix:bt,isTouchEvent:oe,isTransparent:Ri,joinPath:wn,loadImage:It,magnitude:ys,makeBoundingBoxFromPoints:he,makePathSimpler:nn,matrixToSVG:zt,mergeClipPaths:(t,e)=>{var s;let i=t,r=e;i.inverted&&!r.inverted&&(i=e,r=t),ye(r,null===(s=r.group)||void 0===s?void 0:s.calcTransformMatrix(),i.calcTransformMatrix());const n=i.inverted&&r.inverted;return n&&(i.inverted=r.inverted=!1),new Ur([i],{clipPath:r,inverted:n})},multiplyTransformMatrices:Tt,multiplyTransformMatrixArray:Ot,parsePath:bn,parsePreserveAspectRatioAttribute:Xe,parseUnit:Be,pick:Yt,projectStrokeOnPoints:Wi,qrDecompose:Dt,radiansToDegrees:Ct,removeFromArray:it,removeTransformFromObject:(t,e)=>{const s=wt(e),i=Tt(s,t.calcOwnMatrix());ue(t,i)},removeTransformMatrixForSvgParsing:Dn,request:kn,requestAnimFrame:ut,resetObjectTransform:de,rotatePoint:(t,e,s)=>t.rotate(s,e),rotateVector:ms,saveObjectTransform:ge,sendObjectToPlane:ye,sendPointToPlane:me,sendVectorToPlane:ve,setStyle:Tn,sin:nt,sizeAfterTransform:fe,string:qi,stylesFromArray:Qi,stylesToArray:Ji,toBlob:_t,toDataURL:yt,toFixed:Vt,transformPath:(t,e,s)=>(s&&(e=Tt(e,[1,0,0,1,-s.x,-s.y])),t.map((t=>{const s=[...t];for(let i=1;i<t.length-1;i+=2){const{x:r,y:n}=St({x:t[i],y:t[i+1]},e);s[i]=r,s[i+1]=n}return s}))),transformPoint:St});class Pn extends te{constructor(e){let{allowTouchScrolling:s=!1,containerClass:i=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),t(this,\"upper\",void 0),t(this,\"container\",void 0);const{el:r}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext(\"2d\")},this.applyCanvasStyle(r,{allowTouchScrolling:s}),this.applyCanvasStyle(n,{allowTouchScrolling:s,styles:{position:\"absolute\",left:\"0\",top:\"0\"}});const o=this.createContainerElement();o.classList.add(i),r.parentNode&&r.parentNode.replaceChild(o,r),o.append(r,n),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=pt();return e.className=t.className,e.classList.remove(\"lower-canvas\"),e.classList.add(\"upper-canvas\"),e.setAttribute(\"data-fabric\",\"top\"),e.style.cssText=t.style.cssText,e.setAttribute(\"draggable\",\"true\"),e}createContainerElement(){const t=m().createElement(\"div\");return t.setAttribute(\"data-fabric\",\"wrapper\"),Tn(t,{position:\"relative\"}),$t(t),t}applyCanvasStyle(t,e){const{styles:i,allowTouchScrolling:r}=e;Tn(t,s(s({},i),{},{\"touch-action\":r?\"manipulation\":j})),$t(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:s,ctx:i}=this.upper;Qt(s,i,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),Zt(this.upper.el,t),Zt(this.container,t)}cleanupDOM(t){const e=this.container,{el:s}=this.lower,{el:i}=this.upper;super.cleanupDOM(t),e.removeChild(i),e.removeChild(s),e.parentNode&&e.parentNode.replaceChild(s,e)}dispose(){super.dispose(),p().dispose(this.upper.el),delete this.upper,delete this.container}}class En extends ie{constructor(){super(...arguments),t(this,\"targets\",[]),t(this,\"_hoveredTargets\",[]),t(this,\"_currentTransform\",null),t(this,\"_groupSelector\",null),t(this,\"contextTopDirty\",!1)}static getDefaults(){return s(s({},super.getDefaults()),En.ownDefaults)}get upperCanvasEl(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.el}get contextTop(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new Pn(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire(\"before:selection:cleared\",{deselected:[t]}),this._discardActiveObject(),this.fire(\"selection:cleared\",{deselected:[t]}),t.fire(\"deselected\",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter((e=>!e.group&&e!==t)).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire(\"after:render\",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),s=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=s,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,s){const i=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+i,-s+i),r.transform(...this.viewportTransform);const n=t.selectionBackgroundColor;t.selectionBackgroundColor=\"\",t.render(r),t.selectionBackgroundColor=n,r.restore();const o=Math.round(i*this.getRetinaScaling());return Ri(r,o,o,o)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find((e=>!!e&&!0===t[e])):t[e])}_shouldClearSelection(t,e){const s=this.getActiveObjects(),i=this._activeObject;return!!(!e||e&&i&&s.length>1&&-1===s.indexOf(e)&&i!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&i&&i!==e)}_shouldCenterTransform(t,e,s){if(!t)return;let i;return e===G||e===H||e===N||e===Y?i=this.centeredScaling||t.centeredScaling:e===B&&(i=this.centeredRotation||t.centeredRotation),i?!s:s}_getOriginFromCorner(t,e){const s={x:t.originX,y:t.originY};return e?([\"ml\",\"tl\",\"bl\"].includes(e)?s.x=A:[\"mr\",\"tr\",\"br\"].includes(e)&&(s.x=M),[\"tl\",\"mt\",\"tr\"].includes(e)?s.y=E:[\"bl\",\"mb\",\"br\"].includes(e)&&(s.y=P),s):s}_setupCurrentTransform(t,e,i){var r;const n=e.group?me(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:o=\"\",control:a}=e.getActiveControl()||{},h=i&&a?null===(r=a.getActionHandler(t,e,a))||void 0===r?void 0:r.bind(a):Me,c=((t,e,s,i)=>{if(!e||!t)return\"drag\";const r=i.controls[e];return r.getActionName(s,r,i)})(i,o,t,e),l=t[this.centeredKey],u=this._shouldCenterTransform(e,c,l)?{x:D,y:D}:this._getOriginFromCorner(e,o),d={target:e,action:c,actionHandler:h,actionPerformed:!1,corner:o,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:n.x-e.left,offsetY:n.y-e.top,originX:u.x,originY:u.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:xt(e.angle),width:e.width,height:e.height,shiftKey:t.shiftKey,altKey:l,original:s(s({},ge(e)),{},{originX:u.x,originY:u.y})};this._currentTransform=d,this.fire(\"before:transform\",{e:t,transform:d})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s).transform(this.viewportTransform),o=new ot(e+i,s+r).transform(this.viewportTransform),a=this.selectionLineWidth/2;let h=Math.min(n.x,o.x),c=Math.min(n.y,o.y),l=Math.max(n.x,o.x),u=Math.max(n.y,o.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(h,c,l-h,u-c)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,h+=a,c+=a,l-=a,u-=a,Li.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(h,c,l-h,u-c))}findTarget(t){if(this.skipTargetFind)return;const e=this.getViewportPoint(t),s=this._activeObject,i=this.getActiveObjects();if(this.targets=[],s&&i.length>=1){if(s.findControl(e,oe(t)))return s;if(i.length>1&&this.searchPossibleTargets([s],e))return s;if(s===this.searchPossibleTargets([s],e)){if(this.preserveObjectStacking){const i=this.targets;this.targets=[];const r=this.searchPossibleTargets(this._objects,e);return t[this.altSelectionKey]&&r&&r!==s?(this.targets=i,s):r}return s}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(t,e){let s=t.getCoords();const i=this.getZoom(),r=t.padding/i;if(r){const[t,e,i,n]=s,o=Math.atan2(e.y-t.y,e.x-t.x),a=rt(o)*r,h=nt(o)*r,c=a+h,l=a-h;s=[new ot(t.x-l,t.y-c),new ot(e.x+c,e.y-l),new ot(i.x+l,i.y+c),new ot(n.x-c,n.y+l)]}return Qs.isPointInPolygon(e,s)}_checkTarget(t,e){if(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,me(e,void 0,this.viewportTransform))){if(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing)return!0;if(!this.isTargetTransparent(t,e.x,e.y))return!0}return!1}_searchPossibleTargets(t,e){let s=t.length;for(;s--;){const i=t[s];if(this._checkTarget(i,e)){if(ht(i)&&i.subTargetCheck){const t=this._searchPossibleTargets(i._objects,e);t&&this.targets.push(t)}return i}}}searchPossibleTargets(t,e){const s=this._searchPossibleTargets(t,e);if(s&&ht(s)&&s.interactive&&this.targets[0]){const t=this.targets;for(let e=t.length-1;e>0;e--){const s=t[e];if(!ht(s)||!s.interactive)return s}return t[0]}return s}getViewportPoint(t){return this._pointer?this._pointer:this.getPointer(t,!0)}getScenePoint(t){return this._absolutePointer?this._absolutePointer:this.getPointer(t)}getPointer(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=s.getBoundingClientRect();let r=ne(t),n=i.width||0,o=i.height||0;n&&o||(P in i&&E in i&&(o=Math.abs(i.top-i.bottom)),A in i&&M in i&&(n=Math.abs(i.right-i.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=me(r,void 0,this.viewportTransform));const a=this.getRetinaScaling();1!==a&&(r.x/=a,r.y/=a);const h=0===n||0===o?new ot(1,1):new ot(s.width/n,s.height/o);return r.multiply(h)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=pt(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(\"2d\",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Ut(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let s=!1,i=!1;const r=this.getActiveObjects(),n=[],o=[];t.forEach((t=>{r.includes(t)||(s=!0,t.fire(\"deselected\",{e:e,target:t}),o.push(t))})),r.forEach((i=>{t.includes(i)||(s=!0,i.fire(\"selected\",{e:e,target:i}),n.push(i))})),t.length>0&&r.length>0?(i=!0,s&&this.fire(\"selection:updated\",{e:e,selected:n,deselected:o})):r.length>0?(i=!0,this.fire(\"selection:created\",{e:e,selected:n})):t.length>0&&(i=!0,this.fire(\"selection:cleared\",{e:e,deselected:o})),i&&(this._objectsToRender=void 0)}setActiveObject(t,e){const s=this.getActiveObjects(),i=this._setActiveObject(t,e);return this._fireSelectionEvents(s,e),i}_setActiveObject(t,e){const s=this._activeObject;return s!==t&&(!(!this._discardActiveObject(e,t)&&this._activeObject)&&(!t.onSelect({e:e})&&(this._activeObject=t,Ut(t)&&s!==t&&t.set(\"canvas\",this),t.setCoords(),!0)))}_discardActiveObject(t,e){const s=this._activeObject;return!!s&&(!s.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===s&&this.endCurrentTransform(t),Ut(s)&&s===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0))}discardActiveObject(t){const e=this.getActiveObjects(),s=this.getActiveObject();e.length&&this.fire(\"before:selection:cleared\",{e:t,deselected:[s]});const i=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),i}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,s=e.target,i={e:t,target:s,transform:e,action:e.action};s._scaling&&(s._scaling=!1),s.setCoords(),e.actionPerformed&&(this.fire(\"object:modified\",i),s.fire(Q,i))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Ut(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,s){const i=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,s);return t.set(i),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Ut(e)&&this._activeObject===e){const s=Yt(t,[\"angle\",\"flipX\",\"flipY\",M,H,N,U,q,P]);return le(t,e.calcOwnMatrix()),s}return{}}_setSVGObject(t,e,s){const i=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,s),e.set(i)}}t(En,\"ownDefaults\",{uniformScaling:!0,uniScaleKey:\"shiftKey\",centeredScaling:!1,centeredRotation:!1,centeredKey:\"altKey\",altActionKey:\"shiftKey\",selection:!0,selectionKey:\"shiftKey\",selectionColor:\"rgba(100, 100, 255, 0.3)\",selectionDashArray:[],selectionBorderColor:\"rgba(255, 255, 255, 0.3)\",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:\"move\",moveCursor:\"move\",defaultCursor:\"default\",freeDrawingCursor:\"crosshair\",notAllowedCursor:\"not-allowed\",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:\"canvas-container\",preserveObjectStacking:!1});class An{constructor(e){t(this,\"targets\",[]),t(this,\"__disposer\",void 0);const s=()=>{const{hiddenTextarea:t}=e.getActiveObject()||{};t&&t.focus()},i=e.upperCanvasEl;i.addEventListener(\"click\",s),this.__disposer=()=>i.removeEventListener(\"click\",s)}exitTextEditing(){this.target=void 0,this.targets.forEach((t=>{t.isEditing&&t.exitEditing()}))}add(t){this.targets.push(t)}remove(t){this.unregister(t),it(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;(null===(e=this.target)||void 0===e?void 0:e.isEditing)&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const jn=[\"target\",\"oldTarget\",\"fireCanvas\",\"e\"],Fn={passive:!1},Ln=(t,e)=>{const s=t.getViewportPoint(e),i=t.getScenePoint(e);return{viewportPoint:s,scenePoint:i,pointer:s,absolutePointer:i}},Rn=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.addEventListener(...s)},In=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.removeEventListener(...s)},Bn={mouse:{in:\"over\",out:\"out\",targetIn:\"mouseover\",targetOut:\"mouseout\",canvasIn:\"mouse:over\",canvasOut:\"mouse:out\"},drag:{in:\"enter\",out:\"leave\",targetIn:\"dragenter\",targetOut:\"dragleave\",canvasIn:\"drag:enter\",canvasOut:\"drag:leave\"}};class Xn extends En{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),t(this,\"_isClick\",void 0),t(this,\"textEditingManager\",new An(this)),[\"_onMouseDown\",\"_onTouchStart\",\"_onMouseMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onResize\",\"_onMouseWheel\",\"_onMouseOut\",\"_onMouseEnter\",\"_onContextMenu\",\"_onClick\",\"_onDragStart\",\"_onDragEnd\",\"_onDragProgress\",\"_onDragOver\",\"_onDragEnter\",\"_onDragLeave\",\"_onDrop\"].forEach((t=>{this[t]=this[t].bind(this)})),this.addOrRemove(Rn,\"add\")}_getEventPrefix(){return this.enablePointerEvents?\"pointer\":\"mouse\"}addOrRemove(t,e){const s=this.upperCanvasEl,i=this._getEventPrefix();t(Jt(s),\"resize\",this._onResize),t(s,i+\"down\",this._onMouseDown),t(s,\"\".concat(i,\"move\"),this._onMouseMove,Fn),t(s,\"\".concat(i,\"out\"),this._onMouseOut),t(s,\"\".concat(i,\"enter\"),this._onMouseEnter),t(s,\"wheel\",this._onMouseWheel,{passive:!1}),t(s,\"contextmenu\",this._onContextMenu),t(s,\"click\",this._onClick),t(s,\"dblclick\",this._onClick),t(s,\"dragstart\",this._onDragStart),t(s,\"dragend\",this._onDragEnd),t(s,\"dragover\",this._onDragOver),t(s,\"dragenter\",this._onDragEnter),t(s,\"dragleave\",this._onDragLeave),t(s,\"drop\",this._onDrop),this.enablePointerEvents||t(s,\"touchstart\",this._onTouchStart,Fn)}removeListeners(){this.addOrRemove(In,\"remove\");const t=this._getEventPrefix(),e=Kt(this.upperCanvasEl);In(e,\"\".concat(t,\"up\"),this._onMouseUp),In(e,\"touchend\",this._onTouchEnd,Fn),In(e,\"\".concat(t,\"move\"),this._onMouseMove,Fn),In(e,\"touchmove\",this._onMouseMove,Fn),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this.__onMouseWheel(t)}_onMouseOut(t){const e=this._hoveredTarget,i=s({e:t},Ln(this,t));this.fire(\"mouse:out\",s(s({},i),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire(\"mouseout\",s({},i)),this._hoveredTargets.forEach((t=>{this.fire(\"mouse:out\",s(s({},i),{},{target:t})),t&&t.fire(\"mouseout\",s({},i))})),this._hoveredTargets=[]}_onMouseEnter(t){this._currentTransform||this.findTarget(t)||(this.fire(\"mouse:over\",s({e:t},Ln(this,t))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const s={e:t,target:e};return this.fire(\"dragstart\",s),e.fire(\"dragstart\",s),void Rn(this.upperCanvasEl,\"drag\",this._onDragProgress)}ae(t)}_renderDragEffects(t,e,s){let i=!1;const r=this._dropTarget;r&&r!==e&&r!==s&&(r.clearContextTop(),i=!0),null==e||e.clearContextTop(),s!==e&&(null==s||s.clearContextTop());const n=this.contextTop;n.save(),n.transform(...this.viewportTransform),e&&(n.save(),e.transform(n),e.renderDragSourceEffect(t),n.restore(),i=!0),s&&(n.save(),s.transform(n),s.renderDropTargetEffect(t),n.restore(),i=!0),n.restore(),i&&(this.contextTopDirty=!0)}_onDragEnd(t){const e=!!t.dataTransfer&&t.dataTransfer.dropEffect!==j,s=e?this._activeObject:void 0,i={e:t,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:s};In(this.upperCanvasEl,\"drag\",this._onDragProgress),this.fire(\"dragend\",i),this._dragSource&&this._dragSource.fire(\"dragend\",i),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(\"drag\",e),this._dragSource&&this._dragSource.fire(\"drag\",e)}findDragTargets(t){this.targets=[];return{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(t)),targets:[...this.targets]}}_onDragOver(t){const e=\"dragover\",{target:s,targets:i}=this.findDragTargets(t),r=this._dragSource,n={e:t,target:s,subTargets:i,dragSource:r,canDrop:!1,dropTarget:void 0};let o;this.fire(e,n),this._fireEnterLeaveEvents(s,n),s&&(s.canDrop(t)&&(o=s),s.fire(e,n));for(let s=0;s<i.length;s++){const r=i[s];r.canDrop(t)&&(o=r),r.fire(e,n)}this._renderDragEffects(t,r,o),this._dropTarget=o}_onDragEnter(t){const{target:e,targets:s}=this.findDragTargets(t),i={e:t,target:e,subTargets:s,dragSource:this._dragSource};this.fire(\"dragenter\",i),this._fireEnterLeaveEvents(e,i)}_onDragLeave(t){const e={e:t,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire(\"dragleave\",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(t){const{target:e,targets:i}=this.findDragTargets(t),r=this._basicEventHandler(\"drop:before\",s({e:t,target:e,subTargets:i,dragSource:this._dragSource},Ln(this,t)));r.didDrop=!1,r.dropTarget=void 0,this._basicEventHandler(\"drop\",r),this.fire(\"drop:after\",r)}_onContextMenu(t){const e=this.findTarget(t),s=this.targets||[],i=this._basicEventHandler(\"contextmenu:before\",{e:t,target:e,subTargets:s});return this.stopContextMenu&&ae(t),this._basicEventHandler(\"contextmenu\",i),!1}_onClick(t){const e=t.detail;e>3||e<2||(this._cacheTransformEventData(t),2==e&&\"dblclick\"===t.type&&this._handleEvent(t,\"dblclick\"),3==e&&this._handleEvent(t,\"tripleclick\"),this._resetTransformEventData())}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return!0===t.isPrimary||!1!==t.isPrimary&&(\"touchend\"===t.type&&0===t.touches.length||(!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId))}_onTouchStart(t){let e=!this.allowTouchScrolling;const s=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t),(this.isDrawingMode||s&&this._target===s)&&(e=!0),e&&t.preventDefault(),this._resetTransformEventData();const i=this.upperCanvasEl,r=this._getEventPrefix(),n=Kt(i);Rn(n,\"touchend\",this._onTouchEnd,Fn),e&&Rn(n,\"touchmove\",this._onMouseMove,Fn),In(i,\"\".concat(r,\"down\"),this._onMouseDown)}_onMouseDown(t){this.__onMouseDown(t),this._resetTransformEventData();const e=this.upperCanvasEl,s=this._getEventPrefix();In(e,\"\".concat(s,\"move\"),this._onMouseMove,Fn);const i=Kt(e);Rn(i,\"\".concat(s,\"up\"),this._onMouseUp),Rn(i,\"\".concat(s,\"move\"),this._onMouseMove,Fn)}_onTouchEnd(t){if(t.touches.length>0)return;this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),s=Kt(this.upperCanvasEl);In(s,\"touchend\",this._onTouchEnd,Fn),In(s,\"touchmove\",this._onMouseMove,Fn),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout((()=>{Rn(this.upperCanvasEl,\"\".concat(e,\"down\"),this._onMouseDown),this._willAddMouseDown=0}),400)}_onMouseUp(t){this.__onMouseUp(t),this._resetTransformEventData();const e=this.upperCanvasEl,s=this._getEventPrefix();if(this._isMainEvent(t)){const t=Kt(this.upperCanvasEl);In(t,\"\".concat(s,\"up\"),this._onMouseUp),In(t,\"\".concat(s,\"move\"),this._onMouseMove,Fn),Rn(e,\"\".concat(s,\"move\"),this._onMouseMove,Fn)}}_onMouseMove(t){const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._cacheTransformEventData(t),this._handleEvent(t,\"up:before\");const s=this._currentTransform,i=this._isClick,r=this._target,{button:n}=t;if(n)return(this.fireMiddleClick&&1===n||this.fireRightClick&&2===n)&&this._handleEvent(t,\"up\"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let o,a,h=!1;if(s&&(this._finalizeCurrentTransform(t),h=s.actionPerformed),!i){const e=r===this._activeObject;this.handleSelection(t),h||(h=this._shouldRender(r)||!e&&r===this._activeObject)}if(r){const e=r.findControl(this.getViewportPoint(t),oe(t)),{key:i,control:n}=e||{};if(a=i,r.selectable&&r!==this._activeObject&&\"up\"===r.activeOn)this.setActiveObject(r,t),h=!0;else if(n){const e=n.getMouseUpHandler(t,r,n);e&&(o=this.getScenePoint(t),e.call(n,t,s,o.x,o.y))}r.isMoving=!1}if(s&&(s.target!==r||s.corner!==a)){const e=s.target&&s.target.controls[s.corner],i=e&&e.getMouseUpHandler(t,s.target,e);o=o||this.getScenePoint(t),i&&i.call(e,t,s,o.x,o.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,\"up\"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),h?this.requestRenderAll():i||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:s,subTargets:i=[]}=e;this.fire(t,e),s&&s.fire(t,e);for(let r=0;r<i.length;r++)i[r]!==s&&i[r].fire(t,e);return e}_handleEvent(t,e,i){const r=this._target,n=this.targets||[],o=s(s(s({e:t,target:r,subTargets:n},Ln(this,t)),{},{transform:this._currentTransform},\"up:before\"===e||\"up\"===e?{isClick:this._isClick,currentTarget:this.findTarget(t),currentSubTargets:this.targets}:{}),\"down:before\"===e||\"down\"===e?i:{});this.fire(\"mouse:\".concat(e),o),r&&r.fire(\"mouse\".concat(e),o);for(let t=0;t<n.length;t++)n[t]!==r&&n[t].fire(\"mouse\".concat(e),o)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,\"down\",{alreadySelected:!1})}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,\"move\")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,\"up\")}__onMouseDown(t){this._isClick=!0,this._cacheTransformEventData(t),this._handleEvent(t,\"down:before\");let e=this._target,s=!!e&&e===this._activeObject;const{button:i}=t;if(i)return(this.fireMiddleClick&&1===i||this.fireRightClick&&2===i)&&this._handleEvent(t,\"down\",{alreadySelected:s}),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t))return;if(this._currentTransform)return;let r=this._shouldRender(e),n=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,n=!0,r=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const e=this.getScenePoint(t);this._groupSelector={x:e.x,y:e.y,deltaY:0,deltaX:0}}if(s=!!e&&e===this._activeObject,e){e.selectable&&\"down\"===e.activeOn&&this.setActiveObject(e,t);const i=e.findControl(this.getViewportPoint(t),oe(t));if(e===this._activeObject&&(i||!n)){this._setupCurrentTransform(t,e,s);const r=i?i.control:void 0,n=this.getScenePoint(t),o=r&&r.getMouseDownHandler(t,e,r);o&&o.call(r,t,this._currentTransform,n.x,n.y)}}r&&(this._objectsToRender=void 0),this._handleEvent(t,\"down\",{alreadySelected:s}),r&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._pointer=this.getViewportPoint(t),this._absolutePointer=me(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(t)}__onMouseMove(t){if(this._isClick=!1,this._cacheTransformEventData(t),this._handleEvent(t,\"move:before\"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const s=this.getScenePoint(t);e.deltaX=s.x-e.x,e.deltaY=s.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const e=this.findTarget(t);this._setCursorFromEvent(t,e),this._fireOverOutEvents(t,e)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,\"move\"),this._resetTransformEventData()}_fireOverOutEvents(t,e){const s=this._hoveredTarget,i=this._hoveredTargets,r=this.targets,n=Math.max(i.length,r.length);this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:e,oldTarget:s,fireCanvas:!0});for(let o=0;o<n;o++)r[o]===e||i[o]&&i[o]===s||this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:r[o],oldTarget:i[o]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(t,e){const i=this._draggedoverTarget,r=this._hoveredTargets,n=this.targets,o=Math.max(r.length,n.length);this.fireSyntheticInOutEvents(\"drag\",s(s({},e),{},{target:t,oldTarget:i,fireCanvas:!0}));for(let t=0;t<o;t++)this.fireSyntheticInOutEvents(\"drag\",s(s({},e),{},{target:n[t],oldTarget:r[t]}));this._draggedoverTarget=t}fireSyntheticInOutEvents(t,e){let{target:r,oldTarget:n,fireCanvas:o,e:a}=e,h=i(e,jn);const{targetIn:c,targetOut:l,canvasIn:u,canvasOut:d}=Bn[t],g=n!==r;if(n&&g){const t=s(s({},h),{},{e:a,target:n,nextTarget:r},Ln(this,a));o&&this.fire(d,t),n.fire(l,t)}if(r&&g){const t=s(s({},h),{},{e:a,target:r,previousTarget:n},Ln(this,a));o&&this.fire(u,t),r.fire(c,t)}}__onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,\"wheel\"),this._resetTransformEventData()}_transformObject(t){const e=this.getScenePoint(t),s=this._currentTransform,i=s.target,r=i.group?me(e,void 0,i.group.calcTransformMatrix()):e;s.shiftKey=t.shiftKey,s.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,s,r),s.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,s){const{action:i,actionHandler:r,target:n}=e,o=!!r&&r(t,e,s.x,s.y);o&&n.setCoords(),\"drag\"===i&&o&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||o}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let s=e.hoverCursor||this.hoverCursor;const i=Ut(this._activeObject)?this._activeObject:null,r=(!i||e.group!==i)&&e.findControl(this.getViewportPoint(t));if(r){const s=r.control;this.setCursor(s.cursorStyleHandler(t,s,e))}else e.subTargetCheck&&this.targets.concat().reverse().map((t=>{s=t.hoverCursor||s})),this.setCursor(s)}handleMultiSelection(t,e){const s=this._activeObject,i=Ut(s);if(s&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(s!==e||i)&&(i||!e.isDescendantOf(s)&&!s.isDescendantOf(e))&&!e.onSelect({e:t})&&!s.getActiveControl()){if(i){const i=s.getObjects();if(e===s){const s=this.getViewportPoint(t);if(!(e=this.searchPossibleTargets(i,s)||this.searchPossibleTargets(this._objects,s))||!e.selectable)return!1}e.group===s?(s.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],1===s.size()&&this._setActiveObject(s.item(0),t)):(s.multiSelectAdd(e),this._hoveredTarget=s,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(i,t)}else{s.isEditing&&s.exitEditing();const i=new(tt.getClass(\"ActiveSelection\"))([],{canvas:this});i.multiSelectAdd(s,e),this._hoveredTarget=i,this._setActiveObject(i,t),this._fireSelectionEvents([s],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s),o=n.add(new ot(i,r)),a=n.min(o),h=n.max(o).subtract(a),c=this.collectObjects({left:a.x,top:a.y,width:h.x,height:h.y},{includeIntersecting:!this.selectionFullyContained}),l=n.eq(o)?c[0]?[c[0]]:[]:c.length>1?c.filter((e=>!e.onSelect({e:t}))).reverse():c;if(1===l.length)this.setActiveObject(l[0],t);else if(l.length>1){const e=tt.getClass(\"ActiveSelection\");this.setActiveObject(new e(l,{canvas:this}),t)}return this._groupSelector=null,!0}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1?arguments[1]:void 0;const{upper:s}=this.elements;s.ctx=void 0;const i=super.toCanvasElement(t,e);return s.ctx=s.el.getContext(\"2d\"),i}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const Yn={x1:0,y1:0,x2:0,y2:0},Wn=s(s({},Yn),{},{r1:0,r2:0}),Vn=(t,e)=>isNaN(t)&&\"number\"==typeof e?e:t;function zn(t){return t&&/%$/.test(t)&&Number.isFinite(parseFloat(t))}function Gn(t,e){const s=\"number\"==typeof t?t:\"string\"==typeof t?parseFloat(t)/(zn(t)?100:1):NaN;return Ms(0,Vn(s,e),1)}const Hn=/\\s*;\\s*/,Nn=/\\s*:\\s*/;function Un(t,e){let s,i;const r=t.getAttribute(\"style\");if(r){const t=r.split(Hn);\"\"===t[t.length-1]&&t.pop();for(let e=t.length;e--;){const[r,n]=t[e].split(Nn).map((t=>t.trim()));\"stop-color\"===r?s=n:\"stop-opacity\"===r&&(i=n)}}const n=new Ie(s||t.getAttribute(\"stop-color\")||\"rgb(0,0,0)\");return{offset:Gn(t.getAttribute(\"offset\"),0),color:n.toRgb(),opacity:Vn(parseFloat(i||t.getAttribute(\"stop-opacity\")||\"\"),1)*n.getAlpha()*e}}function qn(t,e){const s=[],i=t.getElementsByTagName(\"stop\"),r=Gn(e,1);for(let t=i.length;t--;)s.push(Un(i[t],r));return s}function Kn(t){return\"linearGradient\"===t.nodeName||\"LINEARGRADIENT\"===t.nodeName?\"linear\":\"radial\"}function Jn(t){return\"userSpaceOnUse\"===t.getAttribute(\"gradientUnits\")?\"pixels\":\"percentage\"}function Qn(t,e){return t.getAttribute(e)}function Zn(t,e){return function(t,e){let s,{width:i,height:r,gradientUnits:n}=e;return Object.entries(t).reduce(((t,e)=>{let[o,a]=e;if(\"Infinity\"===a)s=1;else if(\"-Infinity\"===a)s=0;else{const t=\"string\"==typeof a;s=t?parseFloat(a):a,t&&zn(a)&&(s*=.01,\"pixels\"===n&&(\"x1\"!==o&&\"x2\"!==o&&\"r2\"!==o||(s*=i),\"y1\"!==o&&\"y2\"!==o||(s*=r)))}return t[o]=s,t}),{})}(\"linear\"===Kn(t)?function(t){return{x1:Qn(t,\"x1\")||0,y1:Qn(t,\"y1\")||0,x2:Qn(t,\"x2\")||\"100%\",y2:Qn(t,\"y2\")||0}}(t):function(t){return{x1:Qn(t,\"fx\")||Qn(t,\"cx\")||\"50%\",y1:Qn(t,\"fy\")||Qn(t,\"cy\")||\"50%\",r1:0,x2:Qn(t,\"cx\")||\"50%\",y2:Qn(t,\"cy\")||\"50%\",r2:Qn(t,\"r\")||\"50%\"}}(t),s(s({},e),{},{gradientUnits:Jn(t)}))}class $n{constructor(t){const{type:e=\"linear\",gradientUnits:i=\"pixels\",coords:r={},colorStops:n=[],offsetX:o=0,offsetY:a=0,gradientTransform:h,id:c}=t||{};Object.assign(this,{type:e,gradientUnits:i,coords:s(s({},\"radial\"===e?Wn:Yn),r),colorStops:n,offsetX:o,offsetY:a,gradientTransform:h,id:c?\"\".concat(c,\"_\").concat(ft()):ft()})}addColorStop(t){for(const e in t){const s=new Ie(t[e]);this.colorStops.push({offset:parseFloat(e),color:s.toRgb(),opacity:s.getAlpha()})}return this}toObject(t){return s(s({},Yt(this,t)),{},{type:this.type,coords:s({},this.coords),colorStops:this.colorStops.map((t=>s({},t))),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(t){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[],r=this.gradientTransform?this.gradientTransform.concat():T.concat(),n=\"pixels\"===this.gradientUnits?\"userSpaceOnUse\":\"objectBoundingBox\",o=this.colorStops.map((t=>s({},t))).sort(((t,e)=>t.offset-e.offset));let a=-this.offsetX,h=-this.offsetY;var c;\"objectBoundingBox\"===n?(a/=t.width,h/=t.height):(a+=t.width/2,h+=t.height/2),(c=t)&&\"function\"==typeof c._renderPathCommands&&\"percentage\"!==this.gradientUnits&&(a-=t.pathOffset.x,h-=t.pathOffset.y),r[4]-=a,r[5]-=h;const l=['id=\"SVGID_'.concat(this.id,'\"'),'gradientUnits=\"'.concat(n,'\"'),'gradientTransform=\"'.concat(e?e+\" \":\"\").concat(zt(r),'\"'),\"\"].join(\" \");if(\"linear\"===this.type){const{x1:t,y1:e,x2:s,y2:r}=this.coords;i.push(\"<linearGradient \",l,' x1=\"',t,'\" y1=\"',e,'\" x2=\"',s,'\" y2=\"',r,'\">\\n')}else if(\"radial\"===this.type){const{x1:t,y1:e,x2:s,y2:r,r1:n,r2:a}=this.coords,h=n>a;i.push(\"<radialGradient \",l,' cx=\"',h?t:s,'\" cy=\"',h?e:r,'\" r=\"',h?n:a,'\" fx=\"',h?s:t,'\" fy=\"',h?r:e,'\">\\n'),h&&(o.reverse(),o.forEach((t=>{t.offset=1-t.offset})));const c=Math.min(n,a);if(c>0){const t=c/Math.max(n,a);o.forEach((e=>{e.offset+=t*(1-e.offset)}))}}return o.forEach((t=>{let{color:e,offset:s,opacity:r}=t;i.push(\"<stop \",'offset=\"',100*s+\"%\",'\" style=\"stop-color:',e,void 0!==r?\";stop-opacity: \"+r:\";\",'\"/>\\n')})),i.push(\"linear\"===this.type?\"</linearGradient>\":\"</radialGradient>\",\"\\n\"),i.join(\"\")}toLive(t){const{x1:e,y1:s,x2:i,y2:r,r1:n,r2:o}=this.coords,a=\"linear\"===this.type?t.createLinearGradient(e,s,i,r):t.createRadialGradient(e,s,n,i,r,o);return this.colorStops.forEach((t=>{let{color:e,opacity:s,offset:i}=t;a.addColorStop(i,void 0!==s?new Ie(e).setAlpha(s).toRgba():e)})),a}static async fromObject(t){const{colorStops:e,gradientTransform:i}=t;return new this(s(s({},t),{},{colorStops:e?e.map((t=>s({},t))):void 0,gradientTransform:i?[...i]:void 0}))}static fromElement(t,e,i){const r=Jn(t),n=e._findCenterFromElement();return new this(s({id:t.getAttribute(\"id\")||void 0,type:Kn(t),coords:Zn(t,{width:i.viewBoxWidth||i.width,height:i.viewBoxHeight||i.height}),colorStops:qn(t,i.opacity),gradientUnits:r,gradientTransform:wr(t.getAttribute(\"gradientTransform\")||\"\")},\"pixels\"===r?{offsetX:e.width/2-n.x,offsetY:e.height/2-n.y}:{offsetX:0,offsetY:0}))}}t($n,\"type\",\"Gradient\"),tt.setClass($n,\"gradient\"),tt.setClass($n,\"linear\"),tt.setClass($n,\"radial\");const to=[\"type\",\"source\",\"patternTransform\"];class eo{get type(){return\"pattern\"}set type(t){a(\"warn\",\"Setting type has no effect\",t)}constructor(e){t(this,\"repeat\",\"repeat\"),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"crossOrigin\",\"\"),this.id=ft(),Object.assign(this,e)}isImageSource(){return!!this.source&&\"string\"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():\"\"}toLive(t){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?t.createPattern(this.source,this.repeat):null}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const{repeat:e,crossOrigin:i}=this;return s(s({},Yt(this,t)),{},{type:\"pattern\",source:this.sourceToString(),repeat:e,crossOrigin:i,offsetX:Vt(this.offsetX,o.NUM_FRACTION_DIGITS),offsetY:Vt(this.offsetY,o.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null})}toSVG(t){let{width:e,height:s}=t;const{source:i,repeat:r,id:n}=this,o=Vn(this.offsetX/e,0),a=Vn(this.offsetY/s,0),h=\"repeat-y\"===r||\"no-repeat\"===r?1+Math.abs(o||0):Vn(i.width/e,0),c=\"repeat-x\"===r||\"no-repeat\"===r?1+Math.abs(a||0):Vn(i.height/s,0);return['<pattern id=\"SVGID_'.concat(n,'\" x=\"').concat(o,'\" y=\"').concat(a,'\" width=\"').concat(h,'\" height=\"').concat(c,'\">'),'<image x=\"0\" y=\"0\" width=\"'.concat(i.width,'\" height=\"').concat(i.height,'\" xlink:href=\"').concat(this.sourceToString(),'\"></image>'),\"</pattern>\",\"\"].join(\"\\n\")}static async fromObject(t,e){let{type:r,source:n,patternTransform:o}=t,a=i(t,to);const h=await It(n,s(s({},e),{},{crossOrigin:a.crossOrigin}));return new this(s(s({},a),{},{patternTransform:o&&o.slice(0),source:h}))}}t(eo,\"type\",\"Pattern\"),tt.setClass(eo),tt.setClass(eo,\"pattern\");class so{constructor(e){t(this,\"color\",\"rgb(0, 0, 0)\"),t(this,\"width\",1),t(this,\"shadow\",null),t(this,\"strokeLineCap\",\"round\"),t(this,\"strokeLineJoin\",\"round\"),t(this,\"strokeMiterLimit\",10),t(this,\"strokeDashArray\",null),t(this,\"limitedToCanvasSize\",!1),this.canvas=e}_setBrushStyles(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])}_saveAndTransform(t){const e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new Ie(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;const t=this.canvas,e=this.shadow,s=t.contextTop,i=t.getZoom()*t.getRetinaScaling();s.shadowColor=e.color,s.shadowBlur=e.blur*i,s.shadowOffsetX=e.offsetX*i,s.shadowOffsetY=e.offsetY*i}_resetShadow(){const t=this.canvas.contextTop;t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0}_isOutSideCanvas(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}const io=[\"path\",\"left\",\"top\"],ro=[\"d\"];class no extends Li{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{path:s,left:r,top:n}=e,o=i(e,io);super(),Object.assign(this,no.ownDefaults),this.setOptions(o),this._setPath(t||[],!0),\"number\"==typeof r&&this.set(M,r),\"number\"==typeof n&&this.set(P,n)}_setPath(t,e){this.path=nn(Array.isArray(t)?t:bn(t)),this.setBoundingBox(e)}_findCenterFromElement(){const t=this._calcBoundsFromPath();return new ot(t.left+t.width/2,t.top+t.height/2)}_renderPathCommands(t){const e=-this.pathOffset.x,s=-this.pathOffset.y;t.beginPath();for(const i of this.path)switch(i[0]){case\"L\":t.lineTo(i[1]+e,i[2]+s);break;case\"M\":t.moveTo(i[1]+e,i[2]+s);break;case\"C\":t.bezierCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s,i[5]+e,i[6]+s);break;case\"Q\":t.quadraticCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s);break;case\"Z\":t.closePath()}}_render(t){this._renderPathCommands(t),this._renderPaintInOrder(t)}toString(){return\"#<Path (\".concat(this.complexity(),'): { \"top\": ').concat(this.top,', \"left\": ').concat(this.left,\" }>\")}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),{},{path:this.path.map((t=>t.slice()))})}toDatalessObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.toObject(t);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){const t=wn(this.path,o.NUM_FRACTION_DIGITS);return[\"<path \",\"COMMON_PARTS\",'d=\"'.concat(t,'\" stroke-linecap=\"round\" />\\n')]}_getOffsetTransform(){const t=o.NUM_FRACTION_DIGITS;return\" translate(\".concat(Vt(-this.pathOffset.x,t),\", \").concat(Vt(-this.pathOffset.y,t),\")\")}toClipPathSVG(t){const e=this._getOffsetTransform();return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}toSVG(t){const e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{width:e,height:s,pathOffset:i}=this._calcDimensions();this.set({width:e,height:s,pathOffset:i}),t&&this.setPositionByOrigin(i,D,D)}_calcBoundsFromPath(){const t=[];let e=0,s=0,i=0,r=0;for(const n of this.path)switch(n[0]){case\"L\":i=n[1],r=n[2],t.push({x:e,y:s},{x:i,y:r});break;case\"M\":i=n[1],r=n[2],e=i,s=r;break;case\"C\":t.push(...sn(i,r,n[1],n[2],n[3],n[4],n[5],n[6])),i=n[5],r=n[6];break;case\"Q\":t.push(...sn(i,r,n[1],n[2],n[1],n[2],n[3],n[4])),i=n[3],r=n[4];break;case\"Z\":i=e,r=s}return he(t)}_calcDimensions(){const t=this._calcBoundsFromPath();return s(s({},t),{},{pathOffset:new ot(t.left+t.width/2,t.top+t.height/2)})}static fromObject(t){return this._fromObject(t,{extraParam:\"path\"})}static async fromElement(t,e,r){const n=Pr(t,this.ATTRIBUTE_NAMES,r),{d:o}=n;return new this(o,s(s(s({},i(n,ro)),e),{},{left:void 0,top:void 0}))}}t(no,\"type\",\"Path\"),t(no,\"cacheProperties\",[...Es,\"path\",\"fillRule\"]),t(no,\"ATTRIBUTE_NAMES\",[...Zi,\"d\"]),tt.setClass(no),tt.setSVGClass(no);class oo extends so{constructor(e){super(e),t(this,\"decimate\",.4),t(this,\"drawStraightLine\",!1),t(this,\"straightLineKey\",\"shiftKey\"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(t,e,s){const i=e.midPointFrom(s);return t.quadraticCurveTo(e.x,e.y,i.x,i.y),i}onMouseDown(t,e){let{e:s}=e;this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],this._prepareForDrawing(t),this._addPoint(t),this._render())}onMouseMove(t,e){let{e:s}=e;if(this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._addPoint(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{const t=this._points,e=t.length,s=this.canvas.contextTop;this._saveAndTransform(s),this.oldEnd&&(s.beginPath(),s.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=oo.drawSegment(s,t[e-2],t[e-1]),s.stroke(),s.restore()}}onMouseUp(t){let{e:e}=t;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(t){this._reset(),this._addPoint(t),this.canvas.contextTop.moveTo(t.x,t.y)}_addPoint(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,e=this._points[0],s=this._points[1];if(this._saveAndTransform(t),t.beginPath(),2===this._points.length&&e.x===s.x&&e.y===s.y){const t=this.width/1e3;e.x-=t,s.x+=t}t.moveTo(e.x,e.y);for(let i=1;i<this._points.length;i++)oo.drawSegment(t,e,s),e=this._points[i],s=this._points[i+1];t.lineTo(e.x,e.y),t.stroke(),t.restore()}convertPointsToSVGPath(t){const e=this.width/1e3;return Sn(t,e)}createPath(t){const e=new no(t,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new Ds(this.shadow)),e}decimatePoints(t,e){if(t.length<=2)return t;let s,i=t[0];const r=this.canvas.getZoom(),n=Math.pow(e/r,2),o=t.length-1,a=[i];for(let e=1;e<o-1;e++)s=Math.pow(i.x-t[e].x,2)+Math.pow(i.y-t[e].y,2),s>=n&&(i=t[e],a.push(i));return a.push(t[o]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));const t=this.convertPointsToSVGPath(this._points);if(function(t){return\"M 0 0 Q 0 0 0 0 L 0 0\"===wn(t)}(t))return void this.canvas.requestRenderAll();const e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(\"before:path:created\",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire(\"path:created\",{path:e})}}const ao=[\"left\",\"top\",\"radius\"],ho=[\"radius\",\"startAngle\",\"endAngle\",\"counterClockwise\"];class co extends Li{static getDefaults(){return s(s({},super.getDefaults()),co.ownDefaults)}constructor(t){super(),Object.assign(this,co.ownDefaults),this.setOptions(t)}_set(t,e){return super._set(t,e),\"radius\"===t&&this.setRadius(e),this}_render(t){t.beginPath(),t.arc(0,0,this.radius,xt(this.startAngle),xt(this.endAngle),this.counterClockwise),this._renderPaintInOrder(t)}getRadiusX(){return this.get(\"radius\")*this.get(H)}getRadiusY(){return this.get(\"radius\")*this.get(N)}setRadius(t){this.radius=t,this.set({width:2*t,height:2*t})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...ho,...t])}_toSVG(){const t=(this.endAngle-this.startAngle)%360;if(0===t)return[\"<circle \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" ','r=\"',\"\".concat(this.radius),'\" />\\n'];{const{radius:e}=this,s=xt(this.startAngle),i=xt(this.endAngle),r=rt(s)*e,n=nt(s)*e,o=rt(i)*e,a=nt(i)*e,h=t>180?1:0,c=this.counterClockwise?0:1;return['<path d=\"M '.concat(r,\" \").concat(n,\" A \").concat(e,\" \").concat(e,\" 0 \").concat(h,\" \").concat(c,\" \").concat(o,\" \").concat(a,'\" '),\"COMMON_PARTS\",\" />\\n\"]}}static async fromElement(t,e,r){const n=Pr(t,this.ATTRIBUTE_NAMES,r),{left:o=0,top:a=0,radius:h=0}=n;return new this(s(s({},i(n,ao)),{},{radius:h,left:o-h,top:a-h}))}static fromObject(t){return super._fromObject(t)}}t(co,\"type\",\"Circle\"),t(co,\"cacheProperties\",[...Es,...ho]),t(co,\"ownDefaults\",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),t(co,\"ATTRIBUTE_NAMES\",[\"cx\",\"cy\",\"r\",...Zi]),tt.setClass(co),tt.setSVGClass(co);class lo extends so{constructor(e){super(e),t(this,\"width\",10),this.points=[]}drawDot(t){const e=this.addPoint(t),s=this.canvas.contextTop;this._saveAndTransform(s),this.dot(s,e),s.restore()}dot(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()}onMouseDown(t){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)}_render(){const t=this.canvas.contextTop,e=this.points;this._saveAndTransform(t);for(let s=0;s<e.length;s++)this.dot(t,e[s]);t.restore()}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(t),this._render()):this.drawDot(t))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.points.length;t++){const s=this.points[t],i=new co({radius:s.radius,left:s.x,top:s.y,originX:D,originY:D,fill:s.fill});this.shadow&&(i.shadow=new Ds(this.shadow)),e.push(i)}const s=new Ur(e,{canvas:this.canvas});this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}addPoint(t){let{x:e,y:s}=t;const i={x:e,y:s,radius:On(Math.max(0,this.width-20),this.width+20)/2,fill:new Ie(this.color).setAlpha(On(0,100)/100).toRgba()};return this.points.push(i),i}}class uo extends so{constructor(e){super(e),t(this,\"width\",10),t(this,\"density\",20),t(this,\"dotWidth\",1),t(this,\"dotWidthVariance\",1),t(this,\"randomOpacity\",!1),t(this,\"optimizeOverlapping\",!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(t){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(t),this.renderChunck(this.sprayChunk)}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.addSprayChunk(t),this.renderChunck(this.sprayChunk))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.sprayChunks.length;t++){const s=this.sprayChunks[t];for(let t=0;t<s.length;t++){const i=s[t],r=new jr({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:D,originY:D,fill:this.color});e.push(r)}}const s=new Ur(this.optimizeOverlapping?function(t){const e={},s=[];for(let i,r=0;r<t.length;r++)i=\"\".concat(t[r].left).concat(t[r].top),e[i]||(e[i]=!0,s.push(t[r]));return s}(e):e,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&s.set(\"shadow\",new Ds(this.shadow)),this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}renderChunck(t){const e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let s=0;s<t.length;s++){const i=t[s];e.globalAlpha=i.opacity,e.fillRect(i.x,i.y,i.width,i.width)}e.restore()}_render(){const t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let t=0;t<this.sprayChunks.length;t++)this.renderChunck(this.sprayChunks[t]);t.restore()}addSprayChunk(t){this.sprayChunk=[];const e=this.width/2;for(let s=0;s<this.density;s++)this.sprayChunk.push({x:On(t.x-e,t.x+e),y:On(t.y-e,t.y+e),width:this.dotWidthVariance?On(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?On(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}}class go extends oo{constructor(t){super(t)}getPatternSrc(){const t=pt(),e=t.getContext(\"2d\");return t.width=t.height=25,e&&(e.fillStyle=this.color,e.beginPath(),e.arc(10,10,10,0,2*Math.PI,!1),e.closePath(),e.fill()),t}getPattern(t){return t.createPattern(this.source||this.getPatternSrc(),\"repeat\")}_setBrushStyles(t){super._setBrushStyles(t);const e=this.getPattern(t);e&&(t.strokeStyle=e)}createPath(t){const e=super.createPath(t),s=e._getLeftTopCoords().scalarAdd(e.strokeWidth/2);return e.stroke=new eo({source:this.source||this.getPatternSrc(),offsetX:-s.x,offsetY:-s.y}),e}}const fo=[\"x1\",\"y1\",\"x2\",\"y2\"],po=[\"x1\",\"y1\",\"x2\",\"y2\"],mo=[\"x1\",\"x2\",\"y1\",\"y2\"];class vo extends Li{constructor(){let[t,e,s,i]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,vo.ownDefaults),this.setOptions(r),this.x1=t,this.x2=s,this.y1=e,this.y2=i,this._setWidthHeight();const{left:n,top:o}=r;\"number\"==typeof n&&this.set(M,n),\"number\"==typeof o&&this.set(P,o)}_setWidthHeight(){const{x1:t,y1:e,x2:s,y2:i}=this;this.width=Math.abs(s-t),this.height=Math.abs(i-e);const{left:r,top:n,width:o,height:a}=he([{x:t,y:e},{x:s,y:i}]),h=new ot(r+o/2,n+a/2);this.setPositionByOrigin(h,D,D)}_set(t,e){return super._set(t,e),mo.includes(t)&&this._setWidthHeight(),this}_render(t){t.beginPath();const e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;const s=t.strokeStyle;var i;Gt(this.stroke)?t.strokeStyle=this.stroke.toLive(t):t.strokeStyle=null!==(i=this.stroke)&&void 0!==i?i:t.fillStyle;this.stroke&&this._renderStroke(t),t.strokeStyle=s}_findCenterFromElement(){return new ot((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),this.calcLinePoints())}_getNonTransformedDimensions(){const t=super._getNonTransformedDimensions();return\"butt\"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t}calcLinePoints(){const{x1:t,x2:e,y1:s,y2:i,width:r,height:n}=this,o=t<=e?-1:1,a=s<=i?-1:1;return{x1:o*r/2,x2:o*-r/2,y1:a*n/2,y2:a*-n/2}}_toSVG(){const{x1:t,x2:e,y1:s,y2:i}=this.calcLinePoints();return[\"<line \",\"COMMON_PARTS\",'x1=\"'.concat(t,'\" y1=\"').concat(s,'\" x2=\"').concat(e,'\" y2=\"').concat(i,'\" />\\n')]}static async fromElement(t,e,s){const r=Pr(t,this.ATTRIBUTE_NAMES,s),{x1:n=0,y1:o=0,x2:a=0,y2:h=0}=r;return new this([n,o,a,h],i(r,fo))}static fromObject(t){let{x1:e,y1:r,x2:n,y2:o}=t,a=i(t,po);return this._fromObject(s(s({},a),{},{points:[e,r,n,o]}),{extraParam:\"points\"})}}t(vo,\"type\",\"Line\"),t(vo,\"cacheProperties\",[...Es,...mo]),t(vo,\"ATTRIBUTE_NAMES\",Zi.concat(mo)),tt.setClass(vo),tt.setSVGClass(vo);class yo extends Li{static getDefaults(){return s(s({},super.getDefaults()),yo.ownDefaults)}constructor(t){super(),Object.assign(this,yo.ownDefaults),this.setOptions(t)}_render(t){const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,s),t.lineTo(0,-s),t.lineTo(e,s),t.closePath(),this._renderPaintInOrder(t)}_toSVG(){const t=this.width/2,e=this.height/2;return[\"<polygon \",\"COMMON_PARTS\",'points=\"',\"\".concat(-t,\" \").concat(e,\",0 \").concat(-e,\",\").concat(t,\" \").concat(e),'\" />']}}t(yo,\"type\",\"Triangle\"),t(yo,\"ownDefaults\",{width:100,height:100}),tt.setClass(yo),tt.setSVGClass(yo);const _o=[\"rx\",\"ry\"];class xo extends Li{static getDefaults(){return s(s({},super.getDefaults()),xo.ownDefaults)}constructor(t){super(),Object.assign(this,xo.ownDefaults),this.setOptions(t)}_set(t,e){switch(super._set(t,e),t){case\"rx\":this.rx=e,this.set(\"width\",2*e);break;case\"ry\":this.ry=e,this.set(\"height\",2*e)}return this}getRx(){return this.get(\"rx\")*this.get(H)}getRy(){return this.get(\"ry\")*this.get(N)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([..._o,...t])}_toSVG(){return[\"<ellipse \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" rx=\"'.concat(this.rx,'\" ry=\"').concat(this.ry,'\" />\\n')]}_render(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,S,!1),t.restore(),this._renderPaintInOrder(t)}static async fromElement(t,e,s){const i=Pr(t,this.ATTRIBUTE_NAMES,s);return i.left=(i.left||0)-i.rx,i.top=(i.top||0)-i.ry,new this(i)}}function Co(t){if(!t)return[];const e=t.replace(/,/g,\" \").trim().split(/\\s+/),s=[];for(let t=0;t<e.length;t+=2)s.push({x:parseFloat(e[t]),y:parseFloat(e[t+1])});return s}t(xo,\"type\",\"Ellipse\"),t(xo,\"cacheProperties\",[...Es,..._o]),t(xo,\"ownDefaults\",{rx:0,ry:0}),t(xo,\"ATTRIBUTE_NAMES\",[...Zi,\"cx\",\"cy\",\"rx\",\"ry\"]),tt.setClass(xo),tt.setSVGClass(xo);const bo=[\"left\",\"top\"],So={exactBoundingBox:!1};class wo extends Li{static getDefaults(){return s(s({},super.getDefaults()),wo.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"strokeDiff\",void 0),Object.assign(this,wo.ownDefaults),this.setOptions(s),this.points=e;const{left:i,top:r}=s;this.initialized=!0,this.setBoundingBox(!0),\"number\"==typeof i&&this.set(M,i),\"number\"==typeof r&&this.set(P,r)}isOpen(){return!0}_projectStrokeOnPoints(t){return Wi(this.points,t,this.isOpen())}_calcDimensions(t){t=s({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth},t||{});const e=this.exactBoundingBox?this._projectStrokeOnPoints(t).map((t=>t.projectedPoint)):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new ot,strokeOffset:new ot,strokeDiff:new ot};const i=he(e),r=Lt(s(s({},t),{},{scaleX:1,scaleY:1})),n=he(this.points.map((t=>St(t,r,!0)))),o=new ot(this.scaleX,this.scaleY);let a=i.left+i.width/2,h=i.top+i.height/2;return this.exactBoundingBox&&(a-=h*Math.tan(xt(this.skewX)),h-=a*Math.tan(xt(this.skewY))),s(s({},i),{},{pathOffset:new ot(a,h),strokeOffset:new ot(n.left,n.top).subtract(new ot(i.left,i.top)).multiply(o),strokeDiff:new ot(i.width,i.height).subtract(new ot(n.width,n.height)).multiply(o)})}_findCenterFromElement(){const t=he(this.points);return new ot(t.left+t.width/2,t.top+t.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{left:e,top:s,width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}=this._calcDimensions();this.set({width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}),t&&this.setPositionByOrigin(new ot(e+i/2,s+r/2),D,D)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new ot(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let n;if(Object.keys(t).some((t=>this.strokeUniform||this.constructor.layoutProperties.includes(t)))){var e,s;const{width:i,height:r}=this._calcDimensions(t);n=new ot(null!==(e=t.width)&&void 0!==e?e:i,null!==(s=t.height)&&void 0!==s?s:r)}else{var i,r;n=new ot(null!==(i=t.width)&&void 0!==i?i:this.width,null!==(r=t.height)&&void 0!==r?r:this.height)}return n.multiply(new ot(t.scaleX||this.scaleX,t.scaleY||this.scaleY))}return super._getTransformedDimensions(t)}_set(t,e){const s=this.initialized&&this[t]!==e,i=super._set(t,e);return this.exactBoundingBox&&s&&((t===H||t===N)&&this.strokeUniform&&this.constructor.layoutProperties.includes(\"strokeUniform\")||this.constructor.layoutProperties.includes(t))&&this.setDimensions(),i}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject(t)),{},{points:this.points.map((t=>{let{x:e,y:s}=t;return{x:e,y:s}}))})}_toSVG(){const t=[],e=this.pathOffset.x,s=this.pathOffset.y,i=o.NUM_FRACTION_DIGITS;for(let r=0,n=this.points.length;r<n;r++)t.push(Vt(this.points[r].x-e,i),\",\",Vt(this.points[r].y-s,i),\" \");return[\"<\".concat(this.constructor.type.toLowerCase(),\" \"),\"COMMON_PARTS\",'points=\"'.concat(t.join(\"\"),'\" />\\n')]}_render(t){const e=this.points.length,s=this.pathOffset.x,i=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){t.beginPath(),t.moveTo(this.points[0].x-s,this.points[0].y-i);for(let r=0;r<e;r++){const e=this.points[r];t.lineTo(e.x-s,e.y-i)}!this.isOpen()&&t.closePath(),this._renderPaintInOrder(t)}}complexity(){return this.points.length}static async fromElement(t,e,r){return new this(Co(t.getAttribute(\"points\")),s(s({},i(Pr(t,this.ATTRIBUTE_NAMES,r),bo)),e))}static fromObject(t){return this._fromObject(t,{extraParam:\"points\"})}}t(wo,\"ownDefaults\",So),t(wo,\"type\",\"Polyline\"),t(wo,\"layoutProperties\",[U,q,\"strokeLineCap\",\"strokeLineJoin\",\"strokeMiterLimit\",\"strokeWidth\",\"strokeUniform\",\"points\"]),t(wo,\"cacheProperties\",[...Es,\"points\"]),t(wo,\"ATTRIBUTE_NAMES\",[...Zi]),tt.setClass(wo),tt.setSVGClass(wo);class To extends wo{isOpen(){return!1}}t(To,\"ownDefaults\",So),t(To,\"type\",\"Polygon\"),tt.setClass(To),tt.setSVGClass(To);class Oo extends Li{isEmptyStyles(t){if(!this.styles)return!0;if(void 0!==t&&!this.styles[t])return!0;const e=void 0===t?this.styles:{line:this.styles[t]};for(const t in e)for(const s in e[t])for(const i in e[t][s])return!1;return!0}styleHas(t,e){if(!this.styles)return!1;if(void 0!==e&&!this.styles[e])return!1;const s=void 0===e?this.styles:{0:this.styles[e]};for(const e in s)for(const i in s[e])if(void 0!==s[e][i][t])return!0;return!1}cleanStyle(t){if(!this.styles)return!1;const e=this.styles;let s,i,r=0,n=!0,o=0;for(const o in e){s=0;for(const a in e[o]){const h=e[o][a]||{};r++,void 0!==h[t]?(i?h[t]!==i&&(n=!1):i=h[t],h[t]===this[t]&&delete h[t]):n=!1,0!==Object.keys(h).length?s++:delete e[o][a]}0===s&&delete e[o]}for(let t=0;t<this._textLines.length;t++)o+=this._textLines[t].length;n&&r===o&&(this[t]=i,this.removeStyle(t))}removeStyle(t){if(!this.styles)return;const e=this.styles;let s,i,r;for(i in e){for(r in s=e[i],s)delete s[r][t],0===Object.keys(s[r]).length&&delete s[r];0===Object.keys(s).length&&delete e[i]}}_extendStyles(t,e){const{lineIndex:i,charIndex:r}=this.get2DCursorLocation(t);this._getLineStyle(i)||this._setLineStyle(i);const n=Wt(s(s({},this._getStyleDeclaration(i,r)),e),(t=>void 0!==t));this._setStyleDeclaration(i,r,n)}getSelectionStyles(t,e,s){const i=[];for(let r=t;r<(e||t);r++)i.push(this.getStyleAtPosition(r,s));return i}getStyleAtPosition(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);return e?this.getCompleteStyleDeclaration(s,i):this._getStyleDeclaration(s,i)}setSelectionStyles(t,e,s){for(let i=e;i<(s||e);i++)this._extendStyles(i,t);this._forceClearCache=!0}_getStyleDeclaration(t,e){var s;const i=this.styles&&this.styles[t];return i&&null!==(s=i[e])&&void 0!==s?s:{}}getCompleteStyleDeclaration(t,e){return s(s({},Yt(this,this.constructor._styleProperties)),this._getStyleDeclaration(t,e))}_setStyleDeclaration(t,e,s){this.styles[t][e]=s}_deleteStyleDeclaration(t,e){delete this.styles[t][e]}_getLineStyle(t){return!!this.styles[t]}_setLineStyle(t){this.styles[t]={}}_deleteLineStyle(t){delete this.styles[t]}}t(Oo,\"_styleProperties\",qe);const ko=/ +/g,Do=/\"/g;function Mo(t,e,s,i,r){return\"\\t\\t\".concat(function(t,e){let{left:s,top:i,width:r,height:n}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.NUM_FRACTION_DIGITS;const h=Ye(K,t,!1),[c,l,u,d]=[s,i,r,n].map((t=>Vt(t,a)));return\"<rect \".concat(h,' x=\"').concat(c,'\" y=\"').concat(l,'\" width=\"').concat(u,'\" height=\"').concat(d,'\"></rect>')}(t,{left:e,top:s,width:i,height:r}),\"\\n\")}const Po=[\"textAnchor\",\"textDecoration\",\"dx\",\"dy\",\"top\",\"left\",\"fontSize\",\"strokeWidth\"];let Eo;class Ao extends Oo{static getDefaults(){return s(s({},super.getDefaults()),Ao.ownDefaults)}constructor(e,s){super(),t(this,\"__charBounds\",[]),Object.assign(this,Ao.ownDefaults),this.setOptions(s),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){const t=this.path;t&&(t.segmentsInfo=mn(t.path))}_splitText(){const t=this._splitTextIntoLines(this.text);return this.textLines=t.lines,this._textLines=t.graphemeLines,this._unwrappedTextLines=t._unwrappedLines,this._text=t.graphemeText,t}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(Je)&&this.enlargeSpaces()}enlargeSpaces(){let t,e,s,i,r,n,o;for(let a=0,h=this._textLines.length;a<h;a++)if((this.textAlign===Je||a!==h-1&&!this.isEndOfWrapping(a))&&(i=0,r=this._textLines[a],e=this.getLineWidth(a),e<this.width&&(o=this.textLines[a].match(this._reSpacesAndTabs)))){s=o.length,t=(this.width-e)/s;for(let e=0;e<=r.length;e++)n=this.__charBounds[a][e],this._reSpaceAndTab.test(r[e])?(n.width+=t,n.kernedWidth+=t,n.left+=i,i+=t):n.left+=i}}isEndOfWrapping(t){return t===this._textLines.length-1}missingNewlineOffset(t){return 1}get2DCursorLocation(t,e){const s=e?this._unwrappedTextLines:this._textLines;let i;for(i=0;i<s.length;i++){if(t<=s[i].length)return{lineIndex:i,charIndex:t};t-=s[i].length+this.missingNewlineOffset(i,e)}return{lineIndex:i-1,charIndex:s[i-1].length<t?s[i-1].length:t}}toString(){return\"#<Text (\".concat(this.complexity(),'): { \"text\": \"').concat(this.text,'\", \"fontFamily\": \"').concat(this.fontFamily,'\" }>')}_getCacheCanvasDimensions(){const t=super._getCacheCanvasDimensions(),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t}_render(t){const e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,\"underline\"),this._renderText(t),this._renderTextDecoration(t,\"overline\"),this._renderTextDecoration(t,\"linethrough\")}_renderText(t){this.paintFirst===J?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))}_setTextStyles(t,e,s){if(t.textBaseline=\"alphabetic\",this.path)switch(this.pathAlign){case D:t.textBaseline=\"middle\";break;case\"ascender\":t.textBaseline=P;break;case\"descender\":t.textBaseline=E}t.font=this._getFontDeclaration(e,s)}calcTextWidth(){let t=this.getLineWidth(0);for(let e=1,s=this._textLines.length;e<s;e++){const s=this.getLineWidth(e);s>t&&(t=s)}return t}_renderTextLine(t,e,s,i,r,n){this._renderChars(t,e,s,i,r,n)}_renderTextLinesBackground(t){if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\"))return;const e=t.fillStyle,s=this._getLeftOffset();let i=this._getTopOffset();for(let e=0,r=this._textLines.length;e<r;e++){const r=this.getHeightOfLine(e);if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\",e)){i+=r;continue}const n=this._textLines[e].length,o=this._getLineLeftOffset(e);let a,h,c=0,l=0,u=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");const d=this.getHeightOfLineImpl(e);for(let r=0;r<n;r++){const n=this.__charBounds[e][r];h=this.getValueOfPropertyAt(e,r,\"textBackgroundColor\"),this.path?(t.save(),t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillStyle=h,h&&t.fillRect(-n.width/2,-d*(1-this._fontSizeFraction),n.width,d),t.restore()):h!==u?(a=s+o+l,\"rtl\"===this.direction&&(a=this.width-a-c),t.fillStyle=u,u&&t.fillRect(a,i,c,d),l=n.left,c=n.width,u=h):c+=n.kernedWidth}h&&!this.path&&(a=s+o+l,\"rtl\"===this.direction&&(a=this.width-a-c),t.fillStyle=h,t.fillRect(a,i,c,d)),i+=r}t.fillStyle=e,this._removeShadow(t)}_measureChar(t,e,s,i){const r=_.getFontCache(e),n=this._getFontDeclaration(e),o=s?s+t:t,a=s&&n===this._getFontDeclaration(i),h=e.fontSize/this.CACHE_FONT_SIZE;let c,l,u,d;if(s&&r.has(s)&&(u=r.get(s)),r.has(t)&&(d=c=r.get(t)),a&&r.has(o)&&(l=r.get(o),d=l-u),void 0===c||void 0===u||void 0===l){const i=function(){if(!Eo){const t=vt({width:0,height:0});Eo=t.getContext(\"2d\")}return Eo}();this._setTextStyles(i,e,!0),void 0===c&&(d=c=i.measureText(t).width,r.set(t,c)),void 0===u&&a&&s&&(u=i.measureText(s).width,r.set(s,u)),a&&void 0===l&&(l=i.measureText(o).width,r.set(o,l),d=l-u)}return{width:c*h,kernedWidth:d*h}}getHeightOfChar(t,e){return this.getValueOfPropertyAt(t,e,\"fontSize\")}measureLine(t){const e=this._measureLine(t);return 0!==this.charSpacing&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(t){let e,s,i=0;const r=this.pathSide===A,n=this.path,o=this._textLines[t],a=o.length,h=new Array(a);this.__charBounds[t]=h;for(let r=0;r<a;r++){const n=o[r];s=this._getGraphemeBox(n,t,r,e),h[r]=s,i+=s.kernedWidth,e=n}if(h[a]={left:s?s.left+s.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},n&&n.segmentsInfo){let t=0;const e=n.segmentsInfo[n.segmentsInfo.length-1].length;switch(this.textAlign){case M:t=r?e-i:0;break;case D:t=(e-i)/2;break;case A:t=r?0:e-i}t+=this.pathStartOffset*(r?-1:1);for(let i=r?a-1:0;r?i>=0:i<a;r?i--:i++)s=h[i],t>e?t%=e:t<0&&(t+=e),this._setGraphemeOnPath(t,s),t+=s.kernedWidth}return{width:i,numOfSpaces:0}}_setGraphemeOnPath(t,e){const s=t+e.kernedWidth/2,i=this.path,r=vn(i.path,s,i.segmentsInfo);e.renderLeft=r.x-i.pathOffset.x,e.renderTop=r.y-i.pathOffset.y,e.angle=r.angle+(this.pathSide===A?Math.PI:0)}_getGraphemeBox(t,e,s,i,r){const n=this.getCompleteStyleDeclaration(e,s),o=i?this.getCompleteStyleDeclaration(e,s-1):{},a=this._measureChar(t,n,i,o);let h,c=a.kernedWidth,l=a.width;0!==this.charSpacing&&(h=this._getWidthOfCharSpacing(),l+=h,c+=h);const u={width:l,left:0,height:n.fontSize,kernedWidth:c,deltaY:n.deltaY};if(s>0&&!r){const t=this.__charBounds[e][s-1];u.left=t.left+t.width+a.kernedWidth-a.width}return u}getHeightOfLineImpl(t){const e=this.__lineHeights;if(e[t])return e[t];let s=this.getHeightOfChar(t,0);for(let e=1,i=this._textLines[t].length;e<i;e++)s=Math.max(this.getHeightOfChar(t,e),s);return e[t]=s*this._fontSizeMult}getHeightOfLine(t){return this.getHeightOfLineImpl(t)*this.lineHeight}calcTextHeight(){let t=0;for(let e=0,s=this._textLines.length;e<s;e++)t+=e===s-1?this.getHeightOfLineImpl(e):this.getHeightOfLine(e);return t}_getLeftOffset(){return\"ltr\"===this.direction?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(t,e){t.save();let s=0;const i=this._getLeftOffset(),r=this._getTopOffset();for(let n=0,o=this._textLines.length;n<o;n++)this._renderTextLine(e,t,this._textLines[n],i+this._getLineLeftOffset(n),r+s+this.getHeightOfLineImpl(n),n),s+=this.getHeightOfLine(n);t.restore()}_renderTextFill(t){(this.fill||this.styleHas(K))&&this._renderTextCommon(t,\"fillText\")}_renderTextStroke(t){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this._setLineDash(t,this.strokeDashArray),t.beginPath(),this._renderTextCommon(t,\"strokeText\"),t.closePath(),t.restore())}_renderChars(t,e,s,i,r,n){const o=this.textAlign.includes(Je),a=this.path,h=!o&&0===this.charSpacing&&this.isEmptyStyles(n)&&!a,c=\"ltr\"===this.direction,l=\"ltr\"===this.direction?1:-1,u=e.direction;let d,g,f,p,m,v=\"\",y=0;if(e.save(),u!==this.direction&&(e.canvas.setAttribute(\"dir\",c?\"ltr\":\"rtl\"),e.direction=c?\"ltr\":\"rtl\",e.textAlign=c?M:A),r-=this.getHeightOfLineImpl(n)*this._fontSizeFraction,h)return this._renderChar(t,e,n,0,s.join(\"\"),i,r),void e.restore();for(let h=0,c=s.length-1;h<=c;h++)p=h===c||this.charSpacing||a,v+=s[h],f=this.__charBounds[n][h],0===y?(i+=l*(f.kernedWidth-f.width),y+=f.width):y+=f.kernedWidth,o&&!p&&this._reSpaceAndTab.test(s[h])&&(p=!0),p||(d=d||this.getCompleteStyleDeclaration(n,h),g=this.getCompleteStyleDeclaration(n,h+1),p=Ki(d,g,!1)),p&&(a?(e.save(),e.translate(f.renderLeft,f.renderTop),e.rotate(f.angle),this._renderChar(t,e,n,h,v,-y/2,0),e.restore()):(m=i,this._renderChar(t,e,n,h,v,m,r)),v=\"\",d=g,i+=l*y,y=0);e.restore()}_applyPatternGradientTransformText(t){const e=this.width+this.strokeWidth,s=this.height+this.strokeWidth,i=vt({width:e,height:s}),r=i.getContext(\"2d\");return i.width=e,i.height=s,r.beginPath(),r.moveTo(0,0),r.lineTo(e,0),r.lineTo(e,s),r.lineTo(0,s),r.closePath(),r.translate(e/2,s/2),r.fillStyle=t.toLive(r),this._applyPatternGradientTransform(r,t),r.fill(),r.createPattern(i,\"no-repeat\")}handleFiller(t,e,s){let i,r;return Gt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?(i=-this.width/2,r=-this.height/2,t.translate(i,r),t[e]=this._applyPatternGradientTransformText(s),{offsetX:i,offsetY:r}):(t[e]=s.toLive(t),this._applyPatternGradientTransform(t,s)):(t[e]=s,{offsetX:0,offsetY:0})}_setStrokeStyles(t,e){let{stroke:s,strokeWidth:i}=e;return t.lineWidth=i,t.lineCap=this.strokeLineCap,t.lineDashOffset=this.strokeDashOffset,t.lineJoin=this.strokeLineJoin,t.miterLimit=this.strokeMiterLimit,this.handleFiller(t,\"strokeStyle\",s)}_setFillStyles(t,e){let{fill:s}=e;return this.handleFiller(t,\"fillStyle\",s)}_renderChar(t,e,s,i,r,n,o){const a=this._getStyleDeclaration(s,i),h=this.getCompleteStyleDeclaration(s,i),c=\"fillText\"===t&&h.fill,l=\"strokeText\"===t&&h.stroke&&h.strokeWidth;if(l||c){if(e.save(),e.font=this._getFontDeclaration(h),a.textBackgroundColor&&this._removeShadow(e),a.deltaY&&(o+=a.deltaY),c){const t=this._setFillStyles(e,h);e.fillText(r,n-t.offsetX,o-t.offsetY)}if(l){const t=this._setStrokeStyles(e,h);e.strokeText(r,n-t.offsetX,o-t.offsetY)}e.restore()}}setSuperscript(t,e){this._setScript(t,e,this.superscript)}setSubscript(t,e){this._setScript(t,e,this.subscript)}_setScript(t,e,s){const i=this.get2DCursorLocation(t,!0),r=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"fontSize\"),n=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"deltaY\"),o={fontSize:r*s.size,deltaY:n+r*s.baseline};this.setSelectionStyles(o,t,e)}_getLineLeftOffset(t){const e=this.getLineWidth(t),s=this.width-e,i=this.textAlign,r=this.direction,n=this.isEndOfWrapping(t);let o=0;return i===Je||i===$e&&!n||i===Ze&&!n||i===Qe&&!n?0:(i===D&&(o=s/2),i===A&&(o=s),i===$e&&(o=s/2),i===Ze&&(o=s),\"rtl\"===r&&(i===A||i===Je||i===Ze?o=0:i===M||i===Qe?o=-s:i!==D&&i!==$e||(o=-s/2)),o)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(t){if(void 0!==this.__lineWidths[t])return this.__lineWidths[t];const{width:e}=this.measureLine(t);return this.__lineWidths[t]=e,e}_getWidthOfCharSpacing(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(t,e,s){var i;return null!==(i=this._getStyleDeclaration(t,e)[s])&&void 0!==i?i:this[s]}_renderTextDecoration(t,e){if(!this[e]&&!this.styleHas(e))return;let s=this._getTopOffset();const i=this._getLeftOffset(),r=this.path,n=this._getWidthOfCharSpacing(),o=\"linethrough\"===e?.5:\"overline\"===e?1:0,a=this.offsets[e];for(let h=0,c=this._textLines.length;h<c;h++){const c=this.getHeightOfLine(h);if(!this[e]&&!this.styleHas(e,h)){s+=c;continue}const l=this._textLines[h],u=c/this.lineHeight,d=this._getLineLeftOffset(h);let g=0,f=0,p=this.getValueOfPropertyAt(h,0,e),m=this.getValueOfPropertyAt(h,0,K),v=this.getValueOfPropertyAt(h,0,ze),y=p,_=m,x=v;const C=s+u*(1-this._fontSizeFraction);let b=this.getHeightOfChar(h,0),S=this.getValueOfPropertyAt(h,0,\"deltaY\");for(let s=0,n=l.length;s<n;s++){const n=this.__charBounds[h][s];y=this.getValueOfPropertyAt(h,s,e),_=this.getValueOfPropertyAt(h,s,K),x=this.getValueOfPropertyAt(h,s,ze);const c=this.getHeightOfChar(h,s),l=this.getValueOfPropertyAt(h,s,\"deltaY\");if(r&&y&&_){const e=this.fontSize*x/1e3;t.save(),t.fillStyle=m,t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillRect(-n.kernedWidth/2,a*c+l-o*e,n.kernedWidth,e),t.restore()}else if((y!==p||_!==m||c!==b||x!==v||l!==S)&&f>0){const e=this.fontSize*v/1e3;let s=i+d+g;\"rtl\"===this.direction&&(s=this.width-s-f),p&&m&&v&&(t.fillStyle=m,t.fillRect(s,C+a*b+S-o*e,f,e)),g=n.left,f=n.width,p=y,v=x,m=_,b=c,S=l}else f+=n.kernedWidth}let w=i+d+g;\"rtl\"===this.direction&&(w=this.width-w-f),t.fillStyle=_;const T=this.fontSize*x/1e3;y&&_&&x&&t.fillRect(w,C+a*b+S-o*T,f-n,T),s+=c}this._removeShadow(t)}_getFontDeclaration(){let{fontFamily:t=this.fontFamily,fontStyle:e=this.fontStyle,fontWeight:s=this.fontWeight,fontSize:i=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;const n=t.includes(\"'\")||t.includes('\"')||t.includes(\",\")||Ao.genericFonts.includes(t.toLowerCase())?t:'\"'.concat(t,'\"');return[e,s,\"\".concat(r?this.CACHE_FONT_SIZE:i,\"px\"),n].join(\" \")}render(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(t)))}graphemeSplit(t){return Hi(t)}_splitTextIntoLines(t){const e=t.split(this._reNewline),s=new Array(e.length),i=[\"\\n\"];let r=[];for(let t=0;t<e.length;t++)s[t]=this.graphemeSplit(e[t]),r=r.concat(s[t],i);return r.pop(),{_unwrappedLines:s,lines:e,graphemeText:r,graphemeLines:s}}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return s(s({},super.toObject([...Ue,...t])),{},{styles:Ji(this.styles,this.text)},this.path?{path:this.path.toObject()}:{})}set(t,e){const{textLayoutProperties:s}=this.constructor;super.set(t,e);let i=!1,r=!1;if(\"object\"==typeof t)for(const e in t)\"path\"===e&&this.setPathInfo(),i=i||s.includes(e),r=r||\"path\"===e;else i=s.includes(t),r=\"path\"===t;return r&&this.setPathInfo(),i&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(t,e,r){const n=Pr(t,Ao.ATTRIBUTE_NAMES,r),o=s(s({},e),n),{textAnchor:a=M,textDecoration:h=\"\",dx:c=0,dy:l=0,top:u=0,left:d=0,fontSize:g=O,strokeWidth:f=1}=o,p=i(o,Po),m=new this(Pe(t.textContent||\"\").trim(),s({left:d+c,top:u+l,underline:h.includes(\"underline\"),overline:h.includes(\"overline\"),linethrough:h.includes(\"line-through\"),strokeWidth:0,fontSize:g},p)),v=m.getScaledHeight()/m.height,y=((m.height+m.strokeWidth)*m.lineHeight-m.height)*v,_=m.getScaledHeight()+y;let x=0;return a===D&&(x=m.getScaledWidth()/2),a===A&&(x=m.getScaledWidth()),m.set({left:m.left-x,top:m.top-(_-m.fontSize*(.07+m._fontSizeFraction))/m.lineHeight,strokeWidth:f}),m}static fromObject(t){return this._fromObject(s(s({},t),{},{styles:Qi(t.styles||{},t.text)}),{extraParam:\"text\"})}}t(Ao,\"textLayoutProperties\",Ne),t(Ao,\"cacheProperties\",[...Es,...Ue]),t(Ao,\"ownDefaults\",Ke),t(Ao,\"type\",\"Text\"),t(Ao,\"genericFonts\",[\"serif\",\"sans-serif\",\"monospace\",\"cursive\",\"fantasy\",\"system-ui\",\"ui-serif\",\"ui-sans-serif\",\"ui-monospace\",\"ui-rounded\",\"math\",\"emoji\",\"fangsong\"]),t(Ao,\"ATTRIBUTE_NAMES\",Zi.concat(\"x\",\"y\",\"dx\",\"dy\",\"font-family\",\"font-style\",\"font-weight\",\"font-size\",\"letter-spacing\",\"text-decoration\",\"text-anchor\")),Fi(Ao,[class extends We{_toSVG(){const t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(t){const e=this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0}),s=this.path;return s?e+s._createBaseSVGMarkup(s._toSVG(),{reviver:t,withShadow:!0,additionalTransform:zt(this.calcOwnMatrix())}):e}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(t){let{textBgRects:e,textSpans:s}=t;const i=this.getSvgTextDecoration(this);return[e.join(\"\"),'\\t\\t<text xml:space=\"preserve\" ','font-family=\"'.concat(this.fontFamily.replace(Do,\"'\"),'\" '),'font-size=\"'.concat(this.fontSize,'\" '),this.fontStyle?'font-style=\"'.concat(this.fontStyle,'\" '):\"\",this.fontWeight?'font-weight=\"'.concat(this.fontWeight,'\" '):\"\",i?'text-decoration=\"'.concat(i,'\" '):\"\",\"rtl\"===this.direction?'direction=\"'.concat(this.direction,'\" '):\"\",'style=\"',this.getSvgStyles(!0),'\"',this.addPaintOrder(),\" >\",s.join(\"\"),\"</text>\\n\"]}_getSVGTextAndBg(t,e){const s=[],i=[];let r,n=t;this.backgroundColor&&i.push(...Mo(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let t=0,o=this._textLines.length;t<o;t++)r=this._getLineLeftOffset(t),\"rtl\"===this.direction&&(r+=this.width),(this.textBackgroundColor||this.styleHas(\"textBackgroundColor\",t))&&this._setSVGTextLineBg(i,t,e+r,n),this._setSVGTextLineText(s,t,e+r,n),n+=this.getHeightOfLine(t);return{textSpans:s,textBgRects:i}}_createTextCharSpan(t,e,s,i,r){const n=o.NUM_FRACTION_DIGITS,a=this.getSvgSpanStyles(e,t!==t.trim()||!!t.match(ko)),h=a?'style=\"'.concat(a,'\"'):\"\",c=e.deltaY,l=c?' dy=\"'.concat(Vt(c,n),'\" '):\"\",{angle:u,renderLeft:d,renderTop:g,width:f}=r;let p=\"\";if(void 0!==d){const t=f/2;u&&(p=' rotate=\"'.concat(Vt(Ct(u),n),'\"'));const e=Pt({angle:Ct(u)});e[4]=d,e[5]=g;const r=new ot(-t,0).transform(e);s=r.x,i=r.y}return'<tspan x=\"'.concat(Vt(s,n),'\" y=\"').concat(Vt(i,n),'\" ').concat(l).concat(p).concat(h,\">\").concat(zi(t),\"</tspan>\")}_setSVGTextLineText(t,e,s,i){const r=this.getHeightOfLine(e),n=this.textAlign.includes(Je),o=this._textLines[e];let a,h,c,l,u,d=\"\",g=0;i+=r*(1-this._fontSizeFraction)/this.lineHeight;for(let r=0,f=o.length-1;r<=f;r++)u=r===f||this.charSpacing||this.path,d+=o[r],c=this.__charBounds[e][r],0===g?(s+=c.kernedWidth-c.width,g+=c.width):g+=c.kernedWidth,n&&!u&&this._reSpaceAndTab.test(o[r])&&(u=!0),u||(a=a||this.getCompleteStyleDeclaration(e,r),h=this.getCompleteStyleDeclaration(e,r+1),u=Ki(a,h,!0)),u&&(l=this._getStyleDeclaration(e,r),t.push(this._createTextCharSpan(d,l,s,i,c)),d=\"\",a=h,\"rtl\"===this.direction?s-=g:s+=g,g=0)}_setSVGTextLineBg(t,e,s,i){const r=this._textLines[e],n=this.getHeightOfLine(e)/this.lineHeight;let o,a=0,h=0,c=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let l=0;l<r.length;l++){const{left:r,width:u,kernedWidth:d}=this.__charBounds[e][l];o=this.getValueOfPropertyAt(e,l,\"textBackgroundColor\"),o!==c?(c&&t.push(...Mo(c,s+h,i,a,n)),h=r,a=u,c=o):a+=d}o&&t.push(...Mo(c,s+h,i,a,n))}_getSVGLineTopOffset(t){let e,s=0;for(e=0;e<t;e++)s+=this.getHeightOfLine(e);const i=this.getHeightOfLine(e);return{lineTop:s,offset:(this._fontSizeMult-this._fontSizeFraction)*i/(this.lineHeight*this._fontSizeMult)}}getSvgStyles(t){return\"\".concat(super.getSvgStyles(t),\" text-decoration-thickness: \").concat(Vt(this.textDecorationThickness*this.getObjectScaling().y/10,o.NUM_FRACTION_DIGITS),\"%; white-space: pre;\")}getSvgSpanStyles(t,e){const{fontFamily:s,strokeWidth:i,stroke:r,fill:n,fontSize:a,fontStyle:h,fontWeight:c,deltaY:l,textDecorationThickness:u,linethrough:d,overline:g,underline:f}=t,p=this.getSvgTextDecoration({underline:null!=f?f:this.underline,overline:null!=g?g:this.overline,linethrough:null!=d?d:this.linethrough}),m=u||this.textDecorationThickness;return[r?Ye(J,r):\"\",i?\"stroke-width: \".concat(i,\"; \"):\"\",s?\"font-family: \".concat(s.includes(\"'\")||s.includes('\"')?s:\"'\".concat(s,\"'\"),\"; \"):\"\",a?\"font-size: \".concat(a,\"px; \"):\"\",h?\"font-style: \".concat(h,\"; \"):\"\",c?\"font-weight: \".concat(c,\"; \"):\"\",p?\"text-decoration: \".concat(p,\"; text-decoration-thickness: \").concat(Vt(m*this.getObjectScaling().y/10,o.NUM_FRACTION_DIGITS),\"%; \"):\"\",n?Ye(K,n):\"\",l?\"baseline-shift: \".concat(-l,\"; \"):\"\",e?\"white-space: pre; \":\"\"].join(\"\")}getSvgTextDecoration(t){return[\"overline\",\"underline\",\"line-through\"].filter((e=>t[e.replace(\"-\",\"\")])).join(\" \")}}]),tt.setClass(Ao),tt.setSVGClass(Ao);class jo{constructor(e){t(this,\"target\",void 0),t(this,\"__mouseDownInPlace\",!1),t(this,\"__dragStartFired\",!1),t(this,\"__isDraggingOver\",!1),t(this,\"__dragStartSelection\",void 0),t(this,\"__dragImageDisposer\",void 0),t(this,\"_dispose\",void 0),this.target=e;const s=[this.target.on(\"dragenter\",this.dragEnterHandler.bind(this)),this.target.on(\"dragover\",this.dragOverHandler.bind(this)),this.target.on(\"dragleave\",this.dragLeaveHandler.bind(this)),this.target.on(\"dragend\",this.dragEndHandler.bind(this)),this.target.on(\"drop\",this.dropHandler.bind(this))];this._dispose=()=>{s.forEach((t=>t())),this._dispose=void 0}}isPointerOverSelection(t){const e=this.target,s=e.getSelectionStartFromPointer(t);return e.isEditing&&s>=e.selectionStart&&s<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(t){return this.__mouseDownInPlace=this.isPointerOverSelection(t)}isActive(){return this.__mouseDownInPlace}end(t){const e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(t),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(t,e){var s;let{selectionStart:i,selectionEnd:r}=e;const n=this.target,o=n.canvas,a=new ot(n.flipX?-1:1,n.flipY?-1:1),h=n._getCursorBoundaries(i),c=new ot(h.left+h.leftOffset,h.top+h.topOffset).multiply(a).transform(n.calcTransformMatrix()),l=o.getScenePoint(t).subtract(c),u=n.getCanvasRetinaScaling(),d=n.getBoundingRect(),g=c.subtract(new ot(d.left,d.top)),f=o.viewportTransform,p=g.add(l).transform(f,!0),m=n.backgroundColor,v=Vi(n.styles);n.backgroundColor=\"\";const y={stroke:\"transparent\",fill:\"transparent\",textBackgroundColor:\"transparent\"};n.setSelectionStyles(y,0,i),n.setSelectionStyles(y,r,n.text.length),n.dirty=!0;const _=n.toCanvasElement({enableRetinaScaling:o.enableRetinaScaling,viewportTransform:!0});n.backgroundColor=m,n.styles=v,n.dirty=!0,Tn(_,{position:\"fixed\",left:\"\".concat(-_.width,\"px\"),border:j,width:\"\".concat(_.width/u,\"px\"),height:\"\".concat(_.height/u,\"px\")}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{_.remove()},Kt(t.target||this.target.hiddenTextarea).body.appendChild(_),null===(s=t.dataTransfer)||void 0===s||s.setDragImage(_,p.x,p.y)}onDragStart(t){this.__dragStartFired=!0;const e=this.target,i=this.isActive();if(i&&t.dataTransfer){const i=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},r=e._text.slice(i.selectionStart,i.selectionEnd).join(\"\"),n=s({text:e.text,value:r},i);t.dataTransfer.setData(\"text/plain\",r),t.dataTransfer.setData(\"application/fabric\",JSON.stringify({value:r,styles:e.getSelectionStyles(i.selectionStart,i.selectionEnd,!0)})),t.dataTransfer.effectAllowed=\"copyMove\",this.setDragImage(t,n)}return e.abortCursorAnimation(),i}canDrop(t){if(this.target.editable&&!this.target.getActiveControl()&&!t.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){const e=this.target.getSelectionStartFromPointer(t),s=this.__dragStartSelection;return e<s.selectionStart||e>s.selectionEnd}return!0}return!1}targetCanDrop(t){return this.target.canDrop(t)}dragEnterHandler(t){let{e:e}=t;const s=this.targetCanDrop(e);!this.__isDraggingOver&&s&&(this.__isDraggingOver=!0)}dragOverHandler(t){const{e:e}=t,s=this.targetCanDrop(e);!this.__isDraggingOver&&s?this.__isDraggingOver=!0:this.__isDraggingOver&&!s&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),t.canDrop=!0,t.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(t){var e;const{e:s}=t,i=s.defaultPrevented;this.__isDraggingOver=!1,s.preventDefault();let r=null===(e=s.dataTransfer)||void 0===e?void 0:e.getData(\"text/plain\");if(r&&!i){const e=this.target,i=e.canvas;let n=e.getSelectionStartFromPointer(s);const{styles:o}=s.dataTransfer.types.includes(\"application/fabric\")?JSON.parse(s.dataTransfer.getData(\"application/fabric\")):{},a=r[Math.max(0,r.length-1)],h=0;if(this.__dragStartSelection){const t=this.__dragStartSelection.selectionStart,s=this.__dragStartSelection.selectionEnd;n>t&&n<=s?n=t:n>s&&(n-=s-t),e.removeChars(t,s),delete this.__dragStartSelection}e._reNewline.test(a)&&(e._reNewline.test(e._text[n])||n===e._text.length)&&(r=r.trimEnd()),t.didDrop=!0,t.dropTarget=e,e.insertChars(r,o,n),i.setActiveObject(e),e.enterEditing(s),e.selectionStart=Math.min(n+h,e._text.length),e.selectionEnd=Math.min(e.selectionStart+r.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(z,{index:n+h,action:\"drop\"}),i.fire(\"text:changed\",{target:e}),i.contextTopDirty=!0,i.requestRenderAll()}}dragEndHandler(t){let{e:e}=t;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var s;const t=this.target,i=this.target.canvas,{selectionStart:r,selectionEnd:n}=this.__dragStartSelection,o=(null===(s=e.dataTransfer)||void 0===s?void 0:s.dropEffect)||j;o===j?(t.selectionStart=r,t.selectionEnd=n,t._updateTextarea(),t.hiddenTextarea.focus()):(t.clearContextTop(),\"move\"===o&&(t.removeChars(r,n),t.selectionStart=t.selectionEnd=r,t.hiddenTextarea&&(t.hiddenTextarea.value=t.text),t._updateTextarea(),t.fire(z,{index:r,action:\"dragend\"}),i.fire(\"text:changed\",{target:t}),i.requestRenderAll()),t.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}}const Fo=/[ \\n\\.,;!\\?\\-]/;class Lo extends Ao{constructor(){super(...arguments),t(this,\"_currentCursorOpacity\",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(t){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(t)}_animateCursor(t){let{toValue:e,duration:s,delay:i,onComplete:r}=t;return Ks({startValue:this._currentCursorOpacity,endValue:e,duration:s,delay:i,onComplete:r,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:t=>{this._currentCursorOpacity=t,this.renderCursorOrSelection()}})}_tick(t){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(t||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var t;null===(t=this._currentTickCompleteState)||void 0===t||t.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(t){this.abortCursorAnimation(),this._tick(t?0:this.cursorDelay)}abortCursorAnimation(){let t=!1;[this._currentTickState,this._currentTickCompleteState].forEach((e=>{e&&!e.isDone()&&(t=!0,e.abort())})),this._currentCursorOpacity=1,t&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some((t=>!t||t.isDone()))&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}cmdAll(){this.selectAll(),this.renderCursorOrSelection()}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join(\"\")}findWordBoundaryLeft(t){let e=0,s=t-1;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s--;for(;/\\S/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findWordBoundaryRight(t){let e=0,s=t;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s++;for(;/\\S/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}findLineBoundaryLeft(t){let e=0,s=t-1;for(;!/\\n/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findLineBoundaryRight(t){let e=0,s=t;for(;!/\\n/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}searchWordBoundary(t,e){const s=this._text;let i=t>0&&this._reSpace.test(s[t])&&(-1===e||!F.test(s[t-1]))?t-1:t,r=s[i];for(;i>0&&i<s.length&&!Fo.test(r);)i+=e,r=s[i];return-1===e&&Fo.test(r)&&i++,i}selectWord(t){var e;t=null!==(e=t)&&void 0!==e?e:this.selectionStart;const s=this.searchWordBoundary(t,-1),i=Math.max(s,this.searchWordBoundary(t,1));this.selectionStart=s,this.selectionEnd=i,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(t){var e;t=null!==(e=t)&&void 0!==e?e:this.selectionStart;const s=this.findLineBoundaryLeft(t),i=this.findLineBoundaryRight(t);this.selectionStart=s,this.selectionEnd=i,this._fireSelectionChanged(),this._updateTextarea()}enterEditing(t){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire(\"editing:entered\",t?{e:t}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire(\"text:editing:entered\",{target:this,e:t}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(t){if(this.getActiveControl())return;const e=this.hiddenTextarea;Kt(e).activeElement!==e&&e.focus();const s=this.getSelectionStartFromPointer(t),i=this.selectionStart,r=this.selectionEnd;(s===this.__selectionStartOnMouseDown&&i!==r||i!==s&&r!==s)&&(s>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=s):(this.selectionStart=s,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===r||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor=\"text\",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor=\"text\"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(t,e,s){const i=s.slice(0,t),r=this.graphemeSplit(i).length;if(t===e)return{selectionStart:r,selectionEnd:r};const n=s.slice(t,e);return{selectionStart:r,selectionEnd:r+this.graphemeSplit(n).length}}fromGraphemeToStringSelection(t,e,s){const i=s.slice(0,t).join(\"\").length;if(t===e)return{selectionStart:i,selectionEnd:i};return{selectionStart:i,selectionEnd:i+s.slice(t,e).join(\"\").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){const t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){if(!this.hiddenTextarea)return;this.cursorOffsetCache={};const t=this.hiddenTextarea;this.text=t.value,this.set(\"dirty\",!0),this.initDimensions(),this.setCoords();const e=this.fromStringToGraphemeSelection(t.selectionStart,t.selectionEnd,t.value);this.selectionEnd=this.selectionStart=e.selectionEnd,this.inCompositionMode||(this.selectionStart=e.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){const t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}}_calcTextareaPosition(){if(!this.canvas)return{left:\"1px\",top:\"1px\"};const t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex,n=this.getValueOfPropertyAt(i,r,\"fontSize\")*this.lineHeight,o=e.leftOffset,a=this.getCanvasRetinaScaling(),h=this.canvas.upperCanvasEl,c=h.width/a,l=h.height/a,u=c-n,d=l-n,g=new ot(e.left+o,e.top+e.topOffset+n).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new ot(h.clientWidth/c,h.clientHeight/l));return g.x<0&&(g.x=0),g.x>u&&(g.x=u),g.y<0&&(g.y=0),g.y>d&&(g.y=d),g.x+=this.canvas._offset.left,g.y+=this.canvas._offset.top,{left:\"\".concat(g.x,\"px\"),top:\"\".concat(g.y,\"px\"),fontSize:\"\".concat(n,\"px\"),charHeight:n}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}_exitEditing(){const t=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,t&&(t.blur&&t.blur(),t.parentNode&&t.parentNode.removeChild(t)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop()}exitEditingImpl(){this._exitEditing(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){const t=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire(\"editing:exited\"),t&&this.fire(Q),this.canvas&&(this.canvas.fire(\"text:editing:exited\",{target:this}),t&&this.canvas.fire(\"object:modified\",{target:this})),this}_removeExtraneousStyles(){for(const t in this.styles)this._textLines[t]||delete this.styles[t]}removeStyleFromTo(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t,!0),{lineIndex:r,charIndex:n}=this.get2DCursorLocation(e,!0);if(s!==r){if(this.styles[s])for(let t=i;t<this._unwrappedTextLines[s].length;t++)delete this.styles[s][t];if(this.styles[r])for(let t=n;t<this._unwrappedTextLines[r].length;t++){const e=this.styles[r][t];e&&(this.styles[s]||(this.styles[s]={}),this.styles[s][i+t-n]=e)}for(let t=s+1;t<=r;t++)delete this.styles[t];this.shiftLineStyles(r,s-r)}else if(this.styles[s]){const t=this.styles[s],e=n-i;for(let e=i;e<n;e++)delete t[e];for(const i in this.styles[s]){const s=parseInt(i,10);s>=n&&(t[s-e]=t[i],delete t[i])}}}shiftLineStyles(t,e){const s=Object.assign({},this.styles);for(const i in this.styles){const r=parseInt(i,10);r>t&&(this.styles[r+e]=s[r],s[r-e]||delete this.styles[r])}}insertNewlineStyleObject(t,e,i,r){const n={},o=this._unwrappedTextLines[t].length,a=o===e;let h=!1;i||(i=1),this.shiftLineStyles(t,i);const c=this.styles[t]?this.styles[t][0===e?e:e-1]:void 0;for(const s in this.styles[t]){const i=parseInt(s,10);i>=e&&(h=!0,n[i-e]=this.styles[t][s],a&&0===e||delete this.styles[t][s])}let l=!1;for(h&&!a&&(this.styles[t+i]=n,l=!0),(l||o>e)&&i--;i>0;)r&&r[i-1]?this.styles[t+i]={0:s({},r[i-1])}:c?this.styles[t+i]={0:s({},c)}:delete this.styles[t+i],i--;this._forceClearCache=!0}insertCharStyleObject(t,e,i,r){this.styles||(this.styles={});const n=this.styles[t],o=n?s({},n):{};i||(i=1);for(const t in o){const s=parseInt(t,10);s>=e&&(n[s+i]=o[s],o[s-i]||delete n[s])}if(this._forceClearCache=!0,r){for(;i--;)Object.keys(r[i]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+i]=s({},r[i]));return}if(!n)return;const a=n[e?e-1:1];for(;a&&i--;)this.styles[t][e+i]=s({},a)}insertNewStyleBlock(t,e,s){const i=this.get2DCursorLocation(e,!0),r=[0];let n,o=0;for(let e=0;e<t.length;e++)\"\\n\"===t[e]?(o++,r[o]=0):r[o]++;for(r[0]>0&&(this.insertCharStyleObject(i.lineIndex,i.charIndex,r[0],s),s=s&&s.slice(r[0]+1)),o&&this.insertNewlineStyleObject(i.lineIndex,i.charIndex+r[0],o),n=1;n<o;n++)r[n]>0?this.insertCharStyleObject(i.lineIndex+n,0,r[n],s):s&&this.styles[i.lineIndex+n]&&s[0]&&(this.styles[i.lineIndex+n][0]=s[0]),s=s&&s.slice(r[n]+1);r[n]>0&&this.insertCharStyleObject(i.lineIndex+n,0,r[n],s)}removeChars(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+1;this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;i>s&&this.removeStyleFromTo(s,i);const r=this.graphemeSplit(t);this.insertNewStyleBlock(r,s,e),this._text=[...this._text.slice(0,s),...r,...this._text.slice(i)],this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(t,e,s){s<=t?(e===t?this._selectionDirection=M:this._selectionDirection===A&&(this._selectionDirection=M,this.selectionEnd=t),this.selectionStart=s):s>t&&s<e?this._selectionDirection===A?this.selectionEnd=s:this.selectionStart=s:(e===t?this._selectionDirection=A:this._selectionDirection===M&&(this._selectionDirection=A,this.selectionStart=e),this.selectionEnd=s)}}class Ro extends Lo{initHiddenTextarea(){const t=this.canvas&&Kt(this.canvas.getElement())||m(),e=t.createElement(\"textarea\");Object.entries({autocapitalize:\"off\",autocorrect:\"off\",autocomplete:\"off\",spellcheck:\"false\",\"data-fabric\":\"textarea\",wrap:\"off\",name:\"fabricTextarea\"}).map((t=>{let[s,i]=t;return e.setAttribute(s,i)}));const{top:s,left:i,fontSize:r}=this._calcTextareaPosition();e.style.cssText=\"position: absolute; top: \".concat(s,\"; left: \").concat(i,\"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: \").concat(r,\";\"),(this.hiddenTextareaContainer||t.body).appendChild(e),Object.entries({blur:\"blur\",keydown:\"onKeyDown\",keyup:\"onKeyUp\",input:\"onInput\",copy:\"copy\",cut:\"copy\",paste:\"paste\",compositionstart:\"onCompositionStart\",compositionupdate:\"onCompositionUpdate\",compositionend:\"onCompositionEnd\"}).map((t=>{let[s,i]=t;return e.addEventListener(s,this[i].bind(this))})),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(t){if(!this.isEditing)return;const e=\"rtl\"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(t){const e=this.fromPaste,{value:s,selectionStart:i,selectionEnd:r}=this.hiddenTextarea;if(this.fromPaste=!1,t&&t.stopPropagation(),!this.isEditing)return;const n=()=>{this.updateFromTextArea(),this.fire(z),this.canvas&&(this.canvas.fire(\"text:changed\",{target:this}),this.canvas.requestRenderAll())};if(\"\"===this.hiddenTextarea.value)return this.styles={},void n();const a=this._splitTextIntoLines(s).graphemeText,h=this._text.length,c=a.length,l=this.selectionStart,u=this.selectionEnd,d=l!==u;let g,f,m,v,y=c-h;const _=this.fromStringToGraphemeSelection(i,r,s),x=l>_.selectionStart;d?(f=this._text.slice(l,u),y+=u-l):c<h&&(f=x?this._text.slice(u+y,u):this._text.slice(l,l-y));const C=a.slice(_.selectionEnd-y,_.selectionEnd);if(f&&f.length&&(C.length&&(g=this.getSelectionStyles(l,l+1,!1),g=C.map((()=>g[0]))),d?(m=l,v=u):x?(m=u-f.length,v=u):(m=u,v=u+f.length),this.removeStyleFromTo(m,v)),C.length){const{copyPasteData:t}=p();e&&C.join(\"\")===t.copiedText&&!o.disableStyleCopyPaste&&(g=t.copiedTextStyle),this.insertNewStyleBlock(C,l,g)}n()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(t){let{target:e}=t;const{selectionStart:s,selectionEnd:i}=e;this.compositionStart=s,this.compositionEnd=i,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;const{copyPasteData:t}=p();t.copiedText=this.getSelectedText(),o.disableStyleCopyPaste?t.copiedTextStyle=void 0:t.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(t,e){let s,i=this._getLineLeftOffset(t);return e>0&&(s=this.__charBounds[t][e-1],i+=s.left+s.width),i}getDownCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(n).length+a+1+this.missingNewlineOffset(r)}_getSelectionForOffset(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r-1,o),h=this._textLines[r].slice(0,n),c=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-h.length+(1-c)}_getIndexOnLine(t,e){const s=this._textLines[t];let i,r,n=this._getLineLeftOffset(t),o=0;for(let a=0,h=s.length;a<h;a++)if(i=this.__charBounds[t][a].width,n+=i,n>e){r=!0;const t=n-i,s=n,h=Math.abs(t-e);o=Math.abs(s-e)<h?a:a-1;break}return r||(o=s.length-1),o}moveCursorDown(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown(\"Down\",t)}moveCursorUp(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown(\"Up\",t)}_moveCursorUpOrDown(t,e){const s=this[\"get\".concat(t,\"CursorOffset\")](e,this._selectionDirection===A);if(e.shiftKey?this.moveCursorWithShift(s):this.moveCursorWithoutShift(s),0!==s){const t=this.text.length;this.selectionStart=Ms(0,this.selectionStart,t),this.selectionEnd=Ms(0,this.selectionEnd,t),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(t){const e=this._selectionDirection===M?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t}moveCursorWithoutShift(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t}moveCursorLeft(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight(\"Left\",t)}_move(t,e,s){let i;if(t.altKey)i=this[\"findWordBoundary\".concat(s)](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+=\"Left\"===s?-1:1,!0;i=this[\"findLineBoundary\".concat(s)](this[e])}return void 0!==i&&this[e]!==i&&(this[e]=i,!0)}_moveLeft(t,e){return this._move(t,e,\"Left\")}_moveRight(t,e){return this._move(t,e,\"Right\")}moveCursorLeftWithoutShift(t){let e=!0;return this._selectionDirection=M,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,\"selectionStart\")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(t){return this._selectionDirection===A&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,\"selectionEnd\"):0!==this.selectionStart?(this._selectionDirection=M,this._moveLeft(t,\"selectionStart\")):void 0}moveCursorRight(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight(\"Right\",t)}_moveCursorLeftOrRight(t,e){const s=\"moveCursor\".concat(t).concat(e.shiftKey?\"WithShift\":\"WithoutShift\");this._currentCursorOpacity=1,this[s](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(t){return this._selectionDirection===M&&this.selectionStart!==this.selectionEnd?this._moveRight(t,\"selectionStart\"):this.selectionEnd!==this._text.length?(this._selectionDirection=A,this._moveRight(t,\"selectionEnd\")):void 0}moveCursorRightWithoutShift(t){let e=!0;return this._selectionDirection=A,this.selectionStart===this.selectionEnd?(e=this._moveRight(t,\"selectionStart\"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}}const Io=t=>!!t.button;class Bo extends Ro{constructor(){super(...arguments),t(this,\"draggableTextDelegate\",void 0)}initBehavior(){this.on(\"mousedown\",this._mouseDownHandler),this.on(\"mouseup\",this.mouseUpHandler),this.on(\"mousedblclick\",this.doubleClickHandler),this.on(\"mousetripleclick\",this.tripleClickHandler),this.draggableTextDelegate=new jo(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(t){return this.draggableTextDelegate.onDragStart(t)}canDrop(t){return this.draggableTextDelegate.canDrop(t)}doubleClickHandler(t){this.isEditing&&(this.selectWord(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}tripleClickHandler(t){this.isEditing&&(this.selectLine(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}_mouseDownHandler(t){let{e:e,alreadySelected:s}=t;this.canvas&&this.editable&&!Io(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),s&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()),this.selected||(this.selected=s||this.isEditing)))}mouseUpHandler(t){let{e:e,transform:s}=t;const i=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);const t=this.canvas._activeObject;if(t&&t!==this)return}!this.editable||this.group&&!this.group.interactive||s&&s.actionPerformed||Io(e)||i||this.selected&&!this.getActiveControl()&&(this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection())}setCursorByClick(t){const e=this.getSelectionStartFromPointer(t),s=this.selectionStart,i=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(s,i,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(t){const e=this.canvas.getScenePoint(t).transform(wt(this.calcTransformMatrix())).add(new ot(-this._getLeftOffset(),-this._getTopOffset()));let s=0,i=0,r=0;for(let t=0;t<this._textLines.length&&s<=e.y;t++)s+=this.getHeightOfLine(t),r=t,t>0&&(i+=this._textLines[t-1].length+this.missingNewlineOffset(t-1));let n=Math.abs(this._getLineLeftOffset(r));const o=this._textLines[r].length,a=this.__charBounds[r];for(let t=0;t<o;t++){const s=n+a[t].kernedWidth;if(e.x<=s){Math.abs(e.x-s)<=Math.abs(e.x-n)&&i++;break}n=s,i++}return Math.min(this.flipX?o-i:i,this._text.length)}}const Xo=\"moveCursorUp\",Yo=\"moveCursorDown\",Wo=\"moveCursorLeft\",Vo=\"moveCursorRight\",zo=\"exitEditing\",Go=(t,e)=>{const s=e.getRetinaScaling();t.setTransform(s,0,0,s,0,0);const i=e.viewportTransform;t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},Ho=s({selectionStart:0,selectionEnd:0,selectionColor:\"rgba(17,119,255,0.3)\",isEditing:!1,editable:!0,editingBorderColor:\"rgba(102,153,255,0.25)\",cursorWidth:2,cursorColor:\"\",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:zo,27:zo,33:Xo,34:Yo,35:Vo,36:Wo,37:Wo,38:Xo,39:Vo,40:Yo},keysMapRtl:{9:zo,27:zo,33:Xo,34:Yo,35:Wo,36:Vo,37:Vo,38:Xo,39:Wo,40:Yo},ctrlKeysMapDown:{65:\"cmdAll\"},ctrlKeysMapUp:{67:\"copy\",88:\"cut\"}},{_selectionDirection:null,_reSpace:/\\s|\\r?\\n/,inCompositionMode:!1});class No extends Bo{static getDefaults(){return s(s({},super.getDefaults()),No.ownDefaults)}get type(){const t=super.type;return\"itext\"===t?\"i-text\":t}constructor(t,e){super(t,s(s({},No.ownDefaults),e)),this.initBehavior()}_set(t,e){return this.isEditing&&this._savedProps&&t in this._savedProps?(this._savedProps[t]=e,this):(\"canvas\"===t&&(this.canvas instanceof Xn&&this.canvas.textEditingManager.remove(this),e instanceof Xn&&e.textEditingManager.add(this)),super._set(t,e))}setSelectionStart(t){t=Math.max(t,0),this._updateAndFire(\"selectionStart\",t)}setSelectionEnd(t){t=Math.min(t,this.text.length),this._updateAndFire(\"selectionEnd\",t)}_updateAndFire(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire(\"selection:changed\"),this.canvas&&this.canvas.fire(\"text:selection:changed\",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,s=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(t,e,s)}setSelectionStyles(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(t,e,s)}get2DCursorLocation(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(t,e)}render(t){super.render(t),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(t){const e=this.isEditing;this.isEditing=!1;const s=super.toCanvasElement(t);return this.isEditing=e,s}renderCursorOrSelection(){if(!this.isEditing||!this.canvas)return;const t=this.clearContextTop(!0);if(!t)return;const e=this._getCursorBoundaries(),s=this.findAncestorsWithClipPath(),i=s.length>0;let r,n=t;if(i){r=vt(t.canvas),n=r.getContext(\"2d\"),Go(n,this.canvas);const e=this.calcTransformMatrix();n.transform(e[0],e[1],e[2],e[3],e[4],e[5])}if(this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(n,e):this.renderCursor(n,e),i)for(const e of s){const s=e.clipPath,i=vt(t.canvas),r=i.getContext(\"2d\");if(Go(r,this.canvas),!s.absolutePositioned){const t=e.calcTransformMatrix();r.transform(t[0],t[1],t[2],t[3],t[4],t[5])}s.transform(r),s.drawObject(r,!0,{}),this.drawClipPathOnCache(n,s,i)}i&&(t.setTransform(1,0,0,1,0,0),t.drawImage(r,0,0)),this.canvas.contextTopDirty=!0,t.restore()}findAncestorsWithClipPath(){const t=[];let e=this;for(;e;)e.clipPath&&t.push(e),e=e.parent;return t}_getCursorBoundaries(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;const s=this._getLeftOffset(),i=this._getTopOffset(),r=this._getCursorBoundariesOffsets(t,e);return{left:s,top:i,leftOffset:r.left,topOffset:r.top}}_getCursorBoundariesOffsets(t,e){return e?this.__getCursorBoundariesOffsets(t):this.cursorOffsetCache&&\"top\"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(t)}__getCursorBoundariesOffsets(t){let e=0,s=0;const{charIndex:i,lineIndex:r}=this.get2DCursorLocation(t);for(let t=0;t<r;t++)e+=this.getHeightOfLine(t);const n=this._getLineLeftOffset(r),o=this.__charBounds[r][i];o&&(s=o.left),0!==this.charSpacing&&i===this._textLines[r].length&&(s-=this._getWidthOfCharSpacing());const a={top:e,left:n+(s>0?s:0)};return\"rtl\"===this.direction&&(this.textAlign===A||this.textAlign===Je||this.textAlign===Ze?a.left*=-1:this.textAlign===M||this.textAlign===Qe?a.left=n-(s>0?s:0):this.textAlign!==D&&this.textAlign!==$e||(a.left=n-(s>0?s:0))),a}renderCursorAt(t){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(t,!0),t)}renderCursor(t,e){this._renderCursor(t,e,this.selectionStart)}getCursorRenderingData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(t);const s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex>0?s.charIndex-1:0,n=this.getValueOfPropertyAt(i,r,\"fontSize\"),o=this.getObjectScaling().x*this.canvas.getZoom(),a=this.cursorWidth/o,h=this.getValueOfPropertyAt(i,r,\"deltaY\"),c=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(i)/this.lineHeight-n*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(i,r,\"fill\"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-a/2,top:c+e.top+h,width:a,height:n}}_renderCursor(t,e,s){const{color:i,opacity:r,left:n,top:o,width:a,height:h}=this.getCursorRenderingData(s,e);t.fillStyle=i,t.globalAlpha=r,t.fillRect(n,o,a,h)}renderSelection(t,e){const s={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(t,s,e)}renderDragSourceEffect(){const t=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,t,this._getCursorBoundaries(t.selectionStart,!0))}renderDropTargetEffect(t){const e=this.getSelectionStartFromPointer(t);this.renderCursorAt(e)}_renderSelection(t,e,s){const i=e.selectionStart,r=e.selectionEnd,n=this.textAlign.includes(Je),o=this.get2DCursorLocation(i),a=this.get2DCursorLocation(r),h=o.lineIndex,c=a.lineIndex,l=o.charIndex<0?0:o.charIndex,u=a.charIndex<0?0:a.charIndex;for(let e=h;e<=c;e++){const i=this._getLineLeftOffset(e)||0;let r=this.getHeightOfLine(e),o=0,a=0,d=0;if(e===h&&(a=this.__charBounds[h][l].left),e>=h&&e<c)d=n&&!this.isEndOfWrapping(e)?this.width:this.getLineWidth(e)||5;else if(e===c)if(0===u)d=this.__charBounds[c][u].left;else{const t=this._getWidthOfCharSpacing();d=this.__charBounds[c][u-1].left+this.__charBounds[c][u-1].width-t}o=r,(this.lineHeight<1||e===c&&this.lineHeight>1)&&(r/=this.lineHeight);let g=s.left+i+a,f=r,p=0;const m=d-a;this.inCompositionMode?(t.fillStyle=this.compositionColor||\"black\",f=1,p=r):t.fillStyle=this.selectionColor,\"rtl\"===this.direction&&(this.textAlign===A||this.textAlign===Je||this.textAlign===Ze?g=this.width-g-m:this.textAlign===M||this.textAlign===Qe?g=s.left+i-d:this.textAlign!==D&&this.textAlign!==$e||(g=s.left+i-d)),t.fillRect(g,s.top+s.topOffset+p,m,f),s.topOffset+=o}}getCurrentCharFontSize(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,\"fontSize\")}getCurrentCharColor(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,K)}_getCurrentCharIndex(){const t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}}t(No,\"ownDefaults\",Ho),t(No,\"type\",\"IText\"),tt.setClass(No),tt.setClass(No,\"i-text\");class Uo extends No{static getDefaults(){return s(s({},super.getDefaults()),Uo.ownDefaults)}constructor(t,e){super(t,s(s({},Uo.ownDefaults),e))}static createControls(){return{controls:Ai()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set(\"width\",this.dynamicMinWidth),this.textAlign.includes(Je)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(t){let e=0,s=0,i=0;const r={};for(let n=0;n<t.graphemeLines.length;n++)\"\\n\"===t.graphemeText[i]&&n>0?(s=0,i++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[i])&&n>0&&(s++,i++),r[n]={line:e,offset:s},i+=t.graphemeLines[n].length,s+=t.graphemeLines[n].length;return r}styleHas(t,e){if(this._styleMap&&!this.isWrapping){const t=this._styleMap[e];t&&(e=t.line)}return super.styleHas(t,e)}isEmptyStyles(t){if(!this.styles)return!0;let e,s=0,i=t+1,r=!1;const n=this._styleMap[t],o=this._styleMap[t+1];n&&(t=n.line,s=n.offset),o&&(i=o.line,r=i===t,e=o.offset);const a=void 0===t?this.styles:{line:this.styles[t]};for(const t in a)for(const i in a[t]){const n=parseInt(i,10);if(n>=s&&(!r||n<e))for(const e in a[t][i])return!1}return!0}_getStyleDeclaration(t,e){if(this._styleMap&&!this.isWrapping){const s=this._styleMap[t];if(!s)return{};t=s.line,e=s.offset+e}return super._getStyleDeclaration(t,e)}_setStyleDeclaration(t,e,s){const i=this._styleMap[t];super._setStyleDeclaration(i.line,i.offset+e,s)}_deleteStyleDeclaration(t,e){const s=this._styleMap[t];super._deleteStyleDeclaration(s.line,s.offset+e)}_getLineStyle(t){const e=this._styleMap[t];return!!this.styles[e.line]}_setLineStyle(t){const e=this._styleMap[t];super._setLineStyle(e.line)}_wrapText(t,e){this.isWrapping=!0;const s=this.getGraphemeDataForRender(t),i=[];for(let t=0;t<s.wordsData.length;t++)i.push(...this._wrapLine(t,e,s));return this.isWrapping=!1,i}getGraphemeDataForRender(t){const e=this.splitByGrapheme,s=e?\"\":\" \";let i=0;return{wordsData:t.map(((t,r)=>{let n=0;const o=e?this.graphemeSplit(t):this.wordSplit(t);return 0===o.length?[{word:[],width:0}]:o.map((t=>{const o=e?[t]:this.graphemeSplit(t),a=this._measureWord(o,r,n);return i=Math.max(a,i),n+=o.length+s.length,{word:o,width:a}}))})),largestWordWidth:i}}_measureWord(t,e){let s,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let n=0,o=t.length;n<o;n++){r+=this._getGraphemeBox(t[n],e,n+i,s,true).kernedWidth,s=t[n]}return r}wordSplit(t){return t.split(this._wordJoiners)}_wrapLine(t,e,s){let{largestWordWidth:i,wordsData:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,h=[],c=a?\"\":\" \";let l=0,u=[],d=0,g=0,f=!0;e-=n;const p=Math.max(e,i,this.dynamicMinWidth),m=r[t];let v;for(d=0,v=0;v<m.length;v++){const{word:e,width:s}=m[v];d+=e.length,l+=g+s-o,l>p&&!f?(h.push(u),u=[],l=s,f=!0):l+=o,f||a||u.push(c),u=u.concat(e),g=a?0:this._measureWord([c],t,d),d++,f=!1}return v&&h.push(u),i+n>this.dynamicMinWidth&&(this.dynamicMinWidth=i-o+n),h}isEndOfWrapping(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line}missingNewlineOffset(t,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(t)?1:0:1}_splitTextIntoLines(t){const e=super._splitTextIntoLines(t),s=this._wrapText(e.lines,this.width),i=new Array(s.length);for(let t=0;t<s.length;t++)i[t]=s[t].join(\"\");return e.lines=i,e.graphemeLines=s,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){const t=new Map;for(const e in this._styleMap){const s=parseInt(e,10);if(this._textLines[s]){const s=this._styleMap[e].line;t.set(\"\".concat(s),!0)}}for(const e in this.styles)t.has(e)||delete this.styles[e]}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([\"minWidth\",\"splitByGrapheme\",...t])}}t(Uo,\"type\",\"Textbox\"),t(Uo,\"textLayoutProperties\",[...No.textLayoutProperties,\"width\"]),t(Uo,\"ownDefaults\",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \\t\\r]/,splitByGrapheme:!1}),tt.setClass(Uo);class qo extends Xr{shouldPerformLayout(t){return!!t.target.clipPath&&super.shouldPerformLayout(t)}shouldLayoutClipPath(){return!1}calcLayoutResult(t,e){const{target:s}=t,{clipPath:i,group:r}=s;if(!i||!this.shouldPerformLayout(t))return;const{width:n,height:o}=he(Br(s,i)),a=new ot(n,o);if(i.absolutePositioned){return{center:me(i.getRelativeCenterPoint(),void 0,r?r.calcTransformMatrix():void 0),size:a}}{const r=i.getRelativeCenterPoint().transform(s.calcOwnMatrix(),!0);if(this.shouldPerformLayout(t)){const{center:s=new ot,correction:i=new ot}=this.calcBoundingBox(e,t)||{};return{center:s.add(r),correction:i.subtract(r),size:a}}return{center:s.getRelativeCenterPoint().add(r),size:a}}}}t(qo,\"type\",\"clip-path\"),tt.setClass(qo);class Ko extends Xr{getInitialSize(t,e){let{target:s}=t,{size:i}=e;return new ot(s.width||i.x,s.height||i.y)}}t(Ko,\"type\",\"fixed\"),tt.setClass(Ko);class Jo extends Gr{subscribeTargets(t){const e=t.target;t.targets.reduce(((t,e)=>(e.parent&&t.add(e.parent),t)),new Set).forEach((t=>{t.layoutManager.subscribeTargets({target:t,targets:[e]})}))}unsubscribeTargets(t){const e=t.target,s=e.getObjects();t.targets.reduce(((t,e)=>(e.parent&&t.add(e.parent),t)),new Set).forEach((t=>{!s.some((e=>e.parent===t))&&t.layoutManager.unsubscribeTargets({target:t,targets:[e]})}))}}class Qo extends Ur{static getDefaults(){return s(s({},super.getDefaults()),Qo.ownDefaults)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Qo.ownDefaults),this.setOptions(e);const{left:s,top:i,layoutManager:r}=e;this.groupInit(t,{left:s,top:i,layoutManager:null!=r?r:new Jo})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];\"selection-order\"===this.multiSelectionStacking?this.add(...e):e.forEach((t=>{const e=this._objects.findIndex((e=>e.isInFrontOf(t))),s=-1===e?this.size():e;this.insertAt(s,t)}))}canEnterGroup(t){return this.getObjects().some((e=>e.isDescendantOf(t)||t.isDescendantOf(e)))?(a(\"error\",\"ActiveSelection: circular object trees are not supported, this call has no effect\"),!1):super.canEnterGroup(t)}enterGroup(t,e){t.parent&&t.parent===t.group?t.parent._exitGroup(t):t.group&&t.parent!==t.group&&t.group.remove(t),this._enterGroup(t,e)}exitGroup(t,e){this._exitGroup(t,e),t.parent&&t.parent._enterGroup(t,!0)}_onAfterObjectsChange(t,e){super._onAfterObjectsChange(t,e);const s=new Set;e.forEach((t=>{const{parent:e}=t;e&&s.add(e)})),t===Rr?s.forEach((t=>{t._onAfterObjectsChange(Lr,e)})):s.forEach((t=>{t._set(\"dirty\",!0)}))}onDeselect(){return this.removeAll(),!1}toString(){return\"#<ActiveSelection: (\".concat(this.complexity(),\")>\")}shouldCache(){return!1}isOnACache(){return!1}_renderControls(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;const r=s(s({hasControls:!1},i),{},{forActiveSelection:!0});for(let e=0;e<this._objects.length;e++)this._objects[e]._renderControls(t,r);super._renderControls(t,e),t.restore()}}t(Qo,\"type\",\"ActiveSelection\"),t(Qo,\"ownDefaults\",{multiSelectionStacking:\"canvas-stacking\"}),tt.setClass(Qo),tt.setClass(Qo,\"activeSelection\");class Zo{constructor(){t(this,\"resources\",{})}applyFilters(t,e,s,i,r){const n=r.getContext(\"2d\");if(!n)return;n.drawImage(e,0,0,s,i);const o={sourceWidth:s,sourceHeight:i,imageData:n.getImageData(0,0,s,i),originalEl:e,originalImageData:n.getImageData(0,0,s,i),canvasEl:r,ctx:n,filterBackend:this};t.forEach((t=>{t.applyTo(o)}));const{imageData:a}=o;return a.width===s&&a.height===i||(r.width=a.width,r.height=a.height),n.putImageData(a,0,0),o}}class $o{constructor(){let{tileSize:e=o.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,\"aPosition\",new Float32Array([0,0,0,1,1,0,1,1])),t(this,\"resources\",{}),this.tileSize=e,this.setupGLContext(e,e),this.captureGPUInfo()}setupGLContext(t,e){this.dispose(),this.createWebGLCanvas(t,e)}createWebGLCanvas(t,e){const s=vt({width:t,height:e}),i=s.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});i&&(i.clearColor(0,0,0,0),this.canvas=s,this.gl=i)}applyFilters(t,e,s,i,r,n){const o=this.gl,a=r.getContext(\"2d\");if(!o||!a)return;let h;n&&(h=this.getCachedTexture(n,e));const c={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:s,sourceHeight:i,destinationWidth:s,destinationHeight:i,context:o,sourceTexture:this.createTexture(o,s,i,h?void 0:e),targetTexture:this.createTexture(o,s,i),originalTexture:h||this.createTexture(o,s,i,h?void 0:e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},l=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,l),t.forEach((t=>{t&&t.applyTo(c)})),function(t){const e=t.targetCanvas,s=e.width,i=e.height,r=t.destinationWidth,n=t.destinationHeight;s===r&&i===n||(e.width=r,e.height=n)}(c),this.copyGLTo2D(o,c),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(c.sourceTexture),o.deleteTexture(c.targetTexture),o.deleteFramebuffer(l),a.setTransform(1,0,0,1,0,0),c}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(t,e,s,i,r){const{NEAREST:n,TEXTURE_2D:o,RGBA:a,UNSIGNED_BYTE:h,CLAMP_TO_EDGE:c,TEXTURE_MAG_FILTER:l,TEXTURE_MIN_FILTER:u,TEXTURE_WRAP_S:d,TEXTURE_WRAP_T:g}=t,f=t.createTexture();return t.bindTexture(o,f),t.texParameteri(o,l,r||n),t.texParameteri(o,u,r||n),t.texParameteri(o,d,c),t.texParameteri(o,g,c),i?t.texImage2D(o,0,a,a,h,i):t.texImage2D(o,0,a,e,s,0,a,h,null),f}getCachedTexture(t,e,s){const{textureCache:i}=this;if(i[t])return i[t];{const r=this.createTexture(this.gl,e.width,e.height,e,s);return r&&(i[t]=r),r}}evictCachesForKey(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])}copyGLTo2D(t,e){const s=t.canvas,i=e.targetCanvas,r=i.getContext(\"2d\");if(!r)return;r.translate(0,i.height),r.scale(1,-1);const n=s.height-i.height;r.drawImage(s,0,n,i.width,i.height,0,0,i.width,i.height)}copyGLTo2DPutImageData(t,e){const s=e.targetCanvas.getContext(\"2d\"),i=e.destinationWidth,r=e.destinationHeight,n=i*r*4;if(!s)return;const o=new Uint8Array(this.imageBuffer,0,n),a=new Uint8ClampedArray(this.imageBuffer,0,n);t.readPixels(0,0,i,r,t.RGBA,t.UNSIGNED_BYTE,o);const h=new ImageData(a,i,r);s.putImageData(h,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;const t=this.gl,e={renderer:\"\",vendor:\"\"};if(!t)return e;const s=t.getExtension(\"WEBGL_debug_renderer_info\");if(s){const i=t.getParameter(s.UNMASKED_RENDERER_WEBGL),r=t.getParameter(s.UNMASKED_VENDOR_WEBGL);i&&(e.renderer=i.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}let ta;function ea(){const{WebGLProbe:t}=p();return t.queryWebGL(pt()),o.enableGLFiltering&&t.isSupported(o.textureSize)?new $o({tileSize:o.textureSize}):new Zo}function sa(){return!ta&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(ta=ea()),ta}function ia(t){ta=t}const ra=[\"filters\",\"resizeFilter\",\"src\",\"crossOrigin\",\"type\"],na=[\"cropX\",\"cropY\"];class oa extends Li{static getDefaults(){return s(s({},super.getDefaults()),oa.ownDefaults)}constructor(e,s){super(),t(this,\"_lastScaleX\",1),t(this,\"_lastScaleY\",1),t(this,\"_filterScalingX\",1),t(this,\"_filterScalingY\",1),this.filters=[],Object.assign(this,oa.ownDefaults),this.setOptions(s),this.cacheKey=\"texture\".concat(ft()),this.setElement(\"string\"==typeof e?(this.canvas&&Kt(this.canvas.getElement())||m()).getElementById(e):e,s)}getElement(){return this._element}setElement(t){var e;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),this._element=t,this._originalElement=t,this._setWidthHeight(s),null===(e=t.classList)||void 0===e||e.add(oa.CSS_CANVAS),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(t){const e=sa(!1);e instanceof $o&&e.evictCachesForKey(t)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),this._cacheContext=null,[\"_originalElement\",\"_element\",\"_filteredEl\",\"_cacheCanvas\"].forEach((t=>{const e=this[t];e&&p().dispose(e),this[t]=void 0}))}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){const t=this.getElement();return t?{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}:{width:0,height:0}}_stroke(t){if(!this.stroke||0===this.strokeWidth)return;const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,-s),t.lineTo(e,-s),t.lineTo(e,s),t.lineTo(-e,s),t.lineTo(-e,-s),t.closePath()}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=[];return this.filters.forEach((t=>{t&&e.push(t.toObject())})),s(s({},super.toObject([...na,...t])),{},{src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e},this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{})}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){const t=[],e=this._element,s=-this.width/2,i=-this.height/2;let r=[],n=[],o=\"\",a=\"\";if(!e)return[];if(this.hasCrop()){const t=ft();r.push('<clipPath id=\"imageCrop_'+t+'\">\\n','\\t<rect x=\"'+s+'\" y=\"'+i+'\" width=\"'+this.width+'\" height=\"'+this.height+'\" />\\n',\"</clipPath>\\n\"),o=' clip-path=\"url(#imageCrop_'+t+')\" '}if(this.imageSmoothing||(a=' image-rendering=\"optimizeSpeed\"'),t.push(\"\\t<image \",\"COMMON_PARTS\",'xlink:href=\"'.concat(this.getSvgSrc(!0),'\" x=\"').concat(s-this.cropX,'\" y=\"').concat(i-this.cropY,'\" width=\"').concat(e.width||e.naturalWidth,'\" height=\"').concat(e.height||e.naturalHeight,'\"').concat(a).concat(o,\"></image>\\n\")),this.stroke||this.strokeDashArray){const t=this.fill;this.fill=null,n=['\\t<rect x=\"'.concat(s,'\" y=\"').concat(i,'\" width=\"').concat(this.width,'\" height=\"').concat(this.height,'\" style=\"').concat(this.getSvgStyles(),'\" />\\n')],this.fill=t}return r=this.paintFirst!==K?r.concat(n,t):r.concat(t,n),r}getSrc(t){const e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute(\"src\")||\"\":e.src:this.src||\"\"}getSvgSrc(t){return this.getSrc(t)}setSrc(t){let{crossOrigin:e,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return It(t,{crossOrigin:e,signal:s}).then((t=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(t)}))}toString(){return'#<Image: { src: \"'.concat(this.getSrc(),'\" }>')}applyResizeFilters(){const t=this.resizeFilter,e=this.minimumScaleTrigger,s=this.getTotalObjectScaling(),i=s.x,r=s.y,n=this._filteredEl||this._originalElement;if(this.group&&this.set(\"dirty\",!0),!t||i>e&&r>e)return this._element=n,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=i,void(this._lastScaleY=r);const o=vt(n),{width:a,height:h}=n;this._element=o,this._lastScaleX=t.scaleX=i,this._lastScaleY=t.scaleY=r,sa().applyFilters([t],n,a,h,this._element),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height}applyFilters(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(t=t.filter((t=>t&&!t.isNeutralState())),this.set(\"dirty\",!0),this.removeTexture(\"\".concat(this.cacheKey,\"_filtered\")),0===t.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);const e=this._originalElement,s=e.naturalWidth||e.width,i=e.naturalHeight||e.height;if(this._element===this._originalElement){const t=vt({width:s,height:i});this._element=t,this._filteredEl=t}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext(\"2d\").clearRect(0,0,s,i),this._lastScaleX=1,this._lastScaleY=1);sa().applyFilters(t,this._originalElement,s,i,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(t){t.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)}drawCacheOnCanvas(t){t.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(t)}shouldCache(){return this.needsItsOwnCache()}_renderFill(t){const e=this._element;if(!e)return;const s=this._filterScalingX,i=this._filterScalingY,r=this.width,n=this.height,o=Math.max(this.cropX,0),a=Math.max(this.cropY,0),h=e.naturalWidth||e.width,c=e.naturalHeight||e.height,l=o*s,u=a*i,d=Math.min(r*s,h-l),g=Math.min(n*i,c-u),f=-r/2,p=-n/2,m=Math.min(r,h/s-o),v=Math.min(n,c/i-a);e&&t.drawImage(e,l,u,d,g,f,p,m,v)}_needsResize(){const t=this.getTotalObjectScaling();return t.x!==this._lastScaleX||t.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:t,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=this.getOriginalSize();this.width=t||s.width,this.height=e||s.height}parsePreserveAspectRatioAttribute(){const t=Xe(this.preserveAspectRatio||\"\"),e=this.width,s=this.height,i={width:e,height:s};let r,n=this._element.width,o=this._element.height,a=1,h=1,c=0,l=0,u=0,d=0;return!t||t.alignX===j&&t.alignY===j?(a=e/n,h=s/o):(\"meet\"===t.meetOrSlice&&(a=h=qr(this._element,i),r=(e-n*a)/2,\"Min\"===t.alignX&&(c=-r),\"Max\"===t.alignX&&(c=r),r=(s-o*h)/2,\"Min\"===t.alignY&&(l=-r),\"Max\"===t.alignY&&(l=r)),\"slice\"===t.meetOrSlice&&(a=h=Kr(this._element,i),r=n-e/a,\"Mid\"===t.alignX&&(u=r/2),\"Max\"===t.alignX&&(u=r),r=o-s/h,\"Mid\"===t.alignY&&(d=r/2),\"Max\"===t.alignY&&(d=r),n=e/a,o=s/h)),{width:n,height:o,scaleX:a,scaleY:h,offsetLeft:c,offsetTop:l,cropX:u,cropY:d}}static fromObject(t,e){let{filters:r,resizeFilter:n,src:o,crossOrigin:a,type:h}=t,c=i(t,ra);return Promise.all([It(o,s(s({},e),{},{crossOrigin:a})),r&&Bt(r,e),n&&Bt([n],e),Xt(c,e)]).then((t=>{let[e,i=[],[r]=[],n={}]=t;return new this(e,s(s({},c),{},{src:o,filters:i,resizeFilter:r},n))}))}static fromURL(t){let{crossOrigin:e=null,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return It(t,{crossOrigin:e,signal:s}).then((t=>new this(t,i)))}static async fromElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const i=Pr(t,this.ATTRIBUTE_NAMES,s);return this.fromURL(i[\"xlink:href\"]||i.href,e,i).catch((t=>(a(\"log\",\"Unable to parse Image\",t),null)))}}function aa(t){if(!us.test(t.nodeName))return{};const e=t.getAttribute(\"viewBox\");let s,i,r=1,n=1,o=0,a=0;const h=t.getAttribute(\"width\"),c=t.getAttribute(\"height\"),l=t.getAttribute(\"x\")||0,u=t.getAttribute(\"y\")||0,d=!(e&&gs.test(e)),g=!h||!c||\"100%\"===h||\"100%\"===c;let f=\"\",p=0,m=0;if(d&&(l||u)&&t.parentNode&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Be(l||\"0\")+\" \"+Be(u||\"0\")+\") \",s=(t.getAttribute(\"transform\")||\"\")+f,t.setAttribute(\"transform\",s),t.removeAttribute(\"x\"),t.removeAttribute(\"y\")),d&&g)return{width:0,height:0};const v={width:0,height:0};if(d)return v.width=Be(h),v.height=Be(c),v;const y=e.match(gs);o=-parseFloat(y[1]),a=-parseFloat(y[2]);const _=parseFloat(y[3]),x=parseFloat(y[4]);v.minX=o,v.minY=a,v.viewBoxWidth=_,v.viewBoxHeight=x,g?(v.width=_,v.height=x):(v.width=Be(h),v.height=Be(c),r=v.width/_,n=v.height/x);const C=Xe(t.getAttribute(\"preserveAspectRatio\")||\"\");if(C.alignX!==j&&(\"meet\"===C.meetOrSlice&&(n=r=r>n?n:r),\"slice\"===C.meetOrSlice&&(n=r=r>n?r:n),p=v.width-_*r,m=v.height-x*r,\"Mid\"===C.alignX&&(p/=2),\"Mid\"===C.alignY&&(m/=2),\"Min\"===C.alignX&&(p=0),\"Min\"===C.alignY&&(m=0)),1===r&&1===n&&0===o&&0===a&&0===l&&0===u)return v;if((l||u)&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Be(l||\"0\")+\" \"+Be(u||\"0\")+\") \"),s=f+\" matrix(\"+r+\" 0 0 \"+n+\" \"+(o*r+p)+\" \"+(a*n+m)+\") \",\"svg\"===t.nodeName){for(i=t.ownerDocument.createElementNS(ns,\"g\");t.firstChild;)i.appendChild(t.firstChild);t.appendChild(i)}else i=t,i.removeAttribute(\"x\"),i.removeAttribute(\"y\"),s=i.getAttribute(\"transform\")+s;return i.setAttribute(\"transform\",s),v}t(oa,\"type\",\"Image\"),t(oa,\"cacheProperties\",[...Es,...na]),t(oa,\"ownDefaults\",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),t(oa,\"CSS_CANVAS\",\"canvas-img\"),t(oa,\"ATTRIBUTE_NAMES\",[...Zi,\"x\",\"y\",\"width\",\"height\",\"preserveAspectRatio\",\"xlink:href\",\"href\",\"crossOrigin\",\"image-rendering\"]),tt.setClass(oa),tt.setSVGClass(oa);const ha=t=>t.tagName.replace(\"svg:\",\"\"),ca=Ve([\"pattern\",\"defs\",\"symbol\",\"metadata\",\"clipPath\",\"mask\",\"desc\"]);function la(t,e){let s,i,r,n,o=[];for(r=0,n=e.length;r<n;r++)s=e[r],i=t.getElementsByTagNameNS(\"http://www.w3.org/2000/svg\",s),o=o.concat(Array.from(i));return o}const ua=[\"gradientTransform\",\"x1\",\"x2\",\"y1\",\"y2\",\"gradientUnits\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\"],da=\"xlink:href\";function ga(t,e){var s;const i=(null===(s=e.getAttribute(da))||void 0===s?void 0:s.slice(1))||\"\",r=t.getElementById(i);if(r&&r.getAttribute(da)&&ga(t,r),r&&(ua.forEach((t=>{const s=r.getAttribute(t);!e.hasAttribute(t)&&s&&e.setAttribute(t,s)})),!e.children.length)){const t=r.cloneNode(!0);for(;t.firstChild;)e.appendChild(t.firstChild)}e.removeAttribute(da)}const fa=[\"linearGradient\",\"radialGradient\",\"svg:linearGradient\",\"svg:radialGradient\"];function pa(t){const e=t.getElementsByTagName(\"style\"),i={};for(let t=0;t<e.length;t++){const r=(e[t].textContent||\"\").replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\");\"\"!==r.trim()&&r.split(\"}\").filter(((t,e,s)=>s.length>1&&t.trim())).forEach((t=>{if((t.match(/{/g)||[]).length>1&&t.trim().startsWith(\"@\"))return;const e=t.split(\"{\"),r={},n=e[1].trim().split(\";\").filter((function(t){return t.trim()}));for(let t=0;t<n.length;t++){const e=n[t].split(\":\"),s=e[0].trim(),i=e[1].trim();r[s]=i}(t=e[0].trim()).split(\",\").forEach((t=>{\"\"!==(t=t.replace(/^svg/i,\"\").trim())&&(i[t]=s(s({},i[t]||{}),r))}))}))}return i}const ma=t=>tt.getSVGClass(ha(t).toLowerCase());class va{constructor(t,e,s,i,r){this.elements=t,this.options=e,this.reviver=s,this.regexUrl=/^url\\(['\"]?#([^'\"]+)['\"]?\\)/g,this.doc=i,this.clipPaths=r,this.gradientDefs=function(t){const e=la(t,fa),s={};let i=e.length;for(;i--;){const r=e[i];r.getAttribute(\"xlink:href\")&&ga(t,r);const n=r.getAttribute(\"id\");n&&(s[n]=r)}return s}(i),this.cssRules=pa(i)}parse(){return Promise.all(this.elements.map((t=>this.createObject(t))))}async createObject(t){const e=ma(t);if(e){const s=await e.fromElement(t,this.options,this.cssRules);return this.resolveGradient(s,t,K),this.resolveGradient(s,t,J),s instanceof oa&&s._originalElement?Dn(s,s.parsePreserveAspectRatioAttribute()):Dn(s),await this.resolveClipPath(s,t),this.reviver&&this.reviver(t,s),s}return null}extractPropertyDefinition(t,e,s){const i=t[e],r=this.regexUrl;if(!r.test(i))return;r.lastIndex=0;const n=r.exec(i)[1];return r.lastIndex=0,s[n]}resolveGradient(t,e,i){const r=this.extractPropertyDefinition(t,i,this.gradientDefs);if(r){const n=e.getAttribute(i+\"-opacity\"),o=$n.fromElement(r,t,s(s({},this.options),{},{opacity:n}));t.set(i,o)}}async resolveClipPath(t,e,s){const i=this.extractPropertyDefinition(t,\"clipPath\",this.clipPaths);if(i){const r=wt(t.calcTransformMatrix()),n=i[0].parentElement;let o=e;for(;!s&&o.parentElement&&o.getAttribute(\"clip-path\")!==t.clipPath;)o=o.parentElement;o.parentElement.appendChild(n);const a=wr(\"\".concat(o.getAttribute(\"transform\")||\"\",\" \").concat(n.getAttribute(\"originalTransform\")||\"\"));n.setAttribute(\"transform\",\"matrix(\".concat(a.join(\",\"),\")\"));const h=await Promise.all(i.map((t=>ma(t).fromElement(t,this.options,this.cssRules).then((t=>(Dn(t),t.fillRule=t.clipRule,delete t.clipRule,t)))))),c=1===h.length?h[0]:new Ur(h),l=Tt(r,c.calcTransformMatrix());c.clipPath&&await this.resolveClipPath(c,o,n.getAttribute(\"clip-path\")?o:void 0);const{scaleX:u,scaleY:d,angle:g,skewX:f,translateX:p,translateY:m}=Dt(l);c.set({flipX:!1,flipY:!1}),c.set({scaleX:u,scaleY:d,angle:g,skewX:f,skewY:0}),c.setPositionByOrigin(new ot(p,m),D,D),t.clipPath=c}else delete t.clipPath}}const ya=t=>ls.test(ha(t)),_a=()=>({objects:[],elements:[],options:{},allElements:[]});async function xa(t,e){let{crossOrigin:i,signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(r&&r.aborted)return a(\"log\",new c(\"parseSVGDocument\")),_a();const n=t.documentElement;!function(t){const e=la(t,[\"use\",\"svg:use\"]),s=[\"x\",\"y\",\"xlink:href\",\"href\",\"transform\"];for(const i of e){const e=i.attributes,r={};for(const t of e)t.value&&(r[t.name]=t.value);const n=(r[\"xlink:href\"]||r.href||\"\").slice(1);if(\"\"===n)return;const o=t.getElementById(n);if(null===o)return;let a=o.cloneNode(!0);const h=a.attributes,c={};for(const t of h)t.value&&(c[t.name]=t.value);const{x:l=0,y:u=0,transform:d=\"\"}=r,g=\"\".concat(d,\" \").concat(c.transform||\"\",\" translate(\").concat(l,\", \").concat(u,\")\");if(aa(a),/^svg$/i.test(a.nodeName)){const t=a.ownerDocument.createElementNS(ns,\"g\");Object.entries(c).forEach((e=>{let[s,i]=e;return t.setAttributeNS(ns,s,i)})),t.append(...a.childNodes),a=t}for(const t of e){if(!t)continue;const{name:e,value:i}=t;if(!s.includes(e))if(\"style\"===e){const t={};kr(i,t),Object.entries(c).forEach((e=>{let[s,i]=e;t[s]=i})),kr(c.style||\"\",t);const s=Object.entries(t).map((t=>t.join(\":\"))).join(\";\");a.setAttribute(e,s)}else!c[e]&&a.setAttribute(e,i)}a.setAttribute(\"transform\",g),a.setAttribute(\"instantiated_by_use\",\"1\"),a.removeAttribute(\"id\"),i.parentNode.replaceChild(a,i)}}(t);const o=Array.from(n.getElementsByTagName(\"*\")),h=s(s({},aa(n)),{},{crossOrigin:i,signal:r}),l=o.filter((t=>(aa(t),ya(t)&&!function(t){let e=t;for(;e&&(e=e.parentElement);)if(e&&e.nodeName&&ca.test(ha(e))&&!e.getAttribute(\"instantiated_by_use\"))return!0;return!1}(t))));if(!l||l&&!l.length)return s(s({},_a()),{},{options:h,allElements:o});const u={};o.filter((t=>\"clipPath\"===ha(t))).forEach((t=>{t.setAttribute(\"originalTransform\",t.getAttribute(\"transform\")||\"\");const e=t.getAttribute(\"id\");u[e]=Array.from(t.getElementsByTagName(\"*\")).filter((t=>ya(t)))}));const d=new va(l,h,e,t,u);return{objects:await d.parse(),elements:l,options:h,allElements:o}}function Ca(t,e,s){return xa((new(v().DOMParser)).parseFromString(t.trim(),\"text/xml\"),e,s)}function ba(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,i)=>{kn(t.replace(/^\\n\\s*/,\"\").trim(),{onComplete:t=>{const s=t.responseXML;s&&e(s),i()},signal:s.signal})})).then((t=>xa(t,e,s))).catch((()=>_a()))}const Sa=W,wa=t=>function(e,s,i){const{points:r,pathOffset:n}=i;return new ot(r[t]).subtract(n).transform(Tt(i.getViewportTransform(),i.calcTransformMatrix()))},Ta=(t,e,s,i)=>{const{target:r,pointIndex:n}=e,o=r,a=me(new ot(s,i),void 0,o.calcOwnMatrix());return o.points[n]=a.add(o.pathOffset),o.setDimensions(),o.set(\"dirty\",!0),!0},Oa=(t,e)=>function(i,r,n,o){const a=r.target,h=new ot(a.points[(t>0?t:a.points.length)-1]),c=h.subtract(a.pathOffset).transform(a.calcOwnMatrix()),l=e(i,s(s({},r),{},{pointIndex:t}),n,o),u=h.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(c);return a.left-=u.x,a.top-=u.y,l},ka=t=>si(Sa,Oa(t,Ta));const Da=(t,e,s)=>{const{path:i,pathOffset:r}=t,n=i[e];return new ot(n[s]-r.x,n[s+1]-r.y).transform(Tt(t.getViewportTransform(),t.calcTransformMatrix()))};function Ma(t,e,s){const{commandIndex:i,pointIndex:r}=this;return Da(s,i,r)}function Pa(t,e,i,r){const{target:n}=e,{commandIndex:o,pointIndex:a}=this,h=((t,e,s,i,r)=>{const{path:n,pathOffset:o}=t,a=n[(i>0?i:n.length)-1],h=new ot(a[r],a[r+1]),c=h.subtract(o).transform(t.calcOwnMatrix()),l=me(new ot(e,s),void 0,t.calcOwnMatrix());n[i][r]=l.x+o.x,n[i][r+1]=l.y+o.y,t.setDimensions();const u=h.subtract(t.pathOffset).transform(t.calcOwnMatrix()).subtract(c);return t.left-=u.x,t.top-=u.y,t.set(\"dirty\",!0),!0})(n,i,r,o,a);return _e(this.actionName,s(s({},Oe(t,e,i,r)),{},{commandIndex:o,pointIndex:a})),h}class Ea extends ai{constructor(t){super(t)}render(t,e,i,r,n){const o=s(s({},r),{},{cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill});super.render(t,e,i,o,n)}}class Aa extends Ea{constructor(t){super(t)}render(t,e,s,i,r){const{path:n}=r,{commandIndex:o,pointIndex:a,connectToCommandIndex:h,connectToPointIndex:c}=this;t.save(),t.strokeStyle=this.controlStroke,this.connectionDashArray&&t.setLineDash(this.connectionDashArray);const[l]=n[o],u=Da(r,h,c);if(\"Q\"===l){const i=Da(r,o,a+2);t.moveTo(i.x,i.y),t.lineTo(e,s)}else t.moveTo(e,s);t.lineTo(u.x,u.y),t.stroke(),t.restore(),super.render(t,e,s,i,r)}}const ja=(t,e,i,r,n,o)=>new(i?Aa:Ea)(s(s({commandIndex:t,pointIndex:e,actionName:\"modifyPath\",positionHandler:Ma,actionHandler:Pa,connectToCommandIndex:n,connectToPointIndex:o},r),i?r.controlPointStyle:r.pointStyle));var Fa=Object.freeze({__proto__:null,changeWidth:ri,createObjectDefaultControls:Pi,createPathControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};let i=\"M\";return t.path.forEach(((t,r)=>{const n=t[0];switch(\"Z\"!==n&&(s[\"c_\".concat(r,\"_\").concat(n)]=ja(r,t.length-2,!1,e)),n){case\"C\":s[\"c_\".concat(r,\"_C_CP_1\")]=ja(r,1,!0,e,r-1,(t=>\"C\"===t?5:\"Q\"===t?3:1)(i)),s[\"c_\".concat(r,\"_C_CP_2\")]=ja(r,3,!0,e,r,5);break;case\"Q\":s[\"c_\".concat(r,\"_Q_CP_1\")]=ja(r,1,!0,e,r,3)}i=n})),s},createPolyActionHandler:ka,createPolyControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={};for(let r=0;r<(\"number\"==typeof t?t:t.points.length);r++)i[\"p\".concat(r)]=new ai(s({actionName:Sa,positionHandler:wa(r),actionHandler:ka(r)},e));return i},createPolyPositionHandler:wa,createResizeControls:Ei,createTextboxDefaultControls:Ai,dragHandler:Me,factoryPolyActionHandler:Oa,getLocalPoint:De,polyActionHandler:Ta,renderCircleControl:ni,renderSquareControl:oi,rotationStyleHandler:hi,rotationWithSnapping:ci,scaleCursorStyleHandler:gi,scaleOrSkewActionName:Oi,scaleSkewCursorStyleHandler:ki,scalingEqually:pi,scalingX:mi,scalingXOrSkewingY:Di,scalingY:vi,scalingYOrSkewingX:Mi,skewCursorStyleHandler:Ci,skewHandlerX:Si,skewHandlerY:wi,wrapWithFireEvent:si,wrapWithFixedAnchor:ii});const La=t=>void 0!==t.webgl,Ra=(t,e)=>{const s=vt({width:t,height:e}),i=pt().getContext(\"webgl\"),r={imageBuffer:new ArrayBuffer(t*e*4)},n={destinationWidth:t,destinationHeight:e,targetCanvas:s};let o;o=v().performance.now(),$o.prototype.copyGLTo2D.call(r,i,n);const a=v().performance.now()-o;o=v().performance.now(),$o.prototype.copyGLTo2DPutImageData.call(r,i,n);return a>v().performance.now()-o},Ia=\"precision highp float\",Ba=\"\\n \".concat(Ia,\";\\n varying vec2 vTexCoord;\\n uniform sampler2D uTexture;\\n void main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n }\"),Xa=[\"type\"],Ya=[\"type\"],Wa=new RegExp(Ia,\"g\");class Va{get type(){return this.constructor.type}constructor(){let t=i(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Xa);Object.assign(this,this.constructor.defaults,t)}getFragmentSource(){return Ba}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n void main() {\\n vTexCoord = aPosition;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\"}createProgram(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource();const{WebGLProbe:{GLPrecision:i=\"highp\"}}=p();\"highp\"!==i&&(e=e.replace(Wa,Ia.replace(\"highp\",i)));const r=t.createShader(t.VERTEX_SHADER),n=t.createShader(t.FRAGMENT_SHADER),o=t.createProgram();if(!r||!n||!o)throw new h(\"Vertex, fragment shader or program creation error\");if(t.shaderSource(r,s),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw new h(\"Vertex shader compile error for \".concat(this.type,\": \").concat(t.getShaderInfoLog(r)));if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new h(\"Fragment shader compile error for \".concat(this.type,\": \").concat(t.getShaderInfoLog(n)));if(t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new h('Shader link error for \"'.concat(this.type,'\" ').concat(t.getProgramInfoLog(o)));const a=this.getUniformLocations(t,o)||{};return a.uStepW=t.getUniformLocation(o,\"uStepW\"),a.uStepH=t.getUniformLocation(o,\"uStepH\"),{program:o,attributeLocations:this.getAttributeLocations(t,o),uniformLocations:a}}getAttributeLocations(t,e){return{aPosition:t.getAttribLocation(e,\"aPosition\")}}getUniformLocations(t,e){const s=this.constructor.uniformLocations,i={};for(let r=0;r<s.length;r++)i[s[r]]=t.getUniformLocation(e,s[r]);return i}sendAttributeData(t,e,s){const i=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,s,t.STATIC_DRAW)}_setupFrameBuffer(t){const e=t.context;if(t.passes>1){const s=t.destinationWidth,i=t.destinationHeight;t.sourceWidth===s&&t.sourceHeight===i||(e.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(e,s,i)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(t){t.passes--,t.pass++;const e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e}isNeutralState(t){return!1}applyTo(t){La(t)?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){}getCacheKey(){return this.type}retrieveShader(t){const e=this.getCacheKey();return t.programCache[e]||(t.programCache[e]=this.createProgram(t.context)),t.programCache[e]}applyToWebGL(t){const e=t.context,s=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(s.program),this.sendAttributeData(e,s.attributeLocations,t.aPosition),e.uniform1f(s.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(s.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,s.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(t,e,s){t.activeTexture(s),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)}unbindAdditionalTexture(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)}sendUniformData(t,e){}createHelpLayer(t){if(!t.helpLayer){const{sourceWidth:e,sourceHeight:s}=t,i=vt({width:e,height:s});t.helpLayer=i}}toObject(){const t=Object.keys(this.constructor.defaults||{});return s({type:this.type},t.reduce(((t,e)=>(t[e]=this[e],t)),{}))}toJSON(){return this.toObject()}static async fromObject(t,e){return new this(i(t,Ya))}}t(Va,\"type\",\"BaseFilter\"),t(Va,\"uniformLocations\",[]);const za={multiply:\"gl_FragColor.rgb *= uColor.rgb;\\n\",screen:\"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",add:\"gl_FragColor.rgb += uColor.rgb;\\n\",difference:\"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",subtract:\"gl_FragColor.rgb -= uColor.rgb;\\n\",lighten:\"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",darken:\"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",exclusion:\"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",overlay:\"\\n if (uColor.r < 0.5) {\\n gl_FragColor.r *= 2.0 * uColor.r;\\n } else {\\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n }\\n if (uColor.g < 0.5) {\\n gl_FragColor.g *= 2.0 * uColor.g;\\n } else {\\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n }\\n if (uColor.b < 0.5) {\\n gl_FragColor.b *= 2.0 * uColor.b;\\n } else {\\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n }\\n \",tint:\"\\n gl_FragColor.rgb *= (1.0 - uColor.a);\\n gl_FragColor.rgb += uColor.rgb;\\n \"};class Ga extends Va{getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n gl_FragColor = color;\\n if (color.a > 0.0) {\\n \".concat(za[this.mode],\"\\n }\\n }\\n \")}applyTo2d(t){let{imageData:{data:e}}=t;const s=new Ie(this.color).getSource(),i=this.alpha,r=s[0]*i,n=s[1]*i,o=s[2]*i,a=1-i;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],h=e[t+2];let c,l,u;switch(this.mode){case\"multiply\":c=s*r/255,l=i*n/255,u=h*o/255;break;case\"screen\":c=255-(255-s)*(255-r)/255,l=255-(255-i)*(255-n)/255,u=255-(255-h)*(255-o)/255;break;case\"add\":c=s+r,l=i+n,u=h+o;break;case\"difference\":c=Math.abs(s-r),l=Math.abs(i-n),u=Math.abs(h-o);break;case\"subtract\":c=s-r,l=i-n,u=h-o;break;case\"darken\":c=Math.min(s,r),l=Math.min(i,n),u=Math.min(h,o);break;case\"lighten\":c=Math.max(s,r),l=Math.max(i,n),u=Math.max(h,o);break;case\"overlay\":c=r<128?2*s*r/255:255-2*(255-s)*(255-r)/255,l=n<128?2*i*n/255:255-2*(255-i)*(255-n)/255,u=o<128?2*h*o/255:255-2*(255-h)*(255-o)/255;break;case\"exclusion\":c=r+s-2*r*s/255,l=n+i-2*n*i/255,u=o+h-2*o*h/255;break;case\"tint\":c=r+s*a,l=n+i*a,u=o+h*a}e[t]=c,e[t+1]=l,e[t+2]=u}}sendUniformData(t,e){const s=new Ie(this.color).getSource();s[0]=this.alpha*s[0]/255,s[1]=this.alpha*s[1]/255,s[2]=this.alpha*s[2]/255,s[3]=this.alpha,t.uniform4fv(e.uColor,s)}}t(Ga,\"defaults\",{color:\"#F95C63\",mode:\"multiply\",alpha:1}),t(Ga,\"type\",\"BlendColor\"),t(Ga,\"uniformLocations\",[\"uColor\"]),tt.setClass(Ga);const Ha={multiply:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.rgba *= color2.rgba;\\n gl_FragColor = color;\\n }\\n \",mask:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.a = color2.a;\\n gl_FragColor = color;\\n }\\n \"},Na=[\"type\",\"image\"];class Ua extends Va{getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return Ha[this.mode]}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n uniform mat3 uTransformMatrix;\\n void main() {\\n vTexCoord = aPosition;\\n vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\\n \"}applyToWebGL(t){const e=t.context,s=this.createTexture(t.filterBackend,this.image);this.bindAdditionalTexture(e,s,e.TEXTURE1),super.applyToWebGL(t),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(t,e){return t.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){const t=this.image,{width:e,height:s}=t.getElement();return[1/t.scaleX,0,0,0,1/t.scaleY,0,-t.left/e,-t.top/s,1]}applyTo2d(t){let{imageData:{data:e,width:s,height:i},filterBackend:{resources:r}}=t;const n=this.image;r.blendImage||(r.blendImage=pt());const o=r.blendImage,a=o.getContext(\"2d\");o.width!==s||o.height!==i?(o.width=s,o.height=i):a.clearRect(0,0,s,i),a.setTransform(n.scaleX,0,0,n.scaleY,n.left,n.top),a.drawImage(n.getElement(),0,0,s,i);const h=a.getImageData(0,0,s,i).data;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],r=e[t+2],n=e[t+3],o=h[t],a=h[t+1],c=h[t+2],l=h[t+3];switch(this.mode){case\"multiply\":e[t]=s*o/255,e[t+1]=i*a/255,e[t+2]=r*c/255,e[t+3]=n*l/255;break;case\"mask\":e[t+3]=l}}}sendUniformData(t,e){const s=this.calculateMatrix();t.uniform1i(e.uImage,1),t.uniformMatrix3fv(e.uTransformMatrix,!1,s)}toObject(){return s(s({},super.toObject()),{},{image:this.image&&this.image.toObject()})}static async fromObject(t,e){let{type:r,image:n}=t,o=i(t,Na);return oa.fromObject(n,e).then((t=>new this(s(s({},o),{},{image:t}))))}}t(Ua,\"type\",\"BlendImage\"),t(Ua,\"defaults\",{mode:\"multiply\",alpha:1}),t(Ua,\"uniformLocations\",[\"uTransformMatrix\",\"uImage\"]),tt.setClass(Ua);class qa extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n const float nSamples = 15.0;\\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n float random(vec3 scale) {\\n /* use the fragment position for a different seed per-pixel */\\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n }\\n void main() {\\n vec4 color = vec4(0.0);\\n float totalC = 0.0;\\n float totalA = 0.0;\\n float offset = random(v3offset);\\n for (float t = -nSamples; t <= nSamples; t++) {\\n float percent = (t + offset - 0.5) / nSamples;\\n vec4 sample = texture2D(uTexture, vTexCoord + uDelta * percent);\\n float weight = 1.0 - abs(percent);\\n float alpha = weight * sample.a;\\n color.rgb += sample.rgb * alpha;\\n color.a += alpha;\\n totalA += weight;\\n totalC += alpha;\\n }\\n gl_FragColor.rgb = color.rgb / totalC;\\n gl_FragColor.a = color.a / totalA;\\n }\\n \"}applyTo(t){La(t)?(this.aspectRatio=t.sourceWidth/t.sourceHeight,t.passes++,this._setupFrameBuffer(t),this.horizontal=!0,this.applyToWebGL(t),this._swapTextures(t),this._setupFrameBuffer(t),this.horizontal=!1,this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;this.aspectRatio=s/i,this.horizontal=!0;let r=this.getBlurValue()*s;const n=new Uint8ClampedArray(e),o=15,a=4*s;for(let t=0;t<e.length;t+=4){let s=0,i=0,h=0,c=0,l=0;const u=t-t%a,d=u+a;for(let n=-14;n<o;n++){const a=n/o,g=4*Math.floor(r*a),f=1-Math.abs(a);let p=t+g;p<u?p=u:p>d&&(p=d);const m=e[p+3]*f;s+=e[p]*m,i+=e[p+1]*m,h+=e[p+2]*m,c+=m,l+=f}n[t]=s/c,n[t+1]=i/c,n[t+2]=h/c,n[t+3]=c/l}this.horizontal=!1,r=this.getBlurValue()*i;for(let t=0;t<n.length;t+=4){let s=0,i=0,h=0,c=0,l=0;const u=t%a,d=n.length-a+u;for(let e=-14;e<o;e++){const g=e/o,f=Math.floor(r*g)*a,p=1-Math.abs(g);let m=t+f;m<u?m=u:m>d&&(m=d);const v=n[m+3]*p;s+=n[m]*v,i+=n[m+1]*v,h+=n[m+2]*v,c+=v,l+=p}e[t]=s/c,e[t+1]=i/c,e[t+2]=h/c,e[t+3]=c/l}}sendUniformData(t,e){const s=this.chooseRightDelta();t.uniform2fv(e.uDelta,s)}isNeutralState(){return 0===this.blur}getBlurValue(){let t=1;const{horizontal:e,aspectRatio:s}=this;return e?s>1&&(t=1/s):s<1&&(t=s),t*this.blur*.12}chooseRightDelta(){const t=this.getBlurValue();return this.horizontal?[t,0]:[0,t]}}t(qa,\"type\",\"Blur\"),t(qa,\"defaults\",{blur:0}),t(qa,\"uniformLocations\",[\"uDelta\"]),tt.setClass(qa);class Ka extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBrightness;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += uBrightness;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.round(255*this.brightness);for(let t=0;t<e.length;t+=4)e[t]+=s,e[t+1]+=s,e[t+2]+=s}isNeutralState(){return 0===this.brightness}sendUniformData(t,e){t.uniform1f(e.uBrightness,this.brightness)}}t(Ka,\"type\",\"Brightness\"),t(Ka,\"defaults\",{brightness:0}),t(Ka,\"uniformLocations\",[\"uBrightness\"]),tt.setClass(Ka);const Ja={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0};class Qa extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n uniform mat4 uColorMatrix;\\n uniform vec4 uConstants;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color *= uColorMatrix;\\n color += uConstants;\\n gl_FragColor = color;\\n }\"}applyTo2d(t){const e=t.imageData.data,s=this.matrix,i=this.colorsOnly;for(let t=0;t<e.length;t+=4){const r=e[t],n=e[t+1],o=e[t+2];if(e[t]=r*s[0]+n*s[1]+o*s[2]+255*s[4],e[t+1]=r*s[5]+n*s[6]+o*s[7]+255*s[9],e[t+2]=r*s[10]+n*s[11]+o*s[12]+255*s[14],!i){const i=e[t+3];e[t]+=i*s[3],e[t+1]+=i*s[8],e[t+2]+=i*s[13],e[t+3]=r*s[15]+n*s[16]+o*s[17]+i*s[18]+255*s[19]}}}sendUniformData(t,e){const s=this.matrix,i=[s[0],s[1],s[2],s[3],s[5],s[6],s[7],s[8],s[10],s[11],s[12],s[13],s[15],s[16],s[17],s[18]],r=[s[4],s[9],s[14],s[19]];t.uniformMatrix4fv(e.uColorMatrix,!1,i),t.uniform4fv(e.uConstants,r)}toObject(){return s(s({},super.toObject()),{},{matrix:[...this.matrix]})}}function Za(e,s){var i;const r=(t(i=class extends Qa{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},\"type\",e),t(i,\"defaults\",{colorsOnly:!1,matrix:s}),i);return tt.setClass(r,e),r}t(Qa,\"type\",\"ColorMatrix\"),t(Qa,\"defaults\",Ja),t(Qa,\"uniformLocations\",[\"uColorMatrix\",\"uConstants\"]),tt.setClass(Qa);const $a=Za(\"Brownie\",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),th=Za(\"Vintage\",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),eh=Za(\"Kodachrome\",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),sh=Za(\"Technicolor\",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),ih=Za(\"Polaroid\",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),rh=Za(\"Sepia\",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),nh=Za(\"BlackWhite\",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]);class oh extends Va{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.subFilters=t.subFilters||[]}applyTo(t){La(t)&&(t.passes+=this.subFilters.length-1),this.subFilters.forEach((e=>{e.applyTo(t)}))}toObject(){return{type:this.type,subFilters:this.subFilters.map((t=>t.toObject()))}}isNeutralState(){return!this.subFilters.some((t=>!t.isNeutralState()))}static fromObject(t,e){return Promise.all((t.subFilters||[]).map((t=>tt.getClass(t.type).fromObject(t,e)))).then((t=>new this({subFilters:t})))}}t(oh,\"type\",\"Composed\"),tt.setClass(oh);class ah extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uContrast;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n gl_FragColor = color;\\n }\"}isNeutralState(){return 0===this.contrast}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.floor(255*this.contrast),i=259*(s+255)/(255*(259-s));for(let t=0;t<e.length;t+=4)e[t]=i*(e[t]-128)+128,e[t+1]=i*(e[t+1]-128)+128,e[t+2]=i*(e[t+2]-128)+128}sendUniformData(t,e){t.uniform1f(e.uContrast,this.contrast)}}t(ah,\"type\",\"Contrast\"),t(ah,\"defaults\",{contrast:0}),t(ah,\"uniformLocations\",[\"uContrast\"]),tt.setClass(ah);const hh={Convolute_3_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_3_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_5_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_5_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_7_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_7_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_9_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_9_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \"};class ch extends Va{getCacheKey(){return\"\".concat(this.type,\"_\").concat(Math.sqrt(this.matrix.length),\"_\").concat(this.opaque?1:0)}getFragmentSource(){return hh[this.getCacheKey()]}applyTo2d(t){const e=t.imageData,s=e.data,i=this.matrix,r=Math.round(Math.sqrt(i.length)),n=Math.floor(r/2),o=e.width,a=e.height,h=t.ctx.createImageData(o,a),c=h.data,l=this.opaque?1:0;let u,d,g,f,p,m,v,y,_,x,C,b,S;for(C=0;C<a;C++)for(x=0;x<o;x++){for(p=4*(C*o+x),u=0,d=0,g=0,f=0,S=0;S<r;S++)for(b=0;b<r;b++)v=C+S-n,m=x+b-n,v<0||v>=a||m<0||m>=o||(y=4*(v*o+m),_=i[S*r+b],u+=s[y]*_,d+=s[y+1]*_,g+=s[y+2]*_,l||(f+=s[y+3]*_));c[p]=u,c[p+1]=d,c[p+2]=g,c[p+3]=l?s[p+3]:f}t.imageData=h}sendUniformData(t,e){t.uniform1fv(e.uMatrix,this.matrix)}toObject(){return s(s({},super.toObject()),{},{opaque:this.opaque,matrix:[...this.matrix]})}}t(ch,\"type\",\"Convolute\"),t(ch,\"defaults\",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),t(ch,\"uniformLocations\",[\"uMatrix\",\"uOpaque\",\"uHalfSize\",\"uSize\"]),tt.setClass(ch);const lh=\"Gamma\";class uh extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec3 uGamma;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec3 correction = (1.0 / uGamma);\\n color.r = pow(color.r, correction.r);\\n color.g = pow(color.g, correction.g);\\n color.b = pow(color.b, correction.b);\\n gl_FragColor = color;\\n gl_FragColor.rgb *= color.a;\\n }\\n\"}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.gamma=t.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.gamma,i=1/s[0],r=1/s[1],n=1/s[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});const o=this.rgbValues;for(let t=0;t<256;t++)o.r[t]=255*Math.pow(t/255,i),o.g[t]=255*Math.pow(t/255,r),o.b[t]=255*Math.pow(t/255,n);for(let t=0;t<e.length;t+=4)e[t]=o.r[e[t]],e[t+1]=o.g[e[t+1]],e[t+2]=o.b[e[t+2]]}sendUniformData(t,e){t.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){const{gamma:t}=this;return 1===t[0]&&1===t[1]&&1===t[2]}toObject(){return{type:lh,gamma:this.gamma.concat()}}}t(uh,\"type\",lh),t(uh,\"defaults\",{gamma:[1,1,1]}),t(uh,\"uniformLocations\",[\"uGamma\"]),tt.setClass(uh);const dh={average:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float average = (color.r + color.b + color.g) / 3.0;\\n gl_FragColor = vec4(average, average, average, color.a);\\n }\\n \",lightness:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \",luminosity:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \"};class gh extends Va{applyTo2d(t){let{imageData:{data:e}}=t;for(let t,s=0;s<e.length;s+=4){const i=e[s],r=e[s+1],n=e[s+2];switch(this.mode){case\"average\":t=(i+r+n)/3;break;case\"lightness\":t=(Math.min(i,r,n)+Math.max(i,r,n))/2;break;case\"luminosity\":t=.21*i+.72*r+.07*n}e[s+2]=e[s+1]=e[s]=t}}getCacheKey(){return\"\".concat(this.type,\"_\").concat(this.mode)}getFragmentSource(){return dh[this.mode]}sendUniformData(t,e){t.uniform1i(e.uMode,1)}isNeutralState(){return!1}}t(gh,\"type\",\"Grayscale\"),t(gh,\"defaults\",{mode:\"average\"}),t(gh,\"uniformLocations\",[\"uMode\"]),tt.setClass(gh);const fh=s(s({},Ja),{},{rotation:0});class ph extends Qa{calculateMatrix(){const t=this.rotation*Math.PI,e=rt(t),s=nt(t),i=1/3,r=Math.sqrt(i)*s,n=1-e;this.matrix=[e+n/3,i*n-r,i*n+r,0,0,i*n+r,e+i*n,i*n-r,0,0,i*n-r,i*n+r,e+i*n,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(t){this.calculateMatrix(),super.applyTo(t)}toObject(){return{type:this.type,rotation:this.rotation}}}t(ph,\"type\",\"HueRotation\"),t(ph,\"defaults\",fh),tt.setClass(ph);class mh extends Va{applyTo2d(t){let{imageData:{data:e}}=t;for(let t=0;t<e.length;t+=4)e[t]=255-e[t],e[t+1]=255-e[t+1],e[t+2]=255-e[t+2],this.alpha&&(e[t+3]=255-e[t+3])}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uInvert;\\n uniform int uAlpha;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n if (uInvert == 1) {\\n if (uAlpha == 1) {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\\n } else {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n }\\n } else {\\n gl_FragColor = color;\\n }\\n }\\n\"}isNeutralState(){return!this.invert}sendUniformData(t,e){t.uniform1i(e.uInvert,Number(this.invert)),t.uniform1i(e.uAlpha,Number(this.alpha))}}t(mh,\"type\",\"Invert\"),t(mh,\"defaults\",{alpha:!1,invert:!0}),t(mh,\"uniformLocations\",[\"uInvert\",\"uAlpha\"]),tt.setClass(mh);class vh extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uStepH;\\n uniform float uNoise;\\n uniform float uSeed;\\n varying vec2 vTexCoord;\\n float rand(vec2 co, float seed, float vScale) {\\n return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n }\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.noise;for(let t=0;t<e.length;t+=4){const i=(.5-Math.random())*s;e[t]+=i,e[t+1]+=i,e[t+2]+=i}}sendUniformData(t,e){t.uniform1f(e.uNoise,this.noise/255),t.uniform1f(e.uSeed,Math.random())}isNeutralState(){return 0===this.noise}}t(vh,\"type\",\"Noise\"),t(vh,\"defaults\",{noise:0}),t(vh,\"uniformLocations\",[\"uNoise\",\"uSeed\"]),tt.setClass(vh);class yh extends Va{applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;for(let t=0;t<i;t+=this.blocksize)for(let r=0;r<s;r+=this.blocksize){const n=4*t*s+4*r,o=e[n],a=e[n+1],h=e[n+2],c=e[n+3];for(let n=t;n<Math.min(t+this.blocksize,i);n++)for(let t=r;t<Math.min(r+this.blocksize,s);t++){const i=4*n*s+4*t;e[i]=o,e[i+1]=a,e[i+2]=h,e[i+3]=c}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBlocksize;\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n float blockW = uBlocksize * uStepW;\\n float blockH = uBlocksize * uStepH;\\n int posX = int(vTexCoord.x / blockW);\\n int posY = int(vTexCoord.y / blockH);\\n float fposX = float(posX);\\n float fposY = float(posY);\\n vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n vec4 color = texture2D(uTexture, squareCoords);\\n gl_FragColor = color;\\n }\\n\"}sendUniformData(t,e){t.uniform1f(e.uBlocksize,this.blocksize)}}t(yh,\"type\",\"Pixelate\"),t(yh,\"defaults\",{blocksize:4}),t(yh,\"uniformLocations\",[\"uBlocksize\"]),tt.setClass(yh);class _h extends Va{getFragmentSource(){return\"\\nprecision highp float;\\nuniform sampler2D uTexture;\\nuniform vec4 uLow;\\nuniform vec4 uHigh;\\nvarying vec2 vTexCoord;\\nvoid main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n gl_FragColor.a = 0.0;\\n }\\n}\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=255*this.distance,i=new Ie(this.color).getSource(),r=[i[0]-s,i[1]-s,i[2]-s],n=[i[0]+s,i[1]+s,i[2]+s];for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],o=e[t+2];s>r[0]&&i>r[1]&&o>r[2]&&s<n[0]&&i<n[1]&&o<n[2]&&(e[t+3]=0)}}sendUniformData(t,e){const s=new Ie(this.color).getSource(),i=this.distance,r=[0+s[0]/255-i,0+s[1]/255-i,0+s[2]/255-i,1],n=[s[0]/255+i,s[1]/255+i,s[2]/255+i,1];t.uniform4fv(e.uLow,r),t.uniform4fv(e.uHigh,n)}}t(_h,\"type\",\"RemoveColor\"),t(_h,\"defaults\",{color:\"#FFFFFF\",distance:.02,useAlpha:!1}),t(_h,\"uniformLocations\",[\"uLow\",\"uHigh\"]),tt.setClass(_h);class xh extends Va{sendUniformData(t,e){t.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),t.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){const t=this.tempScale;return Math.ceil(this.lanczosLobes/t)}getCacheKey(){const t=this.getFilterWindow();return\"\".concat(this.type,\"_\").concat(t)}getFragmentSource(){const t=this.getFilterWindow();return this.generateShader(t)}getTaps(){const t=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,s=this.getFilterWindow(),i=new Array(s);for(let r=1;r<=s;r++)i[r-1]=t(r*e);return i}generateShader(t){const e=new Array(t);for(let s=1;s<=t;s++)e[s-1]=\"\".concat(s,\".0 * uDelta\");return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n uniform float uTaps[\".concat(t,\"];\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float sum = 1.0;\\n \").concat(e.map(((t,e)=>\"\\n color += texture2D(uTexture, vTexCoord + \".concat(t,\") * uTaps[\").concat(e,\"] + texture2D(uTexture, vTexCoord - \").concat(t,\") * uTaps[\").concat(e,\"];\\n sum += 2.0 * uTaps[\").concat(e,\"];\\n \"))).join(\"\\n\"),\"\\n gl_FragColor = color / sum;\\n }\\n \")}applyToForWebgl(t){t.passes++,this.width=t.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=t.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),t.destinationWidth=this.dW,super.applyTo(t),t.sourceWidth=t.destinationWidth,this.height=t.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),t.destinationHeight=this.dH,super.applyTo(t),t.sourceHeight=t.destinationHeight}applyTo(t){La(t)?this.applyToForWebgl(t):this.applyTo2d(t)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(t){return e=>{if(e>=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;const s=(e*=Math.PI)/t;return Math.sin(e)/e*Math.sin(s)/s}}applyTo2d(t){const e=t.imageData,s=this.scaleX,i=this.scaleY;this.rcpScaleX=1/s,this.rcpScaleY=1/i;const r=e.width,n=e.height,o=Math.round(r*s),a=Math.round(n*i);let h;h=\"sliceHack\"===this.resizeType?this.sliceByTwo(t,r,n,o,a):\"hermite\"===this.resizeType?this.hermiteFastResize(t,r,n,o,a):\"bilinear\"===this.resizeType?this.bilinearFiltering(t,r,n,o,a):\"lanczos\"===this.resizeType?this.lanczosResize(t,r,n,o,a):new ImageData(o,a),t.imageData=h}sliceByTwo(t,e,s,i,r){const n=t.imageData,o=.5;let a=!1,h=!1,c=e*o,l=s*o;const u=t.filterBackend.resources;let d=0,g=0;const f=e;let p=0;u.sliceByTwo||(u.sliceByTwo=pt());const m=u.sliceByTwo;(m.width<1.5*e||m.height<s)&&(m.width=1.5*e,m.height=s);const v=m.getContext(\"2d\");for(v.clearRect(0,0,1.5*e,s),v.putImageData(n,0,0),i=Math.floor(i),r=Math.floor(r);!a||!h;)e=c,s=l,i<Math.floor(c*o)?c=Math.floor(c*o):(c=i,a=!0),r<Math.floor(l*o)?l=Math.floor(l*o):(l=r,h=!0),v.drawImage(m,d,g,e,s,f,p,c,l),d=f,g=p,p+=l;return v.getImageData(d,g,i,r)}lanczosResize(t,e,s,i,r){const n=t.imageData.data,o=t.ctx.createImageData(i,r),a=o.data,h=this.lanczosCreate(this.lanczosLobes),c=this.rcpScaleX,l=this.rcpScaleY,u=2/this.rcpScaleX,d=2/this.rcpScaleY,g=Math.ceil(c*this.lanczosLobes/2),f=Math.ceil(l*this.lanczosLobes/2),p={},m={x:0,y:0},v={x:0,y:0};return function t(y){let _,x,C,b,S,w,T,O,k,D,M;for(m.x=(y+.5)*c,v.x=Math.floor(m.x),_=0;_<r;_++){for(m.y=(_+.5)*l,v.y=Math.floor(m.y),S=0,w=0,T=0,O=0,k=0,x=v.x-g;x<=v.x+g;x++)if(!(x<0||x>=e)){D=Math.floor(1e3*Math.abs(x-m.x)),p[D]||(p[D]={});for(let t=v.y-f;t<=v.y+f;t++)t<0||t>=s||(M=Math.floor(1e3*Math.abs(t-m.y)),p[D][M]||(p[D][M]=h(Math.sqrt(Math.pow(D*u,2)+Math.pow(M*d,2))/1e3)),C=p[D][M],C>0&&(b=4*(t*e+x),S+=C,w+=C*n[b],T+=C*n[b+1],O+=C*n[b+2],k+=C*n[b+3]))}b=4*(_*i+y),a[b]=w/S,a[b+1]=T/S,a[b+2]=O/S,a[b+3]=k/S}return++y<i?t(y):o}(0)}bilinearFiltering(t,e,s,i,r){let n,o,a,h,c,l,u,d,g,f,p,m,v,y=0;const _=this.rcpScaleX,x=this.rcpScaleY,C=4*(e-1),b=t.imageData.data,S=t.ctx.createImageData(i,r),w=S.data;for(u=0;u<r;u++)for(d=0;d<i;d++)for(c=Math.floor(_*d),l=Math.floor(x*u),g=_*d-c,f=x*u-l,v=4*(l*e+c),p=0;p<4;p++)n=b[v+p],o=b[v+4+p],a=b[v+C+p],h=b[v+C+4+p],m=n*(1-g)*(1-f)+o*g*(1-f)+a*f*(1-g)+h*g*f,w[y++]=m;return S}hermiteFastResize(t,e,s,i,r){const n=this.rcpScaleX,o=this.rcpScaleY,a=Math.ceil(n/2),h=Math.ceil(o/2),c=t.imageData.data,l=t.ctx.createImageData(i,r),u=l.data;for(let t=0;t<r;t++)for(let s=0;s<i;s++){const r=4*(s+t*i);let l=0,d=0,g=0,f=0,p=0,m=0,v=0;const y=(t+.5)*o;for(let i=Math.floor(t*o);i<(t+1)*o;i++){const t=Math.abs(y-(i+.5))/h,r=(s+.5)*n,o=t*t;for(let t=Math.floor(s*n);t<(s+1)*n;t++){let s=Math.abs(r-(t+.5))/a;const n=Math.sqrt(o+s*s);n>1&&n<-1||(l=2*n*n*n-3*n*n+1,l>0&&(s=4*(t+i*e),v+=l*c[s+3],g+=l,c[s+3]<255&&(l=l*c[s+3]/250),f+=l*c[s],p+=l*c[s+1],m+=l*c[s+2],d+=l))}}u[r]=f/d,u[r+1]=p/d,u[r+2]=m/d,u[r+3]=v/g}return l}}t(xh,\"type\",\"Resize\"),t(xh,\"defaults\",{resizeType:\"hermite\",scaleX:1,scaleY:1,lanczosLobes:3}),t(xh,\"uniformLocations\",[\"uDelta\",\"uTaps\"]),tt.setClass(xh);class Ch extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uSaturation;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float rgMax = max(color.r, color.g);\\n float rgbMax = max(rgMax, color.b);\\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.saturation;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n);e[t]+=o!==i?(o-i)*s:0,e[t+1]+=o!==r?(o-r)*s:0,e[t+2]+=o!==n?(o-n)*s:0}}sendUniformData(t,e){t.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}}t(Ch,\"type\",\"Saturation\"),t(Ch,\"defaults\",{saturation:0}),t(Ch,\"uniformLocations\",[\"uSaturation\"]),tt.setClass(Ch);class bh extends Va{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uVibrance;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float max = max(color.r, max(color.g, color.b));\\n float avg = (color.r + color.g + color.b) / 3.0;\\n float amt = (abs(max - avg) * 2.0) * uVibrance;\\n color.r += max != color.r ? (max - color.r) * amt : 0.00;\\n color.g += max != color.g ? (max - color.g) * amt : 0.00;\\n color.b += max != color.b ? (max - color.b) * amt : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n),a=(i+r+n)/3,h=2*Math.abs(o-a)/255*s;e[t]+=o!==i?(o-i)*h:0,e[t+1]+=o!==r?(o-r)*h:0,e[t+2]+=o!==n?(o-n)*h:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}}t(bh,\"type\",\"Vibrance\"),t(bh,\"defaults\",{vibrance:0}),t(bh,\"uniformLocations\",[\"uVibrance\"]),tt.setClass(bh);var Sh=Object.freeze({__proto__:null,BaseFilter:Va,BlackWhite:nh,BlendColor:Ga,BlendImage:Ua,Blur:qa,Brightness:Ka,Brownie:$a,ColorMatrix:Qa,Composed:oh,Contrast:ah,Convolute:ch,Gamma:uh,Grayscale:gh,HueRotation:ph,Invert:mh,Kodachrome:eh,Noise:vh,Pixelate:yh,Polaroid:ih,RemoveColor:_h,Resize:xh,Saturation:Ch,Sepia:rh,Technicolor:sh,Vibrance:bh,Vintage:th});export{Qo as ActiveSelection,so as BaseBrush,ei as BaseFabricObject,Xn as Canvas,Zo as Canvas2dFilterBackend,Pn as CanvasDOMManager,co as Circle,lo as CircleBrush,qo as ClipPathLayout,Ie as Color,ai as Control,xo as Ellipse,oa as FabricImage,Li as FabricObject,Ao as FabricText,Yr as FitContentLayout,Ko as FixedLayout,$n as Gradient,Ur as Group,No as IText,oa as Image,ji as InteractiveFabricObject,Qs as Intersection,Gr as LayoutManager,Xr as LayoutStrategy,vo as Line,Li as Object,st as Observable,no as Path,eo as Pattern,go as PatternBrush,oo as PencilBrush,ot as Point,To as Polygon,wo as Polyline,jr as Rect,Ds as Shadow,uo as SprayBrush,ie as StaticCanvas,te as StaticCanvasDOMManager,Ao as Text,Uo as Textbox,yo as Triangle,$o as WebGLFilterBackend,_ as cache,tt as classRegistry,o as config,Fa as controlsUtils,ct as createCollectionMixin,Sh as filters,pa as getCSSRules,p as getEnv,m as getFabricDocument,v as getFabricWindow,sa as getFilterBackend,T as iMatrix,ea as initFilterBackend,Ra as isPutImageFaster,La as isWebGLPipelineState,Ca as loadSVGFromString,ba as loadSVGFromURL,Pr as parseAttributes,Or as parseFontDeclaration,Co as parsePointsAttribute,xa as parseSVGDocument,Dr as parseStyleAttribute,wr as parseTransformAttribute,et as runningAnimations,f as setEnv,ia as setFilterBackend,Mn as util,x as version};\n//# sourceMappingURL=index.min.mjs.map\n","import { FunctionComponent } from 'preact';\nimport { useEffect, useRef, useState, useCallback } from 'preact/hooks';\nimport * as fabric from 'fabric';\n\nexport type AnnotationTool = 'select' | 'pen' | 'arrow' | 'rectangle' | 'circle' | 'text' | 'blur';\n\ninterface Point {\n x: number;\n y: number;\n}\n\ninterface FabricObjectWithStartPoint extends fabric.Object {\n _startPoint?: Point;\n}\n\ninterface AnnotationCanvasProps {\n screenshot: string;\n onSave: (annotatedImage: string, annotations: object) => void;\n onCancel: () => void;\n}\n\nconst COLORS = ['#ef4444', '#f97316', '#eab308', '#22c55e', '#3b82f6', '#8b5cf6', '#000000'];\nconst STROKE_WIDTHS = [2, 4, 6, 8];\n\nexport const AnnotationCanvas: FunctionComponent<AnnotationCanvasProps> = ({\n screenshot,\n onSave,\n onCancel,\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const canvasWrapperRef = useRef<HTMLDivElement>(null);\n const fabricRef = useRef<fabric.Canvas | null>(null);\n const [activeTool, setActiveTool] = useState<AnnotationTool>('select');\n const [activeColor, setActiveColor] = useState('#ef4444');\n const [strokeWidth, setStrokeWidth] = useState(4);\n const [canUndo, setCanUndo] = useState(false);\n const [canRedo, setCanRedo] = useState(false);\n const [zoomLevel, setZoomLevel] = useState(1);\n const [isPanning, setIsPanning] = useState(false);\n const historyRef = useRef<string[]>([]);\n const historyIndexRef = useRef(-1);\n const isDrawingRef = useRef(false);\n const isPanningRef = useRef(false);\n const lastPosRef = useRef<{ x: number; y: number } | null>(null);\n const originalDimensionsRef = useRef<{ width: number; height: number } | null>(null);\n\n // Initialize Fabric.js canvas\n useEffect(() => {\n if (!canvasRef.current) return;\n\n const canvas = new fabric.Canvas(canvasRef.current, {\n isDrawingMode: false,\n selection: true,\n });\n fabricRef.current = canvas;\n\n // Load screenshot as background\n fabric.FabricImage.fromURL(screenshot).then((img) => {\n // Store original dimensions for high-quality export\n originalDimensionsRef.current = {\n width: img.width || 800,\n height: img.height || 600,\n };\n\n // Scale image to fit container while maintaining aspect ratio\n // Get actual available space from the canvas wrapper element\n const wrapperRect = canvasWrapperRef.current?.getBoundingClientRect();\n const maxWidth = wrapperRect ? wrapperRect.width - 32 : 800; // 32px for padding\n const maxHeight = wrapperRect ? wrapperRect.height - 32 : 600;\n\n const scale = Math.min(\n maxWidth / (img.width || 800),\n maxHeight / (img.height || 600)\n );\n\n canvas.setDimensions({\n width: (img.width || 800) * scale,\n height: (img.height || 600) * scale,\n });\n\n img.scaleToWidth(canvas.width!);\n canvas.backgroundImage = img;\n canvas.renderAll();\n\n // Save initial state\n saveToHistory();\n });\n\n // Set up drawing brush\n canvas.freeDrawingBrush = new fabric.PencilBrush(canvas);\n canvas.freeDrawingBrush.color = activeColor;\n canvas.freeDrawingBrush.width = strokeWidth;\n\n // Object added handler\n canvas.on('object:added', () => {\n if (!isDrawingRef.current) {\n saveToHistory();\n }\n });\n\n canvas.on('path:created', () => {\n saveToHistory();\n });\n\n return () => {\n canvas.dispose();\n };\n }, [screenshot]);\n\n // Update brush when color/width changes\n useEffect(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n\n if (canvas.freeDrawingBrush) {\n canvas.freeDrawingBrush.color = activeColor;\n canvas.freeDrawingBrush.width = strokeWidth;\n }\n }, [activeColor, strokeWidth]);\n\n // Update drawing mode based on active tool\n useEffect(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n\n canvas.isDrawingMode = activeTool === 'pen';\n canvas.selection = activeTool === 'select';\n\n // Set cursor\n if (activeTool === 'select') {\n canvas.defaultCursor = 'default';\n } else if (activeTool === 'pen') {\n canvas.defaultCursor = 'crosshair';\n } else {\n canvas.defaultCursor = 'crosshair';\n }\n }, [activeTool]);\n\n const saveToHistory = useCallback(() => {\n if (!fabricRef.current) return;\n\n const json = JSON.stringify(fabricRef.current.toJSON());\n\n // Remove any future history if we're not at the end\n historyRef.current = historyRef.current.slice(0, historyIndexRef.current + 1);\n\n historyRef.current.push(json);\n historyIndexRef.current = historyRef.current.length - 1;\n\n setCanUndo(historyIndexRef.current > 0);\n setCanRedo(false);\n }, []);\n\n const undo = useCallback(() => {\n if (!fabricRef.current || historyIndexRef.current <= 0) return;\n\n historyIndexRef.current--;\n const json = historyRef.current[historyIndexRef.current];\n\n fabricRef.current.loadFromJSON(JSON.parse(json)).then(() => {\n fabricRef.current?.renderAll();\n setCanUndo(historyIndexRef.current > 0);\n setCanRedo(historyIndexRef.current < historyRef.current.length - 1);\n });\n }, []);\n\n const redo = useCallback(() => {\n if (!fabricRef.current || historyIndexRef.current >= historyRef.current.length - 1) return;\n\n historyIndexRef.current++;\n const json = historyRef.current[historyIndexRef.current];\n\n fabricRef.current.loadFromJSON(JSON.parse(json)).then(() => {\n fabricRef.current?.renderAll();\n setCanUndo(historyIndexRef.current > 0);\n setCanRedo(historyIndexRef.current < historyRef.current.length - 1);\n });\n }, []);\n\n // Handle shape drawing\n const handleCanvasMouseDown = useCallback((e: fabric.TPointerEventInfo) => {\n if (!fabricRef.current || activeTool === 'pen' || activeTool === 'select') return;\n\n isDrawingRef.current = true;\n const canvas = fabricRef.current;\n const pointer = canvas.getViewportPoint(e.e as MouseEvent);\n\n let shape: fabric.FabricObject | null = null;\n\n switch (activeTool) {\n case 'rectangle':\n shape = new fabric.Rect({\n left: pointer.x,\n top: pointer.y,\n width: 0,\n height: 0,\n stroke: activeColor,\n strokeWidth: strokeWidth,\n fill: 'transparent',\n selectable: true,\n });\n break;\n\n case 'circle':\n shape = new fabric.Ellipse({\n left: pointer.x,\n top: pointer.y,\n rx: 0,\n ry: 0,\n stroke: activeColor,\n strokeWidth: strokeWidth,\n fill: 'transparent',\n selectable: true,\n });\n break;\n\n case 'arrow':\n shape = new fabric.Line([pointer.x, pointer.y, pointer.x, pointer.y], {\n stroke: activeColor,\n strokeWidth: strokeWidth,\n selectable: true,\n });\n break;\n\n case 'text':\n shape = new fabric.IText('Text', {\n left: pointer.x,\n top: pointer.y,\n fontSize: 20,\n fill: activeColor,\n selectable: true,\n editable: true,\n });\n canvas.add(shape);\n canvas.setActiveObject(shape);\n (shape as fabric.IText).enterEditing();\n isDrawingRef.current = false;\n return;\n\n case 'blur':\n shape = new fabric.Rect({\n left: pointer.x,\n top: pointer.y,\n width: 0,\n height: 0,\n fill: 'rgba(128, 128, 128, 0.8)',\n stroke: '#666',\n strokeWidth: 1,\n selectable: true,\n });\n break;\n }\n\n if (shape) {\n (shape as FabricObjectWithStartPoint)._startPoint = { x: pointer.x, y: pointer.y };\n canvas.add(shape);\n canvas.setActiveObject(shape);\n }\n }, [activeTool, activeColor, strokeWidth]);\n\n const handleCanvasMouseMove = useCallback((e: fabric.TPointerEventInfo) => {\n if (!fabricRef.current || !isDrawingRef.current) return;\n\n const canvas = fabricRef.current;\n const activeObject = canvas.getActiveObject() as FabricObjectWithStartPoint;\n if (!activeObject || !activeObject._startPoint) return;\n\n const pointer = canvas.getViewportPoint(e.e as MouseEvent);\n const startPoint = activeObject._startPoint;\n\n if (activeObject instanceof fabric.Rect) {\n const width = pointer.x - startPoint.x;\n const height = pointer.y - startPoint.y;\n\n activeObject.set({\n left: width > 0 ? startPoint.x : pointer.x,\n top: height > 0 ? startPoint.y : pointer.y,\n width: Math.abs(width),\n height: Math.abs(height),\n });\n } else if (activeObject instanceof fabric.Ellipse) {\n const rx = Math.abs(pointer.x - startPoint.x) / 2;\n const ry = Math.abs(pointer.y - startPoint.y) / 2;\n\n activeObject.set({\n left: Math.min(startPoint.x, pointer.x),\n top: Math.min(startPoint.y, pointer.y),\n rx,\n ry,\n });\n } else if (activeObject instanceof fabric.Line) {\n activeObject.set({\n x2: pointer.x,\n y2: pointer.y,\n });\n }\n\n canvas.renderAll();\n }, []);\n\n const handleCanvasMouseUp = useCallback(() => {\n if (isDrawingRef.current) {\n isDrawingRef.current = false;\n saveToHistory();\n }\n }, [saveToHistory]);\n\n // Set up mouse event handlers\n useEffect(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n\n canvas.on('mouse:down', handleCanvasMouseDown);\n canvas.on('mouse:move', handleCanvasMouseMove);\n canvas.on('mouse:up', handleCanvasMouseUp);\n\n return () => {\n canvas.off('mouse:down', handleCanvasMouseDown);\n canvas.off('mouse:move', handleCanvasMouseMove);\n canvas.off('mouse:up', handleCanvasMouseUp);\n };\n }, [handleCanvasMouseDown, handleCanvasMouseMove, handleCanvasMouseUp]);\n\n const handleSave = useCallback(() => {\n if (!fabricRef.current) return;\n\n const canvas = fabricRef.current;\n\n // Save current zoom and viewport state\n const currentZoom = canvas.getZoom();\n const currentViewport = canvas.viewportTransform?.slice() || [1, 0, 0, 1, 0, 0];\n\n // Reset zoom and viewport to export full image (not just zoomed area)\n canvas.setZoom(1);\n canvas.setViewportTransform([1, 0, 0, 1, 0, 0]);\n canvas.renderAll();\n\n // Calculate multiplier to export at original resolution\n const originalDimensions = originalDimensionsRef.current;\n const multiplier = originalDimensions\n ? originalDimensions.width / (canvas.width || 1)\n : 1;\n\n // Get annotated image as data URL at original resolution\n const dataUrl = canvas.toDataURL({\n format: 'png',\n quality: 1,\n multiplier: multiplier,\n });\n\n // Restore zoom and viewport\n canvas.setZoom(currentZoom);\n canvas.setViewportTransform(currentViewport as [number, number, number, number, number, number]);\n canvas.renderAll();\n\n // Get annotations as JSON (excluding background)\n const objects = canvas.getObjects();\n const annotations = objects.map((obj) => obj.toObject());\n\n onSave(dataUrl, { objects: annotations });\n }, [onSave]);\n\n const deleteSelected = useCallback(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n const activeObjects = canvas.getActiveObjects();\n\n if (activeObjects.length > 0) {\n activeObjects.forEach((obj) => canvas.remove(obj));\n canvas.discardActiveObject();\n canvas.renderAll();\n saveToHistory();\n }\n }, [saveToHistory]);\n\n const handleZoomIn = useCallback(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n const newZoom = Math.min(zoomLevel * 1.2, 3); // Max 3x zoom\n\n // Zoom to center of viewport\n const center = new fabric.Point(canvas.width! / 2, canvas.height! / 2);\n canvas.zoomToPoint(center, newZoom);\n setZoomLevel(newZoom);\n }, [zoomLevel]);\n\n const handleZoomOut = useCallback(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n const newZoom = Math.max(zoomLevel / 1.2, 0.5); // Min 0.5x zoom\n\n // Zoom to center of viewport\n const center = new fabric.Point(canvas.width! / 2, canvas.height! / 2);\n canvas.zoomToPoint(center, newZoom);\n setZoomLevel(newZoom);\n }, [zoomLevel]);\n\n const handleZoomReset = useCallback(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n setZoomLevel(1);\n canvas.setZoom(1);\n canvas.setViewportTransform([1, 0, 0, 1, 0, 0]); // Reset pan as well\n canvas.renderAll();\n }, []);\n\n // Panning functionality (hold Space to pan)\n useEffect(() => {\n if (!fabricRef.current) return;\n const canvas = fabricRef.current;\n\n const handleMouseDown = (opt: fabric.TPointerEventInfo) => {\n const evt = opt.e as MouseEvent;\n if (evt.buttons === 2 || (evt.buttons === 1 && isPanning)) {\n // Right click or left click while panning mode\n evt.preventDefault();\n isPanningRef.current = true;\n canvas.selection = false;\n lastPosRef.current = { x: evt.clientX, y: evt.clientY };\n canvas.setCursor('grabbing');\n }\n };\n\n const handleMouseMove = (opt: fabric.TPointerEventInfo) => {\n if (isPanningRef.current && lastPosRef.current) {\n const evt = opt.e as MouseEvent;\n const vpt = canvas.viewportTransform!;\n vpt[4] += evt.clientX - lastPosRef.current.x;\n vpt[5] += evt.clientY - lastPosRef.current.y;\n canvas.requestRenderAll();\n lastPosRef.current = { x: evt.clientX, y: evt.clientY };\n }\n };\n\n const handleMouseUp = () => {\n if (isPanningRef.current) {\n isPanningRef.current = false;\n lastPosRef.current = null;\n canvas.setCursor(isPanning ? 'grab' : 'default');\n }\n };\n\n canvas.on('mouse:down', handleMouseDown);\n canvas.on('mouse:move', handleMouseMove);\n canvas.on('mouse:up', handleMouseUp);\n\n return () => {\n canvas.off('mouse:down', handleMouseDown);\n canvas.off('mouse:move', handleMouseMove);\n canvas.off('mouse:up', handleMouseUp);\n };\n }, [isPanning]);\n\n // Keyboard shortcuts\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Space key for pan mode\n if (e.key === ' ' && !isPanning) {\n e.preventDefault();\n setIsPanning(true);\n if (fabricRef.current) {\n fabricRef.current.setCursor('grab');\n }\n }\n\n if (e.key === 'Delete' || e.key === 'Backspace') {\n const activeElement = document.activeElement;\n if (activeElement?.tagName !== 'INPUT' && activeElement?.tagName !== 'TEXTAREA') {\n deleteSelected();\n }\n }\n if ((e.ctrlKey || e.metaKey) && e.key === 'z') {\n e.preventDefault();\n if (e.shiftKey) {\n redo();\n } else {\n undo();\n }\n }\n };\n\n const handleKeyUp = (e: KeyboardEvent) => {\n // Release space key\n if (e.key === ' ' && isPanning) {\n setIsPanning(false);\n if (fabricRef.current) {\n fabricRef.current.setCursor('default');\n }\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n }, [deleteSelected, undo, redo, isPanning]);\n\n const ToolButton = ({ tool, icon, label }: { tool: AnnotationTool; icon: string; label: string }) => (\n <button\n class={`bugpin-tool-btn ${activeTool === tool ? 'active' : ''}`}\n onClick={() => setActiveTool(tool)}\n title={label}\n >\n <span dangerouslySetInnerHTML={{ __html: icon }} />\n </button>\n );\n\n return (\n <div class=\"bugpin-annotation-container\">\n {/* Toolbar */}\n <div class=\"bugpin-annotation-toolbar\">\n <div class=\"bugpin-tool-group\">\n <ToolButton\n tool=\"select\"\n label=\"Select\"\n icon='<svg viewBox=\"0 0 24 24\"><path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\" fill=\"currentColor\"/></svg>'\n />\n <ToolButton\n tool=\"pen\"\n label=\"Pen\"\n icon='<svg viewBox=\"0 0 24 24\"><path d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 000-1.41l-2.34-2.34a.996.996 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\" fill=\"currentColor\"/></svg>'\n />\n <ToolButton\n tool=\"arrow\"\n label=\"Arrow\"\n icon='<svg viewBox=\"0 0 24 24\"><path d=\"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\" fill=\"currentColor\"/></svg>'\n />\n <ToolButton\n tool=\"rectangle\"\n label=\"Rectangle\"\n icon='<svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"/></svg>'\n />\n <ToolButton\n tool=\"circle\"\n label=\"Circle\"\n icon='<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"/></svg>'\n />\n <ToolButton\n tool=\"text\"\n label=\"Text\"\n icon='<svg viewBox=\"0 0 24 24\"><path d=\"M5 4v3h5.5v12h3V7H19V4H5z\" fill=\"currentColor\"/></svg>'\n />\n <ToolButton\n tool=\"blur\"\n label=\"Blur/Mask\"\n icon='<svg viewBox=\"0 0 24 24\"><path d=\"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H8.9V6zM18 20H6V10h12v10z\" fill=\"currentColor\"/></svg>'\n />\n </div>\n\n <div class=\"bugpin-tool-divider\" />\n\n {/* Colors */}\n <div class=\"bugpin-color-picker\">\n {COLORS.map((color) => (\n <button\n key={color}\n class={`bugpin-color-btn ${activeColor === color ? 'active' : ''}`}\n style={{ backgroundColor: color }}\n onClick={() => setActiveColor(color)}\n title={color}\n />\n ))}\n </div>\n\n <div class=\"bugpin-tool-divider\" />\n\n {/* Stroke Width */}\n <div class=\"bugpin-stroke-picker\">\n {STROKE_WIDTHS.map((width) => (\n <button\n key={width}\n class={`bugpin-stroke-btn ${strokeWidth === width ? 'active' : ''}`}\n onClick={() => setStrokeWidth(width)}\n title={`${width}px`}\n >\n <span style={{ height: `${width}px` }} />\n </button>\n ))}\n </div>\n\n <div class=\"bugpin-tool-divider\" />\n\n {/* Undo/Redo */}\n <div class=\"bugpin-tool-group\">\n <button\n class=\"bugpin-tool-btn\"\n onClick={undo}\n disabled={!canUndo}\n title=\"Undo (Ctrl+Z)\"\n >\n <svg viewBox=\"0 0 24 24\"><path d=\"M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z\" fill=\"currentColor\"/></svg>\n </button>\n <button\n class=\"bugpin-tool-btn\"\n onClick={redo}\n disabled={!canRedo}\n title=\"Redo (Ctrl+Shift+Z)\"\n >\n <svg viewBox=\"0 0 24 24\"><path d=\"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z\" fill=\"currentColor\"/></svg>\n </button>\n <button\n class=\"bugpin-tool-btn\"\n onClick={deleteSelected}\n title=\"Delete selected (Del)\"\n >\n <svg viewBox=\"0 0 24 24\"><path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n\n <div class=\"bugpin-tool-divider\" />\n\n {/* Zoom Controls */}\n <div class=\"bugpin-tool-group\">\n <button\n class=\"bugpin-tool-btn\"\n onClick={handleZoomOut}\n disabled={zoomLevel <= 0.5}\n title=\"Zoom Out - Hold Space to pan when zoomed\"\n >\n <svg viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z\" fill=\"currentColor\"/></svg>\n </button>\n <button\n class=\"bugpin-tool-btn\"\n onClick={handleZoomReset}\n title={`Reset Zoom (${Math.round(zoomLevel * 100)}%) - Hold Space to pan`}\n >\n <svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z\" fill=\"currentColor\"/></svg>\n </button>\n <button\n class=\"bugpin-tool-btn\"\n onClick={handleZoomIn}\n disabled={zoomLevel >= 3}\n title=\"Zoom In - Hold Space to pan when zoomed\"\n >\n <svg viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zm.5-7H9v2H7v1h2v2h1v-2h2V9h-2z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </div>\n\n {/* Canvas */}\n <div class=\"bugpin-canvas-wrapper\" ref={canvasWrapperRef}>\n <canvas ref={canvasRef} />\n </div>\n\n {/* Actions */}\n <div class=\"bugpin-annotation-actions\">\n <button class=\"bugpin-btn-cancel\" onClick={onCancel}>\n Cancel\n </button>\n <button class=\"bugpin-btn-submit\" onClick={handleSave}>\n Done\n </button>\n </div>\n </div>\n );\n};\n","export function resolveUrl(url, baseUrl) {\n // url is absolute already\n if (url.match(/^[a-z]+:\\/\\//i)) {\n return url;\n }\n // url is absolute already, without protocol\n if (url.match(/^\\/\\//)) {\n return window.location.protocol + url;\n }\n // dataURI, mailto:, tel:, etc.\n if (url.match(/^[a-z]+:/i)) {\n return url;\n }\n const doc = document.implementation.createHTMLDocument();\n const base = doc.createElement('base');\n const a = doc.createElement('a');\n doc.head.appendChild(base);\n doc.body.appendChild(a);\n if (baseUrl) {\n base.href = baseUrl;\n }\n a.href = url;\n return a.href;\n}\nexport const uuid = (() => {\n // generate uuid for className of pseudo elements.\n // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.\n let counter = 0;\n // ref: http://stackoverflow.com/a/6248722/2519373\n const random = () => \n // eslint-disable-next-line no-bitwise\n `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);\n return () => {\n counter += 1;\n return `u${random()}${counter}`;\n };\n})();\nexport function delay(ms) {\n return (args) => new Promise((resolve) => {\n setTimeout(() => resolve(args), ms);\n });\n}\nexport function toArray(arrayLike) {\n const arr = [];\n for (let i = 0, l = arrayLike.length; i < l; i++) {\n arr.push(arrayLike[i]);\n }\n return arr;\n}\nlet styleProps = null;\nexport function getStyleProperties(options = {}) {\n if (styleProps) {\n return styleProps;\n }\n if (options.includeStyleProperties) {\n styleProps = options.includeStyleProperties;\n return styleProps;\n }\n styleProps = toArray(window.getComputedStyle(document.documentElement));\n return styleProps;\n}\nfunction px(node, styleProperty) {\n const win = node.ownerDocument.defaultView || window;\n const val = win.getComputedStyle(node).getPropertyValue(styleProperty);\n return val ? parseFloat(val.replace('px', '')) : 0;\n}\nfunction getNodeWidth(node) {\n const leftBorder = px(node, 'border-left-width');\n const rightBorder = px(node, 'border-right-width');\n return node.clientWidth + leftBorder + rightBorder;\n}\nfunction getNodeHeight(node) {\n const topBorder = px(node, 'border-top-width');\n const bottomBorder = px(node, 'border-bottom-width');\n return node.clientHeight + topBorder + bottomBorder;\n}\nexport function getImageSize(targetNode, options = {}) {\n const width = options.width || getNodeWidth(targetNode);\n const height = options.height || getNodeHeight(targetNode);\n return { width, height };\n}\nexport function getPixelRatio() {\n let ratio;\n let FINAL_PROCESS;\n try {\n FINAL_PROCESS = process;\n }\n catch (e) {\n // pass\n }\n const val = FINAL_PROCESS && FINAL_PROCESS.env\n ? FINAL_PROCESS.env.devicePixelRatio\n : null;\n if (val) {\n ratio = parseInt(val, 10);\n if (Number.isNaN(ratio)) {\n ratio = 1;\n }\n }\n return ratio || window.devicePixelRatio || 1;\n}\n// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size\nconst canvasDimensionLimit = 16384;\nexport function checkCanvasDimensions(canvas) {\n if (canvas.width > canvasDimensionLimit ||\n canvas.height > canvasDimensionLimit) {\n if (canvas.width > canvasDimensionLimit &&\n canvas.height > canvasDimensionLimit) {\n if (canvas.width > canvas.height) {\n canvas.height *= canvasDimensionLimit / canvas.width;\n canvas.width = canvasDimensionLimit;\n }\n else {\n canvas.width *= canvasDimensionLimit / canvas.height;\n canvas.height = canvasDimensionLimit;\n }\n }\n else if (canvas.width > canvasDimensionLimit) {\n canvas.height *= canvasDimensionLimit / canvas.width;\n canvas.width = canvasDimensionLimit;\n }\n else {\n canvas.width *= canvasDimensionLimit / canvas.height;\n canvas.height = canvasDimensionLimit;\n }\n }\n}\nexport function canvasToBlob(canvas, options = {}) {\n if (canvas.toBlob) {\n return new Promise((resolve) => {\n canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);\n });\n }\n return new Promise((resolve) => {\n const binaryString = window.atob(canvas\n .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)\n .split(',')[1]);\n const len = binaryString.length;\n const binaryArray = new Uint8Array(len);\n for (let i = 0; i < len; i += 1) {\n binaryArray[i] = binaryString.charCodeAt(i);\n }\n resolve(new Blob([binaryArray], {\n type: options.type ? options.type : 'image/png',\n }));\n });\n}\nexport function createImage(url) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => {\n img.decode().then(() => {\n requestAnimationFrame(() => resolve(img));\n });\n };\n img.onerror = reject;\n img.crossOrigin = 'anonymous';\n img.decoding = 'async';\n img.src = url;\n });\n}\nexport async function svgToDataURL(svg) {\n return Promise.resolve()\n .then(() => new XMLSerializer().serializeToString(svg))\n .then(encodeURIComponent)\n .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);\n}\nexport async function nodeToDataURL(node, width, height) {\n const xmlns = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(xmlns, 'svg');\n const foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttribute('width', `${width}`);\n svg.setAttribute('height', `${height}`);\n svg.setAttribute('viewBox', `0 0 ${width} ${height}`);\n foreignObject.setAttribute('width', '100%');\n foreignObject.setAttribute('height', '100%');\n foreignObject.setAttribute('x', '0');\n foreignObject.setAttribute('y', '0');\n foreignObject.setAttribute('externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svgToDataURL(svg);\n}\nexport const isInstanceOfElement = (node, instance) => {\n if (node instanceof instance)\n return true;\n const nodePrototype = Object.getPrototypeOf(node);\n if (nodePrototype === null)\n return false;\n return (nodePrototype.constructor.name === instance.name ||\n isInstanceOfElement(nodePrototype, instance));\n};\n//# sourceMappingURL=util.js.map","import { uuid, getStyleProperties } from './util';\nfunction formatCSSText(style) {\n const content = style.getPropertyValue('content');\n return `${style.cssText} content: '${content.replace(/'|\"/g, '')}';`;\n}\nfunction formatCSSProperties(style, options) {\n return getStyleProperties(options)\n .map((name) => {\n const value = style.getPropertyValue(name);\n const priority = style.getPropertyPriority(name);\n return `${name}: ${value}${priority ? ' !important' : ''};`;\n })\n .join(' ');\n}\nfunction getPseudoElementStyle(className, pseudo, style, options) {\n const selector = `.${className}:${pseudo}`;\n const cssText = style.cssText\n ? formatCSSText(style)\n : formatCSSProperties(style, options);\n return document.createTextNode(`${selector}{${cssText}}`);\n}\nfunction clonePseudoElement(nativeNode, clonedNode, pseudo, options) {\n const style = window.getComputedStyle(nativeNode, pseudo);\n const content = style.getPropertyValue('content');\n if (content === '' || content === 'none') {\n return;\n }\n const className = uuid();\n try {\n clonedNode.className = `${clonedNode.className} ${className}`;\n }\n catch (err) {\n return;\n }\n const styleElement = document.createElement('style');\n styleElement.appendChild(getPseudoElementStyle(className, pseudo, style, options));\n clonedNode.appendChild(styleElement);\n}\nexport function clonePseudoElements(nativeNode, clonedNode, options) {\n clonePseudoElement(nativeNode, clonedNode, ':before', options);\n clonePseudoElement(nativeNode, clonedNode, ':after', options);\n}\n//# sourceMappingURL=clone-pseudos.js.map","const WOFF = 'application/font-woff';\nconst JPEG = 'image/jpeg';\nconst mimes = {\n woff: WOFF,\n woff2: WOFF,\n ttf: 'application/font-truetype',\n eot: 'application/vnd.ms-fontobject',\n png: 'image/png',\n jpg: JPEG,\n jpeg: JPEG,\n gif: 'image/gif',\n tiff: 'image/tiff',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n};\nfunction getExtension(url) {\n const match = /\\.([^./]*?)$/g.exec(url);\n return match ? match[1] : '';\n}\nexport function getMimeType(url) {\n const extension = getExtension(url).toLowerCase();\n return mimes[extension] || '';\n}\n//# sourceMappingURL=mimes.js.map","function getContentFromDataUrl(dataURL) {\n return dataURL.split(/,/)[1];\n}\nexport function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n}\nexport function makeDataUrl(content, mimeType) {\n return `data:${mimeType};base64,${content}`;\n}\nexport async function fetchAsDataURL(url, init, process) {\n const res = await fetch(url, init);\n if (res.status === 404) {\n throw new Error(`Resource \"${res.url}\" not found`);\n }\n const blob = await res.blob();\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = () => {\n try {\n resolve(process({ res, result: reader.result }));\n }\n catch (error) {\n reject(error);\n }\n };\n reader.readAsDataURL(blob);\n });\n}\nconst cache = {};\nfunction getCacheKey(url, contentType, includeQueryParams) {\n let key = url.replace(/\\?.*/, '');\n if (includeQueryParams) {\n key = url;\n }\n // font resource\n if (/ttf|otf|eot|woff2?/i.test(key)) {\n key = key.replace(/.*\\//, '');\n }\n return contentType ? `[${contentType}]${key}` : key;\n}\nexport async function resourceToDataURL(resourceUrl, contentType, options) {\n const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);\n if (cache[cacheKey] != null) {\n return cache[cacheKey];\n }\n // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n if (options.cacheBust) {\n // eslint-disable-next-line no-param-reassign\n resourceUrl += (/\\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();\n }\n let dataURL;\n try {\n const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {\n if (!contentType) {\n // eslint-disable-next-line no-param-reassign\n contentType = res.headers.get('Content-Type') || '';\n }\n return getContentFromDataUrl(result);\n });\n dataURL = makeDataUrl(content, contentType);\n }\n catch (error) {\n dataURL = options.imagePlaceholder || '';\n let msg = `Failed to fetch resource: ${resourceUrl}`;\n if (error) {\n msg = typeof error === 'string' ? error : error.message;\n }\n if (msg) {\n console.warn(msg);\n }\n }\n cache[cacheKey] = dataURL;\n return dataURL;\n}\n//# sourceMappingURL=dataurl.js.map","import { clonePseudoElements } from './clone-pseudos';\nimport { createImage, toArray, isInstanceOfElement, getStyleProperties, } from './util';\nimport { getMimeType } from './mimes';\nimport { resourceToDataURL } from './dataurl';\nasync function cloneCanvasElement(canvas) {\n const dataURL = canvas.toDataURL();\n if (dataURL === 'data:,') {\n return canvas.cloneNode(false);\n }\n return createImage(dataURL);\n}\nasync function cloneVideoElement(video, options) {\n if (video.currentSrc) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n canvas.width = video.clientWidth;\n canvas.height = video.clientHeight;\n ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n const dataURL = canvas.toDataURL();\n return createImage(dataURL);\n }\n const poster = video.poster;\n const contentType = getMimeType(poster);\n const dataURL = await resourceToDataURL(poster, contentType, options);\n return createImage(dataURL);\n}\nasync function cloneIFrameElement(iframe, options) {\n var _a;\n try {\n if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {\n return (await cloneNode(iframe.contentDocument.body, options, true));\n }\n }\n catch (_b) {\n // Failed to clone iframe\n }\n return iframe.cloneNode(false);\n}\nasync function cloneSingleNode(node, options) {\n if (isInstanceOfElement(node, HTMLCanvasElement)) {\n return cloneCanvasElement(node);\n }\n if (isInstanceOfElement(node, HTMLVideoElement)) {\n return cloneVideoElement(node, options);\n }\n if (isInstanceOfElement(node, HTMLIFrameElement)) {\n return cloneIFrameElement(node, options);\n }\n return node.cloneNode(isSVGElement(node));\n}\nconst isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';\nconst isSVGElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SVG';\nasync function cloneChildren(nativeNode, clonedNode, options) {\n var _a, _b;\n if (isSVGElement(clonedNode)) {\n return clonedNode;\n }\n let children = [];\n if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {\n children = toArray(nativeNode.assignedNodes());\n }\n else if (isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n children = toArray(nativeNode.contentDocument.body.childNodes);\n }\n else {\n children = toArray(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);\n }\n if (children.length === 0 ||\n isInstanceOfElement(nativeNode, HTMLVideoElement)) {\n return clonedNode;\n }\n await children.reduce((deferred, child) => deferred\n .then(() => cloneNode(child, options))\n .then((clonedChild) => {\n if (clonedChild) {\n clonedNode.appendChild(clonedChild);\n }\n }), Promise.resolve());\n return clonedNode;\n}\nfunction cloneCSSStyle(nativeNode, clonedNode, options) {\n const targetStyle = clonedNode.style;\n if (!targetStyle) {\n return;\n }\n const sourceStyle = window.getComputedStyle(nativeNode);\n if (sourceStyle.cssText) {\n targetStyle.cssText = sourceStyle.cssText;\n targetStyle.transformOrigin = sourceStyle.transformOrigin;\n }\n else {\n getStyleProperties(options).forEach((name) => {\n let value = sourceStyle.getPropertyValue(name);\n if (name === 'font-size' && value.endsWith('px')) {\n const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;\n value = `${reducedFont}px`;\n }\n if (isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n name === 'display' &&\n value === 'inline') {\n value = 'block';\n }\n if (name === 'd' && clonedNode.getAttribute('d')) {\n value = `path(${clonedNode.getAttribute('d')})`;\n }\n targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));\n });\n }\n}\nfunction cloneInputValue(nativeNode, clonedNode) {\n if (isInstanceOfElement(nativeNode, HTMLTextAreaElement)) {\n clonedNode.innerHTML = nativeNode.value;\n }\n if (isInstanceOfElement(nativeNode, HTMLInputElement)) {\n clonedNode.setAttribute('value', nativeNode.value);\n }\n}\nfunction cloneSelectValue(nativeNode, clonedNode) {\n if (isInstanceOfElement(nativeNode, HTMLSelectElement)) {\n const clonedSelect = clonedNode;\n const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));\n if (selectedOption) {\n selectedOption.setAttribute('selected', '');\n }\n }\n}\nfunction decorate(nativeNode, clonedNode, options) {\n if (isInstanceOfElement(clonedNode, Element)) {\n cloneCSSStyle(nativeNode, clonedNode, options);\n clonePseudoElements(nativeNode, clonedNode, options);\n cloneInputValue(nativeNode, clonedNode);\n cloneSelectValue(nativeNode, clonedNode);\n }\n return clonedNode;\n}\nasync function ensureSVGSymbols(clone, options) {\n const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];\n if (uses.length === 0) {\n return clone;\n }\n const processedDefs = {};\n for (let i = 0; i < uses.length; i++) {\n const use = uses[i];\n const id = use.getAttribute('xlink:href');\n if (id) {\n const exist = clone.querySelector(id);\n const definition = document.querySelector(id);\n if (!exist && definition && !processedDefs[id]) {\n // eslint-disable-next-line no-await-in-loop\n processedDefs[id] = (await cloneNode(definition, options, true));\n }\n }\n }\n const nodes = Object.values(processedDefs);\n if (nodes.length) {\n const ns = 'http://www.w3.org/1999/xhtml';\n const svg = document.createElementNS(ns, 'svg');\n svg.setAttribute('xmlns', ns);\n svg.style.position = 'absolute';\n svg.style.width = '0';\n svg.style.height = '0';\n svg.style.overflow = 'hidden';\n svg.style.display = 'none';\n const defs = document.createElementNS(ns, 'defs');\n svg.appendChild(defs);\n for (let i = 0; i < nodes.length; i++) {\n defs.appendChild(nodes[i]);\n }\n clone.appendChild(svg);\n }\n return clone;\n}\nexport async function cloneNode(node, options, isRoot) {\n if (!isRoot && options.filter && !options.filter(node)) {\n return null;\n }\n return Promise.resolve(node)\n .then((clonedNode) => cloneSingleNode(clonedNode, options))\n .then((clonedNode) => cloneChildren(node, clonedNode, options))\n .then((clonedNode) => decorate(node, clonedNode, options))\n .then((clonedNode) => ensureSVGSymbols(clonedNode, options));\n}\n//# sourceMappingURL=clone-node.js.map","import { resolveUrl } from './util';\nimport { getMimeType } from './mimes';\nimport { isDataUrl, makeDataUrl, resourceToDataURL } from './dataurl';\nconst URL_REGEX = /url\\((['\"]?)([^'\"]+?)\\1\\)/g;\nconst URL_WITH_FORMAT_REGEX = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g;\nconst FONT_SRC_REGEX = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g;\nfunction toRegex(url) {\n // eslint-disable-next-line no-useless-escape\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, 'g');\n}\nexport function parseURLs(cssText) {\n const urls = [];\n cssText.replace(URL_REGEX, (raw, quotation, url) => {\n urls.push(url);\n return raw;\n });\n return urls.filter((url) => !isDataUrl(url));\n}\nexport async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {\n try {\n const resolvedURL = baseURL ? resolveUrl(resourceURL, baseURL) : resourceURL;\n const contentType = getMimeType(resourceURL);\n let dataURL;\n if (getContentFromUrl) {\n const content = await getContentFromUrl(resolvedURL);\n dataURL = makeDataUrl(content, contentType);\n }\n else {\n dataURL = await resourceToDataURL(resolvedURL, contentType, options);\n }\n return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);\n }\n catch (error) {\n // pass\n }\n return cssText;\n}\nfunction filterPreferredFontFormat(str, { preferredFontFormat }) {\n return !preferredFontFormat\n ? str\n : str.replace(FONT_SRC_REGEX, (match) => {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];\n if (!format) {\n return '';\n }\n if (format === preferredFontFormat) {\n return `src: ${src};`;\n }\n }\n });\n}\nexport function shouldEmbed(url) {\n return url.search(URL_REGEX) !== -1;\n}\nexport async function embedResources(cssText, baseUrl, options) {\n if (!shouldEmbed(cssText)) {\n return cssText;\n }\n const filteredCSSText = filterPreferredFontFormat(cssText, options);\n const urls = parseURLs(filteredCSSText);\n return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));\n}\n//# sourceMappingURL=embed-resources.js.map","import { embedResources } from './embed-resources';\nimport { toArray, isInstanceOfElement } from './util';\nimport { isDataUrl, resourceToDataURL } from './dataurl';\nimport { getMimeType } from './mimes';\nasync function embedProp(propName, node, options) {\n var _a;\n const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);\n if (propValue) {\n const cssString = await embedResources(propValue, null, options);\n node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));\n return true;\n }\n return false;\n}\nasync function embedBackground(clonedNode, options) {\n ;\n (await embedProp('background', clonedNode, options)) ||\n (await embedProp('background-image', clonedNode, options));\n (await embedProp('mask', clonedNode, options)) ||\n (await embedProp('-webkit-mask', clonedNode, options)) ||\n (await embedProp('mask-image', clonedNode, options)) ||\n (await embedProp('-webkit-mask-image', clonedNode, options));\n}\nasync function embedImageNode(clonedNode, options) {\n const isImageElement = isInstanceOfElement(clonedNode, HTMLImageElement);\n if (!(isImageElement && !isDataUrl(clonedNode.src)) &&\n !(isInstanceOfElement(clonedNode, SVGImageElement) &&\n !isDataUrl(clonedNode.href.baseVal))) {\n return;\n }\n const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;\n const dataURL = await resourceToDataURL(url, getMimeType(url), options);\n await new Promise((resolve, reject) => {\n clonedNode.onload = resolve;\n clonedNode.onerror = options.onImageErrorHandler\n ? (...attributes) => {\n try {\n resolve(options.onImageErrorHandler(...attributes));\n }\n catch (error) {\n reject(error);\n }\n }\n : reject;\n const image = clonedNode;\n if (image.decode) {\n image.decode = resolve;\n }\n if (image.loading === 'lazy') {\n image.loading = 'eager';\n }\n if (isImageElement) {\n clonedNode.srcset = '';\n clonedNode.src = dataURL;\n }\n else {\n clonedNode.href.baseVal = dataURL;\n }\n });\n}\nasync function embedChildren(clonedNode, options) {\n const children = toArray(clonedNode.childNodes);\n const deferreds = children.map((child) => embedImages(child, options));\n await Promise.all(deferreds).then(() => clonedNode);\n}\nexport async function embedImages(clonedNode, options) {\n if (isInstanceOfElement(clonedNode, Element)) {\n await embedBackground(clonedNode, options);\n await embedImageNode(clonedNode, options);\n await embedChildren(clonedNode, options);\n }\n}\n//# sourceMappingURL=embed-images.js.map","export function applyStyle(node, options) {\n const { style } = node;\n if (options.backgroundColor) {\n style.backgroundColor = options.backgroundColor;\n }\n if (options.width) {\n style.width = `${options.width}px`;\n }\n if (options.height) {\n style.height = `${options.height}px`;\n }\n const manual = options.style;\n if (manual != null) {\n Object.keys(manual).forEach((key) => {\n style[key] = manual[key];\n });\n }\n return node;\n}\n//# sourceMappingURL=apply-style.js.map","import { toArray } from './util';\nimport { fetchAsDataURL } from './dataurl';\nimport { shouldEmbed, embedResources } from './embed-resources';\nconst cssFetchCache = {};\nasync function fetchCSS(url) {\n let cache = cssFetchCache[url];\n if (cache != null) {\n return cache;\n }\n const res = await fetch(url);\n const cssText = await res.text();\n cache = { url, cssText };\n cssFetchCache[url] = cache;\n return cache;\n}\nasync function embedFonts(data, options) {\n let cssText = data.cssText;\n const regexUrl = /url\\([\"']?([^\"')]+)[\"']?\\)/g;\n const fontLocs = cssText.match(/url\\([^)]+\\)/g) || [];\n const loadFonts = fontLocs.map(async (loc) => {\n let url = loc.replace(regexUrl, '$1');\n if (!url.startsWith('https://')) {\n url = new URL(url, data.url).href;\n }\n return fetchAsDataURL(url, options.fetchRequestInit, ({ result }) => {\n cssText = cssText.replace(loc, `url(${result})`);\n return [loc, result];\n });\n });\n return Promise.all(loadFonts).then(() => cssText);\n}\nfunction parseCSS(source) {\n if (source == null) {\n return [];\n }\n const result = [];\n const commentsRegex = /(\\/\\*[\\s\\S]*?\\*\\/)/gi;\n // strip out comments\n let cssText = source.replace(commentsRegex, '');\n // eslint-disable-next-line prefer-regex-literals\n const keyframesRegex = new RegExp('((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})', 'gi');\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const matches = keyframesRegex.exec(cssText);\n if (matches === null) {\n break;\n }\n result.push(matches[0]);\n }\n cssText = cssText.replace(keyframesRegex, '');\n const importRegex = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi;\n // to match css & media queries together\n const combinedCSSRegex = '((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]' +\n '*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})';\n // unified regex\n const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let matches = importRegex.exec(cssText);\n if (matches === null) {\n matches = unifiedRegex.exec(cssText);\n if (matches === null) {\n break;\n }\n else {\n importRegex.lastIndex = unifiedRegex.lastIndex;\n }\n }\n else {\n unifiedRegex.lastIndex = importRegex.lastIndex;\n }\n result.push(matches[0]);\n }\n return result;\n}\nasync function getCSSRules(styleSheets, options) {\n const ret = [];\n const deferreds = [];\n // First loop inlines imports\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item, index) => {\n if (item.type === CSSRule.IMPORT_RULE) {\n let importIndex = index + 1;\n const url = item.href;\n const deferred = fetchCSS(url)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) => parseCSS(cssText).forEach((rule) => {\n try {\n sheet.insertRule(rule, rule.startsWith('@import')\n ? (importIndex += 1)\n : sheet.cssRules.length);\n }\n catch (error) {\n console.error('Error inserting rule from remote css', {\n rule,\n error,\n });\n }\n }))\n .catch((e) => {\n console.error('Error loading remote css', e.toString());\n });\n deferreds.push(deferred);\n }\n });\n }\n catch (e) {\n const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];\n if (sheet.href != null) {\n deferreds.push(fetchCSS(sheet.href)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) => parseCSS(cssText).forEach((rule) => {\n inline.insertRule(rule, inline.cssRules.length);\n }))\n .catch((err) => {\n console.error('Error loading remote stylesheet', err);\n }));\n }\n console.error('Error inlining remote css file', e);\n }\n }\n });\n return Promise.all(deferreds).then(() => {\n // Second loop parses rules\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item) => {\n ret.push(item);\n });\n }\n catch (e) {\n console.error(`Error while reading CSS rules from ${sheet.href}`, e);\n }\n }\n });\n return ret;\n });\n}\nfunction getWebFontRules(cssRules) {\n return cssRules\n .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)\n .filter((rule) => shouldEmbed(rule.style.getPropertyValue('src')));\n}\nasync function parseWebFontRules(node, options) {\n if (node.ownerDocument == null) {\n throw new Error('Provided element is not within a Document');\n }\n const styleSheets = toArray(node.ownerDocument.styleSheets);\n const cssRules = await getCSSRules(styleSheets, options);\n return getWebFontRules(cssRules);\n}\nfunction normalizeFontFamily(font) {\n return font.trim().replace(/[\"']/g, '');\n}\nfunction getUsedFonts(node) {\n const fonts = new Set();\n function traverse(node) {\n const fontFamily = node.style.fontFamily || getComputedStyle(node).fontFamily;\n fontFamily.split(',').forEach((font) => {\n fonts.add(normalizeFontFamily(font));\n });\n Array.from(node.children).forEach((child) => {\n if (child instanceof HTMLElement) {\n traverse(child);\n }\n });\n }\n traverse(node);\n return fonts;\n}\nexport async function getWebFontCSS(node, options) {\n const rules = await parseWebFontRules(node, options);\n const usedFonts = getUsedFonts(node);\n const cssTexts = await Promise.all(rules\n .filter((rule) => usedFonts.has(normalizeFontFamily(rule.style.fontFamily)))\n .map((rule) => {\n const baseUrl = rule.parentStyleSheet\n ? rule.parentStyleSheet.href\n : null;\n return embedResources(rule.cssText, baseUrl, options);\n }));\n return cssTexts.join('\\n');\n}\nexport async function embedWebFonts(clonedNode, options) {\n const cssText = options.fontEmbedCSS != null\n ? options.fontEmbedCSS\n : options.skipFonts\n ? null\n : await getWebFontCSS(clonedNode, options);\n if (cssText) {\n const styleNode = document.createElement('style');\n const sytleContent = document.createTextNode(cssText);\n styleNode.appendChild(sytleContent);\n if (clonedNode.firstChild) {\n clonedNode.insertBefore(styleNode, clonedNode.firstChild);\n }\n else {\n clonedNode.appendChild(styleNode);\n }\n }\n}\n//# sourceMappingURL=embed-webfonts.js.map","import { cloneNode } from './clone-node';\nimport { embedImages } from './embed-images';\nimport { applyStyle } from './apply-style';\nimport { embedWebFonts, getWebFontCSS } from './embed-webfonts';\nimport { getImageSize, getPixelRatio, createImage, canvasToBlob, nodeToDataURL, checkCanvasDimensions, } from './util';\nexport async function toSvg(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const clonedNode = (await cloneNode(node, options, true));\n await embedWebFonts(clonedNode, options);\n await embedImages(clonedNode, options);\n applyStyle(clonedNode, options);\n const datauri = await nodeToDataURL(clonedNode, width, height);\n return datauri;\n}\nexport async function toCanvas(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const svg = await toSvg(node, options);\n const img = await createImage(svg);\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n const ratio = options.pixelRatio || getPixelRatio();\n const canvasWidth = options.canvasWidth || width;\n const canvasHeight = options.canvasHeight || height;\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n if (!options.skipAutoScale) {\n checkCanvasDimensions(canvas);\n }\n canvas.style.width = `${canvasWidth}`;\n canvas.style.height = `${canvasHeight}`;\n if (options.backgroundColor) {\n context.fillStyle = options.backgroundColor;\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n context.drawImage(img, 0, 0, canvas.width, canvas.height);\n return canvas;\n}\nexport async function toPixelData(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const canvas = await toCanvas(node, options);\n const ctx = canvas.getContext('2d');\n return ctx.getImageData(0, 0, width, height).data;\n}\nexport async function toPng(node, options = {}) {\n const canvas = await toCanvas(node, options);\n return canvas.toDataURL();\n}\nexport async function toJpeg(node, options = {}) {\n const canvas = await toCanvas(node, options);\n return canvas.toDataURL('image/jpeg', options.quality || 1);\n}\nexport async function toBlob(node, options = {}) {\n const canvas = await toCanvas(node, options);\n const blob = await canvasToBlob(canvas);\n return blob;\n}\nexport async function getFontEmbedCSS(node, options = {}) {\n return getWebFontCSS(node, options);\n}\n//# sourceMappingURL=index.js.map","import { toCanvas } from 'html-to-image';\n\nexport type CaptureMethod = 'visible' | 'fullpage' | 'element';\n\n/**\n * Capture screenshot using Screen Capture API\n * Requires user permission to select tab/window to capture\n * Provides pixel-perfect screenshots including videos, canvas, WebGL\n * @returns Base64 data URL of the screenshot\n */\nasync function captureWithScreenCaptureAPI(): Promise<string> {\n try {\n // Request screen capture permission\n const stream = await navigator.mediaDevices.getDisplayMedia({\n video: {\n displaySurface: 'browser', // Prefer browser tab\n } as MediaTrackConstraints,\n audio: false,\n });\n\n // Create video element to capture frame\n const video = document.createElement('video');\n video.srcObject = stream;\n video.autoplay = true;\n\n // Wait for video to be ready\n await new Promise<void>((resolve) => {\n video.onloadedmetadata = () => resolve();\n });\n\n // Wait a frame to ensure video is rendered\n await new Promise((resolve) => setTimeout(resolve, 100));\n\n // Create canvas and capture current frame\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('Failed to get canvas context');\n }\n\n // Draw video frame to canvas\n ctx.drawImage(video, 0, 0);\n\n // Stop the stream immediately\n stream.getTracks().forEach((track) => track.stop());\n\n // Convert to data URL\n return canvas.toDataURL('image/png');\n } catch (error) {\n if (error instanceof Error && error.name === 'NotAllowedError') {\n throw new Error('Screen capture permission denied');\n }\n throw error;\n }\n}\n\n/**\n * Capture screenshot of the current page using html-to-image\n * @param method Capture method: visible viewport, full page, or specific element\n * @param selector CSS selector for element capture (only used with 'element' method)\n * @param useScreenCaptureAPI Use Screen Capture API instead of DOM rendering\n * @returns Base64 data URL of the screenshot\n */\nexport async function captureScreenshot(\n method: CaptureMethod = 'visible',\n selector?: string,\n useScreenCaptureAPI: boolean = false\n): Promise<string> {\n // Use Screen Capture API if enabled\n if (useScreenCaptureAPI) {\n return captureWithScreenCaptureAPI();\n }\n // Get the element to capture\n let element: HTMLElement;\n\n switch (method) {\n case 'element':\n if (!selector) {\n throw new Error('Selector required for element capture');\n }\n const found = document.querySelector(selector);\n if (!found || !(found instanceof HTMLElement)) {\n throw new Error(`Element not found: ${selector}`);\n }\n element = found;\n break;\n\n case 'fullpage':\n element = document.documentElement;\n break;\n\n case 'visible':\n default:\n // Use documentElement to capture the full viewport including backgrounds\n element = document.documentElement;\n break;\n }\n\n // Hide the BugPin widget before capture\n const widget = document.getElementById('bugpin-widget');\n if (widget) {\n widget.style.display = 'none';\n }\n\n // For visible viewport capture, ensure html element fills viewport with background\n let originalHtmlStyles: { background?: string; minHeight?: string; minWidth?: string } = {};\n if (method === 'visible' && element === document.documentElement) {\n const htmlElement = document.documentElement as HTMLElement;\n const bodyStyles = window.getComputedStyle(document.body);\n\n // Save original styles\n originalHtmlStyles = {\n background: htmlElement.style.background || undefined,\n minHeight: htmlElement.style.minHeight || undefined,\n minWidth: htmlElement.style.minWidth || undefined,\n };\n\n // Temporarily set html to fill viewport with body's background\n htmlElement.style.minWidth = '100vw';\n htmlElement.style.minHeight = '100vh';\n htmlElement.style.background = bodyStyles.backgroundColor || bodyStyles.background || '#ffffff';\n }\n\n try {\n const dpr = window.devicePixelRatio || 1;\n\n // Capture options (based on capzone360 but with device pixel ratio for quality)\n const options: Parameters<typeof toCanvas>[1] = {\n cacheBust: true,\n quality: 1.0,\n pixelRatio: dpr, // Use device pixel ratio for better quality on retina displays\n skipAutoScale: true,\n filter: (node) => {\n if (node instanceof HTMLElement) {\n if (node.tagName === 'SCRIPT' || node.id === 'bugpin-widget') {\n return false;\n }\n }\n return true;\n },\n };\n\n // For visible viewport, explicitly set viewport dimensions\n if (method === 'visible') {\n options.width = window.innerWidth;\n options.height = window.innerHeight;\n\n // Debug: Log what we're capturing\n console.log('[BugPin] Capturing element:', element.tagName);\n console.log('[BugPin] Element dimensions:', {\n scrollWidth: element.scrollWidth,\n scrollHeight: element.scrollHeight,\n clientWidth: element.clientWidth,\n clientHeight: element.clientHeight,\n });\n console.log('[BugPin] Viewport dimensions:', {\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n });\n console.log('[BugPin] Capture options:', options);\n }\n\n // Capture to canvas\n const canvas = await toCanvas(element, options);\n\n // Convert to PNG\n return canvas.toDataURL('image/png');\n } finally {\n // Restore html element styles\n if (method === 'visible' && element === document.documentElement) {\n const htmlElement = document.documentElement as HTMLElement;\n if (originalHtmlStyles.background !== undefined) {\n htmlElement.style.background = originalHtmlStyles.background;\n } else {\n htmlElement.style.removeProperty('background');\n }\n if (originalHtmlStyles.minHeight !== undefined) {\n htmlElement.style.minHeight = originalHtmlStyles.minHeight;\n } else {\n htmlElement.style.removeProperty('min-height');\n }\n if (originalHtmlStyles.minWidth !== undefined) {\n htmlElement.style.minWidth = originalHtmlStyles.minWidth;\n } else {\n htmlElement.style.removeProperty('min-width');\n }\n }\n\n // Show the widget again\n if (widget) {\n widget.style.display = '';\n }\n }\n}\n\n/**\n * Convert data URL to Blob\n */\nexport function dataUrlToBlob(dataUrl: string): Blob {\n const parts = dataUrl.split(',');\n const mimeMatch = parts[0].match(/:(.*?);/);\n const mime = mimeMatch ? mimeMatch[1] : 'image/png';\n const binaryString = atob(parts[1]);\n const bytes = new Uint8Array(binaryString.length);\n\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n\n return new Blob([bytes], { type: mime });\n}\n\n/**\n * Get file extension from data URL\n */\nexport function getExtensionFromDataUrl(dataUrl: string): string {\n if (dataUrl.startsWith('data:image/webp')) {\n return 'webp';\n } else if (dataUrl.startsWith('data:image/jpeg')) {\n return 'jpg';\n } else if (dataUrl.startsWith('data:image/gif')) {\n return 'gif';\n }\n return 'png';\n}\n","export interface BrowserInfo {\n name: string;\n version: string;\n userAgent: string;\n}\n\nexport interface DeviceInfo {\n type: 'desktop' | 'tablet' | 'mobile';\n os: string;\n osVersion?: string;\n}\n\nexport interface ViewportInfo {\n width: number;\n height: number;\n devicePixelRatio: number;\n orientation?: 'landscape' | 'portrait';\n}\n\nexport interface ConsoleError {\n type: 'error' | 'warn' | 'log';\n message: string;\n source?: string;\n line?: number;\n timestamp: string;\n}\n\nexport interface PageContext {\n url: string;\n title?: string;\n referrer?: string;\n browser: BrowserInfo;\n device: DeviceInfo;\n viewport: ViewportInfo;\n timestamp: string;\n timezone?: string;\n pageLoadTime?: number;\n consoleErrors?: ConsoleError[];\n}\n\n// Store console errors\nconst capturedErrors: ConsoleError[] = [];\nlet isCapturing = false;\n\n/**\n * Start capturing console errors\n */\nexport function startErrorCapture(): void {\n if (isCapturing) return;\n isCapturing = true;\n\n // Capture console.error\n const originalError = console.error;\n console.error = (...args) => {\n capturedErrors.push({\n type: 'error',\n message: args.map((arg) => String(arg)).join(' '),\n timestamp: new Date().toISOString(),\n });\n originalError.apply(console, args);\n };\n\n // Capture console.warn\n const originalWarn = console.warn;\n console.warn = (...args) => {\n capturedErrors.push({\n type: 'warn',\n message: args.map((arg) => String(arg)).join(' '),\n timestamp: new Date().toISOString(),\n });\n originalWarn.apply(console, args);\n };\n\n // Capture window.onerror\n const originalOnError = window.onerror;\n window.onerror = (message, source, line, _column, _error) => {\n capturedErrors.push({\n type: 'error',\n message: String(message),\n source: source || undefined,\n line: line || undefined,\n timestamp: new Date().toISOString(),\n });\n if (originalOnError) {\n return originalOnError.apply(window, [message, source, line, _column, _error]);\n }\n return false;\n };\n\n // Capture unhandled promise rejections\n window.addEventListener('unhandledrejection', (event) => {\n capturedErrors.push({\n type: 'error',\n message: `Unhandled Promise Rejection: ${String(event.reason)}`,\n timestamp: new Date().toISOString(),\n });\n });\n}\n\n/**\n * Get browser information from user agent\n */\nfunction getBrowserInfo(): BrowserInfo {\n const ua = navigator.userAgent;\n let name = 'Unknown';\n let version = '';\n\n // Detect browser\n if (ua.includes('Firefox/')) {\n name = 'Firefox';\n version = ua.match(/Firefox\\/([\\d.]+)/)?.[1] || '';\n } else if (ua.includes('Edg/')) {\n name = 'Edge';\n version = ua.match(/Edg\\/([\\d.]+)/)?.[1] || '';\n } else if (ua.includes('Chrome/')) {\n name = 'Chrome';\n version = ua.match(/Chrome\\/([\\d.]+)/)?.[1] || '';\n } else if (ua.includes('Safari/') && !ua.includes('Chrome')) {\n name = 'Safari';\n version = ua.match(/Version\\/([\\d.]+)/)?.[1] || '';\n } else if (ua.includes('Opera/') || ua.includes('OPR/')) {\n name = 'Opera';\n version = ua.match(/(?:Opera|OPR)\\/([\\d.]+)/)?.[1] || '';\n }\n\n return { name, version, userAgent: ua };\n}\n\n/**\n * Get device information\n */\nfunction getDeviceInfo(): DeviceInfo {\n const ua = navigator.userAgent;\n let type: 'desktop' | 'tablet' | 'mobile' = 'desktop';\n let os = 'Unknown';\n let osVersion: string | undefined;\n\n // Detect device type\n if (/Mobi|Android|iPhone|iPad|iPod/i.test(ua)) {\n if (/iPad|Tablet/i.test(ua) || (window.innerWidth >= 768 && /Android/i.test(ua))) {\n type = 'tablet';\n } else {\n type = 'mobile';\n }\n }\n\n // Detect OS\n if (ua.includes('Windows')) {\n os = 'Windows';\n const versionMatch = ua.match(/Windows NT ([\\d.]+)/);\n if (versionMatch) {\n const ntVersion = versionMatch[1];\n const versionMap: Record<string, string> = {\n '10.0': '10/11',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': '7',\n '6.0': 'Vista',\n };\n osVersion = versionMap[ntVersion] || ntVersion;\n }\n } else if (ua.includes('Mac OS X')) {\n os = 'macOS';\n osVersion = ua.match(/Mac OS X ([\\d._]+)/)?.[1]?.replace(/_/g, '.');\n } else if (ua.includes('Linux')) {\n os = ua.includes('Android') ? 'Android' : 'Linux';\n if (os === 'Android') {\n osVersion = ua.match(/Android ([\\d.]+)/)?.[1];\n }\n } else if (ua.includes('iPhone') || ua.includes('iPad')) {\n os = 'iOS';\n osVersion = ua.match(/OS ([\\d_]+)/)?.[1]?.replace(/_/g, '.');\n }\n\n return { type, os, osVersion };\n}\n\n/**\n * Get viewport information\n */\nfunction getViewportInfo(): ViewportInfo {\n return {\n width: window.innerWidth,\n height: window.innerHeight,\n devicePixelRatio: window.devicePixelRatio,\n orientation: window.innerWidth > window.innerHeight ? 'landscape' : 'portrait',\n };\n}\n\n/**\n * Get page load time from Performance API\n */\nfunction getPageLoadTime(): number | undefined {\n try {\n const entries = performance.getEntriesByType('navigation');\n if (entries.length > 0) {\n const navEntry = entries[0] as PerformanceNavigationTiming;\n return Math.round(navEntry.loadEventEnd - navEntry.startTime);\n }\n } catch {\n // Performance API not available\n }\n return undefined;\n}\n\n/**\n * Capture all context information\n */\nexport function captureContext(): PageContext {\n return {\n url: window.location.href,\n title: document.title || undefined,\n referrer: document.referrer || undefined,\n browser: getBrowserInfo(),\n device: getDeviceInfo(),\n viewport: getViewportInfo(),\n timestamp: new Date().toISOString(),\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n pageLoadTime: getPageLoadTime(),\n consoleErrors: capturedErrors.length > 0 ? [...capturedErrors] : undefined,\n };\n}\n\n// Start capturing errors when module loads\nstartErrorCapture();\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst transactionDoneMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n // This mapping exists in reverseTransformCache but doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(this.request);\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n reverseTransformCache.set(proxiedCursor, unwrap(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\nexport { deleteDB, openDB, unwrap, wrap };\n","import { openDB, DBSchema, IDBPDatabase } from 'idb';\nimport { MediaItem } from '../api/submit.js';\nimport { dataUrlToBlob, getExtensionFromDataUrl } from '../capture/screenshot.js';\n\nconst DB_NAME = 'bugpin-reports';\nconst DB_VERSION = 2; // Bump version for schema change\nconst STORE_NAME = 'pending-reports';\n\n// Retry configuration\nconst MAX_RETRIES = 5;\nconst INITIAL_RETRY_DELAY = 5000; // 5 seconds\nconst MAX_RETRY_DELAY = 300000; // 5 minutes\nconst BACKOFF_MULTIPLIER = 2;\n\ninterface PendingReport {\n id: string;\n apiKey: string;\n serverUrl: string;\n title: string;\n description?: string;\n priority: string;\n reporterEmail?: string;\n reporterName?: string;\n media?: MediaItem[];\n metadata: object;\n createdAt: string;\n retryCount: number;\n lastRetryAt?: string;\n error?: string;\n}\n\ninterface ReportBufferDB extends DBSchema {\n 'pending-reports': {\n key: string;\n value: PendingReport;\n indexes: {\n 'by-created': string;\n };\n };\n}\n\nlet db: IDBPDatabase<ReportBufferDB> | null = null;\nlet syncInterval: ReturnType<typeof setInterval> | null = null;\n\n/**\n * Get file extension from mime type\n */\nfunction getExtensionFromMimeType(mimeType: string): string {\n const mimeMap: Record<string, string> = {\n 'image/png': 'png',\n 'image/jpeg': 'jpg',\n 'image/gif': 'gif',\n 'image/webp': 'webp',\n 'video/mp4': 'mp4',\n 'video/webm': 'webm',\n 'video/quicktime': 'mov',\n 'video/x-msvideo': 'avi',\n };\n return mimeMap[mimeType] || 'bin';\n}\n\n/**\n * Initialize the IndexedDB database\n */\nasync function initDB(): Promise<IDBPDatabase<ReportBufferDB>> {\n if (db) return db;\n\n try {\n db = await openDB<ReportBufferDB>(DB_NAME, DB_VERSION, {\n upgrade(database) {\n if (!database.objectStoreNames.contains(STORE_NAME)) {\n const store = database.createObjectStore(STORE_NAME, { keyPath: 'id' });\n store.createIndex('by-created', 'createdAt');\n }\n },\n });\n return db;\n } catch (error) {\n console.error('[BugPin] Failed to initialize IndexedDB:', error);\n throw error;\n }\n}\n\n/**\n * Generate a unique ID for pending reports\n */\nfunction generateId(): string {\n return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;\n}\n\n/**\n * Check if we're online\n */\nfunction isOnline(): boolean {\n return navigator.onLine !== false;\n}\n\n/**\n * Calculate next retry delay with exponential backoff\n */\nfunction getRetryDelay(retryCount: number): number {\n const delay = INITIAL_RETRY_DELAY * Math.pow(BACKOFF_MULTIPLIER, retryCount);\n return Math.min(delay, MAX_RETRY_DELAY);\n}\n\n/**\n * Add a report to the buffer (for offline storage)\n */\nexport async function bufferReport(report: Omit<PendingReport, 'id' | 'createdAt' | 'retryCount'>): Promise<string> {\n const database = await initDB();\n\n const pendingReport: PendingReport = {\n ...report,\n id: generateId(),\n createdAt: new Date().toISOString(),\n retryCount: 0,\n };\n\n await database.put(STORE_NAME, pendingReport);\n\n console.log('[BugPin] Report buffered for later submission:', pendingReport.id);\n\n // Try to sync if we're online\n if (isOnline()) {\n // Don't await - let it happen in background\n syncPendingReports().catch(console.error);\n }\n\n return pendingReport.id;\n}\n\n/**\n * Get all pending reports\n */\nexport async function getPendingReports(): Promise<PendingReport[]> {\n try {\n const database = await initDB();\n return await database.getAllFromIndex(STORE_NAME, 'by-created');\n } catch {\n return [];\n }\n}\n\n/**\n * Get count of pending reports\n */\nexport async function getPendingCount(): Promise<number> {\n try {\n const database = await initDB();\n return await database.count(STORE_NAME);\n } catch {\n return 0;\n }\n}\n\n/**\n * Remove a report from the buffer\n */\nexport async function removeBufferedReport(id: string): Promise<void> {\n try {\n const database = await initDB();\n await database.delete(STORE_NAME, id);\n console.log('[BugPin] Removed buffered report:', id);\n } catch (error) {\n console.error('[BugPin] Failed to remove buffered report:', error);\n }\n}\n\n/**\n * Update a buffered report (e.g., after a failed retry)\n */\nasync function updateBufferedReport(report: PendingReport): Promise<void> {\n try {\n const database = await initDB();\n await database.put(STORE_NAME, report);\n } catch (error) {\n console.error('[BugPin] Failed to update buffered report:', error);\n }\n}\n\n/**\n * Submit a single report to the server\n */\nasync function submitReport(report: PendingReport): Promise<boolean> {\n try {\n // Build URL with API key\n const url = new URL('/api/widget/submit', report.serverUrl);\n url.searchParams.set('apiKey', report.apiKey);\n\n // Create form data\n const formData = new FormData();\n\n // Add JSON data\n formData.append('data', JSON.stringify({\n title: report.title,\n description: report.description,\n priority: report.priority,\n reporterEmail: report.reporterEmail,\n reporterName: report.reporterName,\n metadata: report.metadata,\n mediaCount: report.media?.length || 0,\n mediaAnnotations: report.media?.map((item) => item.annotations).filter(Boolean),\n }));\n\n // Add media files\n if (report.media && report.media.length > 0) {\n for (let i = 0; i < report.media.length; i++) {\n const item = report.media[i];\n const blob = dataUrlToBlob(item.dataUrl);\n const ext = getExtensionFromDataUrl(item.dataUrl) || getExtensionFromMimeType(item.mimeType);\n const isVideo = item.mimeType.startsWith('video/');\n const prefix = isVideo ? 'video' : 'screenshot';\n formData.append('media', blob, `${prefix}-${i}.${ext}`);\n }\n }\n\n const serverResponse = await fetch(url.toString(), {\n method: 'POST',\n body: formData,\n });\n\n if (!serverResponse.ok) {\n const errorData = await serverResponse.json().catch(() => ({}));\n throw new Error((errorData as { message?: string }).message || `HTTP ${serverResponse.status}`);\n }\n\n return true;\n } catch (error) {\n console.error('[BugPin] Failed to submit buffered report:', error);\n throw error;\n }\n}\n\n/**\n * Sync all pending reports to the server\n */\nexport async function syncPendingReports(): Promise<{ synced: number; failed: number }> {\n if (!isOnline()) {\n console.log('[BugPin] Offline, skipping sync');\n return { synced: 0, failed: 0 };\n }\n\n const pending = await getPendingReports();\n\n if (pending.length === 0) {\n return { synced: 0, failed: 0 };\n }\n\n console.log(`[BugPin] Syncing ${pending.length} pending reports...`);\n\n let synced = 0;\n let failed = 0;\n\n for (const report of pending) {\n // Check if enough time has passed since last retry\n if (report.lastRetryAt) {\n const lastRetry = new Date(report.lastRetryAt).getTime();\n const nextRetryAt = lastRetry + getRetryDelay(report.retryCount);\n if (Date.now() < nextRetryAt) {\n continue; // Skip, not time yet\n }\n }\n\n try {\n await submitReport(report);\n await removeBufferedReport(report.id);\n synced++;\n console.log('[BugPin] Successfully synced report:', report.id);\n } catch (error) {\n failed++;\n\n // Update retry count\n report.retryCount++;\n report.lastRetryAt = new Date().toISOString();\n report.error = error instanceof Error ? error.message : 'Unknown error';\n\n // If max retries exceeded, remove the report\n if (report.retryCount >= MAX_RETRIES) {\n console.error('[BugPin] Max retries exceeded, removing report:', report.id);\n await removeBufferedReport(report.id);\n } else {\n await updateBufferedReport(report);\n console.log(`[BugPin] Report retry scheduled (attempt ${report.retryCount}/${MAX_RETRIES}):`, report.id);\n }\n }\n }\n\n return { synced, failed };\n}\n\n/**\n * Start automatic sync when coming back online\n */\nexport function startAutoSync(): void {\n // Sync when coming back online\n window.addEventListener('online', () => {\n console.log('[BugPin] Back online, syncing pending reports...');\n syncPendingReports().catch(console.error);\n });\n\n // Periodic sync every 30 seconds\n if (!syncInterval) {\n syncInterval = setInterval(() => {\n if (isOnline()) {\n syncPendingReports().catch(console.error);\n }\n }, 30000);\n }\n\n // Initial sync\n if (isOnline()) {\n syncPendingReports().catch(console.error);\n }\n}\n\n/**\n * Stop automatic sync\n */\nexport function stopAutoSync(): void {\n if (syncInterval) {\n clearInterval(syncInterval);\n syncInterval = null;\n }\n}\n\n/**\n * Clear all pending reports (for testing/debugging)\n */\nexport async function clearBuffer(): Promise<void> {\n try {\n const database = await initDB();\n await database.clear(STORE_NAME);\n console.log('[BugPin] Buffer cleared');\n } catch (error) {\n console.error('[BugPin] Failed to clear buffer:', error);\n }\n}\n\nexport const reportBuffer = {\n buffer: bufferReport,\n getPending: getPendingReports,\n getCount: getPendingCount,\n remove: removeBufferedReport,\n sync: syncPendingReports,\n startAutoSync,\n stopAutoSync,\n clear: clearBuffer,\n};\n","import { PageContext } from '../capture/context.js';\nimport { dataUrlToBlob, getExtensionFromDataUrl } from '../capture/screenshot.js';\nimport { bufferReport, startAutoSync } from '../storage/report-buffer.js';\n\n// Start auto-sync on module load\nstartAutoSync();\n\nexport interface MediaItem {\n dataUrl: string;\n mimeType: string;\n annotations?: object;\n}\n\nexport interface SubmitReportInput {\n apiKey: string;\n serverUrl: string;\n title: string;\n description?: string;\n priority: 'lowest' | 'low' | 'medium' | 'high' | 'highest';\n reporterEmail?: string;\n reporterName?: string;\n media?: MediaItem[];\n metadata: PageContext;\n}\n\ninterface SubmitResponse {\n success: boolean;\n reportId?: string;\n message?: string;\n error?: string;\n}\n\n/**\n * Check if we're online\n */\nfunction isOnline(): boolean {\n return navigator.onLine !== false;\n}\n\n/**\n * Get file extension from mime type\n */\nfunction getExtensionFromMimeType(mimeType: string): string {\n const mimeMap: Record<string, string> = {\n 'image/png': 'png',\n 'image/jpeg': 'jpg',\n 'image/gif': 'gif',\n 'image/webp': 'webp',\n 'video/mp4': 'mp4',\n 'video/webm': 'webm',\n 'video/quicktime': 'mov',\n 'video/x-msvideo': 'avi',\n };\n return mimeMap[mimeType] || 'bin';\n}\n\n/**\n * Submit a bug report to the server\n * If the submission fails due to network issues, the report is buffered for later retry\n */\nexport async function submitReport(input: SubmitReportInput): Promise<SubmitResponse> {\n const { apiKey, serverUrl, media, ...data } = input;\n\n // If offline, buffer immediately\n if (!isOnline()) {\n console.log('[BugPin] Offline, buffering report for later submission');\n await bufferReport({\n apiKey,\n serverUrl,\n title: data.title,\n description: data.description,\n priority: data.priority,\n reporterEmail: data.reporterEmail,\n reporterName: data.reporterName,\n media,\n metadata: data.metadata,\n });\n\n return {\n success: true,\n message: 'Report saved. It will be submitted when you\\'re back online.',\n };\n }\n\n // Build the URL\n const url = new URL('/api/widget/submit', serverUrl);\n url.searchParams.set('apiKey', apiKey);\n\n // Create form data for multipart upload\n const formData = new FormData();\n\n // Add JSON data\n formData.append('data', JSON.stringify({\n title: data.title,\n description: data.description,\n priority: data.priority,\n reporterEmail: data.reporterEmail,\n reporterName: data.reporterName,\n metadata: data.metadata,\n mediaCount: media?.length || 0,\n mediaAnnotations: media?.map((item) => item.annotations).filter(Boolean),\n }));\n\n // Add media files\n if (media && media.length > 0) {\n for (let i = 0; i < media.length; i++) {\n const item = media[i];\n const blob = dataUrlToBlob(item.dataUrl);\n const ext = getExtensionFromDataUrl(item.dataUrl) || getExtensionFromMimeType(item.mimeType);\n const isVideo = item.mimeType.startsWith('video/');\n const prefix = isVideo ? 'video' : 'screenshot';\n\n // Debug: Log sizes\n console.log(`[BugPin] Media ${i}: dataUrl length=${item.dataUrl.length}, blob size=${blob.size}, type=${blob.type}`);\n\n formData.append('media', blob, `${prefix}-${i}.${ext}`);\n }\n }\n\n try {\n // Submit the report\n const response = await fetch(url.toString(), {\n method: 'POST',\n body: formData,\n });\n\n // Parse response\n const result = await response.json() as SubmitResponse;\n\n if (!response.ok || !result.success) {\n throw new Error(result.message || result.error || 'Failed to submit report');\n }\n\n return result;\n } catch (error) {\n // Check if it's a network error (not a server error)\n if (error instanceof TypeError && error.message.includes('fetch')) {\n console.log('[BugPin] Network error, buffering report for later submission');\n\n await bufferReport({\n apiKey,\n serverUrl,\n title: data.title,\n description: data.description,\n priority: data.priority,\n reporterEmail: data.reporterEmail,\n reporterName: data.reporterName,\n media,\n metadata: data.metadata,\n });\n\n return {\n success: true,\n message: 'Report saved. It will be submitted when the connection is restored.',\n };\n }\n\n // Re-throw other errors (server errors, validation errors, etc.)\n throw error;\n }\n}\n\n/**\n * Fetch widget configuration from the server\n */\nexport async function fetchWidgetConfig(\n apiKey: string,\n serverUrl: string\n): Promise<{\n projectName: string;\n branding: object;\n features: {\n screenshot: boolean;\n annotation: boolean;\n attachments: boolean;\n consoleCapture: boolean;\n };\n theme: string;\n position: string;\n}> {\n const url = new URL(`/api/widget/config/${apiKey}`, serverUrl);\n\n const response = await fetch(url.toString());\n const result = await response.json();\n\n if (!response.ok || !result.success) {\n throw new Error(result.message || 'Failed to fetch widget configuration');\n }\n\n return result.config;\n}\n","import { FunctionComponent } from 'preact';\nimport { useState, useEffect, useCallback, useRef } from 'preact/hooks';\nimport { WidgetConfig } from '../config.js';\nimport { WidgetLauncherButton } from './WidgetLauncherButton.js';\nimport { WidgetDialog, FormData } from './WidgetDialog.js';\nimport { Toast, ToastType } from './Toast.js';\nimport { AnnotationCanvas } from '../annotate/AnnotationCanvas.js';\nimport { CapturedMedia } from './ScreenshotManager.js';\nimport { captureScreenshot } from '../capture/screenshot.js';\nimport { captureContext } from '../capture/context.js';\nimport { submitReport } from '../api/submit.js';\n\ntype WidgetStep = 'closed' | 'form' | 'annotating';\n\n/**\n * Determine the effective theme (light/dark) based on config and system preference\n */\nfunction getEffectiveTheme(theme: 'auto' | 'light' | 'dark'): 'light' | 'dark' {\n if (theme === 'auto') {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return theme;\n}\n\nconst INITIAL_FORM_DATA: FormData = {\n title: '',\n description: '',\n priority: 'medium',\n reporterEmail: '',\n reporterName: '',\n};\n\ninterface AppProps {\n config: WidgetConfig;\n}\n\nexport const App: FunctionComponent<AppProps> = ({ config }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [step, setStep] = useState<WidgetStep>('closed');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isCapturing, setIsCapturing] = useState(false);\n const [media, setMedia] = useState<CapturedMedia[]>([]);\n const [annotatingMediaId, setAnnotatingMediaId] = useState<string | null>(null);\n const [toast, setToast] = useState<{ message: string; type: ToastType } | null>(null);\n // Lifted state for Modal persistence across screenshot capture\n const [activeTab, setActiveTab] = useState('details');\n const [formData, setFormData] = useState<FormData>(INITIAL_FORM_DATA);\n\n // Listen for external open/close events\n useEffect(() => {\n const handleOpen = () => handleOpenWidget();\n const handleClose = () => handleCloseWidget();\n\n document.addEventListener('bugpin:open', handleOpen);\n document.addEventListener('bugpin:close', handleClose);\n\n return () => {\n document.removeEventListener('bugpin:open', handleOpen);\n document.removeEventListener('bugpin:close', handleClose);\n };\n }, []);\n\n // Apply theme-based CSS variables for dialog styling (uses dialog colors, not launcher colors)\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const applyThemeColors = () => {\n const effectiveTheme = getEffectiveTheme(config.theme);\n\n if (effectiveTheme === 'dark') {\n // Dialog colors for dark mode\n container.style.setProperty('--button-color', config.dialogDarkButtonColor);\n container.style.setProperty('--button-text-color', config.dialogDarkTextColor);\n container.style.setProperty('--button-hover-color', config.dialogDarkButtonHoverColor);\n container.style.setProperty('--button-hover-text-color', config.dialogDarkTextHoverColor);\n } else {\n // Dialog colors for light mode\n container.style.setProperty('--button-color', config.dialogLightButtonColor);\n container.style.setProperty('--button-text-color', config.dialogLightTextColor);\n container.style.setProperty('--button-hover-color', config.dialogLightButtonHoverColor);\n container.style.setProperty('--button-hover-text-color', config.dialogLightTextHoverColor);\n }\n };\n\n // Apply initial colors\n applyThemeColors();\n\n // Listen for system theme changes when in auto mode\n if (config.theme === 'auto') {\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n const handleChange = () => applyThemeColors();\n mediaQuery.addEventListener('change', handleChange);\n return () => mediaQuery.removeEventListener('change', handleChange);\n }\n\n // No cleanup needed when not in auto mode\n return undefined;\n }, [config.theme, config.dialogLightButtonColor, config.dialogLightTextColor, config.dialogLightButtonHoverColor, config.dialogLightTextHoverColor, config.dialogDarkButtonColor, config.dialogDarkTextColor, config.dialogDarkButtonHoverColor, config.dialogDarkTextHoverColor]);\n\n const handleOpenWidget = useCallback(() => {\n setStep('form');\n }, []);\n\n const handleCloseWidget = useCallback(() => {\n setStep('closed');\n setMedia([]);\n setAnnotatingMediaId(null);\n setActiveTab('details');\n setFormData(INITIAL_FORM_DATA);\n }, []);\n\n const handleCaptureScreenshot = useCallback(async () => {\n if (!config.enableScreenshot) return;\n\n setIsCapturing(true);\n // Brief delay to ensure modal is hidden from capture\n setStep('closed');\n await new Promise((resolve) => setTimeout(resolve, 100));\n\n try {\n const dataUrl = await captureScreenshot(config.captureMethod, undefined, config.useScreenCaptureAPI);\n const img = new Image();\n\n img.onload = () => {\n // Debug: Log captured image info\n console.log(`[BugPin] Captured screenshot: ${img.width}x${img.height}, dataUrl length=${dataUrl.length}`);\n\n const newMedia: CapturedMedia = {\n id: `capture-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,\n dataUrl,\n timestamp: new Date(),\n annotated: false,\n mimeType: 'image/png',\n width: img.width,\n height: img.height,\n };\n\n setMedia((prev) => [...prev, newMedia]);\n setIsCapturing(false);\n setActiveTab('media'); // Stay on media tab after capture\n setStep('form');\n };\n\n img.onerror = () => {\n // Still add the screenshot even if we can't get dimensions\n const newMedia: CapturedMedia = {\n id: `capture-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,\n dataUrl,\n timestamp: new Date(),\n annotated: false,\n mimeType: 'image/png',\n };\n\n setMedia((prev) => [...prev, newMedia]);\n setIsCapturing(false);\n setActiveTab('media'); // Stay on media tab after capture\n setStep('form');\n };\n\n img.src = dataUrl;\n } catch (error) {\n console.error('[BugPin] Failed to capture screenshot:', error);\n setIsCapturing(false);\n setStep('form');\n setToast({\n message: 'Failed to capture screenshot',\n type: 'error',\n });\n }\n }, [config]);\n\n const handleAddMedia = useCallback((item: CapturedMedia) => {\n setMedia((prev) => [...prev, item]);\n }, []);\n\n const handleRemoveMedia = useCallback((id: string) => {\n setMedia((prev) => prev.filter((item) => item.id !== id));\n }, []);\n\n const handleAnnotateMedia = useCallback((id: string) => {\n setAnnotatingMediaId(id);\n setStep('annotating');\n }, []);\n\n const handleAnnotationSave = useCallback((annotatedImage: string, annotationData: object) => {\n if (annotatingMediaId) {\n setMedia((prev) =>\n prev.map((item) =>\n item.id === annotatingMediaId\n ? {\n ...item,\n dataUrl: annotatedImage,\n annotated: true,\n annotations: annotationData,\n }\n : item\n )\n );\n }\n setAnnotatingMediaId(null);\n setStep('form');\n }, [annotatingMediaId]);\n\n const handleAnnotationCancel = useCallback(() => {\n setAnnotatingMediaId(null);\n setStep('form');\n }, []);\n\n const handleSubmit = useCallback(async (formData: FormData, mediaItems: CapturedMedia[]) => {\n setIsSubmitting(true);\n\n try {\n // Capture context\n const metadata = captureContext();\n\n // Submit report with all media\n await submitReport({\n apiKey: config.apiKey,\n serverUrl: config.serverUrl,\n title: formData.title,\n description: formData.description,\n priority: formData.priority,\n reporterEmail: formData.reporterEmail || undefined,\n reporterName: formData.reporterName || undefined,\n media: mediaItems.map((item) => ({\n dataUrl: item.dataUrl,\n mimeType: item.mimeType,\n annotations: item.annotations,\n })),\n metadata,\n });\n\n // Show success toast\n setToast({ message: 'Bug report submitted successfully!', type: 'success' });\n\n // Close modal\n handleCloseWidget();\n } catch (error) {\n console.error('[BugPin] Failed to submit report:', error);\n setToast({\n message: error instanceof Error ? error.message : 'Failed to submit report',\n type: 'error',\n });\n } finally {\n setIsSubmitting(false);\n }\n }, [config, handleCloseWidget]);\n\n const handleToastClose = useCallback(() => {\n setToast(null);\n }, []);\n\n // Get the media item being annotated\n const annotatingMedia = annotatingMediaId\n ? media.find((item) => item.id === annotatingMediaId)\n : null;\n\n return (\n <div ref={containerRef} class={`bugpin-container bugpin-theme-${config.theme}`}>\n <WidgetLauncherButton\n position={config.position}\n buttonText={config.buttonText}\n buttonShape={config.buttonShape}\n buttonIcon={config.buttonIcon}\n buttonIconSize={config.buttonIconSize}\n buttonIconStroke={config.buttonIconStroke}\n theme={config.theme}\n lightButtonColor={config.lightButtonColor}\n lightTextColor={config.lightTextColor}\n lightButtonHoverColor={config.lightButtonHoverColor}\n lightTextHoverColor={config.lightTextHoverColor}\n darkButtonColor={config.darkButtonColor}\n darkTextColor={config.darkTextColor}\n darkButtonHoverColor={config.darkButtonHoverColor}\n darkTextHoverColor={config.darkTextHoverColor}\n enableHoverScaleEffect={config.enableHoverScaleEffect}\n tooltipEnabled={config.tooltipEnabled}\n tooltipText={config.tooltipText}\n onClick={handleOpenWidget}\n />\n\n {step === 'annotating' && annotatingMedia && (\n <div class=\"bugpin-overlay\">\n <div class=\"bugpin-annotation-modal\">\n <AnnotationCanvas\n screenshot={annotatingMedia.dataUrl}\n onSave={handleAnnotationSave}\n onCancel={handleAnnotationCancel}\n />\n </div>\n </div>\n )}\n\n {step === 'form' && (\n <WidgetDialog\n onClose={handleCloseWidget}\n onSubmit={handleSubmit}\n onCaptureScreenshot={handleCaptureScreenshot}\n onAnnotateMedia={handleAnnotateMedia}\n media={media}\n onAddMedia={handleAddMedia}\n onRemoveMedia={handleRemoveMedia}\n isSubmitting={isSubmitting}\n isCapturing={isCapturing}\n enableAnnotation={config.enableAnnotation}\n activeTab={activeTab}\n onActiveTabChange={setActiveTab}\n formData={formData}\n onFormDataChange={setFormData}\n />\n )}\n\n {toast && (\n <Toast\n message={toast.message}\n type={toast.type}\n onClose={handleToastClose}\n />\n )}\n </div>\n );\n};\n","export interface WidgetConfig {\n apiKey: string;\n serverUrl: string;\n position: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';\n buttonText: string | null;\n buttonShape: 'rectangle' | 'round';\n buttonIcon: string | null;\n buttonIconSize: number;\n buttonIconStroke: number;\n theme: 'auto' | 'light' | 'dark';\n // Light mode colors\n lightButtonColor: string;\n lightTextColor: string;\n lightButtonHoverColor: string;\n lightTextHoverColor: string;\n // Dark mode colors (launcher button)\n darkButtonColor: string;\n darkTextColor: string;\n darkButtonHoverColor: string;\n darkTextHoverColor: string;\n // Dialog colors (light mode)\n dialogLightButtonColor: string;\n dialogLightTextColor: string;\n dialogLightButtonHoverColor: string;\n dialogLightTextHoverColor: string;\n // Dialog colors (dark mode)\n dialogDarkButtonColor: string;\n dialogDarkTextColor: string;\n dialogDarkButtonHoverColor: string;\n dialogDarkTextHoverColor: string;\n enableHoverScaleEffect: boolean;\n tooltipEnabled: boolean;\n tooltipText: string | null;\n enableScreenshot: boolean;\n enableAnnotation: boolean;\n enableConsoleCapture: boolean;\n captureMethod: 'visible' | 'fullpage' | 'element';\n useScreenCaptureAPI: boolean;\n maxScreenshotSize: number;\n}\n\nexport const defaultConfig: WidgetConfig = {\n apiKey: '',\n serverUrl: window.location.origin,\n position: 'bottom-right',\n buttonText: null,\n buttonShape: 'rectangle',\n buttonIcon: 'bug',\n buttonIconSize: 18,\n buttonIconStroke: 2,\n theme: 'auto',\n // Light mode colors\n lightButtonColor: '#6366f1',\n lightTextColor: '#ffffff',\n lightButtonHoverColor: '#4f46e5',\n lightTextHoverColor: '#ffffff',\n // Dark mode colors (launcher button)\n darkButtonColor: '#818cf8',\n darkTextColor: '#1e1b4b',\n darkButtonHoverColor: '#a5b4fc',\n darkTextHoverColor: '#1e1b4b',\n // Dialog colors (light mode)\n dialogLightButtonColor: '#ebebeb',\n dialogLightTextColor: '#575757',\n dialogLightButtonHoverColor: '#ebebeb',\n dialogLightTextHoverColor: '#575757',\n // Dialog colors (dark mode)\n dialogDarkButtonColor: '#3c3c3c',\n dialogDarkTextColor: '#c3c3c3',\n dialogDarkButtonHoverColor: '#3c3c3c',\n dialogDarkTextHoverColor: '#c3c3c3',\n enableHoverScaleEffect: true,\n tooltipEnabled: false,\n tooltipText: null,\n enableScreenshot: true,\n enableAnnotation: true,\n enableConsoleCapture: true,\n captureMethod: 'visible',\n useScreenCaptureAPI: false,\n maxScreenshotSize: 5 * 1024 * 1024, // 5MB\n};\n","import { h, render } from 'preact';\nimport { App } from './components/App.js';\nimport { WidgetConfig, defaultConfig } from './config.js';\n\n// Widget styles (will be injected into Shadow DOM)\nimport styles from './styles.css?inline';\n\n// Auto-initialization\n\nasync function init(): Promise<void> {\n // Find the script tag that loaded this widget\n const scripts = document.querySelectorAll('script[src*=\"widget.js\"]');\n const currentScript = scripts[scripts.length - 1];\n\n if (!currentScript) {\n console.error('[BugPin] Could not find widget script tag');\n return;\n }\n\n // Read configuration from data attributes\n const apiKey = currentScript.getAttribute('data-api-key');\n\n if (!apiKey) {\n console.error('[BugPin] Missing data-api-key attribute');\n return;\n }\n\n const serverUrl = currentScript.getAttribute('data-server-url') || defaultConfig.serverUrl;\n\n // Fetch configuration from API\n let fetchedConfig: Partial<WidgetConfig> = {};\n try {\n const response = await fetch(`${serverUrl}/api/widget/config/${apiKey}`);\n if (response.ok) {\n const data = await response.json();\n if (data.success && data.config) {\n fetchedConfig = {\n buttonText: data.config.buttonText,\n buttonShape: data.config.buttonShape,\n buttonIcon: data.config.buttonIcon,\n buttonIconSize: data.config.buttonIconSize,\n buttonIconStroke: data.config.buttonIconStroke,\n position: data.config.position,\n theme: data.config.theme,\n // Light mode colors\n lightButtonColor: data.config.lightButtonColor,\n lightTextColor: data.config.lightTextColor,\n lightButtonHoverColor: data.config.lightButtonHoverColor,\n lightTextHoverColor: data.config.lightTextHoverColor,\n // Dark mode colors (launcher button)\n darkButtonColor: data.config.darkButtonColor,\n darkTextColor: data.config.darkTextColor,\n darkButtonHoverColor: data.config.darkButtonHoverColor,\n darkTextHoverColor: data.config.darkTextHoverColor,\n // Dialog colors (light mode)\n dialogLightButtonColor: data.config.dialogLightButtonColor,\n dialogLightTextColor: data.config.dialogLightTextColor,\n dialogLightButtonHoverColor: data.config.dialogLightButtonHoverColor,\n dialogLightTextHoverColor: data.config.dialogLightTextHoverColor,\n // Dialog colors (dark mode)\n dialogDarkButtonColor: data.config.dialogDarkButtonColor,\n dialogDarkTextColor: data.config.dialogDarkTextColor,\n dialogDarkButtonHoverColor: data.config.dialogDarkButtonHoverColor,\n dialogDarkTextHoverColor: data.config.dialogDarkTextHoverColor,\n enableHoverScaleEffect: data.config.enableHoverScaleEffect ?? true,\n tooltipEnabled: data.config.tooltipEnabled ?? false,\n tooltipText: data.config.tooltipText ?? null,\n enableScreenshot: data.config.features?.screenshot ?? true,\n enableAnnotation: data.config.features?.annotation ?? true,\n enableConsoleCapture: data.config.features?.consoleCapture ?? true,\n captureMethod: data.config.captureMethod || 'visible',\n useScreenCaptureAPI: data.config.useScreenCaptureAPI ?? false,\n };\n }\n }\n } catch (error) {\n console.warn('[BugPin] Failed to fetch widget config, using defaults', error);\n }\n\n // Merge configurations: defaults < API < data attributes\n const config: WidgetConfig = {\n ...defaultConfig,\n ...fetchedConfig,\n apiKey,\n serverUrl,\n // Data attributes override API config\n ...(currentScript.getAttribute('data-position') && { position: currentScript.getAttribute('data-position') as WidgetConfig['position'] }),\n ...(currentScript.getAttribute('data-button-text') && { buttonText: currentScript.getAttribute('data-button-text')! }),\n ...(currentScript.getAttribute('data-theme') && { theme: currentScript.getAttribute('data-theme') as 'light' | 'dark' }),\n };\n\n // Create widget instance\n createWidget(config);\n}\n\n/**\n * Create the widget container with Shadow DOM\n */\nfunction createWidget(config: WidgetConfig): void {\n // Create container element\n const container = document.createElement('div');\n container.id = 'bugpin-widget';\n\n // Attach Shadow DOM\n const shadow = container.attachShadow({ mode: 'open' });\n\n // Inject styles\n const styleElement = document.createElement('style');\n styleElement.textContent = styles;\n shadow.appendChild(styleElement);\n\n // Create render target\n const root = document.createElement('div');\n root.id = 'bugpin-root';\n shadow.appendChild(root);\n\n // Add container to document\n document.body.appendChild(container);\n\n // Render Preact app\n render(h(App, { config }), root);\n}\n\n// Public API\n\ndeclare global {\n interface Window {\n BugPin?: {\n init: (config: Partial<WidgetConfig> & { apiKey: string }) => void;\n open: () => void;\n close: () => void;\n };\n }\n}\n\n// Public API object\nconst BugPin = {\n init: (config: Partial<WidgetConfig> & { apiKey: string }) => {\n const fullConfig: WidgetConfig = {\n ...defaultConfig,\n ...config,\n };\n createWidget(fullConfig);\n },\n open: () => {\n document.dispatchEvent(new CustomEvent('bugpin:open'));\n },\n close: () => {\n document.dispatchEvent(new CustomEvent('bugpin:close'));\n },\n};\n\n// Expose on window for script tag usage\nif (typeof window !== 'undefined') {\n window.BugPin = BugPin;\n}\n\n// Auto-initialize only when loaded as script tag (not as module)\n// Check if we're in a module context by looking at import.meta\nconst isModule = typeof import.meta !== 'undefined';\nif (!isModule) {\n // Script tag - auto-initialize\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', init);\n } else {\n init();\n }\n}\n\n// Export for npm/module usage\nexport default BugPin;\nexport { BugPin, createWidget, type WidgetConfig };\n"],"names":["n","l","u","i","r","o","e","f","c","s","a","p","v","y","w","d","g","_","t","m","k","x","S","C","M","$","O","N","I","h","b","P","B","A","L","D","H","T","j","F","E","V","z","q","G","toKebabCase","string","mergeClasses","classes","className","index","array","defaultAttributes","Icon","color","size","strokeWidth","absoluteStrokeWidth","children","iconNode","rest","tag","attrs","toChildArray","createLucideIcon","iconName","Component","props","Bug","CircleAlert","CircleHelp","Flag","Heart","Info","Mail","MessageSquare","Send","Settings","Star","Zap","ICON_MAP","AlertCircle","HelpCircle","name","IconComponent","jsx","WidgetLauncherButton","position","buttonText","buttonShape","buttonIcon","buttonIconSize","buttonIconStroke","theme","lightButtonColor","lightTextColor","lightButtonHoverColor","lightTextHoverColor","darkButtonColor","darkTextColor","darkButtonHoverColor","darkTextHoverColor","enableHoverScaleEffect","tooltipEnabled","tooltipText","onClick","isHovered","setIsHovered","useState","isDarkMode","setIsDarkMode","tooltipOffset","setTooltipOffset","tooltipRef","useRef","buttonRef","useEffect","darkModeMediaQuery","handler","tooltip","button","tooltipRect","buttonRect","windowWidth","margin","buttonCenter","tooltipHalfWidth","shift","centeredLeft","buttonColor","textColor","tooltipBgColor","tooltipTextColor","borderRadius","ariaLabel","padding","buttonClasses","tooltipStyles","arrowStyles","jsxs","Tabs","tabs","activeTab","onTabChange","tab","MAX_IMAGE_SIZE","MAX_VIDEO_SIZE","ACCEPTED_IMAGE_TYPES","ACCEPTED_VIDEO_TYPES","ScreenshotManager","media","onCapture","onUpload","onRemove","onAnnotate","isCapturing","enableAnnotation","isDragging","setIsDragging","uploadError","setUploadError","fileInputRef","isVideo","mimeType","isImage","validateFile","useCallback","file","processFile","error","reader","dataUrl","img","item","video","handleDragOver","handleDragLeave","handleDrop","files","_a","handleFileInput","input","handleUploadClick","formatTimestamp","date","Fragment","TABS","WidgetDialog","onClose","onSubmit","onCaptureScreenshot","onAnnotateMedia","onAddMedia","onRemoveMedia","isSubmitting","onActiveTabChange","formData","onFormDataChange","errors","setErrors","handleInputChange","field","value","prev","validate","newErrors","handleSubmit","handleOverlayClick","mediaCount","Toast","message","type","duration","timer","R","X","Y","W","U","K","J","Q","Z","tt","et","st","it","rt","nt","ot","at","ht","ct","lt","ut","dt","gt","ft","pt","mt","vt","yt","_t","xt","Ct","bt","St","wt","Tt","Ot","kt","Dt","Mt","Pt","Et","At","jt","Ft","Lt","Rt","It","Bt","Xt","Yt","Wt","Vt","zt","Gt","Ht","Nt","Ut","qt","Kt","Jt","Qt","Zt","$t","te","ee","se","ie","re","ne","oe","ae","he","ce","le","ue","de","ge","fe","pe","me","ve","ye","_e","xe","Ce","be","Se","we","Te","Oe","ke","De","Me","Pe","Ee","Ae","je","Fe","Le","Re","Ie","Be","Xe","Ye","We","Ve","ze","Ge","He","Ne","Ue","qe","Ke","Je","Qe","Ze","$e","ts","es","ss","is","rs","os","as","hs","cs","ds","fs","ps","ms","vs","ys","_s","Ss","ws","xs","Cs","bs","Ts","Os","ks","Ds","Ms","Ps","Es","As","Ls","Xs","Ys","Ws","Vs","zs","Gs","Hs","Ns","Us","qs","Ks","Js","Qs","Zs","$s","ti","ei","si","ii","ri","ni","oi","ai","hi","ci","li","ui","di","gi","fi","pi","mi","vi","yi","_i","xi","Ci","bi","Si","wi","Ti","Oi","ki","Di","Mi","Pi","Ei","Ai","ji","Fi","Li","Ri","Ii","Bi","Xi","Yi","Wi","Vi","zi","Gi","Hi","Ni","Ui","Ki","Ji","Qi","Zi","$i","tr","er","sr","ir","rr","nr","or","ar","hr","cr","lr","ur","dr","gr","fr","pr","mr","vr","yr","_r","xr","Cr","br","Sr","wr","Tr","Or","kr","Dr","Mr","Pr","Er","Ar","jr","Fr","Lr","Rr","Ir","Br","Xr","Yr","Wr","Vr","zr","Gr","Hr","Nr","Ur","qr","Kr","Jr","Qr","Zr","$r","tn","en","sn","an","rn","nn","on","hn","cn","ln","un","dn","gn","fn","pn","mn","vn","yn","_n","xn","Cn","bn","Sn","wn","Tn","Pn","En","An","jn","Fn","Ln","Rn","In","Bn","Xn","Yn","Wn","Vn","zn","Gn","Hn","Nn","Un","qn","Kn","Jn","Qn","Zn","$n","to","eo","so","io","ro","no","oo","ao","ho","co","fo","po","mo","vo","yo","_o","xo","Co","bo","So","wo","To","Oo","ko","Do","Mo","Po","Eo","Ao","jo","Fo","Lo","Ro","Io","Bo","Xo","Yo","Wo","Vo","zo","Go","Ho","No","Uo","qo","Ko","Jo","Qo","Zo","$o","ta","ea","sa","ra","na","oa","La","Ia","Ba","Xa","Ya","Wa","Va","za","Ga","Ha","Na","Ua","qa","Ka","Ja","Qa","Za","oh","ah","hh","ch","lh","uh","dh","gh","fh","ph","mh","vh","yh","_h","xh","Ch","bh","COLORS","STROKE_WIDTHS","AnnotationCanvas","screenshot","onSave","onCancel","canvasRef","canvasWrapperRef","fabricRef","activeTool","setActiveTool","activeColor","setActiveColor","setStrokeWidth","canUndo","setCanUndo","canRedo","setCanRedo","zoomLevel","setZoomLevel","isPanning","setIsPanning","historyRef","historyIndexRef","isDrawingRef","isPanningRef","lastPosRef","originalDimensionsRef","canvas","fabric.Canvas","fabric.FabricImage","wrapperRect","maxWidth","maxHeight","scale","saveToHistory","fabric.PencilBrush","json","undo","redo","handleCanvasMouseDown","pointer","shape","fabric.Rect","fabric.Ellipse","fabric.Line","fabric.IText","handleCanvasMouseMove","activeObject","startPoint","width","height","rx","ry","handleCanvasMouseUp","handleSave","currentZoom","currentViewport","originalDimensions","multiplier","annotations","obj","deleteSelected","activeObjects","handleZoomIn","newZoom","center","fabric.Point","handleZoomOut","handleZoomReset","handleMouseDown","opt","evt","handleMouseMove","vpt","handleMouseUp","handleKeyDown","activeElement","handleKeyUp","ToolButton","tool","icon","label","resolveUrl","url","baseUrl","doc","base","uuid","counter","random","toArray","arrayLike","arr","styleProps","getStyleProperties","options","px","node","styleProperty","val","getNodeWidth","leftBorder","rightBorder","getNodeHeight","topBorder","bottomBorder","getImageSize","targetNode","getPixelRatio","ratio","FINAL_PROCESS","canvasDimensionLimit","checkCanvasDimensions","createImage","resolve","reject","svgToDataURL","svg","html","nodeToDataURL","xmlns","foreignObject","isInstanceOfElement","instance","nodePrototype","formatCSSText","style","content","formatCSSProperties","priority","getPseudoElementStyle","pseudo","selector","cssText","clonePseudoElement","nativeNode","clonedNode","styleElement","clonePseudoElements","WOFF","JPEG","mimes","getExtension","match","getMimeType","extension","getContentFromDataUrl","dataURL","isDataUrl","makeDataUrl","fetchAsDataURL","init","process","res","blob","cache","getCacheKey","contentType","includeQueryParams","key","resourceToDataURL","resourceUrl","cacheKey","result","msg","cloneCanvasElement","cloneVideoElement","ctx","poster","cloneIFrameElement","iframe","cloneNode","cloneSingleNode","isSVGElement","isSlotElement","cloneChildren","_b","deferred","child","clonedChild","cloneCSSStyle","targetStyle","sourceStyle","cloneInputValue","cloneSelectValue","clonedSelect","selectedOption","decorate","ensureSVGSymbols","clone","uses","processedDefs","id","exist","definition","nodes","ns","defs","isRoot","URL_REGEX","URL_WITH_FORMAT_REGEX","FONT_SRC_REGEX","toRegex","escaped","parseURLs","urls","raw","quotation","embed","resourceURL","baseURL","getContentFromUrl","resolvedURL","filterPreferredFontFormat","str","preferredFontFormat","src","format","shouldEmbed","embedResources","filteredCSSText","css","embedProp","propName","propValue","cssString","embedBackground","embedImageNode","isImageElement","attributes","image","embedChildren","deferreds","embedImages","applyStyle","manual","cssFetchCache","fetchCSS","embedFonts","data","regexUrl","loadFonts","loc","parseCSS","source","commentsRegex","keyframesRegex","matches","importRegex","combinedCSSRegex","unifiedRegex","getCSSRules","styleSheets","ret","sheet","importIndex","metadata","rule","inline","err","getWebFontRules","cssRules","parseWebFontRules","normalizeFontFamily","font","getUsedFonts","fonts","traverse","getWebFontCSS","rules","usedFonts","embedWebFonts","styleNode","sytleContent","toSvg","toCanvas","context","canvasWidth","canvasHeight","captureWithScreenCaptureAPI","stream","track","captureScreenshot","method","useScreenCaptureAPI","element","widget","originalHtmlStyles","htmlElement","bodyStyles","dataUrlToBlob","parts","mimeMatch","mime","binaryString","bytes","getExtensionFromDataUrl","capturedErrors","startErrorCapture","originalError","args","arg","originalWarn","originalOnError","line","_column","_error","event","getBrowserInfo","ua","version","_c","_d","getDeviceInfo","osVersion","versionMatch","ntVersion","getViewportInfo","getPageLoadTime","entries","navEntry","captureContext","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","transactionDoneMap","transformCache","reverseTransformCache","promisifyRequest","request","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","callback","wrapFunction","func","unwrap","transformCachableValue","newValue","openDB","blocked","upgrade","blocking","terminated","openPromise","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","advanceMethodProps","methodMap","advanceResults","ittrProxiedCursorToOriginalProxy","cursorIteratorTraps","cachedFunc","iterate","cursor","proxiedCursor","isIteratorProp","DB_NAME","DB_VERSION","STORE_NAME","MAX_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","BACKOFF_MULTIPLIER","syncInterval","getExtensionFromMimeType","initDB","database","generateId","isOnline","getRetryDelay","retryCount","delay","bufferReport","report","pendingReport","syncPendingReports","getPendingReports","removeBufferedReport","updateBufferedReport","submitReport","ext","prefix","serverResponse","errorData","pending","synced","failed","nextRetryAt","startAutoSync","apiKey","serverUrl","response","getEffectiveTheme","INITIAL_FORM_DATA","App","config","containerRef","step","setStep","setIsSubmitting","setIsCapturing","setMedia","annotatingMediaId","setAnnotatingMediaId","toast","setToast","setActiveTab","setFormData","handleOpen","handleOpenWidget","handleClose","handleCloseWidget","container","applyThemeColors","mediaQuery","handleChange","handleCaptureScreenshot","newMedia","handleAddMedia","handleRemoveMedia","handleAnnotateMedia","handleAnnotationSave","annotatedImage","annotationData","handleAnnotationCancel","mediaItems","handleToastClose","annotatingMedia","defaultConfig","scripts","currentScript","fetchedConfig","createWidget","shadow","styles","root","render","BugPin","fullConfig","_documentCurrentScript"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,25,27,28,29,30,31,32,33,34,35,36,39]}