svgedit/dist/index-umd.min.js

170 lines
353 KiB
JavaScript

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).svgEditor=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,a)}function n(e){return function(){var n=this,r=arguments;return new Promise((function(a,i){var o=e.apply(n,r);function s(e){t(o,a,i,s,l,"next",e)}function l(e){t(o,a,i,s,l,"throw",e)}s(void 0)}))}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function h(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function f(e){var t=e.changedTouches,n=t[0],r="";switch(e.type){case"touchstart":r="mousedown";break;case"touchmove":r="mousemove";break;case"touchend":r="mouseup";break;default:return}var a=n.screenX,i=n.screenY,o=n.clientX,s=n.clientY,l=new MouseEvent(r,{bubbles:!0,cancelable:!0,view:window,detail:1,screenX:a,screenY:i,clientX:o,clientY:s,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});t.length<2&&(n.target.dispatchEvent(l),e.preventDefault())}document.addEventListener("touchstart",f,!0),document.addEventListener("touchmove",f,!0),document.addEventListener("touchend",f,!0),document.addEventListener("touchcancel",f,!0);
/**
* Namespaces or tools therefor
* @module namespaces
* @license MIT
*/
var p={HTML:"http://www.w3.org/1999/xhtml",MATH:"http://www.w3.org/1998/Math/MathML",SE:"http://svg-edit.googlecode.com",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"},g=function(){var e={};return Object.entries(p).forEach((function(t){var n=d(t,2),r=n[0],a=n[1];e[a]=r.toLowerCase()})),e};!function(){if(!("SVGPathSeg"in window)){var e=function(){function e(t,n,a){r(this,e),this.pathSegType=t,this.pathSegTypeAsLetter=n,this._owningPathSegList=a}return i(e,[{key:"_segmentChanged",value:function(){this._owningPathSegList&&this._owningPathSegList.segmentChanged(this)}}]),e}();e.prototype.classname="SVGPathSeg",e.PATHSEG_UNKNOWN=0,e.PATHSEG_CLOSEPATH=1,e.PATHSEG_MOVETO_ABS=2,e.PATHSEG_MOVETO_REL=3,e.PATHSEG_LINETO_ABS=4,e.PATHSEG_LINETO_REL=5,e.PATHSEG_CURVETO_CUBIC_ABS=6,e.PATHSEG_CURVETO_CUBIC_REL=7,e.PATHSEG_CURVETO_QUADRATIC_ABS=8,e.PATHSEG_CURVETO_QUADRATIC_REL=9,e.PATHSEG_ARC_ABS=10,e.PATHSEG_ARC_REL=11,e.PATHSEG_LINETO_HORIZONTAL_ABS=12,e.PATHSEG_LINETO_HORIZONTAL_REL=13,e.PATHSEG_LINETO_VERTICAL_ABS=14,e.PATHSEG_LINETO_VERTICAL_REL=15,e.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS=16,e.PATHSEG_CURVETO_CUBIC_SMOOTH_REL=17,e.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS=18,e.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL=19;var t=function(t){function n(t){return r(this,n),u(this,l(n).call(this,e.PATHSEG_CLOSEPATH,"z",t))}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegClosePath]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter}},{key:"clone",value:function(){return new n(void 0)}}]),n}(e),n=function(t){function n(t,a,i){var o;return r(this,n),(o=u(this,l(n).call(this,e.PATHSEG_MOVETO_ABS,"M",t)))._x=a,o._y=i,o}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegMovetoAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y)}}]),n}(e);Object.defineProperties(n.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}});var a=function(t){function n(t,a,i){var o;return r(this,n),(o=u(this,l(n).call(this,e.PATHSEG_MOVETO_REL,"m",t)))._x=a,o._y=i,o}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegMovetoRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y)}}]),n}(e);Object.defineProperties(a.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}});var o=function(t){function n(t,a,i){var o;return r(this,n),(o=u(this,l(n).call(this,e.PATHSEG_LINETO_ABS,"L",t)))._x=a,o._y=i,o}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegLinetoAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y)}}]),n}(e);Object.defineProperties(o.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}});var c=function(t){function n(t,a,i){var o;return r(this,n),(o=u(this,l(n).call(this,e.PATHSEG_LINETO_REL,"l",t)))._x=a,o._y=i,o}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegLinetoRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y)}}]),n}(e);Object.defineProperties(c.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}});var d=function(t){function n(t,a,i,o,s,c,d){var h;return r(this,n),(h=u(this,l(n).call(this,e.PATHSEG_CURVETO_CUBIC_ABS,"C",t)))._x=a,h._y=i,h._x1=o,h._y1=s,h._x2=c,h._y2=d,h}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoCubicAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)}}]),n}(e);Object.defineProperties(d.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},x1:{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0},y1:{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0},x2:{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0},y2:{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}});var h=function(t){function n(t,a,i,o,s,c,d){var h;return r(this,n),(h=u(this,l(n).call(this,e.PATHSEG_CURVETO_CUBIC_REL,"c",t)))._x=a,h._y=i,h._x1=o,h._y1=s,h._x2=c,h._y2=d,h}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoCubicRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)}}]),n}(e);Object.defineProperties(h.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},x1:{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0},y1:{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0},x2:{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0},y2:{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}});var f=function(t){function n(t,a,i,o,s){var c;return r(this,n),(c=u(this,l(n).call(this,e.PATHSEG_CURVETO_QUADRATIC_ABS,"Q",t)))._x=a,c._y=i,c._x1=o,c._y1=s,c}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoQuadraticAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._x1,this._y1)}}]),n}(e);Object.defineProperties(f.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},x1:{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0},y1:{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0}});var p=function(t){function n(t,a,i,o,s){var c;return r(this,n),(c=u(this,l(n).call(this,e.PATHSEG_CURVETO_QUADRATIC_REL,"q",t)))._x=a,c._y=i,c._x1=o,c._y1=s,c}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoQuadraticRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._x1,this._y1)}}]),n}(e);Object.defineProperties(p.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},x1:{get:function(){return this._x1},set:function(e){this._x1=e,this._segmentChanged()},enumerable:!0},y1:{get:function(){return this._y1},set:function(e){this._y1=e,this._segmentChanged()},enumerable:!0}});var g=function(t){function n(t,a,i,o,s,c,d,h){var f;return r(this,n),(f=u(this,l(n).call(this,e.PATHSEG_ARC_ABS,"A",t)))._x=a,f._y=i,f._r1=o,f._r2=s,f._angle=c,f._largeArcFlag=d,f._sweepFlag=h,f}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegArcAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)}}]),n}(e);Object.defineProperties(g.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},r1:{get:function(){return this._r1},set:function(e){this._r1=e,this._segmentChanged()},enumerable:!0},r2:{get:function(){return this._r2},set:function(e){this._r2=e,this._segmentChanged()},enumerable:!0},angle:{get:function(){return this._angle},set:function(e){this._angle=e,this._segmentChanged()},enumerable:!0},largeArcFlag:{get:function(){return this._largeArcFlag},set:function(e){this._largeArcFlag=e,this._segmentChanged()},enumerable:!0},sweepFlag:{get:function(){return this._sweepFlag},set:function(e){this._sweepFlag=e,this._segmentChanged()},enumerable:!0}});var m=function(t){function n(t,a,i,o,s,c,d,h){var f;return r(this,n),(f=u(this,l(n).call(this,e.PATHSEG_ARC_REL,"a",t)))._x=a,f._y=i,f._r1=o,f._r2=s,f._angle=c,f._largeArcFlag=d,f._sweepFlag=h,f}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegArcRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)}}]),n}(e);Object.defineProperties(m.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},r1:{get:function(){return this._r1},set:function(e){this._r1=e,this._segmentChanged()},enumerable:!0},r2:{get:function(){return this._r2},set:function(e){this._r2=e,this._segmentChanged()},enumerable:!0},angle:{get:function(){return this._angle},set:function(e){this._angle=e,this._segmentChanged()},enumerable:!0},largeArcFlag:{get:function(){return this._largeArcFlag},set:function(e){this._largeArcFlag=e,this._segmentChanged()},enumerable:!0},sweepFlag:{get:function(){return this._sweepFlag},set:function(e){this._sweepFlag=e,this._segmentChanged()},enumerable:!0}});var v=function(t){function n(t,a){var i;return r(this,n),(i=u(this,l(n).call(this,e.PATHSEG_LINETO_HORIZONTAL_ABS,"H",t)))._x=a,i}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegLinetoHorizontalAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x}},{key:"clone",value:function(){return new n(void 0,this._x)}}]),n}(e);Object.defineProperty(v.prototype,"x",{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0});var y=function(t){function n(t,a){var i;return r(this,n),(i=u(this,l(n).call(this,e.PATHSEG_LINETO_HORIZONTAL_REL,"h",t)))._x=a,i}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegLinetoHorizontalRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x}},{key:"clone",value:function(){return new n(void 0,this._x)}}]),n}(e);Object.defineProperty(y.prototype,"x",{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0});var _=function(t){function n(t,a){var i;return r(this,n),(i=u(this,l(n).call(this,e.PATHSEG_LINETO_VERTICAL_ABS,"V",t)))._y=a,i}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegLinetoVerticalAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._y)}}]),n}(e);Object.defineProperty(_.prototype,"y",{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0});var b=function(t){function n(t,a){var i;return r(this,n),(i=u(this,l(n).call(this,e.PATHSEG_LINETO_VERTICAL_REL,"v",t)))._y=a,i}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegLinetoVerticalRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._y)}}]),n}(e);Object.defineProperty(b.prototype,"y",{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0});var x=function(t){function n(t,a,i,o,s){var c;return r(this,n),(c=u(this,l(n).call(this,e.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,"S",t)))._x=a,c._y=i,c._x2=o,c._y2=s,c}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoCubicSmoothAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._x2,this._y2)}}]),n}(e);Object.defineProperties(x.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},x2:{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0},y2:{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}});var w=function(t){function n(t,a,i,o,s){var c;return r(this,n),(c=u(this,l(n).call(this,e.PATHSEG_CURVETO_CUBIC_SMOOTH_REL,"s",t)))._x=a,c._y=i,c._x2=o,c._y2=s,c}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoCubicSmoothRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y,this._x2,this._y2)}}]),n}(e);Object.defineProperties(w.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0},x2:{get:function(){return this._x2},set:function(e){this._x2=e,this._segmentChanged()},enumerable:!0},y2:{get:function(){return this._y2},set:function(e){this._y2=e,this._segmentChanged()},enumerable:!0}});var S=function(t){function n(t,a,i){var o;return r(this,n),(o=u(this,l(n).call(this,e.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,"T",t)))._x=a,o._y=i,o}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoQuadraticSmoothAbs]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y)}}]),n}(e);Object.defineProperties(S.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}});var k=function(t){function n(t,a,i){var o;return r(this,n),(o=u(this,l(n).call(this,e.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL,"t",t)))._x=a,o._y=i,o}return s(n,t),i(n,[{key:"toString",value:function(){return"[object SVGPathSegCurvetoQuadraticSmoothRel]"}},{key:"_asPathString",value:function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y}},{key:"clone",value:function(){return new n(void 0,this._x,this._y)}}]),n}(e);Object.defineProperties(k.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this._segmentChanged()},enumerable:!0},y:{get:function(){return this._y},set:function(e){this._y=e,this._segmentChanged()},enumerable:!0}}),SVGPathElement.prototype.createSVGPathSegClosePath=function(){return new t(void 0)},SVGPathElement.prototype.createSVGPathSegMovetoAbs=function(e,t){return new n(void 0,e,t)},SVGPathElement.prototype.createSVGPathSegMovetoRel=function(e,t){return new a(void 0,e,t)},SVGPathElement.prototype.createSVGPathSegLinetoAbs=function(e,t){return new o(void 0,e,t)},SVGPathElement.prototype.createSVGPathSegLinetoRel=function(e,t){return new c(void 0,e,t)},SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs=function(e,t,n,r,a,i){return new d(void 0,e,t,n,r,a,i)},SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel=function(e,t,n,r,a,i){return new h(void 0,e,t,n,r,a,i)},SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs=function(e,t,n,r){return new f(void 0,e,t,n,r)},SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel=function(e,t,n,r){return new p(void 0,e,t,n,r)},SVGPathElement.prototype.createSVGPathSegArcAbs=function(e,t,n,r,a,i,o){return new g(void 0,e,t,n,r,a,i,o)},SVGPathElement.prototype.createSVGPathSegArcRel=function(e,t,n,r,a,i,o){return new m(void 0,e,t,n,r,a,i,o)},SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs=function(e){return new v(void 0,e)},SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel=function(e){return new y(void 0,e)},SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs=function(e){return new _(void 0,e)},SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel=function(e){return new b(void 0,e)},SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs=function(e,t,n,r){return new x(void 0,e,t,n,r)},SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel=function(e,t,n,r){return new w(void 0,e,t,n,r)},SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs=function(e,t){return new S(void 0,e,t)},SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel=function(e,t){return new k(void 0,e,t)},"getPathSegAtLength"in SVGPathElement.prototype||(SVGPathElement.prototype.getPathSegAtLength=function(e){if(void 0===e||!isFinite(e))throw new Error("Invalid arguments.");var t=document.createElementNS("http://www.w3.org/2000/svg","path");t.setAttribute("d",this.getAttribute("d"));var n=t.pathSegList.numberOfItems-1;if(n<=0)return 0;do{if(t.pathSegList.removeItem(n),e>t.getTotalLength())break;n--}while(n>0);return n}),window.SVGPathSeg=e,window.SVGPathSegClosePath=t,window.SVGPathSegMovetoAbs=n,window.SVGPathSegMovetoRel=a,window.SVGPathSegLinetoAbs=o,window.SVGPathSegLinetoRel=c,window.SVGPathSegCurvetoCubicAbs=d,window.SVGPathSegCurvetoCubicRel=h,window.SVGPathSegCurvetoQuadraticAbs=f,window.SVGPathSegCurvetoQuadraticRel=p,window.SVGPathSegArcAbs=g,window.SVGPathSegArcRel=m,window.SVGPathSegLinetoHorizontalAbs=v,window.SVGPathSegLinetoHorizontalRel=y,window.SVGPathSegLinetoVerticalAbs=_,window.SVGPathSegLinetoVerticalRel=b,window.SVGPathSegCurvetoCubicSmoothAbs=x,window.SVGPathSegCurvetoCubicSmoothRel=w,window.SVGPathSegCurvetoQuadraticSmoothAbs=S,window.SVGPathSegCurvetoQuadraticSmoothRel=k}if(!("SVGPathSegList"in window&&"appendItem"in window.SVGPathSegList.prototype)){var C=function(){function e(t){r(this,e),this._pathElement=t,this._list=this._parsePath(this._pathElement.getAttribute("d")),this._mutationObserverConfig={attributes:!0,attributeFilter:["d"]},this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)}return i(e,[{key:"_checkPathSynchronizedToList",value:function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())}},{key:"_updateListFromPathMutations",value:function(e){if(this._pathElement){var t=!1;e.forEach((function(e){"d"===e.attributeName&&(t=!0)})),t&&(this._list=this._parsePath(this._pathElement.getAttribute("d")))}}},{key:"_writeListToPath",value:function(){this._pathElementMutationObserver.disconnect(),this._pathElement.setAttribute("d",e._pathSegArrayAsString(this._list)),this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)}},{key:"segmentChanged",value:function(e){this._writeListToPath()}},{key:"clear",value:function(){this._checkPathSynchronizedToList(),this._list.forEach((function(e){e._owningPathSegList=null})),this._list=[],this._writeListToPath()}},{key:"initialize",value:function(e){return this._checkPathSynchronizedToList(),this._list=[e],e._owningPathSegList=this,this._writeListToPath(),e}},{key:"_checkValidIndex",value:function(e){if(isNaN(e)||e<0||e>=this.numberOfItems)throw new Error("INDEX_SIZE_ERR")}},{key:"getItem",value:function(e){return this._checkPathSynchronizedToList(),this._checkValidIndex(e),this._list[e]}},{key:"insertItemBefore",value:function(e,t){return this._checkPathSynchronizedToList(),t>this.numberOfItems&&(t=this.numberOfItems),e._owningPathSegList&&(e=e.clone()),this._list.splice(t,0,e),e._owningPathSegList=this,this._writeListToPath(),e}},{key:"replaceItem",value:function(e,t){return this._checkPathSynchronizedToList(),e._owningPathSegList&&(e=e.clone()),this._checkValidIndex(t),this._list[t]=e,e._owningPathSegList=this,this._writeListToPath(),e}},{key:"removeItem",value:function(e){this._checkPathSynchronizedToList(),this._checkValidIndex(e);var t=this._list[e];return this._list.splice(e,1),this._writeListToPath(),t}},{key:"appendItem",value:function(e){return this._checkPathSynchronizedToList(),e._owningPathSegList&&(e=e.clone()),this._list.push(e),e._owningPathSegList=this,this._writeListToPath(),e}},{key:"_parsePath",value:function(e){if(!e||!e.length)return[];var t=this,n=function(){function e(){r(this,e),this.pathSegList=[]}return i(e,[{key:"appendSegment",value:function(e){this.pathSegList.push(e)}}]),e}(),a=function(){function e(t){r(this,e),this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._previousCommand=SVGPathSeg.PATHSEG_UNKNOWN,this._skipOptionalSpaces()}return i(e,[{key:"_isCurrentSpace",value:function(){var e=this._string[this._currentIndex];return e<=" "&&(" "===e||"\n"===e||"\t"===e||"\r"===e||"\f"===e)}},{key:"_skipOptionalSpaces",value:function(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex++;return this._currentIndex<this._endIndex}},{key:"_skipOptionalSpacesOrDelimiter",value:function(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!==this._string.charAt(this._currentIndex))&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","===this._string.charAt(this._currentIndex)&&(this._currentIndex++,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)}},{key:"hasMoreData",value:function(){return this._currentIndex<this._endIndex}},{key:"peekSegmentType",value:function(){var e=this._string[this._currentIndex];return this._pathSegTypeFromChar(e)}},{key:"_pathSegTypeFromChar",value:function(e){switch(e){case"Z":case"z":return SVGPathSeg.PATHSEG_CLOSEPATH;case"M":return SVGPathSeg.PATHSEG_MOVETO_ABS;case"m":return SVGPathSeg.PATHSEG_MOVETO_REL;case"L":return SVGPathSeg.PATHSEG_LINETO_ABS;case"l":return SVGPathSeg.PATHSEG_LINETO_REL;case"C":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;case"c":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;case"Q":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;case"q":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;case"A":return SVGPathSeg.PATHSEG_ARC_ABS;case"a":return SVGPathSeg.PATHSEG_ARC_REL;case"H":return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;case"h":return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;case"V":return SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;case"v":return SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;case"S":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;case"s":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;case"T":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;case"t":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;default:return SVGPathSeg.PATHSEG_UNKNOWN}}},{key:"_nextCommandHelper",value:function(e,t){return("+"===e||"-"===e||"."===e||e>="0"&&e<="9")&&t!==SVGPathSeg.PATHSEG_CLOSEPATH?t===SVGPathSeg.PATHSEG_MOVETO_ABS?SVGPathSeg.PATHSEG_LINETO_ABS:t===SVGPathSeg.PATHSEG_MOVETO_REL?SVGPathSeg.PATHSEG_LINETO_REL:t:SVGPathSeg.PATHSEG_UNKNOWN}},{key:"initialCommandIsMoveTo",value:function(){if(!this.hasMoreData())return!0;var e=this.peekSegmentType();return e===SVGPathSeg.PATHSEG_MOVETO_ABS||e===SVGPathSeg.PATHSEG_MOVETO_REL}},{key:"_parseNumber",value:function(){var e=0,t=0,n=1,r=0,a=1,i=1,o=this._currentIndex;if(this._skipOptionalSpaces(),this._currentIndex<this._endIndex&&"+"===this._string.charAt(this._currentIndex)?this._currentIndex++:this._currentIndex<this._endIndex&&"-"===this._string.charAt(this._currentIndex)&&(this._currentIndex++,a=-1),!(this._currentIndex===this._endIndex||(this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")&&"."!==this._string.charAt(this._currentIndex))){for(var s=this._currentIndex;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)this._currentIndex++;if(this._currentIndex!==s)for(var l=this._currentIndex-1,c=1;l>=s;)t+=c*(this._string.charAt(l--)-"0"),c*=10;if(this._currentIndex<this._endIndex&&"."===this._string.charAt(this._currentIndex)){if(this._currentIndex++,this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)n*=10,r+=(this._string.charAt(this._currentIndex)-"0")/n,this._currentIndex+=1}if(this._currentIndex!==o&&this._currentIndex+1<this._endIndex&&("e"===this._string.charAt(this._currentIndex)||"E"===this._string.charAt(this._currentIndex))&&"x"!==this._string.charAt(this._currentIndex+1)&&"m"!==this._string.charAt(this._currentIndex+1)){if(this._currentIndex++,"+"===this._string.charAt(this._currentIndex)?this._currentIndex++:"-"===this._string.charAt(this._currentIndex)&&(this._currentIndex++,i=-1),this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")return;for(;this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9";)e*=10,e+=this._string.charAt(this._currentIndex)-"0",this._currentIndex++}var u=t+r;if(u*=a,e&&(u*=Math.pow(10,i*e)),o!==this._currentIndex)return this._skipOptionalSpacesOrDelimiter(),u}}},{key:"_parseArcFlag",value:function(){if(!(this._currentIndex>=this._endIndex)){var e=!1,t=this._string.charAt(this._currentIndex++);if("0"===t)e=!1;else{if("1"!==t)return;e=!0}return this._skipOptionalSpacesOrDelimiter(),e}}},{key:"parseSegment",value:function(){var e=this._string[this._currentIndex],n=this._pathSegTypeFromChar(e);if(n===SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand===SVGPathSeg.PATHSEG_UNKNOWN)return null;if((n=this._nextCommandHelper(e,this._previousCommand))===SVGPathSeg.PATHSEG_UNKNOWN)return null}else this._currentIndex++;switch(this._previousCommand=n,n){case SVGPathSeg.PATHSEG_MOVETO_REL:return new SVGPathSegMovetoRel(t,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_MOVETO_ABS:return new SVGPathSegMovetoAbs(t,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_REL:return new SVGPathSegLinetoRel(t,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_ABS:return new SVGPathSegLinetoAbs(t,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new SVGPathSegLinetoHorizontalRel(t,this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new SVGPathSegLinetoHorizontalAbs(t,this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new SVGPathSegLinetoVerticalRel(t,this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new SVGPathSegLinetoVerticalAbs(t,this._parseNumber());case SVGPathSeg.PATHSEG_CLOSEPATH:return this._skipOptionalSpaces(),new SVGPathSegClosePath(t);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:var r={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicRel(t,r.x,r.y,r.x1,r.y1,r.x2,r.y2);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:var a={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicAbs(t,a.x,a.y,a.x1,a.y1,a.x2,a.y2);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:var i={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicSmoothRel(t,i.x,i.y,i.x2,i.y2);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:var o={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicSmoothAbs(t,o.x,o.y,o.x2,o.y2);case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:var s={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoQuadraticRel(t,s.x,s.y,s.x1,s.y1);case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:var l={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoQuadraticAbs(t,l.x,l.y,l.x1,l.y1);case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new SVGPathSegCurvetoQuadraticSmoothRel(t,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new SVGPathSegCurvetoQuadraticSmoothAbs(t,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_ARC_REL:var c={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegArcRel(t,c.x,c.y,c.x1,c.y1,c.arcAngle,c.arcLarge,c.arcSweep);case SVGPathSeg.PATHSEG_ARC_ABS:var u={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegArcAbs(t,u.x,u.y,u.x1,u.y1,u.arcAngle,u.arcLarge,u.arcSweep);default:throw new Error("Unknown path seg type.")}}}]),e}(),o=new n,s=new a(e);if(!s.initialCommandIsMoveTo())return[];for(;s.hasMoreData();){var l=s.parseSegment();if(!l)return[];o.appendSegment(l)}return o.pathSegList}}],[{key:"_pathSegArrayAsString",value:function(e){var t="",n=!0;return e.forEach((function(e){n?(n=!1,t+=e._asPathString()):t+=" "+e._asPathString()})),t}}]),e}();C.prototype.classname="SVGPathSegList",Object.defineProperty(C.prototype,"numberOfItems",{get:function(){return this._checkPathSynchronizedToList(),this._list.length},enumerable:!0}),Object.defineProperties(SVGPathElement.prototype,{pathSegList:{get:function(){return this._pathSegList||(this._pathSegList=new C(this)),this._pathSegList},enumerable:!0},normalizedPathSegList:{get:function(){return this.pathSegList},enumerable:!0},animatedPathSegList:{get:function(){return this.pathSegList},enumerable:!0},animatedNormalizedPathSegList:{get:function(){return this.pathSegList},enumerable:!0}}),window.SVGPathSegList=C}}();var m,v=jQuery,y=(Boolean(document.createElementNS&&document.createElementNS(p.SVG,"svg").createSVGRect),navigator.userAgent),_=document.createElementNS(p.SVG,"svg"),b=Boolean(window.opera),x=y.includes("AppleWebKit"),w=y.includes("Gecko/"),S=y.includes("MSIE"),k=y.includes("Chrome/"),C=(y.includes("Windows"),y.includes("Macintosh")),A="ontouchstart"in window,E=Boolean(_.querySelector),G=Boolean(document.evaluate),P=function(){var e=document.createElementNS(p.SVG,"path");e.setAttribute("d","M0,0 10,10");var t=e.pathSegList,n=e.createSVGPathSegLinetoAbs(5,5);try{return t.replaceItem(n,1),!0}catch(e){}return!1}(),I=function(){var e=document.createElementNS(p.SVG,"path");e.setAttribute("d","M0,0 10,10");var t=e.pathSegList,n=e.createSVGPathSegLinetoAbs(5,5);try{return t.insertItemBefore(n,1),!0}catch(e){}return!1}(),N=function(){var e=document.createElementNS(p.SVG,"svg"),t=document.createElementNS(p.SVG,"svg");document.documentElement.append(e),t.setAttribute("x",5),e.append(t);var n=document.createElementNS(p.SVG,"text");n.textContent="a",t.append(n);try{return 0===n.getStartPositionOfChar(0).x}catch(e){return!1}finally{e.remove()}}(),T=function(){var e=document.createElementNS(p.SVG,"svg");document.documentElement.append(e);var t=document.createElementNS(p.SVG,"path");t.setAttribute("d","M0,0 C0,0 10,10 10,0"),e.append(t);var n=t.getBBox();return e.remove(),n.height>4&&n.height<5}(),L=function(){var e=document.createElementNS(p.SVG,"svg");document.documentElement.append(e);var t=document.createElementNS(p.SVG,"path");t.setAttribute("d","M0,0 10,0");var n=document.createElementNS(p.SVG,"path");n.setAttribute("d","M5,0 15,0");var r=document.createElementNS(p.SVG,"g");r.append(t,n),e.append(r);var a=r.getBBox();return e.remove(),15===a.width}(),M=(function(){var e=document.createElementNS(p.SVG,"rect");e.setAttribute("x",.1);var t=!e.cloneNode(!1).getAttribute("x").includes(",");t||v.alert('NOTE: This version of Opera is known to contain bugs in SVG-edit.\nPlease upgrade to the <a href="http://opera.com">latest version</a> in which the problems have been fixed.')}(),(m=document.createElementNS(p.SVG,"rect")).setAttribute("style","vector-effect:non-scaling-stroke"),"non-scaling-stroke"===m.style.vectorEffect),O=function(){var t=document.createElementNS(p.SVG,"rect").transform.baseVal,n=_.createSVGTransform();t.appendItem(n);var r=t.getItem(0),a=function(t){return t&&"object"===e(t)&&"function"==typeof t.setMatrix&&"angle"in t};return a(r)&&a(n)&&r.type===n.type&&r.angle===n.angle&&r.matrix.a===n.matrix.a&&r.matrix.b===n.matrix.b&&r.matrix.c===n.matrix.c&&r.matrix.d===n.matrix.d&&r.matrix.e===n.matrix.e&&r.matrix.f===n.matrix.f}(),j=function(){return b},V=function(){return x},R=function(){return w},B=function(){return S},D=function(){return k},U=function(){return C},F=function(){return A},H=function(){return L},z=function(){return M};
/**
* jQuery module to work with SVG attributes
* @module jQueryAttr
* @license MIT
*/
function q(t){var n=t.fn.attr;return t.fn.attr=function(t,r){var a=this.length;if(!a)return n.call(this,t,r);for(var i=0;i<a;++i){var o=this[i];if("http://www.w3.org/2000/svg"!==o.namespaceURI)return n.call(this,t,r);if(void 0!==r)o.setAttribute(t,r);else if(Array.isArray(t)){for(var s={},l=t.length;l--;){var c=t[l],u=o.getAttribute(c);(u||"0"===u)&&(u=isNaN(u)?u:u-0),s[c]=u}return s}if("object"!==e(t)){var h=o.getAttribute(t);return(h||"0"===h)&&(h=isNaN(h)?h:h-0),h}for(var f=0,p=Object.entries(t);f<p.length;f++){var g=d(p[f],2),m=g[0],v=g[1];o.setAttribute(m,v)}}return this},t}var Y=document.createElementNS(p.SVG,"svg");function W(e){var t=e.matrix,n="";switch(e.type){case 1:n="matrix("+[t.a,t.b,t.c,t.d,t.e,t.f].join(",")+")";break;case 2:n="translate("+t.e+","+t.f+")";break;case 3:n=t.a===t.d?"scale("+t.a+")":"scale("+t.a+","+t.d+")";break;case 4:var r=0,a=0;if(0!==e.angle){var i=1-t.a;a=(i*t.f+t.b*t.e)/(i*i+t.b*t.b),r=(t.e-t.b*a)/i}n="rotate("+e.angle+" "+r+","+a+")"}return n}var X,Q={},K=function(){function e(t){r(this,e),this._elem=t||null,this._xforms=[],this._update=function(){for(var e="",t=0;t<this.numberOfItems;++t){e+=W(this._list.getItem(t))+" "}this._elem.setAttribute("transform",e)},this._list=this,this._init=function(){var e=this,t=this._elem.getAttribute("transform");if(t)for(var n=/\s*((scale|matrix|rotate|translate)\s*\(.*?\))\s*,?\s*/,r=!0;r;)r=t.match(n),t=t.replace(n,""),r&&r[1]&&function(){var t=r[1].split(/\s*\(/),n=t[0],a=t[1].match(/\s*(.*?)\s*\)/);a[1]=a[1].replace(/(\d)-/g,"$1 -");var i=a[1].split(/[, ]+/),o="abcdef".split(""),s=Y.createSVGMatrix();Object.values(i).forEach((function(e,t){i[t]=parseFloat(e),"matrix"===n&&(s[o[t]]=i[t])}));var l=Y.createSVGTransform(),c="set"+n.charAt(0).toUpperCase()+n.slice(1),u="matrix"===n?[s]:i;"scale"===n&&1===u.length?u.push(u[0]):"translate"===n&&1===u.length?u.push(0):"rotate"===n&&1===u.length&&u.push(0,0),l[c].apply(l,h(u)),e._list.appendItem(l)}()},this._removeFromOtherLists=function(e){e&&Object.values(Q).some((function(t){for(var n=0,r=t._xforms.length;n<r;++n)if(t._xforms[n]===e)return t.removeItem(n),!0;return!1}))},this.numberOfItems=0}return i(e,[{key:"clear",value:function(){this.numberOfItems=0,this._xforms=[]}},{key:"initialize",value:function(e){this.numberOfItems=1,this._removeFromOtherLists(e),this._xforms=[e]}},{key:"getItem",value:function(e){if(e<this.numberOfItems&&e>=0)return this._xforms[e];var t=new Error("DOMException with code=INDEX_SIZE_ERR");throw t.code=1,t}},{key:"insertItemBefore",value:function(e,t){var n=null;if(t>=0)if(t<this.numberOfItems){this._removeFromOtherLists(e);var r,a=new Array(this.numberOfItems+1);for(r=0;r<t;++r)a[r]=this._xforms[r];a[r]=e;for(var i=r+1;r<this.numberOfItems;++i,++r)a[i]=this._xforms[r];this.numberOfItems++,this._xforms=a,n=e,this._list._update()}else n=this._list.appendItem(e);return n}},{key:"replaceItem",value:function(e,t){var n=null;return t<this.numberOfItems&&t>=0&&(this._removeFromOtherLists(e),this._xforms[t]=e,n=e,this._list._update()),n}},{key:"removeItem",value:function(e){if(e<this.numberOfItems&&e>=0){var t,n=this._xforms[e],r=new Array(this.numberOfItems-1);for(t=0;t<e;++t)r[t]=this._xforms[t];for(var a=t;a<this.numberOfItems-1;++a,++t)r[a]=this._xforms[t+1];return this.numberOfItems--,this._xforms=r,this._list._update(),n}var i=new Error("DOMException with code=INDEX_SIZE_ERR");throw i.code=1,i}},{key:"appendItem",value:function(e){return this._removeFromOtherLists(e),this._xforms.push(e),this.numberOfItems++,this._list._update(),e}}]),e}(),Z=function(e){e.id&&Q[e.id]&&delete Q[e.id]},$=function(e){if(!O){var t=e.id||"temp",n=Q[t];return n&&"temp"!==t||(Q[t]=new K(e),Q[t]._init(),n=Q[t]),n}return e.transform?e.transform.baseVal:e.gradientTransform?e.gradientTransform.baseVal:e.patternTransform?e.patternTransform.baseVal:null},J=["x","x1","cx","rx","width"],ee=["y","y1","cy","ry","height"],te=["r","radius"].concat(J,ee),ne={},re=function(){return ne},ae=function e(t){var n=X.getRoundDigits();return isNaN(t)?Array.isArray(t)?e(t[0])+","+e(t[1]):parseFloat(t).toFixed(n)-0:Number(Number(t).toFixed(n))},ie=function(e,t){return t=t||X.getBaseUnit(),ae(e/ne[t])},oe=function(e,t,n){e.setAttribute(t,n)},se=function(e,t){if(!isNaN(t))return t-0;if("%"===t.substr(-1)){var n=t.substr(0,t.length-1)/100,r=X.getWidth(),a=X.getHeight();return J.includes(e)?n*r:ee.includes(e)?n*a:n*Math.sqrt(r*r+a*a)/Math.sqrt(2)}var i=t.substr(-2);return t.substr(0,t.length-2)*ne[i]},le=function(e,t,n){if(te.includes(e))return!isNaN(t)||(t=t.toLowerCase(),Object.keys(ne).some((function(e){return new RegExp("^-?[\\d\\.]+"+e+"$").test(t)})));if("id"===e){var r=!1;try{var a=X.getElement(t);r=an(a)||a===n}catch(e){}return r}return!0},ce={BEFORE_APPLY:"before_apply",AFTER_APPLY:"after_apply",BEFORE_UNAPPLY:"before_unapply",AFTER_UNAPPLY:"after_unapply"},ue=function(){function e(){r(this,e)}return i(e,[{key:"getText",value:function(){return this.text}}]),e}(),de=function(e){function t(e,n,a,i){var o;return r(this,t),(o=u(this,l(t).call(this))).elem=e,o.text=i?"Move "+e.tagName+" to "+i:"Move "+e.tagName,o.oldNextSibling=n,o.oldParent=a,o.newNextSibling=e.nextSibling,o.newParent=e.parentNode,o}return s(t,e),i(t,[{key:"type",value:function(){return"svgedit.history.MoveElementCommand"}},{key:"apply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_APPLY,this),this.elem=this.newParent.insertBefore(this.elem,this.newNextSibling),e&&e.handleHistoryEvent(ce.AFTER_APPLY,this)}},{key:"unapply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_UNAPPLY,this),this.elem=this.oldParent.insertBefore(this.elem,this.oldNextSibling),e&&e.handleHistoryEvent(ce.AFTER_UNAPPLY,this)}},{key:"elements",value:function(){return[this.elem]}}]),t}(ue);de.type=de.prototype.type;var he=function(e){function t(e,n){var a;return r(this,t),(a=u(this,l(t).call(this))).elem=e,a.text=n||"Create "+e.tagName,a.parent=e.parentNode,a.nextSibling=a.elem.nextSibling,a}return s(t,e),i(t,[{key:"type",value:function(){return"svgedit.history.InsertElementCommand"}},{key:"apply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_APPLY,this),this.elem=this.parent.insertBefore(this.elem,this.nextSibling),e&&e.handleHistoryEvent(ce.AFTER_APPLY,this)}},{key:"unapply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_UNAPPLY,this),this.parent=this.elem.parentNode,this.elem=this.elem.parentNode.removeChild(this.elem),e&&e.handleHistoryEvent(ce.AFTER_UNAPPLY,this)}},{key:"elements",value:function(){return[this.elem]}}]),t}(ue);he.type=he.prototype.type;var fe=function(e){function t(e,n,a,i){var o;return r(this,t),(o=u(this,l(t).call(this))).elem=e,o.text=i||"Delete "+e.tagName,o.nextSibling=n,o.parent=a,Z(e),o}return s(t,e),i(t,[{key:"type",value:function(){return"svgedit.history.RemoveElementCommand"}},{key:"apply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_APPLY,this),Z(this.elem),this.parent=this.elem.parentNode,this.elem=this.parent.removeChild(this.elem),e&&e.handleHistoryEvent(ce.AFTER_APPLY,this)}},{key:"unapply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_UNAPPLY,this),Z(this.elem),an(this.nextSibling)&&window.console&&console.log("Error: reference element was lost"),this.parent.insertBefore(this.elem,this.nextSibling),e&&e.handleHistoryEvent(ce.AFTER_UNAPPLY,this)}},{key:"elements",value:function(){return[this.elem]}}]),t}(ue);fe.type=fe.prototype.type;var pe=function(e){function t(e,n,a){var i;for(var o in r(this,t),(i=u(this,l(t).call(this))).elem=e,i.text=a?"Change "+e.tagName+" "+a:"Change "+e.tagName,i.newValues={},i.oldValues=n,n)i.newValues[o]="#text"===o?e.textContent:"#href"===o?Ot(e):e.getAttribute(o);return i}return s(t,e),i(t,[{key:"type",value:function(){return"svgedit.history.ChangeElementCommand"}},{key:"apply",value:function(e){var t=this;e&&e.handleHistoryEvent(ce.BEFORE_APPLY,this);var n=!1;if(Object.entries(this.newValues).forEach((function(e){var r=d(e,2),a=r[0],i=r[1];i?"#text"===a?t.elem.textContent=i:"#href"===a?jt(t.elem,i):t.elem.setAttribute(a,i):"#text"===a?t.elem.textContent="":(t.elem.setAttribute(a,""),t.elem.removeAttribute(a)),"transform"===a&&(n=!0)})),!n){var r=Zt(this.elem);if(r){var a=this.elem.getBBox(),i=["rotate(",r," ",a.x+a.width/2,",",a.y+a.height/2,")"].join("");i!==this.elem.getAttribute("transform")&&this.elem.setAttribute("transform",i)}}return e&&e.handleHistoryEvent(ce.AFTER_APPLY,this),!0}},{key:"unapply",value:function(e){var t=this;e&&e.handleHistoryEvent(ce.BEFORE_UNAPPLY,this);var n=!1;if(Object.entries(this.oldValues).forEach((function(e){var r=d(e,2),a=r[0],i=r[1];i?"#text"===a?t.elem.textContent=i:"#href"===a?jt(t.elem,i):t.elem.setAttribute(a,i):"#text"===a?t.elem.textContent="":t.elem.removeAttribute(a),"transform"===a&&(n=!0)})),!n){var r=Zt(this.elem);if(r){var a=this.elem.getBBox(),i=["rotate(",r," ",a.x+a.width/2,",",a.y+a.height/2,")"].join("");i!==this.elem.getAttribute("transform")&&this.elem.setAttribute("transform",i)}}return Z(this.elem),e&&e.handleHistoryEvent(ce.AFTER_UNAPPLY,this),!0}},{key:"elements",value:function(){return[this.elem]}}]),t}(ue);pe.type=pe.prototype.type;var ge=function(e){function t(e){var n;return r(this,t),(n=u(this,l(t).call(this))).text=e||"Batch Command",n.stack=[],n}return s(t,e),i(t,[{key:"type",value:function(){return"svgedit.history.BatchCommand"}},{key:"apply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_APPLY,this);for(var t=this.stack.length,n=0;n<t;++n)this.stack[n].apply(e);e&&e.handleHistoryEvent(ce.AFTER_APPLY,this)}},{key:"unapply",value:function(e){e&&e.handleHistoryEvent(ce.BEFORE_UNAPPLY,this);for(var t=this.stack.length-1;t>=0;t--)this.stack[t].unapply(e);e&&e.handleHistoryEvent(ce.AFTER_UNAPPLY,this)}},{key:"elements",value:function(){for(var e=[],t=this.stack.length;t--;)for(var n=this.stack[t].elements(),r=n.length;r--;)e.includes(n[r])||e.push(n[r]);return e}},{key:"addSubCommand",value:function(e){this.stack.push(e)}},{key:"isEmpty",value:function(){return!this.stack.length}}]),t}(ue);ge.type=ge.prototype.type;var me,ve,ye,_e,be,xe=function(){function e(t){r(this,e),this.handler_=t||null,this.undoStackPointer=0,this.undoStack=[],this.undoChangeStackPointer=-1,this.undoableChangeStack=[]}return i(e,[{key:"resetUndoStack",value:function(){this.undoStack=[],this.undoStackPointer=0}},{key:"getUndoStackSize",value:function(){return this.undoStackPointer}},{key:"getRedoStackSize",value:function(){return this.undoStack.length-this.undoStackPointer}},{key:"getNextUndoCommandText",value:function(){return this.undoStackPointer>0?this.undoStack[this.undoStackPointer-1].getText():""}},{key:"getNextRedoCommandText",value:function(){return this.undoStackPointer<this.undoStack.length?this.undoStack[this.undoStackPointer].getText():""}},{key:"undo",value:function(){this.undoStackPointer>0&&this.undoStack[--this.undoStackPointer].unapply(this.handler_)}},{key:"redo",value:function(){this.undoStackPointer<this.undoStack.length&&this.undoStack.length>0&&this.undoStack[this.undoStackPointer++].apply(this.handler_)}},{key:"addCommandToHistory",value:function(e){this.undoStackPointer<this.undoStack.length&&this.undoStack.length>0&&(this.undoStack=this.undoStack.splice(0,this.undoStackPointer)),this.undoStack.push(e),this.undoStackPointer=this.undoStack.length}},{key:"beginUndoableChange",value:function(e,t){for(var n=++this.undoChangeStackPointer,r=t.length,a=new Array(r),i=new Array(r);r--;){var o=t[r];an(o)||(i[r]=o,a[r]=o.getAttribute(e))}this.undoableChangeStack[n]={attrName:e,oldValues:a,elements:i}}},{key:"finishUndoableChange",value:function(){for(var e=this.undoChangeStackPointer--,t=this.undoableChangeStack[e],n=t.attrName,r=new ge("Change "+n),a=t.elements.length;a--;){var i=t.elements[a];if(!an(i)){var o={};o[n]=t.oldValues[a],o[n]!==i.getAttribute(n)&&r.addSubCommand(new pe(i,o,n))}}return this.undoableChangeStack[e]=null,r}}]),e}(),we=Object.freeze({__proto__:null,HistoryEventTypes:ce,MoveElementCommand:de,InsertElementCommand:he,RemoveElementCommand:fe,ChangeElementCommand:pe,BatchCommand:ge,UndoManager:xe}),Se=document.createElementNS(p.SVG,"svg"),ke=function(e,t,n){return{x:n.a*e+n.c*t+n.e,y:n.b*e+n.d*t+n.f}},Ce=function(e){return 1===e.a&&0===e.b&&0===e.c&&1===e.d&&0===e.e&&0===e.f},Ae=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.reduceRight((function(e,t){return t.multiply(e)}));return Math.abs(r.a)<1e-14&&(r.a=0),Math.abs(r.b)<1e-14&&(r.b=0),Math.abs(r.c)<1e-14&&(r.c=0),Math.abs(r.d)<1e-14&&(r.d=0),Math.abs(r.e)<1e-14&&(r.e=0),Math.abs(r.f)<1e-14&&(r.f=0),r},Ee=function(e){if(!e)return!1;for(var t=e.numberOfItems;t--;){var n=e.getItem(t);if(1===n.type&&!Ce(n.matrix))return!0}return!1},Ge=function(e,t,n,r,a){var i=ke(e,t,a),o=ke(e+n,t,a),s=ke(e,t+r,a),l=ke(e+n,t+r,a),c=Math.min(i.x,o.x,s.x,l.x),u=Math.max(i.x,o.x,s.x,l.x),d=Math.min(i.y,o.y,s.y,l.y);return{tl:i,tr:o,bl:s,br:l,aabox:{x:c,y:d,width:u-c,height:Math.max(i.y,o.y,s.y,l.y)-d}}},Pe=function(e,t,n){if(an(e))return Se.createSVGTransformFromMatrix(Se.createSVGMatrix());if(t=t||0,n=n||e.numberOfItems-1,(t=parseInt(t))>(n=parseInt(n))){var r=n;n=t,t=r}for(var a=Se.createSVGMatrix(),i=t;i<=n;++i){var o=i>=0&&i<e.numberOfItems?e.getItem(i).matrix:Se.createSVGMatrix();a=Ae(a,o)}return Se.createSVGTransformFromMatrix(a)},Ie=function(e){var t=$(e);return Pe(t).matrix},Ne=function(e,t,n,r){var a=Math.PI/4,i=n-e,o=r-t,s=Math.atan2(o,i),l=Math.sqrt(i*i+o*o),c=Math.round(s/a)*a;return{x:e+l*Math.cos(c),y:t+l*Math.sin(c),a:c}},Te=function(e,t){return t.x<e.x+e.width&&t.x+t.width>e.x&&t.y<e.y+e.height&&t.y+t.height>e.y},Le=jQuery,Me={2:["x","y"],4:["x","y"],6:["x","y","x1","y1","x2","y2"],8:["x","y","x1","y1"],10:["x","y","r1","r2","angle","largeArcFlag","sweepFlag"],12:["x"],14:["y"],16:["x","y","x2","y2"],18:["x","y"]},Oe={},je=function(e){Object.assign(Oe,e.ui)},Ve=[],Re=!0,Be={},De=null,Ue=null,Fe=function(e){Ue=e,Ve=[0,"ClosePath"];Le.each(["Moveto","Lineto","CurvetoCubic","CurvetoQuadratic","Arc","LinetoHorizontal","LinetoVertical","CurvetoCubicSmooth","CurvetoQuadraticSmooth"],(function(e,t){Ve.push(t+"Abs"),Ve.push(t+"Rel")}))},He=function(e,t,n){var r=e.pathSegList;if(I)r.insertItemBefore(t,n);else{for(var a=r.numberOfItems,i=[],o=0;o<a;o++){var s=r.getItem(o);i.push(s)}r.clear();for(var l=0;l<a;l++)l===n&&r.appendItem(t),r.appendItem(i[l])}},ze=function(e,t){return Me[e].map((function(e){return t[e]}))},qe=function(e,t){var n=e.path,r={x:t?t.x:e.item.x,y:t?t.y:e.item.y};n.matrix&&(r=ke(r.x,r.y,n.matrix));var a=Ue.getCurrentZoom();return r.x*=a,r.y*=a,r},Ye=function(e,t){var n={x:e.x,y:e.y};t.matrix&&(e=ke(n.x,n.y,t.imatrix),n.x=e.x,n.y=e.y);var r=Ue.getCurrentZoom();return n.x/=r,n.y/=r,n},We=function(e,t,n){var r=Xe(),a=Jt("pathpointgrip_"+e);if(!a){a=document.createElementNS(p.SVG,"circle");var i={id:"pathpointgrip_"+e,display:"none",r:4,fill:"#0FF",stroke:"#00F","stroke-width":2,cursor:"move",style:"pointer-events:all"};"pathNodeTooltip"in Oe&&(i["xlink:title"]=Oe.pathNodeTooltip),en(a,i),a=r.appendChild(a),Le("#pathpointgrip_"+e).dblclick((function(){De&&De.setSegType()}))}return t&&n&&en(a,{cx:t,cy:n,display:"inline"}),a},Xe=function(){var e=Jt("pathpointgrip_container");e||((e=Jt("selectorParentGroup").appendChild(document.createElementNS(p.SVG,"g"))).id="pathpointgrip_container");return e},Qe=function(e){var t=Jt("ctrlpointgrip_"+e);if(t)return t;t=document.createElementNS(p.SVG,"circle");var n={id:"ctrlpointgrip_"+e,display:"none",r:4,fill:"#0FF",stroke:"#55F","stroke-width":1,cursor:"move",style:"pointer-events:all"};return"pathCtrlPtTooltip"in Oe&&(n["xlink:title"]=Oe.pathCtrlPtTooltip),en(t,n),Xe().append(t),t},Ke=function(e){var t=Jt("ctrlLine_"+e);return t||(t=document.createElementNS(p.SVG,"line"),en(t,{id:"ctrlLine_"+e,stroke:"#555","stroke-width":1,style:"pointer-events:none"}),Xe().append(t),t)},Ze=function(e){var t=e.item,n=e.index;if(!("x1"in t&&"x2"in t))return null;var r={};Xe();for(var a=[De.segs[n-1].item,t],i=1;i<3;i++){var o=n+"c"+i,s=r["c"+i+"_line"]=Ke(o),l=qe(e,{x:t["x"+i],y:t["y"+i]}),c=qe(e,{x:a[i-1].x,y:a[i-1].y});en(s,{x1:l.x,y1:l.y,x2:c.x,y2:c.y,display:"inline"}),r["c"+i+"_line"]=s;var u=r["c"+i]=Qe(o);en(u,{cx:l.x,cy:l.y,display:"inline"}),r["c"+i]=u}return r},$e=function(e,t,n,r){var a=r||De.elem,i=a["createSVGPathSeg"+Ve[e]].apply(a,h(n));if(P)a.pathSegList.replaceItem(i,t);else{for(var o=a.pathSegList,s=o.numberOfItems,l=[],c=0;c<s;c++){var u=o.getItem(c);l.push(u)}o.clear();for(var d=0;d<s;d++)d===t?o.appendItem(i):o.appendItem(l[d])}},Je=function(e,t){var n=e.index,r=Jt("segline_"+n);if(!r){var a=Xe();r=document.createElementNS(p.SVG,"path"),en(r,{id:"segline_"+n,display:"none",fill:"none",stroke:"#0FF","stroke-width":2,style:"pointer-events:none",d:"M0,0 0,0"}),a.append(r)}if(t){var i=e.prev;if(!i)return r.setAttribute("display","none"),r;var o=qe(i);$e(2,0,[o.x,o.y],r);for(var s=ze(e.type,e.item),l=0;l<s.length;l+=2){var c=qe(e,{x:s[l],y:s[l+1]});s[l]=c.x,s[l+1]=c.y}$e(e.type,1,s,r)}return r},et=function(e,t,n){var r=e.x-n.x,a=e.y-n.y,i=t.x-n.x,o=t.y-n.y;if(!(0===r&&0===a||0===i&&0===o)){var s=Math.sqrt(r*r+a*a),l=Math.sqrt(i*i+o*o),c=Ue.getSVGRoot().createSVGPoint(),u=Ue.getSVGRoot().createSVGPoint(),d=Math.atan2(a,r),h=Math.atan2(o,i);d<0&&(d+=2*Math.PI),h<0&&(h+=2*Math.PI);var f,p,g=Math.abs(d-h),m=Math.abs(Math.PI-g)/2;return d-h>0?(f=g<Math.PI?d+m:d-m,p=g<Math.PI?h-m:h+m):(f=g<Math.PI?d-m:d+m,p=g<Math.PI?h+m:h-m),c.x=s*Math.cos(f)+n.x,c.y=s*Math.sin(f)+n.y,u.x=l*Math.cos(p)+n.x,u.y=l*Math.sin(p)+n.y,[c,u]}},tt=function(){function e(t,n){r(this,e),this.selected=!1,this.index=t,this.item=n,this.type=n.pathSegType,this.ctrlpts=[],this.ptgrip=null,this.segsel=null}return i(e,[{key:"showCtrlPts",value:function(e){for(var t in this.ctrlpts)({}).hasOwnProperty.call(this.ctrlpts,t)&&this.ctrlpts[t].setAttribute("display",e?"inline":"none")}},{key:"selectCtrls",value:function(e){Le("#ctrlpointgrip_"+this.index+"c1, #ctrlpointgrip_"+this.index+"c2").attr("fill",e?"#0FF":"#EEE")}},{key:"show",value:function(e){this.ptgrip&&(this.ptgrip.setAttribute("display",e?"inline":"none"),this.segsel.setAttribute("display",e?"inline":"none"),this.showCtrlPts(e))}},{key:"select",value:function(e){this.ptgrip&&(this.ptgrip.setAttribute("stroke",e?"#0FF":"#00F"),this.segsel.setAttribute("display",e?"inline":"none"),this.ctrlpts&&this.selectCtrls(e),this.selected=e)}},{key:"addGrip",value:function(){this.ptgrip=function(e,t){var n=e.index,r=We(n);if(t){var a=qe(e);en(r,{cx:a.x,cy:a.y,display:"inline"})}return r}(this,!0),this.ctrlpts=Ze(this),this.segsel=Je(this,!0)}},{key:"update",value:function(e){if(this.ptgrip){var t=qe(this);en(this.ptgrip,{cx:t.x,cy:t.y}),Je(this,!0),this.ctrlpts&&(e&&(this.item=De.elem.pathSegList.getItem(this.index),this.type=this.item.pathSegType),Ze(this))}}},{key:"move",value:function(e,t){var n=this.item,r=this.ctrlpts?[n.x+=e,n.y+=t,n.x1,n.y1,n.x2+=e,n.y2+=t]:[n.x+=e,n.y+=t];if($e(this.type,this.index,10===this.type?ze(this.type,n):r),this.next&&this.next.ctrlpts){var a=this.next.item,i=[a.x,a.y,a.x1+=e,a.y1+=t,a.x2,a.y2];$e(this.next.type,this.next.index,i)}if(this.mate){var o=this.mate.item,s=[o.x+=e,o.y+=t];$e(this.mate.type,this.mate.index,s)}this.update(!0),this.next&&this.next.update(!0)}},{key:"setLinked",value:function(e){var t,n,r;if(2===e){if(n=1,!(t=this.next))return;r=this.item}else{if(n=2,!(t=this.prev))return;r=t.item}var a=t.item;a["x"+n]=r.x+(r.x-this.item["x"+e]),a["y"+n]=r.y+(r.y-this.item["y"+e]);var i=[a.x,a.y,a.x1,a.y1,a.x2,a.y2];$e(t.type,t.index,i),t.update(!0)}},{key:"moveCtrl",value:function(e,t,n){var r=this.item;r["x"+e]+=t,r["y"+e]+=n;var a=[r.x,r.y,r.x1,r.y1,r.x2,r.y2];$e(this.type,this.index,a),this.update(!0)}},{key:"setType",value:function(e,t){$e(e,this.index,t),this.type=e,this.item=De.elem.pathSegList.getItem(this.index),this.showCtrlPts(6===e),this.ctrlpts=Ze(this),this.update(!0)}}]),e}(),nt=function(){function e(t){if(r(this,e),!t||"path"!==t.tagName)throw new Error("svgedit.path.Path constructed without a <path> element");this.elem=t,this.segs=[],this.selected_pts=[],De=this,this.init()}return i(e,[{key:"init",value:function(){Le(Xe()).find("*").each((function(){Le(this).attr("display","none")}));var e=this.elem.pathSegList,t=e.numberOfItems;this.segs=[],this.selected_pts=[],this.first_seg=null;for(var n=0;n<t;n++){var r=e.getItem(n),a=new tt(n,r);a.path=this,this.segs.push(a)}for(var i=this.segs,o=null,s=0;s<t;s++){var l=i[s],c=s+1>=t?null:i[s+1],u=s-1<0?null:i[s-1];if(2===l.type){if(u&&1!==u.type){var d=i[o];d.next=i[o+1],d.next.prev=d,d.addGrip()}o=s}else if(c&&1===c.type)l.next=i[o+1],l.next.prev=l,l.mate=i[o],l.addGrip(),an(this.first_seg)&&(this.first_seg=l);else if(c)1!==l.type&&(l.addGrip(),c&&2!==c.type&&(l.next=c,l.next.prev=l));else if(1!==l.type){var h=i[o];h.next=i[o+1],h.next.prev=h,h.addGrip(),l.addGrip(),this.first_seg||(this.first_seg=i[o])}}return this}},{key:"eachSeg",value:function(e){for(var t=this.segs.length,n=0;n<t;n++){if(!1===e.call(this.segs[n],n))break}}},{key:"addSeg",value:function(e){var t=this.segs[e];if(t.prev){var n,r,a,i=t.prev;switch(t.item.pathSegType){case 4:r=(t.item.x+i.item.x)/2,a=(t.item.y+i.item.y)/2,n=this.elem.createSVGPathSegLinetoAbs(r,a);break;case 6:var o=(i.item.x+t.item.x1)/2,s=(t.item.x1+t.item.x2)/2,l=(t.item.x2+t.item.x)/2,c=(o+s)/2,u=(s+l)/2;r=(c+u)/2;var d=(i.item.y+t.item.y1)/2,h=(t.item.y1+t.item.y2)/2,f=(t.item.y2+t.item.y)/2,p=(d+h)/2,g=(h+f)/2;a=(p+g)/2,n=this.elem.createSVGPathSegCurvetoCubicAbs(r,a,o,d,c,p);var m=[t.item.x,t.item.y,u,g,l,f];$e(t.type,e,m)}He(this.elem,n,e)}}},{key:"deleteSeg",value:function(e){var t=this.segs[e],n=this.elem.pathSegList;t.show(!1);var r=t.next;if(t.mate){var a=[r.item.x,r.item.y];$e(2,r.index,a),$e(4,t.index,a),n.removeItem(t.mate.index)}else if(t.prev)n.removeItem(e);else{var i=[r.item.x,r.item.y];$e(2,t.next.index,i),n.removeItem(e)}}},{key:"removePtFromSelection",value:function(e){var t=this.selected_pts.indexOf(e);-1!==t&&(this.segs[e].select(!1),this.selected_pts.splice(t,1))}},{key:"clearSelection",value:function(){this.eachSeg((function(){this.select(!1)})),this.selected_pts=[]}},{key:"storeD",value:function(){this.last_d=this.elem.getAttribute("d")}},{key:"show",value:function(e){return this.eachSeg((function(){this.show(e)})),e&&this.selectPt(this.first_seg.index),this}},{key:"movePts",value:function(e,t){for(var n=this.selected_pts.length;n--;){this.segs[this.selected_pts[n]].move(e,t)}}},{key:"moveCtrl",value:function(e,t){var n=this.segs[this.selected_pts[0]];n.moveCtrl(this.dragctrl,e,t),Re&&n.setLinked(this.dragctrl)}},{key:"setSegType",value:function(e){this.storeD();for(var t,n=this.selected_pts.length;n--;){var r=this.selected_pts[n],a=this.segs[r],i=a.prev;if(i){if(!e)t="Toggle Path Segment Type",e=6===a.type?4:6;e=Number(e);var o=a.item.x,s=a.item.y,l=i.item.x,c=i.item.y,u=void 0;switch(e){case 6:if(a.olditem){var d=a.olditem;u=[o,s,d.x1,d.y1,d.x2,d.y2]}else{var h=o-l,f=s-c;u=[o,s,l+h/3,c+f/3,o-h/3,s-f/3]}break;case 4:u=[o,s],a.olditem=a.item}a.setType(e,u)}}De.endChanges(t)}},{key:"selectPt",value:function(e,t){this.clearSelection(),an(e)&&this.eachSeg((function(t){this.prev&&(e=t)})),this.addPtsToSelection(e),t&&(this.dragctrl=t,Re&&this.segs[e].setLinked(t))}},{key:"update",value:function(){var e=this.elem;return Zt(e)?(this.matrix=Ie(e),this.imatrix=this.matrix.inverse()):(this.matrix=null,this.imatrix=null),this.eachSeg((function(t){this.item=e.pathSegList.getItem(t),this.update()})),this}},{key:"endChanges",value:function(e){V()&&Ue.resetD(this.elem);var t=new pe(this.elem,{d:this.last_d},e);Ue.endChanges({cmd:t,elem:this.elem})}},{key:"addPtsToSelection",value:function(t){var n=this;Array.isArray(t)||(t=[t]),t.forEach((function(e){n.segs[e].ptgrip&&!n.selected_pts.includes(e)&&e>=0&&n.selected_pts.push(e)})),this.selected_pts.sort();var r=this.selected_pts.length,a=[];for(a.length=r;r--;){var i=this.selected_pts[r],o=this.segs[i];o.select(!0),a[r]=o.ptgrip}var s=e.subpathIsClosed(this.selected_pts[0]);Ue.addPtsToSelection({grips:a,closedSubpath:s})}}],[{key:"subpathIsClosed",value:function(e){var t=!1;return De.eachSeg((function(n){return n<=e||2!==this.type&&(1!==this.type||(t=!0,!1))})),t}}]),e}(),rt=function(e){var t=Be[e.id];return t||(t=Be[e.id]=new nt(e)),t},at=function(e){e in Be&&delete Be[e]},it=function(e,t){var n=e-ye,r=t-_e,a=Math.sqrt(n*n+r*r),i=Math.atan2(r,n)+be;return n=a*Math.cos(i)+ye,r=a*Math.sin(i)+_e,n-=me,r-=ve,a=Math.sqrt(n*n+r*r),i=Math.atan2(r,n)-be,{x:a*Math.cos(i)+me,y:a*Math.sin(i)+ve}},ot=function(){var e=De.elem;if(be=Zt(e,!0)){var t=De.oldbbox;ye=t.x+t.width/2,_e=t.y+t.height/2;var n=Dt(e);me=n.x+n.width/2,ve=n.y+n.height/2;var r=me-ye,a=ve-_e,i=Math.sqrt(r*r+a*a),o=Math.atan2(a,r)+be;me=i*Math.cos(o)+ye,ve=i*Math.sin(o)+_e;for(var s=e.pathSegList,l=s.numberOfItems;l;){l-=1;var c=s.getItem(l),u=c.pathSegType;if(1!==u){var d=it(c.x,c.y),h=[d.x,d.y];if(!an(c.x1)&&!an(c.x2)){var f=it(c.x1,c.y1),p=it(c.x2,c.y2);h.splice(h.length,0,f.x,f.y,p.x,p.y)}$e(u,l,h)}}Dt(e);var g=Ue.getSVGRoot().createSVGTransform(),m=$(e);g.setRotate(180*be/Math.PI,me,ve),m.replaceItem(g,0)}},st=[0,"z","M","m","L","l","C","c","Q","q","A","a","H","h","V","v","S","s","T","t"],lt=function(e,t){for(var n=e.pathSegList,r=n.numberOfItems,a=0,i=0,o="",s=null,l=0;l<r;++l){var c=n.getItem(l),u=c.x||0,d=c.y||0,h=c.x1||0,f=c.y1||0,p=c.x2||0,g=c.y2||0,m=c.pathSegType,v=st[m]["to"+(t?"Lower":"Upper")+"Case"]();switch(m){case 1:o+="z",s&&!t&&(a=s[0],i=s[1]);break;case 12:u-=a;case 13:t?(a+=u,v="l"):(a=u+=a,v="L"),o+=ct(v,[[u,i]]);break;case 14:d-=i;case 15:t?(i+=d,v="l"):(i=d+=i,v="L"),o+=ct(v,[[a,d]]);break;case 2:case 4:case 18:u-=a,d-=i;case 5:case 3:case 19:t?(a+=u,i+=d):(a=u+=a,i=d+=i),2!==m&&3!==m||(s=[a,i]),o+=ct(v,[[u,d]]);break;case 6:u-=a,h-=a,p-=a,d-=i,f-=i,g-=i;case 7:t?(a+=u,i+=d):(h+=a,p+=a,f+=i,g+=i,a=u+=a,i=d+=i),o+=ct(v,[[h,f],[p,g],[u,d]]);break;case 8:u-=a,h-=a,d-=i,f-=i;case 9:t?(a+=u,i+=d):(h+=a,f+=i,a=u+=a,i=d+=i),o+=ct(v,[[h,f],[u,d]]);break;case 10:u-=a,d-=i;case 11:t?(a+=u,i+=d):(a=u+=a,i=d+=i),o+=ct(v,[[c.r1,c.r2]],[c.angle,c.largeArcFlag?1:0,c.sweepFlag?1:0],[u,d]);break;case 16:u-=a,p-=a,d-=i,g-=i;case 17:t?(a+=u,i+=d):(p+=a,g+=i,a=u+=a,i=d+=i),o+=ct(v,[[p,g],[u,d]])}}return o};function ct(e,t,n,r){Le.each(t,(function(e,n){t[e]=ae(n)}));var a=e+t.join(" ");return n&&(a+=" "+n.join(" ")),r&&(a+=" "+ae(r)),a}var ut,dt,ht,ft,pt,gt=(ht=!1,ft=null,pt=!1,{mouseDown:function(e,t,n,r){var a;if("path"!==Ue.getCurrentMode()){if(De){var i;if(De.storeD(),"pathpointgrip_"===(a=e.target.id).substr(0,14)){i=De.cur_pt=parseInt(a.substr(14)),De.dragging=[n,r];var o=De.segs[i];e.shiftKey?o.selected?De.removePtFromSelection(i):De.addPtsToSelection(i):((De.selected_pts.length<=1||!o.selected)&&De.clearSelection(),De.addPtsToSelection(i))}else if(a.startsWith("ctrlpointgrip_")){De.dragging=[n,r];var s=a.split("_")[1].split("c");i=Number(s[0]);var l=Number(s[1]);De.selectPt(i,l)}if(!De.dragging){var c=Ue.getRubberBox();an(c)&&(c=Ue.setRubberBox(Ue.selectorManager.getRubberBandBox()));var u=Ue.getCurrentZoom();en(c,{x:n*u,y:r*u,width:0,height:0,display:"inline"})}}}else{var d=n,h=r,f=Ue.getCurrentZoom(),g=d/f,m=h/f,v=Jt("path_stretch_line");ut=[g,m],Ue.getGridSnapping()&&(g=nn(g),m=nn(m),d=nn(d),h=nn(h)),v||(v=document.createElementNS(p.SVG,"path"),en(v,{id:"path_stretch_line",stroke:"#22C","stroke-width":"0.5",fill:"none"}),v=Jt("selectorParentGroup").appendChild(v)),v.setAttribute("display","inline");var y,_=Ue.getDrawnPath();if(_){for(var b=_.pathSegList,x=b.numberOfItems,w=6/f,S=!1;x;){x--;var k=b.getItem(x),C=k.x,A=k.y;if(g>=C-w&&g<=C+w&&m>=A-w&&m<=A+w){S=!0;break}}a=Ue.getId(),at(a);var E,G,P=Jt(a),I=b.numberOfItems;if(S){if(x<=1&&I>=2){var N=b.getItem(0).x,T=b.getItem(0).y;E=4===(G=v.pathSegList.getItem(1)).pathSegType?_.createSVGPathSegLinetoAbs(N,T):_.createSVGPathSegCurvetoCubicAbs(N,T,G.x1/f,G.y1/f,N,T);var L=_.createSVGPathSegClosePath();b.appendItem(E),b.appendItem(L)}else if(I<3)return!1;if(Le(v).remove(),Ue.setDrawnPath(null),Ue.setStarted(!1),ht){De.matrix&&Ue.remapElement(P,{},De.matrix.inverse());var M=P.getAttribute("d"),O=Le(De.elem).attr("d");return Le(De.elem).attr("d",O+M),Le(P).remove(),De.matrix&&ot(),Fe(),gt.toEditMode(De.elem),De.selectPt(),!1}}else{if(!Le.contains(Ue.getContainer(),Ue.getMouseTarget(e)))return!1;var j=_.pathSegList.numberOfItems,V=_.pathSegList.getItem(j-1),R=V.x,B=V.y;if(e.shiftKey){var D=Ne(R,B,g,m);g=D.x,m=D.y}E=4===(G=v.pathSegList.getItem(1)).pathSegType?_.createSVGPathSegLinetoAbs(Ue.round(g),Ue.round(m)):_.createSVGPathSegCurvetoCubicAbs(Ue.round(g),Ue.round(m),G.x1/f,G.y1/f,G.x2/f,G.y2/f),_.pathSegList.appendItem(E),g*=f,m*=f,v.setAttribute("d",["M",g,m,g,m].join(" ")),y=j,ht&&(y+=De.segs.length),We(y,g,m)}}else{var U="M"+g+","+m+" ";Ue.setDrawnPath(Ue.addSVGElementFromJson({element:"path",curStyles:!0,attr:{d:U,id:Ue.getNextId(),opacity:Ue.getOpacity()/2}})),v.setAttribute("d",["M",d,h,d,h].join(" ")),y=ht?De.segs.length:0,We(y,d,h)}}},mouseMove:function(e,t){var n=Ue.getCurrentZoom();pt=!0;var r=Ue.getDrawnPath();if("path"!==Ue.getCurrentMode())if(De.dragging){var a=Ye({x:De.dragging[0],y:De.dragging[1]},De),i=Ye({x:e,y:t},De),o=i.x-a.x,s=i.y-a.y;De.dragging=[e,t],De.dragctrl?De.moveCtrl(o,s):De.movePts(o,s)}else De.selected_pts=[],De.eachSeg((function(e){if(this.next||this.prev){var t=Ue.getRubberBox().getBBox(),n=qe(this),r={x:n.x,y:n.y,width:0,height:0},a=Te(t,r);this.select(a),a&&De.selected_pts.push(this.index)}}));else{if(!r)return;var l=r.pathSegList,c=l.numberOfItems-1;if(ut){var u=Qe("1c1"),d=Qe("0c2");u.setAttribute("cx",e),u.setAttribute("cy",t),u.setAttribute("display","inline");var h=ut[0],f=ut[1],p=h+(h-e/n),g=f+(f-t/n);d.setAttribute("cx",p*n),d.setAttribute("cy",g*n),d.setAttribute("display","inline");var m=Ke(1);if(en(m,{x1:e,y1:t,x2:p*n,y2:g*n,display:"inline"}),0===c)dt=[e,t];else{var v=l.getItem(c-1),y=v.x,_=v.y;6===v.pathSegType?(y+=y-v.x2,_+=_-v.y2):dt&&(y=dt[0]/n,_=dt[1]/n),$e(6,c,[h,f,y,_,p,g],r)}}else{var b=Jt("path_stretch_line");if(b){var x=l.getItem(c);if(6===x.pathSegType){var w=x.x+(x.x-x.x2),S=x.y+(x.y-x.y2);$e(6,1,[e,t,w*n,S*n,e,t],b)}else dt?$e(6,1,[e,t,dt[0],dt[1],e,t],b):$e(4,1,[e,t],b)}}}},mouseUp:function(e,t,n,r){var a=Ue.getDrawnPath();if("path"===Ue.getCurrentMode())return ut=null,a||(t=Jt(Ue.getId()),Ue.setStarted(!1),dt=null),{keep:!0,element:t};var i=Ue.getRubberBox();if(De.dragging){var o=De.cur_pt;De.dragging=!1,De.dragctrl=!1,De.update(),pt&&De.endChanges("Move path point(s)"),e.shiftKey||pt||De.selectPt(o)}else i&&"none"!==i.getAttribute("display")?(i.setAttribute("display","none"),i.getAttribute("width")<=2&&i.getAttribute("height")<=2&&gt.toSelectMode(e.target)):gt.toSelectMode(e.target);pt=!1},toEditMode:function(e){De=rt(e),Ue.setCurrentMode("pathedit"),Ue.clearSelection(),De.show(!0).update(),De.oldbbox=Dt(De.elem),ht=!1},toSelectMode:function(e){var t=e===De.elem;Ue.setCurrentMode("select"),De.show(!1),ft=!1,Ue.clearSelection(),De.matrix&&ot(),t&&(Ue.call("selected",[e]),Ue.addToSelection([e],!0))},addSubPath:function(e){e?(Ue.setCurrentMode("path"),ht=!0):(gt.clear(!0),gt.toEditMode(De.elem))},select:function(e){ft===e?(gt.toEditMode(e),Ue.setCurrentMode("pathedit")):ft=e},reorient:function(){var e=Ue.getSelectedElements()[0];if(e&&0!==Zt(e)){var t=new ge("Reorient path"),n={d:e.getAttribute("d"),transform:e.getAttribute("transform")};t.addSubCommand(new pe(e,n)),Ue.clearSelection(),this.resetOrientation(e),Ue.addCommandToHistory(t),rt(e).show(!1).matrix=null,this.clear(),Ue.addToSelection([e],!0),Ue.call("changed",Ue.getSelectedElements())}},clear:function(e){var t=Ue.getDrawnPath();if(ft=null,t){var n=Jt(Ue.getId());Le(Jt("path_stretch_line")).remove(),Le(n).remove(),Le(Jt("pathpointgrip_container")).find("*").attr("display","none"),dt=null,Ue.setDrawnPath(null),Ue.setStarted(!1)}else"pathedit"===Ue.getCurrentMode()&&this.toSelectMode();De&&De.init().show(!1)},resetOrientation:function(e){if(an(e)||"path"!==e.nodeName)return!1;var t=$(e),n=Pe(t).matrix;t.clear(),e.removeAttribute("transform");for(var r=e.pathSegList,a=r.numberOfItems,i=function(t){var a=r.getItem(t),i=a.pathSegType;if(1===i)return"continue";var o=[];Le.each(["",1,2],(function(e,t){var r=a["x"+t],i=a["y"+t];if(void 0!==r&&void 0!==i){var s=ke(r,i,n);o.splice(o.length,0,s.x,s.y)}})),$e(i,t,o,e)},o=0;o<a;++o)i(o);!function(e,t){for(var n=Dt(e),r=0;r<2;r++){var a=0===r?"fill":"stroke",i=e.getAttribute(a);if(i&&i.startsWith("url(")){var o=$t(i);if("linearGradient"===o.tagName){var s=o.getAttribute("x1")||0,l=o.getAttribute("y1")||0,c=o.getAttribute("x2")||1,u=o.getAttribute("y2")||0;s=n.width*s+n.x,l=n.height*l+n.y,c=n.width*c+n.x,u=n.height*u+n.y;var d=ke(s,l,t),h=ke(c,u,t),f={x1:(d.x-n.x)/n.width,y1:(d.y-n.y)/n.height,x2:(h.x-n.x)/n.width,y2:(h.y-n.y)/n.height},p=o.cloneNode(!0);Le(p).attr(f),p.id=Ue.getNextId(),Vt().append(p),e.setAttribute(a,"url(#"+p.id+")")}}}}(e,n)},zoomChange:function(){"pathedit"===Ue.getCurrentMode()&&De.update()},getNodePoint:function(){var e=De.selected_pts.length?De.selected_pts[0]:1,t=De.segs[e];return{x:t.item.x,y:t.item.y,type:t.type}},linkControlPoints:function(e){Re=e},clonePathNode:function(){De.storeD();for(var e=De.selected_pts,t=e.length,n=[];t--;){var r=e[t];De.addSeg(r),n.push(r+t),n.push(r+t+1)}De.init().addPtsToSelection(n),De.endChanges("Clone path node(s)")},opencloseSubPath:function(){var e=De.selected_pts;if(1===e.length){var t,n,r=De.elem,a=r.pathSegList,i=e[0],o=null,s=null;if(De.eachSeg((function(e){return 2===this.type&&e<=i&&(s=this.item),e<=i||(2===this.type?(o=e,!1):1!==this.type||(o=!1,!1))})),an(o)&&(o=De.segs.length-1),!1!==o){var l=r.createSVGPathSegLinetoAbs(s.x,s.y),c=r.createSVGPathSegClosePath();return o===De.segs.length-1?(a.appendItem(l),a.appendItem(c)):(He(r,c,o),He(r,l,o)),void De.init().selectPt(o+1)}if(De.segs[i].mate)return a.removeItem(i),a.removeItem(i),void De.init().selectPt(i-1);for(var u=0;u<a.numberOfItems;u++){var d=a.getItem(u);if(2===d.pathSegType)t=u;else if(u===i)a.removeItem(t);else if(1===d.pathSegType&&i<u){n=u-1,a.removeItem(u);break}}for(var h=i-t-1;h--;)He(r,a.getItem(t),n);var f=a.getItem(t);$e(2,t,[f.x,f.y]),De.init().selectPt(0)}},deletePathNode:function(){if(gt.canDeleteNodes){De.storeD();for(var e=De.selected_pts,t=e.length;t--;){var n=e[t];De.deleteSeg(n)}if(function e(){var t=De.elem.pathSegList,n=t.numberOfItems,r=function(e,n){for(;n--;)t.removeItem(e)};if(n<=1)return!0;for(;n--;){var a=t.getItem(n);if(1===a.pathSegType){var i=t.getItem(n-1),o=t.getItem(n-2);if(2===i.pathSegType){r(n-1,2),e();break}if(2===o.pathSegType){r(n-2,3),e();break}}else if(2===a.pathSegType&&n>0){var s=t.getItem(n-1).pathSegType;if(2===s){r(n-1,1),e();break}if(1===s&&t.numberOfItems-1===n){r(n,1),e();break}}}return!1}(),De.elem.pathSegList.numberOfItems<=1)return gt.toSelectMode(De.elem),void Ue.canvas.deleteSelectedElements();if(De.init(),De.clearSelection(),window.opera){var r=Le(De.elem);r.attr("d",r.attr("d"))}De.endChanges("Delete path node(s)")}},smoothPolylineIntoPath:function(e){var t,n=e.points,r=n.numberOfItems;if(r>=4){var a=n.getItem(0),i=null,o=[];for(o.push(["M",a.x,",",a.y," C"].join("")),t=1;t<=r-4;t+=3){var s=n.getItem(t),l=n.getItem(t+1),c=n.getItem(t+2);if(i){var u=et(i,s,a);if(u&&2===u.length){var d=o[o.length-1].split(",");d[2]=u[0].x,d[3]=u[0].y,o[o.length-1]=d.join(","),s=u[1]}}o.push([s.x,s.y,l.x,l.y,c.x,c.y].join(",")),a=c,i=l}for(o.push("L");t<r;){var h=n.getItem(t);o.push([h.x,h.y].join(",")),t++}o=o.join(" "),e=Ue.addSVGElementFromJson({element:"path",curStyles:!0,attr:{id:Ue.getId(),d:o,fill:"none"}})}return e},setSegType:function(e){De.setSegType(e)},moveNode:function(e,t){var n=De.selected_pts;if(n.length){De.storeD();var r=De.segs[n[0]],a={x:0,y:0};a[e]=t-r.item[e],r.move(a.x,a.y),De.endChanges("Move path point")}},fixEnd:function(e){for(var t,n=e.pathSegList,r=n.numberOfItems,a=0;a<r;++a){var i=n.getItem(a);if(2===i.pathSegType&&(t=i),1===i.pathSegType){var o=n.getItem(a-1);if(o.x!==t.x||o.y!==t.y){var s=e.createSVGPathSegLinetoAbs(t.x,t.y);He(e,s,a),gt.fixEnd(e);break}}}V()&&Ue.resetD(e)},convertPath:lt}),mt=q(jQuery),vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",yt="a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use".split(","),_t=null,bt=null,xt=null,wt=null,St=function(e){return e.replace(/(<!DOCTYPE\s+\w*\s*\[).*(\?]>)/,"$1$2")},kt=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")};function Ct(e){if(e=Gt(e),window.btoa)return window.btoa(e);var t=new Array(4*Math.floor((e.length+2)/3)),n=0,r=0;do{var a=e.charCodeAt(n++),i=e.charCodeAt(n++),o=e.charCodeAt(n++),s=a>>2,l=(3&a)<<4|i>>4,c=(15&i)<<2|o>>6,u=63&o;isNaN(i)?(c=64,u=64):isNaN(o)&&(u=64),t[r++]=vt.charAt(s),t[r++]=vt.charAt(l),t[r++]=vt.charAt(c),t[r++]=vt.charAt(u)}while(n<e.length);return t.join("")}function At(e){if(window.atob)return Et(window.atob(e));e=e.replace(/[^A-Za-z\d+/=]/g,"");var t="",n=0;do{var r=vt.indexOf(e.charAt(n++)),a=vt.indexOf(e.charAt(n++)),i=vt.indexOf(e.charAt(n++)),o=vt.indexOf(e.charAt(n++)),s=r<<2|a>>4,l=(15&a)<<4|i>>2,c=(3&i)<<6|o;t+=String.fromCharCode(s),64!==i&&(t+=String.fromCharCode(l)),64!==o&&(t+=String.fromCharCode(c))}while(n<e.length);return Et(t)}function Et(e){return decodeURIComponent(escape(e))}var Gt=function(e){return unescape(encodeURIComponent(e))},Pt=function(e){if("undefined"==typeof Uint8Array||"undefined"==typeof Blob||"undefined"==typeof URL||!URL.createObjectURL)return"";for(var t=e.split(","),n=t[0].match(/:(.*?);/)[1],r=atob(t[1]),a=r.length,i=new Uint8Array(a);a--;)i[a]=r.charCodeAt(a);var o=new Blob([i],{type:n});return URL.createObjectURL(o)},It=function(e){return e&&"undefined"!=typeof URL&&URL.createObjectURL?URL.createObjectURL(e):""},Nt=function(){if("undefined"==typeof Blob)return"";var e=new Blob(["<html><head><title>SVG-edit</title></head><body>&nbsp;</body></html>"],{type:"text/html"});return It(e)}(),Tt=function(e){var t,n;e.includes("<svg:svg")&&(e=e.replace(/<(\/?)svg:/g,"<$1").replace("xmlns:svg","xmlns"));try{(n=window.DOMParser?new DOMParser:new window.ActiveXObject("Microsoft.XMLDOM")).async=!1}catch(e){throw new Error("XML Parser could not be instantiated")}try{t=n.loadXML?!!n.loadXML(e)&&n:n.parseFromString(e,"text/xml")}catch(e){throw new Error("Error parsing XML string")}return t},Lt=function e(t,n){if(t&&1===t.nodeType){n(t);for(var r=t.childNodes.length;r--;)e(t.childNodes.item(r),n)}},Mt=function(e){if(e){if(e.startsWith('url("'))return e.substring(5,e.indexOf('"',6));if(e.startsWith("url('"))return e.substring(5,e.indexOf("'",6));if(e.startsWith("url("))return e.substring(4,e.indexOf(")"))}return null},Ot=function(e){return e.getAttributeNS(p.XLINK,"href")},jt=function(e,t){e.setAttributeNS(p.XLINK,"xlink:href",t)},Vt=function(){var e=_t.getSVGContent(),t=e.getElementsByTagNameNS(p.SVG,"defs");return t.length>0?t=t[0]:(t=e.ownerDocument.createElementNS(p.SVG,"defs"),e.firstChild?e.insertBefore(t,e.firstChild.nextSibling):e.append(t)),t},Rt=function(e){for(var t=e.pathSegList,n=t.numberOfItems,r=[[],[]],a=t.getItem(0),i=[a.x,a.y],o=function(e,t,n,r){return function(a){return 1-Math.pow(a,3)*i[e]+3-Math.pow(a,2)*a*t[e]+3*(1-a)*Math.pow(a,2)*n[e]+Math.pow(a,3)*r[e]}},s=0;s<n;s++){var l=t.getItem(s);if(void 0!==l.x)if(r[0].push(i[0]),r[1].push(i[1]),l.x1){for(var c=[l.x1,l.y1],u=[l.x2,l.y2],d=[l.x,l.y],h=0;h<2;h++){var f=o(h,c,u,d),p=6*i[h]-12*c[h]+6*u[h],g=-3*i[h]+9*c[h]-9*u[h]+3*d[h],m=3*c[h]-3*i[h];if(0!==g){var v=Math.pow(p,2)-4*m*g;if(!(v<0)){var y=(-p+Math.sqrt(v))/(2*g);y>0&&y<1&&r[h].push(f(y));var _=(-p-Math.sqrt(v))/(2*g);_>0&&_<1&&r[h].push(f(_))}}else{if(0===p)continue;var b=-m/p;b>0&&b<1&&r[h].push(f(b))}}i=d}else r[0].push(l.x),r[1].push(l.y)}var x=Math.min.apply(null,r[0]),w=Math.max.apply(null,r[0])-x,S=Math.min.apply(null,r[1]);return{x:x,y:S,width:w,height:Math.max.apply(null,r[1])-S}};function Bt(e){if(H())try{return e.getBBox()}catch(e){}var t,n,r=mt.data(e,"ref"),a=null;r?(n=mt(r).children().clone().attr("visibility","hidden"),mt(wt).append(n),a=n.filter("line, path")):a=mt(e).find("line, path");var i=!1;if(a.length)if(a.each((function(){var e=this.getBBox();e.width&&e.height||(i=!0)})),i){var o=r?n:mt(e).children();t=Wt(o)}else t=e.getBBox();else t=e.getBBox();return r&&n.remove(),t}var Dt=function(e){var t=e||_t.geSelectedElements()[0];if(1!==e.nodeType)return null;var n,r=t.nodeName,a=null;switch(r){case"text":""===t.textContent?(t.textContent="a",a=t.getBBox(),t.textContent=""):t.getBBox&&(a=t.getBBox());break;case"path":T?t.getBBox&&(a=t.getBBox()):a=Rt(t);break;case"g":case"a":a=Bt(t);break;default:if("use"===r&&(a=Bt(t)),"use"===r||"foreignObject"===r&&V()){if(a||(a=t.getBBox()),!V()){var i=a,o=i.x,s=i.y;a={width:i.width,height:i.height,x:o+parseFloat(t.getAttribute("x")||0),y:s+parseFloat(t.getAttribute("y")||0)}}}else if(yt.includes(r))if(t)try{a=t.getBBox()}catch(e){var l=t.getExtentOfChar(0),c=t.getComputedTextLength();a={x:l.x,y:l.y,width:c,height:l.height}}else{var u=mt(t).closest("foreignObject");u.length&&u[0].getBBox&&(a=u[0].getBBox())}}return a&&(a={x:(n=a).x,y:n.y,width:n.width,height:n.height}),a},Ut=function(e){var t="";return mt.each(e,(function(e,n){var r=d(n,2),a=r[0],i=r[1];t+=a;for(var o=0;o<i.length;o+=2)t+=i[o]+","+i[o+1]+" "})),t},Ft=function(e){var t,n,r,a,i=1.81;switch(e.tagName){case"ellipse":case"circle":var o=n=mt(e).attr(["rx","ry","cx","cy"]),s=o.cx,l=o.cy,c=n;r=c.rx,a=c.ry,"circle"===e.tagName&&(r=a=mt(e).attr("r")),t=Ut([["M",[s-r,l]],["C",[s-r,l-a/i,s-r/i,l-a,s,l-a]],["C",[s+r/i,l-a,s+r,l-a/i,s+r,l]],["C",[s+r,l+a/i,s+r/i,l+a,s,l+a]],["C",[s-r/i,l+a,s-r,l+a/i,s-r,l]],["Z",[]]]);break;case"path":t=e.getAttribute("d");break;case"line":t="M"+(n=mt(e).attr(["x1","y1","x2","y2"])).x1+","+n.y1+"L"+n.x2+","+n.y2;break;case"polyline":t="M"+e.getAttribute("points");break;case"polygon":t="M"+e.getAttribute("points")+" Z";break;case"rect":var u=mt(e).attr(["rx","ry"]);r=u.rx,a=u.ry;var d=e.getBBox(),h=d.x,f=d.y,p=d.width,g=d.height;i=4-i,t=Ut(r||a?[["M",[h,f+a]],["C",[h,f+a/i,h+r/i,f,h+r,f]],["L",[h+p-r,f]],["C",[h+p-r/i,f,h+p,f+a/i,h+p,f+a]],["L",[h+p,f+g-a]],["C",[h+p,f+g-a/i,h+p-r/i,f+g,h+p-r,f+g]],["L",[h+r,f+g]],["C",[h+r/i,f+g,h,f+g-a/i,h,f+g-a]],["L",[h,f+a]],["Z",[]]]:[["M",[h,f]],["L",[h+p,f]],["L",[h+p,f+g]],["L",[h,f+g]],["L",[h,f]],["Z",[]]])}return t},Ht=function(e){var t={};return mt.each(["marker-start","marker-end","marker-mid","filter","clip-path"],(function(){var n=e.getAttribute(this);n&&(t[this]=n)})),t},zt=function(e,t,n){var r=t({element:"path",attr:Ht(e)}),a=e.getAttribute("transform");a&&r.setAttribute("transform",a);var i=e.parentNode;e.nextSibling?e.before(r):i.append(r);var o=Ft(e);o?r.setAttribute("d",o):r.remove(),n.resetOrientation(r);var s=!1;try{s=r.getBBox()}catch(e){}return r.remove(),s};var qt=function(e,t,n){var r=Dt(e);if(!r)return null;var a=$(e),i=Kt(a),o=Ee(a);if(i||o){var s=!1;if(function(e,t){var n=e%90;return t||!(n>-.001&&n<.001||(n<-89.99||n>89.99))}(i,o)){if(["ellipse","path","line","polyline","polygon"].includes(e.tagName))r=s=zt(e,t,n);else if("rect"===e.tagName){var l=e.getAttribute("rx"),c=e.getAttribute("ry");(l||c)&&(r=s=zt(e,t,n))}}if(!s){var u=Pe(a).matrix;r=Ge(r.x,r.y,r.width,r.height,u).aabox}}return r};function Yt(e){var t=e.getAttribute("stroke-width");return isNaN(t)||"none"===e.getAttribute("stroke")?0:t/2}var Wt=function(e,t,n){if(!e||!e.length)return!1;var r;if(mt.each(e,(function(){r||this.parentNode&&(r=qt(this,t,n))})),void 0===r)return null;var a=r.x+r.width,i=r.y+r.height,o=r.x,s=r.y;if(1===e.length){var l=Yt(e[0]);o-=l,s-=l,a+=l,i+=l}else mt.each(e,(function(e,r){var l=qt(r,t,n);if(l){var c=Yt(r);o=Math.min(o,l.x-c),s=Math.min(s,l.y-c),1===r.nodeType&&(a=Math.max(a,l.x+l.width+c),i=Math.max(i,l.y+l.height+c))}}));return r.x=o,r.y=s,r.width=a-o,r.height=i-s,r},Xt=function(e){e||(e=mt(_t.getSVGContent()).children());var t=[];return mt(e).children().each((function(e,n){n.getBBox&&t.push(n)})),t.reverse()},Qt=function(e){return e||(e=Xt()),Wt(e,_t.addSVGElementFromJson,_t.pathActions)},Kt=function(e,t){if(!e)return 0;for(var n=e.numberOfItems,r=0;r<n;++r){var a=e.getItem(r);if(4===a.type)return t?a.angle*Math.PI/180:a.angle}return 0},Zt=function(e,t){var n=e||_t.getSelectedElements()[0],r=$(n);return Kt(r,t)},$t=function(e){return Jt(Mt(e).substr(1))},Jt=E?function(e){return wt.querySelector("#"+e)}:G?function(e){return bt.evaluate('svg:svg[@id="svgroot"]//svg:*[@id="'+e+'"]',xt,(function(){return p.SVG}),9,null).singleNodeValue}:function(e){return mt(wt).find("[id="+e+"]")[0]},en=function(e,t,n,r){for(var a=0,i=Object.entries(t);a<i.length;a++){var o=d(i[a],2),s=o[0],l=o[1],c="xml:"===s.substr(0,4)?p.XML:"xlink:"===s.substr(0,6)?p.XLINK:null;c?e.setAttributeNS(c,s,l):r?oe(e,s,l):e.setAttribute(s,l)}},tn=function(e){var t={"fill-opacity":1,"stop-opacity":1,opacity:1,stroke:"none","stroke-dasharray":"none","stroke-linejoin":"miter","stroke-linecap":"butt","stroke-opacity":1,"stroke-width":1,rx:0,ry:0};"ellipse"===e.nodeName&&(delete t.rx,delete t.ry),Object.entries(t).forEach((function(t){var n=d(t,2),r=n[0],a=n[1];e.getAttribute(r)===String(a)&&e.removeAttribute(r)}))},nn=function(e){var t=_t.getBaseUnit(),n=_t.getSnappingStep();return"px"!==t&&(n*=re()[t]),e=Math.round(e/n)*n},rn=function(e){mt(e).click((function(e){e.preventDefault()}))},an=function(e){return null==e},on=jQuery,sn={},ln=function(){Object.values(sn).forEach((function(e){!function(e){Object.keys(sn).length||on("#cmenu_canvas").append("<li class='separator'>");var t=e.shortcut||"";on("#cmenu_canvas").append("<li class='disabled'><a href='#"+e.id+"'>"+e.label+"<span class='shortcut'>"+t+"</span></a></li>")}(e)}))};function cn(e,t){["id","class","type"].forEach((function(n){n in t&&(e[n]=t[n])}))}function un(e,t){return dn(e,o({},t,{returnDefault:!0}))}function dn(e,t){return hn.apply(this,arguments)}function hn(){return(hn=n(regeneratorRuntime.mark((function e(t,n){var r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.global,a=n.returnDefault,!!("svgEditor"in window&&window.svgEditor&&!1===window.svgEditor.modules)){e.next=4;break}return e.abrupt("return",pn(t,void 0,{returnDefault:a}));case 4:return e.next=6,fn(t);case 6:return e.abrupt("return",window[r]);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?Promise.all(e.map((function(e){return fn(e,t)}))):new Promise((function(n,r){var a=document.createElement("script");function i(){r(new Error("Failed to import: ".concat(e))),s()}function o(){n(),s()}var s=function(){a.removeEventListener("error",i),a.removeEventListener("load",o),a.remove(),a.src=""};a.defer="defer",cn(a,t),a.addEventListener("error",i),a.addEventListener("load",o),a.src=e,document.head.append(a)}))}function pn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).returnDefault,r=void 0!==n&&n;return Array.isArray(e)?Promise.all(e.map((function(e){return pn(e,t)}))):new Promise((function(n,a){var i="$importModule$"+Math.random().toString(32).slice(2),o=document.createElement("script");function s(){a(new Error("Failed to import: ".concat(e))),c()}function l(){n(window[i]),c()}var c=function(){delete window[i],o.removeEventListener("error",s),o.removeEventListener("load",l),o.remove(),URL.revokeObjectURL(o.src),o.src=""};cn(o,t),o.defer="defer",o.type="module",o.addEventListener("error",s),o.addEventListener("load",l);var u=function(e){var t=document.createElement("a");return t.setAttribute("href",e),t.cloneNode(!1).href}(e),d="import * as m from '".concat(u.replace(/'/g,"\\'"),"'; window.").concat(i," = ").concat(r?"m.default || ":"","m;"),h=new Blob([d],{type:"text/javascript"});o.src=URL.createObjectURL(h),document.head.append(o)}))}function gn(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ok:"Ok",cancel:"Cancel"};t("#dialog_container").draggable({cancel:"#dialog_content, #dialog_buttons *",containment:"window"}).css("position","absolute");var r=t("#dialog_box"),a=t("#dialog_buttons"),i=t("#dialog_content");function o(o,s,l,c,u,d){i.html("<p>"+s.replace(/\n/g,"</p><p>")+"</p>").toggleClass("prompt","prompt"===o),a.empty();var h=t('<input type="button" data-ok="" value="'+n.ok+'">').appendTo(a);return new Promise((function(f,p){var g,m;if("alert"!==o&&t('<input type="button" value="'+n.cancel+'">').appendTo(a).click((function(){r.hide(),f(!1)})),"prompt"===o)(g=t('<input type="text">').prependTo(a)).val(l||""),g.bind("keydown","return",(function(){h.click()}));else if("select"===o){var v=t('<div style="text-align:center;">');if(g=t('<select aria-label="'.concat(s,'">')).appendTo(v),d){var y=t("<label>").text(d.label);(m=t('<input type="checkbox">').appendTo(y)).val(d.value),d.tooltip&&y.attr("title",d.tooltip),m.prop("checked",Boolean(d.checked)),v.append(t("<div>").append(y))}t.each(c||[],(function(n,r){"object"===e(r)?g.append(t("<option>").val(r.value).html(r.text)):g.append(t("<option>").html(r))})),i.append(v),l&&g.val(l),u&&g.bind("change","return",u),g.bind("keydown","return",(function(){h.click()}))}else"process"===o&&h.hide();r.show(),h.click((function(){r.hide();var e="prompt"!==o&&"select"!==o||g.val();f(m?{response:e,checked:m.prop("checked")}:e)})).focus(),"prompt"!==o&&"select"!==o||g.focus()}))}return t.alert=function(e){return o("alert",e)},t.confirm=function(e){return o("confirm",e)},t.process_cancel=function(e){return o("process",e)},t.prompt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return o("prompt",e,t)},t.select=function(e,t,n,r,a){return o("select",e,r,t,n,a)},t}var mn=jQuery,vn=function(){function e(t,n,a){if(r(this,e),this.name_=t,this.group_=a?null:n,a){var i=a.ownerDocument;this.group_=i.createElementNS(p.SVG,"g");var o=i.createElementNS(p.SVG,"title");o.textContent=t,this.group_.append(o),n?mn(n).after(this.group_):a.append(this.group_)}yn(this.group_),Lt(this.group_,(function(e){e.setAttribute("style","pointer-events:inherit")})),this.group_.setAttribute("style",a?"pointer-events:all":"pointer-events:none")}return i(e,[{key:"getName",value:function(){return this.name_}},{key:"getGroup",value:function(){return this.group_}},{key:"activate",value:function(){this.group_.setAttribute("style","pointer-events:all")}},{key:"deactivate",value:function(){this.group_.setAttribute("style","pointer-events:none")}},{key:"setVisible",value:function(e){var t=void 0===e||e?"inline":"none";this.group_.getAttribute("display")!==t&&this.group_.setAttribute("display",t)}},{key:"isVisible",value:function(){return"none"!==this.group_.getAttribute("display")}},{key:"getOpacity",value:function(){var e=this.group_.getAttribute("opacity");return an(e)?1:parseFloat(e)}},{key:"setOpacity",value:function(e){"number"==typeof e&&e>=0&&e<=1&&this.group_.setAttribute("opacity",e)}},{key:"appendChildren",value:function(e){var t=!0,n=!1,r=void 0;try{for(var a,i=e[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;this.group_.append(o)}}catch(e){n=!0,r=e}finally{try{t||null==i.return||i.return()}finally{if(n)throw r}}}},{key:"getTitleElement",value:function(){for(var e=this.group_.childNodes.length,t=0;t<e;++t){var n=this.group_.childNodes.item(t);if(n&&"title"===n.tagName)return n}return null}},{key:"setName",value:function(e,t){var n=this.name_;e=kt(e);var r=this.getTitleElement();return r?(mn(r).empty(),r.textContent=e,this.name_=e,t&&t.changeElement(r,{"#text":n}),this.name_):null}},{key:"removeGroup",value:function(){var e=this.group_.parentNode.removeChild(this.group_);return this.group_=void 0,e}}]),e}();function yn(e){var t=e.getAttribute("class");an(t)||!t.length?e.setAttribute("class",vn.CLASS_NAME):vn.CLASS_REGEX.test(t)||e.setAttribute("class",t+" "+vn.CLASS_NAME)}vn.CLASS_NAME="layer",vn.CLASS_REGEX=new RegExp("(\\s|^)"+vn.CLASS_NAME+"(\\s|$)");var _n=function(){function e(t){r(this,e),this.undoManager_=t,this.currentBatchCommand_=null,this.batchCommandStack_=[]}return i(e,[{key:"startBatchCommand",value:function(e){return this.undoManager_?(this.currentBatchCommand_=new ge(e),this.batchCommandStack_.push(this.currentBatchCommand_),this):this}},{key:"endBatchCommand",value:function(){if(!this.undoManager_)return this;if(this.currentBatchCommand_){var e=this.currentBatchCommand_;this.batchCommandStack_.pop();var t=this.batchCommandStack_.length;this.currentBatchCommand_=t?this.batchCommandStack_[t-1]:null,this.addCommand_(e)}return this}},{key:"moveElement",value:function(e,t,n,r){return this.undoManager_?(this.addCommand_(new de(e,t,n,r)),this):this}},{key:"insertElement",value:function(e,t){return this.undoManager_?(this.addCommand_(new he(e,t)),this):this}},{key:"removeElement",value:function(e,t,n,r){return this.undoManager_?(this.addCommand_(new fe(e,t,n,r)),this):this}},{key:"changeElement",value:function(e,t,n){return this.undoManager_?(this.addCommand_(new pe(e,t,n)),this):this}},{key:"addCommand_",value:function(e){if(!this.undoManager_)return this;this.currentBatchCommand_?this.currentBatchCommand_.addSubCommand(e):this.undoManager_.addCommandToHistory(e)}}]),e}();_n.NO_HISTORY=new _n;var bn=jQuery,xn="a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use".split(","),wn={LET_DOCUMENT_DECIDE:0,ALWAYS_RANDOMIZE:1,NEVER_RANDOMIZE:2},Sn=wn.LET_DOCUMENT_DECIDE,kn=[];function Cn(e){return e||new _n(En.undoMgr)}function An(e){for(var t=1;e.includes("Layer "+t);)t++;return"Layer "+t}var En,Gn=function(){function e(t,n){if(r(this,e),!t||!t.tagName||!t.namespaceURI||"svg"!==t.tagName||t.namespaceURI!==p.SVG)throw new Error("Error: svgedit.draw.Drawing instance initialized without a <svg> element");this.svgElem_=t,this.obj_num=0,this.idPrefix=n||"svg_",this.releasedNums=[],this.all_layers=[],this.layer_map={},this.current_layer=null,this.nonce_="";var a=this.svgElem_.getAttributeNS(p.SE,"nonce");a&&Sn!==wn.NEVER_RANDOMIZE?this.nonce_=a:Sn===wn.ALWAYS_RANDOMIZE&&this.setNonce(Math.floor(100001*Math.random()))}return i(e,[{key:"getElem_",value:function(e){return this.svgElem_.querySelector?this.svgElem_.querySelector("#"+e):bn(this.svgElem_).find("[id="+e+"]")[0]}},{key:"getSvgElem",value:function(){return this.svgElem_}},{key:"getNonce",value:function(){return this.nonce_}},{key:"setNonce",value:function(e){this.svgElem_.setAttributeNS(p.XMLNS,"xmlns:se",p.SE),this.svgElem_.setAttributeNS(p.SE,"se:nonce",e),this.nonce_=e}},{key:"clearNonce",value:function(){this.nonce_=""}},{key:"getId",value:function(){return this.nonce_?this.idPrefix+this.nonce_+"_"+this.obj_num:this.idPrefix+this.obj_num}},{key:"getNextId",value:function(){var e=this.obj_num,t=!1;this.releasedNums.length>0?(this.obj_num=this.releasedNums.pop(),t=!0):this.obj_num++;for(var n=this.getId();this.getElem_(n);)t&&(this.obj_num=e,t=!1),this.obj_num++,n=this.getId();return t&&(this.obj_num=e),n}},{key:"releaseId",value:function(e){var t=this.idPrefix+(this.nonce_?this.nonce_+"_":"");if("string"!=typeof e||!e.startsWith(t))return!1;var n=parseInt(e.substr(t.length));return!("number"!=typeof n||n<=0||this.releasedNums.includes(n))&&(this.releasedNums.push(n),!0)}},{key:"getNumLayers",value:function(){return this.all_layers.length}},{key:"hasLayer",value:function(e){return void 0!==this.layer_map[e]}},{key:"getLayerName",value:function(e){return e>=0&&e<this.getNumLayers()?this.all_layers[e].getName():""}},{key:"getCurrentLayer",value:function(){return this.current_layer?this.current_layer.getGroup():null}},{key:"getLayerByName",value:function(e){var t=this.layer_map[e];return t?t.getGroup():null}},{key:"getCurrentLayerName",value:function(){return this.current_layer?this.current_layer.getName():""}},{key:"setCurrentLayerName",value:function(e,t){var n=null;if(this.current_layer){var r=this.current_layer.getName();(n=this.current_layer.setName(e,t))&&(delete this.layer_map[r],this.layer_map[n]=this.current_layer)}return n}},{key:"setCurrentLayerPosition",value:function(e){var t,n=this.getNumLayers();if(!this.current_layer||e<0||e>=n)return null;for(t=0;t<n&&this.all_layers[t]!==this.current_layer;++t);if(t===n)return null;if(t!==e){var r=this.current_layer.getGroup(),a=r.nextSibling,i=null;return e>t?e<n-1&&(i=this.all_layers[e+1].getGroup()):i=this.all_layers[e].getGroup(),this.svgElem_.insertBefore(r,i),this.identifyLayers(),this.setCurrentLayer(this.getLayerName(e)),{currentGroup:r,oldNextSibling:a}}return null}},{key:"mergeLayer",value:function(e){var t=this.current_layer.getGroup(),n=bn(t).prev()[0];if(n){e.startBatchCommand("Merge Layer");var r=t.nextSibling;for(e.removeElement(t,r,this.svgElem_);t.firstChild;){var a=t.firstChild;if("title"!==a.localName){var i=a.nextSibling;n.append(a),e.moveElement(a,i,t)}else e.removeElement(a,a.nextSibling,t),a.remove()}this.current_layer.removeGroup();var o=this.all_layers.indexOf(this.current_layer);if(o>0){var s=this.current_layer.getName();this.current_layer=this.all_layers[o-1],this.all_layers.splice(o,1),delete this.layer_map[s]}e.endBatchCommand()}}},{key:"mergeAllLayers",value:function(e){for(this.current_layer=this.all_layers[this.all_layers.length-1],e.startBatchCommand("Merge all Layers");this.all_layers.length>1;)this.mergeLayer(e);e.endBatchCommand()}},{key:"setCurrentLayer",value:function(e){var t=this.layer_map[e];return!!t&&(this.current_layer&&this.current_layer.deactivate(),this.current_layer=t,this.current_layer.activate(),!0)}},{key:"deleteCurrentLayer",value:function(){if(this.current_layer&&this.getNumLayers()>1){var e=this.current_layer.removeGroup();return this.identifyLayers(),e}return null}},{key:"identifyLayers",value:function(){this.all_layers=[],this.layer_map={};for(var e,t=this.svgElem_.childNodes.length,n=[],r=[],a=null,i=!1,o=0;o<t;++o){var s=this.svgElem_.childNodes.item(o);if(s&&1===s.nodeType)if("g"===s.tagName){i=!0;var l=bn("title",e=s).text()||(j()&&e.querySelectorAll?bn(e.querySelectorAll("title")).text():"");l?(r.push(l),a=new vn(l,s),this.all_layers.push(a),this.layer_map[l]=a):n.push(s)}else xn.includes(s.nodeName)&&n.push(s)}n.length>0||!i?((a=new vn(An(r),null,this.svgElem_)).appendChildren(n),this.all_layers.push(a),this.layer_map[name]=a):a.activate(),this.current_layer=a}},{key:"createLayer",value:function(e,t){this.current_layer&&this.current_layer.deactivate(),(null==e||""===e||this.layer_map[e])&&(e=An(Object.keys(this.layer_map)));var n=new vn(e,null,this.svgElem_);return t&&(t.startBatchCommand("Create Layer"),t.insertElement(n.getGroup()),t.endBatchCommand()),this.all_layers.push(n),this.layer_map[e]=n,this.current_layer=n,n.getGroup()}},{key:"cloneLayer",value:function(e,t){var n=this;if(!this.current_layer)return null;this.current_layer.deactivate(),(null==e||""===e||this.layer_map[e])&&(e=An(Object.keys(this.layer_map)));var r=this.current_layer.getGroup(),a=new vn(e,r,this.svgElem_),i=a.getGroup();h(r.childNodes).forEach((function(e){"title"!==e.localName&&i.append(n.copyElem(e))})),t&&(t.startBatchCommand("Duplicate Layer"),t.insertElement(i),t.endBatchCommand());var o=this.all_layers.indexOf(this.current_layer);return o>=0?this.all_layers.splice(o+1,0,a):this.all_layers.push(a),this.layer_map[e]=a,this.current_layer=a,i}},{key:"getLayerVisibility",value:function(e){var t=this.layer_map[e];return!!t&&t.isVisible()}},{key:"setLayerVisibility",value:function(e,t){if("boolean"!=typeof t)return null;var n=this.layer_map[e];return n?(n.setVisible(t),n.getGroup()):null}},{key:"getLayerOpacity",value:function(e){var t=this.layer_map[e];return t?t.getOpacity():null}},{key:"setLayerOpacity",value:function(e,t){if(!("number"!=typeof t||t<0||t>1)){var n=this.layer_map[e];n&&n.setOpacity(t)}}},{key:"copyElem",value:function(e){var t=this;return function e(t,n){var r=document.createElementNS(t.namespaceURI,t.nodeName);if(mt.each(t.attributes,(function(e,t){"-moz-math-font-style"!==t.localName&&r.setAttributeNS(t.namespaceURI,t.nodeName,t.value)})),r.removeAttribute("id"),r.id=n(),V()&&"path"===t.nodeName){var a=lt(t);r.setAttribute("d",a)}if(mt.each(t.childNodes,(function(t,a){switch(a.nodeType){case 1:r.append(e(a,n));break;case 3:r.textContent=a.nodeValue}})),mt(t).data("gsvg"))mt(r).data("gsvg",r.firstChild);else if(mt(t).data("symbol")){var i=mt(t).data("symbol");mt(r).data("ref",i).data("symbol",i)}else"image"===r.tagName&&rn(r);return r}(e,(function(){return t.getNextId()}))}}]),e}(),Pn=function(e,t){(Sn=!1===e?wn.NEVER_RANDOMIZE:wn.ALWAYS_RANDOMIZE)!==wn.ALWAYS_RANDOMIZE||t.getNonce()?Sn===wn.NEVER_RANDOMIZE&&t.getNonce()&&t.clearNonce():t.setNonce(Math.floor(100001*Math.random()))},In=function(){Un(),En.getCurrentDrawing().identifyLayers()},Nn=function(e,t){var n=En.getCurrentDrawing().createLayer(e,Cn(t));En.clearSelection(),En.call("changed",[n])},Tn=function(e,t){var n=En.getCurrentDrawing().cloneLayer(e,Cn(t));En.clearSelection(),Un(),En.call("changed",[n])},Ln=function(){var e=En.getCurrentDrawing().getCurrentLayer(),t=e.nextSibling,n=e.parentNode;if(e=En.getCurrentDrawing().deleteCurrentLayer()){var r=new ge("Delete Layer");return r.addSubCommand(new fe(e,t,n)),En.addCommandToHistory(r),En.clearSelection(),En.call("changed",[n]),!0}return!1},Mn=function(e){var t=En.getCurrentDrawing().setCurrentLayer(kt(e));return t&&En.clearSelection(),t},On=function(e){var t=En.getCurrentDrawing(),n=t.getCurrentLayer();if(n&&t.setCurrentLayerName(e,Cn()))return En.call("changed",[n]),!0;return!1},jn=function(e){var t=En.getCurrentDrawing().setCurrentLayerPosition(e);return!!t&&(En.addCommandToHistory(new de(t.currentGroup,t.oldNextSibling,En.getSVGContent())),!0)},Vn=function(e,t){var n=En.getCurrentDrawing(),r=n.getLayerVisibility(e),a=n.setLayerVisibility(e,t);if(!a)return!1;var i=r?"inline":"none";return En.addCommandToHistory(new pe(a,{display:i},"Layer Visibility")),a===n.getCurrentLayer()&&(En.clearSelection(),En.pathActions.clear()),!0},Rn=function(e){var t=En.getCurrentDrawing().getLayerByName(e);if(!t)return!1;for(var n=new ge("Move Elements to Layer"),r=En.getSelectedElements(),a=r.length;a--;){var i=r[a];if(i){var o=i.nextSibling,s=i.parentNode;t.append(i),n.addSubCommand(new de(i,o,s))}}return En.addCommandToHistory(n),!0},Bn=function(e){En.getCurrentDrawing().mergeLayer(Cn(e)),En.clearSelection(),Un(),En.changeSVGContent()},Dn=function(e){En.getCurrentDrawing().mergeAllLayers(Cn(e)),En.clearSelection(),Un(),En.changeSVGContent()},Un=function(){var e=kn.length;if(e){for(var t=0;t<e;t++){var n=kn[t],r=En.elData(n,"orig_opac");1!==r?n.setAttribute("opacity",r):n.removeAttribute("opacity"),n.setAttribute("style","pointer-events: inherit")}kn=[],En.clearSelection(!0),En.call("contextset",null)}En.setCurrentGroup(null)},Fn=function(e){Un(),"string"==typeof e&&(e=Jt(e)),En.setCurrentGroup(e),bn(e).parentsUntil("#svgcontent").andSelf().siblings().each((function(){var e=this.getAttribute("opacity")||1;En.elData(this,"orig_opac",e),this.setAttribute("opacity",.33*e),this.setAttribute("style","pointer-events: none"),kn.push(this)})),En.clearSelection(),En.call("contextset",En.getCurrentGroup())},Hn=g(),zn={a:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","id","mask","opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","xlink:href","xlink:title"],circle:["class","clip-path","clip-rule","cx","cy","fill","fill-opacity","fill-rule","filter","id","mask","opacity","r","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],clipPath:["class","clipPathUnits","id"],defs:[],style:["type"],desc:[],ellipse:["class","clip-path","clip-rule","cx","cy","fill","fill-opacity","fill-rule","filter","id","mask","opacity","requiredFeatures","rx","ry","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],feGaussianBlur:["class","color-interpolation-filters","id","requiredFeatures","stdDeviation"],feMorphology:["class","in","operator","radius"],filter:["class","color-interpolation-filters","filterRes","filterUnits","height","id","primitiveUnits","requiredFeatures","width","x","xlink:href","y"],foreignObject:["class","font-size","height","id","opacity","requiredFeatures","style","transform","width","x","y"],g:["class","clip-path","clip-rule","id","display","fill","fill-opacity","fill-rule","filter","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","font-family","font-size","font-style","font-weight","text-anchor"],image:["class","clip-path","clip-rule","filter","height","id","mask","opacity","requiredFeatures","style","systemLanguage","transform","width","x","xlink:href","xlink:title","y"],line:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","id","marker-end","marker-mid","marker-start","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","x1","x2","y1","y2"],linearGradient:["class","id","gradientTransform","gradientUnits","requiredFeatures","spreadMethod","systemLanguage","x1","x2","xlink:href","y1","y2"],marker:["id","class","markerHeight","markerUnits","markerWidth","orient","preserveAspectRatio","refX","refY","systemLanguage","viewBox"],mask:["class","height","id","maskContentUnits","maskUnits","width","x","y"],metadata:["class","id"],path:["class","clip-path","clip-rule","d","fill","fill-opacity","fill-rule","filter","id","marker-end","marker-mid","marker-start","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],pattern:["class","height","id","patternContentUnits","patternTransform","patternUnits","requiredFeatures","style","systemLanguage","viewBox","width","x","xlink:href","y"],polygon:["class","clip-path","clip-rule","id","fill","fill-opacity","fill-rule","filter","id","class","marker-end","marker-mid","marker-start","mask","opacity","points","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],polyline:["class","clip-path","clip-rule","id","fill","fill-opacity","fill-rule","filter","marker-end","marker-mid","marker-start","mask","opacity","points","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],radialGradient:["class","cx","cy","fx","fy","gradientTransform","gradientUnits","id","r","requiredFeatures","spreadMethod","systemLanguage","xlink:href"],rect:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","height","id","mask","opacity","requiredFeatures","rx","ry","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","width","x","y"],stop:["class","id","offset","requiredFeatures","stop-color","stop-opacity","style","systemLanguage"],svg:["class","clip-path","clip-rule","filter","id","height","mask","preserveAspectRatio","requiredFeatures","style","systemLanguage","viewBox","width","x","xmlns","xmlns:se","xmlns:xlink","y"],switch:["class","id","requiredFeatures","systemLanguage"],symbol:["class","fill","fill-opacity","fill-rule","filter","font-family","font-size","font-style","font-weight","id","opacity","preserveAspectRatio","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","viewBox"],text:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","font-family","font-size","font-style","font-weight","id","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","text-anchor","transform","x","xml:space","y"],textPath:["class","id","method","requiredFeatures","spacing","startOffset","style","systemLanguage","transform","xlink:href"],title:[],tspan:["class","clip-path","clip-rule","dx","dy","fill","fill-opacity","fill-rule","filter","font-family","font-size","font-style","font-weight","id","mask","opacity","requiredFeatures","rotate","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","text-anchor","textLength","transform","x","xml:space","y"],use:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","height","id","mask","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","transform","width","x","xlink:href","y"],annotation:["encoding"],"annotation-xml":["encoding"],maction:["actiontype","other","selection"],math:["class","id","display","xmlns"],menclose:["notation"],merror:[],mfrac:["linethickness"],mi:["mathvariant"],mmultiscripts:[],mn:[],mo:["fence","lspace","maxsize","minsize","rspace","stretchy"],mover:[],mpadded:["lspace","width","height","depth","voffset"],mphantom:[],mprescripts:[],mroot:[],mrow:["xlink:href","xlink:type","xmlns:xlink"],mspace:["depth","height","width"],msqrt:[],mstyle:["displaystyle","mathbackground","mathcolor","mathvariant","scriptlevel"],msub:[],msubsup:[],msup:[],mtable:["align","columnalign","columnlines","columnspacing","displaystyle","equalcolumns","equalrows","frame","rowalign","rowlines","rowspacing","width"],mtd:["columnalign","columnspan","rowalign","rowspan"],mtext:[],mtr:["columnalign","rowalign"],munder:[],munderover:[],none:[],semantics:[]},qn={};Object.entries(zn).forEach((function(e){var t=d(e,2),n=t[0],r=t[1],a={};Object.entries(r).forEach((function(e){var t=d(e,2),n=(t[0],t[1]);if(n.includes(":")){var r=n.split(":");a[r[1]]=p[r[0].toUpperCase()]}else a[n]="xmlns"===n?p.XMLNS:null})),qn[n]=a}));var Yn,Wn,Xn,Qn,Kn=function e(t){if(3===t.nodeType&&(t.nodeValue=t.nodeValue.replace(/^\s+|\s+$/g,""),t.nodeValue.length||t.remove()),1===t.nodeType){var n=t.ownerDocument,r=t.parentNode;if(n&&r){var a=zn[t.nodeName],i=qn[t.nodeName];if(void 0!==a){for(var o=[],s=t.attributes.length;s--;){var l=t.attributes.item(s),c=l.nodeName,u=l.localName,h=l.namespaceURI;if({}.hasOwnProperty.call(i,u)&&h===i[u]&&h!==p.XMLNS||h===p.XMLNS&&Hn[l.value]||((c.startsWith("se:")||c.startsWith("data-"))&&o.push([c,l.value]),t.removeAttributeNS(h,u)),R())switch(c){case"transform":case"gradientTransform":case"patternTransform":var f=l.value.replace(/(\d)-/g,"$1 -");t.setAttribute(c,f)}if("style"===c){for(var g=l.value.split(";"),m=g.length;m--;){var v=d(g[m].split(":"),2),y=v[0],_=v[1],b=(y||"").trim(),x=(_||"").trim();a.includes(b)&&t.setAttribute(b,x)}t.removeAttribute("style")}}Object.values(o).forEach((function(e){var n=d(e,2),r=n[0],a=n[1];t.setAttributeNS(p.SE,r,a)}));var w=Ot(t);if(w&&["filter","linearGradient","pattern","radialGradient","textPath","use"].includes(t.nodeName)&&"#"!==w[0]&&(jt(t,""),t.removeAttributeNS(p.XLINK,"href")),"use"===t.nodeName&&!Ot(t))return void t.remove();for(Object.values(["clip-path","fill","filter","marker-end","marker-mid","marker-start","mask","stroke"],(function(e){var n=t.getAttribute(e);n&&(n=Mt(n))&&"#"!==n[0]&&(t.setAttribute(e,""),t.removeAttribute(e))})),s=t.childNodes.length;s--;)e(t.childNodes.item(s))}else{for(var S=[];t.hasChildNodes();)S.push(r.insertBefore(t.firstChild,t));t.remove();for(var k=S.length;k--;)e(S[k])}}}},Zn=jQuery,$n=[0,"z","M","m","L","l","C","c","Q","q","A","a","H","h","V","v","S","s","T","t"],Jn=null,er=function(e,t,n){for(var r=function(e,t){return ke(e,t,n)},a=function(e){return n.a*e},i=function(e){return n.d*e},o=Jn.getGridSnapping()&&"svg"===e.parentNode.parentNode.localName,s=function(){o&&Object.entries(t).forEach((function(e){var n=d(e,2),r=n[0],a=n[1];t[r]=nn(a)})),en(e,t,1e3,!0)},l=Dt(e),c=0;c<2;c++){var u=0===c?"fill":"stroke",h=e.getAttribute(u);if(h&&h.startsWith("url(")&&(n.a<0||n.d<0)){var f=$t(h).cloneNode(!0);if(n.a<0){var p=f.getAttribute("x1"),g=f.getAttribute("x2");f.setAttribute("x1",-(p-1)),f.setAttribute("x2",-(g-1))}if(n.d<0){var m=f.getAttribute("y1"),v=f.getAttribute("y2");f.setAttribute("y1",-(m-1)),f.setAttribute("y2",-(v-1))}f.id=Jn.getDrawing().getNextId(),Vt().append(f),e.setAttribute(u,"url(#"+f.id+")")}}var y=e.tagName;if("g"===y||"text"===y||"tspan"===y||"use"===y)if(1!==n.a||0!==n.b||0!==n.c||1!==n.d||0===n.e&&0===n.f){var _=$(e),b=Jn.getSVGRoot().createSVGTransform();b.setMatrix(Ae(Pe(_).matrix,n)),_.clear(),_.appendItem(b)}else{var x=Pe(e).matrix,w=Ae(x.inverse(),n,x);t.x=parseFloat(t.x)+w.e,t.y=parseFloat(t.y)+w.f}switch(y){case"foreignObject":case"rect":case"image":if("image"===y&&(n.a<0||n.d<0)){var S=$(e),k=Jn.getSVGRoot().createSVGTransform();k.setMatrix(Ae(Pe(S).matrix,n)),S.clear(),S.appendItem(k)}else{var C=r(t.x,t.y);t.width=a(t.width),t.height=i(t.height),t.x=C.x+Math.min(0,t.width),t.y=C.y+Math.min(0,t.height),t.width=Math.abs(t.width),t.height=Math.abs(t.height)}s();break;case"ellipse":var A=r(t.cx,t.cy);t.cx=A.x,t.cy=A.y,t.rx=a(t.rx),t.ry=i(t.ry),t.rx=Math.abs(t.rx),t.ry=Math.abs(t.ry),s();break;case"circle":var E=r(t.cx,t.cy);t.cx=E.x,t.cy=E.y;var G=Ge(l.x,l.y,l.width,l.height,n),P=G.tr.x-G.tl.x,I=G.bl.y-G.tl.y;t.r=Math.min(P/2,I/2),t.r&&(t.r=Math.abs(t.r)),s();break;case"line":var N=r(t.x1,t.y1),T=r(t.x2,t.y2);t.x1=N.x,t.y1=N.y,t.x2=T.x,t.y2=T.y;case"text":case"tspan":case"use":s();break;case"g":var L=Zn(e).data("gsvg");L&&en(L,t,1e3,!0);break;case"polyline":case"polygon":for(var M=t.points.length,O=0;O<M;++O){var j=t.points[O],V=r(j.x,j.y),R=V.x,B=V.y;t.points[O].x=R,t.points[O].y=B}for(var D="",U=0;U<M;++U){var F=t.points[U];D+=F.x+","+F.y+" "}e.setAttribute("points",D);break;case"path":var H=e.pathSegList,z=H.numberOfItems;t.d=[];for(var q=0;q<z;++q){var Y=H.getItem(q);t.d[q]={type:Y.pathSegType,x:Y.x,y:Y.y,x1:Y.x1,y1:Y.y1,x2:Y.x2,y2:Y.y2,r1:Y.r1,r2:Y.r2,angle:Y.angle,largeArcFlag:Y.largeArcFlag,sweepFlag:Y.sweepFlag}}z=t.d.length;var W=t.d[0],X=r(W.x,W.y);t.d[0].x=X.x,t.d[0].y=X.y;for(var Q=1;Q<z;++Q){var K=t.d[Q];if(K.type%2==0){var Z=r(void 0!==K.x?K.x:X.x,void 0!==K.y?K.y:X.y),J=r(K.x1,K.y1),ee=r(K.x2,K.y2);K.x=Z.x,K.y=Z.y,K.x1=J.x,K.y1=J.y,K.x2=ee.x,K.y2=ee.y,K.r1=a(K.r1),K.r2=i(K.r2)}else K.x=a(K.x),K.y=i(K.y),K.x1=a(K.x1),K.y1=i(K.y1),K.x2=a(K.x2),K.y2=i(K.y2),K.r1=a(K.r1),K.r2=i(K.r2)}var te="";z=t.d.length;for(var ne=0;ne<z;++ne){var re=t.d[ne],ae=re.type;switch(te+=$n[ae],ae){case 13:case 12:te+=re.x+" ";break;case 15:case 14:te+=re.y+" ";break;case 3:case 5:case 19:case 2:case 4:case 18:te+=re.x+","+re.y+" ";break;case 7:case 6:te+=re.x1+","+re.y1+" "+re.x2+","+re.y2+" "+re.x+","+re.y+" ";break;case 9:case 8:te+=re.x1+","+re.y1+" "+re.x+","+re.y+" ";break;case 11:case 10:te+=re.r1+","+re.r2+" "+re.angle+" "+Number(re.largeArcFlag)+" "+Number(re.sweepFlag)+" "+re.x+","+re.y+" ";break;case 17:case 16:te+=re.x2+","+re.y2+" "+re.x+","+re.y+" "}}e.setAttribute("d",te)}},tr=q(jQuery),nr=function(e,t,n){var r=$t(e).firstChild,a=$(r),i=Yn.getSVGRoot().createSVGTransform();i.setTranslate(t,n),a.appendItem(i),rr(r)},rr=function e(t){if(an(t))return null;if("svg"===t.nodeName&&navigator.userAgent.includes("Firefox/20"))return null;var n=Yn.getSVGRoot(),r=$(t);if(r&&r.numberOfItems>0){for(var a=r.numberOfItems,i=a;a--;){var o=r.getItem(a);if(0===o.type)r.removeItem(a);else if(1===o.type){if(Ce(o.matrix)){if(1===i)return t.removeAttribute("transform"),null;r.removeItem(a)}}else 4===o.type&&0===o.angle&&r.removeItem(a)}if(1===r.numberOfItems&&Zt(t))return null}if(!r||0===r.numberOfItems)return t.setAttribute("transform",""),t.removeAttribute("transform"),null;if(r){for(var s=[],l=r.numberOfItems;l--;){var c=r.getItem(l);1===c.type?s.push([c.matrix,l]):s.length&&(s=[])}if(2===s.length){var u=n.createSVGTransformFromMatrix(Ae(s[1][0],s[0][0]));r.removeItem(s[0][1]),r.removeItem(s[1][1]),r.insertItemBefore(u,s[1][1])}if((l=r.numberOfItems)>=2&&1===r.getItem(l-2).type&&2===r.getItem(l-1).type){var d=n.createSVGTransform(),h=Ae(r.getItem(l-2).matrix,r.getItem(l-1).matrix);d.setMatrix(h),r.removeItem(l-2),r.removeItem(l-2),r.appendItem(d)}}switch(t.tagName){case"line":case"polyline":case"polygon":case"path":break;default:if(1===r.numberOfItems&&1===r.getItem(0).type||2===r.numberOfItems&&1===r.getItem(0).type&&4===r.getItem(0).type)return null}var f,g,m=tr(t).data("gsvg"),v=new ge("Transform"),y={},_=null,b=[];switch(t.tagName){case"line":b=["x1","y1","x2","y2"];break;case"circle":b=["cx","cy","r"];break;case"ellipse":b=["cx","cy","rx","ry"];break;case"foreignObject":case"rect":case"image":b=["width","height","x","y"];break;case"use":case"text":case"tspan":b=["x","y"];break;case"polygon":case"polyline":(_={}).points=t.getAttribute("points");var x=t.points,w=x.numberOfItems;y.points=new Array(w);for(var S=0;S<w;++S){var k=x.getItem(S);y.points[S]={x:k.x,y:k.y}}break;case"path":(_={}).d=t.getAttribute("d"),y.d=t.getAttribute("d")}if(b.length?(y=tr(t).attr(b),tr.each(y,(function(e,t){y[e]=se(e,t)}))):m&&(y={x:tr(m).attr("x")||0,y:tr(m).attr("y")||0}),an(_)&&(_=tr.extend(!0,{},y),tr.each(_,(function(e,t){_[e]=se(e,t)}))),_.transform=Yn.getStartTransform()||"","g"===t.tagName&&!m||"a"===t.tagName){var C=Dt(t);f={x:C.x+C.width/2,y:C.y+C.height/2},g=ke(C.x+C.width/2,C.y+C.height/2,Pe(r).matrix);var A=Zt(t);if(A){var E,G=A*Math.PI/180;E=Math.abs(G)>1e-10?Math.sin(G)/(1-Math.cos(G)):2/G;for(var P=0;P<r.numberOfItems;++P){var I=r.getItem(P);if(4===I.type){var N=I.matrix;f.y=(E*N.e+N.f)/2,f.x=(N.e-E*N.f)/2,r.removeItem(P);break}}}var T,L,M=r.numberOfItems,O=0,j=0,R=0;if(M&&(T=r.getItem(0).matrix),M>=3&&3===r.getItem(M-2).type&&2===r.getItem(M-3).type&&2===r.getItem(M-1).type){R=3;for(var B=r.getItem(M-3).matrix,D=r.getItem(M-2).matrix,U=r.getItem(M-1).matrix,F=t.childNodes,H=F.length;H--;){var z=F.item(H);if(O=0,j=0,1===z.nodeType){var q=$(z);if(!q)continue;var Y=Pe(q).matrix,W=Zt(z);if(L=Yn.getStartTransform(),Yn.setStartTransform(z.getAttribute("transform")),W||Ee(q)){var X=n.createSVGTransform();X.setMatrix(Ae(B,D,U,Y)),q.clear(),q.appendItem(X)}else{var Q=Ae(Y.inverse(),U,Y),K=n.createSVGMatrix();K.e=-Q.e,K.f=-Q.f;var Z=Ae(K.inverse(),Y.inverse(),B,D,U,Y,Q.inverse()),J=n.createSVGTransform(),ee=n.createSVGTransform(),te=n.createSVGTransform();J.setTranslate(Q.e,Q.f),ee.setScale(Z.a,Z.d),te.setTranslate(K.e,K.f),q.appendItem(te),q.appendItem(ee),q.appendItem(J)}v.addSubCommand(e(z)),Yn.setStartTransform(L)}}r.removeItem(M-1),r.removeItem(M-2),r.removeItem(M-3)}else if(M>=3&&1===r.getItem(M-1).type){R=3;var ne=Pe(r).matrix,re=n.createSVGTransform();re.setMatrix(ne),r.clear(),r.appendItem(re)}else if((1===M||M>1&&3!==r.getItem(1).type)&&2===r.getItem(0).type){R=2;var ae=Pe(r).matrix;r.removeItem(0);var ie=Pe(r).matrix.inverse(),oe=Ae(ie,ae);if(O=oe.e,j=oe.f,0!==O||0!==j){for(var le=t.childNodes,ce=le.length,ue=[];ce--;){var de=le.item(ce);if(1===de.nodeType){if(de.getAttribute("clip-path")){var he=de.getAttribute("clip-path");ue.includes(he)||(nr(he,O,j),ue.push(he))}L=Yn.getStartTransform(),Yn.setStartTransform(de.getAttribute("transform"));var fe=$(de);if(fe){var me=n.createSVGTransform();me.setTranslate(O,j),fe.numberOfItems?fe.insertItemBefore(me,0):fe.appendItem(me),v.addSubCommand(e(de));for(var ve=t.getElementsByTagNameNS(p.SVG,"use"),ye="#"+de.id,_e=ve.length;_e--;){var be=ve.item(_e);if(ye===Ot(be)){var xe=n.createSVGTransform();xe.setTranslate(-O,-j),$(be).insertItemBefore(xe,0),v.addSubCommand(e(be))}}Yn.setStartTransform(L)}}}Yn.setStartTransform(L)}}else{if(1!==M||1!==r.getItem(0).type||A){if(A){var we=n.createSVGTransform();we.setRotate(A,g.x,g.y),r.numberOfItems?r.insertItemBefore(we,0):r.appendItem(we)}return 0===r.numberOfItems&&t.removeAttribute("transform"),null}R=1;for(var Se=r.getItem(0).matrix,Ge=t.childNodes,Ie=Ge.length;Ie--;){var Ne=Ge.item(Ie);if(1===Ne.nodeType){L=Yn.getStartTransform(),Yn.setStartTransform(Ne.getAttribute("transform"));var Te=$(Ne);if(!Te)continue;var Le=Ae(Se,Pe(Te).matrix),Me=n.createSVGTransform();Me.setMatrix(Le),Te.clear(),Te.appendItem(Me,0),v.addSubCommand(e(Ne)),Yn.setStartTransform(L);var Oe=Ne.getAttribute("stroke-width");if("none"!==Ne.getAttribute("stroke")&&!isNaN(Oe)){var je=(Math.abs(Le.a)+Math.abs(Le.d))/2;Ne.setAttribute("stroke-width",Oe*je)}}}r.clear()}if(2===R){if(A){g={x:f.x+T.e,y:f.y+T.f};var Ve=n.createSVGTransform();Ve.setRotate(A,g.x,g.y),r.numberOfItems?r.insertItemBefore(Ve,0):r.appendItem(Ve)}}else if(3===R){var Re=Pe(r).matrix,Be=n.createSVGTransform();Be.setRotate(A,f.x,f.y);var De=Be.matrix,Ue=n.createSVGTransform();Ue.setRotate(A,g.x,g.y);var Fe=Ue.matrix.inverse(),He=Re.inverse(),ze=Ae(He,Fe,De,Re);if(O=ze.e,j=ze.f,0!==O||0!==j)for(var qe=t.childNodes,Ye=qe.length;Ye--;){var We=qe.item(Ye);if(1===We.nodeType){L=Yn.getStartTransform(),Yn.setStartTransform(We.getAttribute("transform"));var Xe=$(We),Qe=n.createSVGTransform();Qe.setTranslate(O,j),Xe.numberOfItems?Xe.insertItemBefore(Qe,0):Xe.appendItem(Qe),v.addSubCommand(e(We)),Yn.setStartTransform(L)}}A&&(r.numberOfItems?r.insertItemBefore(Ue,0):r.appendItem(Ue))}}else{var Ke,Ze=Dt(t);if(!Ze&&"path"!==t.tagName)return null;var $e=Zt(t);if($e){f={x:Ze.x+Ze.width/2,y:Ze.y+Ze.height/2},g=ke(Ze.x+Ze.width/2,Ze.y+Ze.height/2,Pe(r).matrix);for(var Je=$e*Math.PI/180,et=Math.abs(Je)>1e-10?Math.sin(Je)/(1-Math.cos(Je)):2/Je,tt=0;tt<r.numberOfItems;++tt){var nt=r.getItem(tt);if(4===nt.type){var rt=nt.matrix;f.y=(et*rt.e+rt.f)/2,f.x=(rt.e-et*rt.f)/2,r.removeItem(tt);break}}}var at=0,it=r.numberOfItems;if(!V()){var ot=t.getAttribute("fill");if(ot&&ot.startsWith("url(")){var st=$t(ot),lt="pattern";if(st.tagName!==lt&&(lt="gradient"),"userSpaceOnUse"===st.getAttribute(lt+"Units")){Ke=Pe(r).matrix;var ct=$(st),ut=Pe(ct).matrix,dt="matrix("+[(Ke=Ae(Ke,ut)).a,Ke.b,Ke.c,Ke.d,Ke.e,Ke.f].join(",")+")";st.setAttribute(lt+"Transform",dt)}}}if(it>=3&&3===r.getItem(it-2).type&&2===r.getItem(it-3).type&&2===r.getItem(it-1).type)at=3,Ke=Pe(r,it-3,it-1).matrix,r.removeItem(it-1),r.removeItem(it-2),r.removeItem(it-3);else if(4===it&&1===r.getItem(it-1).type){at=3,Ke=Pe(r).matrix;var ht=n.createSVGTransform();ht.setMatrix(Ke),r.clear(),r.appendItem(ht),Ke=n.createSVGMatrix()}else if((1===it||it>1&&3!==r.getItem(1).type)&&2===r.getItem(0).type){at=2;var ft=r.getItem(0).matrix,pt=Pe(r,1).matrix,gt=pt.inverse();Ke=Ae(gt,ft,pt),r.removeItem(0)}else{if(1!==it||1!==r.getItem(0).type||$e){if($e){var mt=n.createSVGTransform();mt.setRotate($e,g.x,g.y),r.numberOfItems?r.insertItemBefore(mt,0):r.appendItem(mt)}return 0===r.numberOfItems&&t.removeAttribute("transform"),null}switch(Ke=Pe(r).matrix,t.tagName){case"line":y=tr(t).attr(["x1","y1","x2","y2"]);case"polyline":case"polygon":if(y.points=t.getAttribute("points"),y.points){var vt=t.points,yt=vt.numberOfItems;y.points=new Array(yt);for(var _t=0;_t<yt;++_t){var bt=vt.getItem(_t);y.points[_t]={x:bt.x,y:bt.y}}}case"path":y.d=t.getAttribute("d"),at=1,r.clear()}}if(1!==at&&2!==at&&3!==at||er(t,y,Ke),2===at){if($e){Ee(r)||(g={x:f.x+Ke.e,y:f.y+Ke.f});var xt=n.createSVGTransform();xt.setRotate($e,g.x,g.y),r.numberOfItems?r.insertItemBefore(xt,0):r.appendItem(xt)}if("text"===t.tagName)for(var wt=t.childNodes,St=wt.length;St--;){var kt=wt.item(St);if("tspan"===kt.tagName){var Ct={x:tr(kt).attr("x")||0,y:tr(kt).attr("y")||0};er(kt,Ct,Ke)}}}else if(3===at&&$e){var At=Pe(r).matrix,Et=n.createSVGTransform();Et.setRotate($e,f.x,f.y);var Gt=Et.matrix,Pt=n.createSVGTransform();Pt.setRotate($e,g.x,g.y);var It=Pt.matrix.inverse(),Nt=At.inverse(),Tt=Ae(Nt,It,Gt,At);er(t,y,Tt),$e&&(r.numberOfItems?r.insertItemBefore(Pt,0):r.appendItem(Pt))}}return 0===r.numberOfItems&&t.removeAttribute("transform"),v.addSubCommand(new pe(t,_)),v},ar=jQuery,ir=F()?10:4,or=function(){function e(t,n,a){r(this,e),this.id=t,this.selectedElement=n,this.locked=!0,this.selectorGroup=Wn.createSVGElement({element:"g",attr:{id:"selectorGroup"+this.id}}),this.selectorRect=this.selectorGroup.appendChild(Wn.createSVGElement({element:"path",attr:{id:"selectedBox"+this.id,fill:"none",stroke:"#22C","stroke-width":"1","stroke-dasharray":"5,5",style:"pointer-events:none"}})),this.gripCoords={nw:null,n:null,ne:null,e:null,se:null,s:null,sw:null,w:null},this.reset(this.selectedElement,a)}return i(e,[{key:"reset",value:function(e,t){this.locked=!0,this.selectedElement=e,this.resize(t),this.selectorGroup.setAttribute("display","inline")}},{key:"showGrips",value:function(t){var n=t?"inline":"none";Qn.selectorGripsGroup.setAttribute("display",n);var r=this.selectedElement;this.hasGrips=t,r&&t&&(this.selectorGroup.append(Qn.selectorGripsGroup),e.updateGripCursors(Zt(r)))}},{key:"resize",value:function(e){var t=this.selectorRect,n=Qn,r=n.selectorGrips,a=this.selectedElement,i=a.getAttribute("stroke-width"),o=Wn.getCurrentZoom(),s=1/o;"none"===a.getAttribute("stroke")||isNaN(i)||(s+=i/2);var l=a.tagName;"text"===l&&(s+=2/o);var c=$(a),u=Pe(c).matrix;if(u.e*=o,u.f*=o,e||(e=Dt(a)),"g"===l&&!ar.data(a,"gsvg")){var h=Wt([a.childNodes]);h&&(e=h)}var f=e.x,p=e.y,g=e.width,m=e.height;s*=o;var v=Ge(f*o,p*o,g*o,m*o,u),y=v.aabox,_=y.x-s,b=y.y-s,x=y.width+2*s,w=y.height+2*s,S=_+x/2,k=b+w/2,C=Zt(a);if(C){var A=Wn.svgRoot().createSVGTransform();A.setRotate(-C,S,k);var E=A.matrix;v.tl=ke(v.tl.x,v.tl.y,E),v.tr=ke(v.tr.x,v.tr.y,E),v.bl=ke(v.bl.x,v.bl.y,E),v.br=ke(v.br.x,v.br.y,E);var G=v.tl,P=G.x,I=G.y,N=G.x,T=G.y,L=Math.min,M=Math.max;_=P=L(P,L(v.tr.x,L(v.bl.x,v.br.x)))-s,b=I=L(I,L(v.tr.y,L(v.bl.y,v.br.y)))-s,x=(N=M(N,M(v.tr.x,M(v.bl.x,v.br.x)))+s)-P,w=(T=M(T,M(v.tr.y,M(v.bl.y,v.br.y)))+s)-I}var O="M"+_+","+b+" L"+(_+x)+","+b+" "+(_+x)+","+(b+w)+" "+_+","+(b+w)+"z";t.setAttribute("d",O);var j=C?"rotate("+[C,S,k].join(",")+")":"";this.selectorGroup.setAttribute("transform",j),this.gripCoords={nw:[_,b],ne:[_+x,b],sw:[_,b+w],se:[_+x,b+w],n:[_+x/2,b],w:[_,b+w/2],e:[_+x,b+w/2],s:[_+x/2,b+w]},Object.entries(this.gripCoords).forEach((function(e){var t=d(e,2),n=t[0],a=t[1];r[n].setAttribute("cx",a[0]),r[n].setAttribute("cy",a[1])})),n.rotateGripConnector.setAttribute("x1",_+x/2),n.rotateGripConnector.setAttribute("y1",b),n.rotateGripConnector.setAttribute("x2",_+x/2),n.rotateGripConnector.setAttribute("y2",b-5*ir),n.rotateGrip.setAttribute("cx",_+x/2),n.rotateGrip.setAttribute("cy",b-5*ir)}}],[{key:"updateGripCursors",value:function(e){var t=Object.keys(Qn.selectorGrips),n=Math.round(e/45);for(n<0&&(n+=8);n>0;)t.push(t.shift()),n--;Object.values(Qn.selectorGrips).forEach((function(e,n){e.setAttribute("style","cursor:"+t[n]+"-resize")}))}}]),e}(),sr=function(){function t(){r(this,t),this.selectorParentGroup=null,this.rubberBandBox=null,this.selectors=[],this.selectorMap={},this.selectorGrips={nw:null,n:null,ne:null,e:null,se:null,s:null,sw:null,w:null},this.selectorGripsGroup=null,this.rotateGripConnector=null,this.rotateGrip=null,this.initGroup()}return i(t,[{key:"initGroup",value:function(){var e=this;if(this.selectorParentGroup&&this.selectorParentGroup.parentNode&&this.selectorParentGroup.remove(),this.selectorParentGroup=Wn.createSVGElement({element:"g",attr:{id:"selectorParentGroup"}}),this.selectorGripsGroup=Wn.createSVGElement({element:"g",attr:{display:"none"}}),this.selectorParentGroup.append(this.selectorGripsGroup),Wn.svgRoot().append(this.selectorParentGroup),this.selectorMap={},this.selectors=[],this.rubberBandBox=null,Object.keys(this.selectorGrips).forEach((function(t){var n=Wn.createSVGElement({element:"circle",attr:{id:"selectorGrip_resize_"+t,fill:"#22C",r:ir,style:"cursor:"+t+"-resize","stroke-width":2,"pointer-events":"all"}});ar.data(n,"dir",t),ar.data(n,"type","resize"),e.selectorGrips[t]=e.selectorGripsGroup.appendChild(n)})),this.rotateGripConnector=this.selectorGripsGroup.appendChild(Wn.createSVGElement({element:"line",attr:{id:"selectorGrip_rotateconnector",stroke:"#22C","stroke-width":"1"}})),this.rotateGrip=this.selectorGripsGroup.appendChild(Wn.createSVGElement({element:"circle",attr:{id:"selectorGrip_rotate",fill:"lime",r:ir,stroke:"#22C","stroke-width":2,style:"cursor:url("+Xn.imgPath+"rotate.png) 12 12, auto;"}})),ar.data(this.rotateGrip,"type","rotate"),!ar("#canvasBackground").length){var t=d(Xn.dimensions,2),n=t[0],r=t[1],a=Wn.createSVGElement({element:"svg",attr:{id:"canvasBackground",width:n,height:r,x:0,y:0,overflow:V()?"none":"visible",style:"pointer-events:none"}}),i=Wn.createSVGElement({element:"rect",attr:{width:"100%",height:"100%",x:0,y:0,"stroke-width":1,stroke:"#000",fill:"#FFF",style:"pointer-events:none"}});a.append(i),Wn.svgRoot().insertBefore(a,Wn.svgContent())}}},{key:"requestSelector",value:function(t,n){if(an(t))return null;var r=this.selectors.length;if("object"===e(this.selectorMap[t.id]))return this.selectorMap[t.id].locked=!0,this.selectorMap[t.id];for(var a=0;a<r;++a)if(this.selectors[a]&&!this.selectors[a].locked)return this.selectors[a].locked=!0,this.selectors[a].reset(t,n),this.selectorMap[t.id]=this.selectors[a],this.selectors[a];return this.selectors[r]=new or(r,t,n),this.selectorParentGroup.append(this.selectors[r].selectorGroup),this.selectorMap[t.id]=this.selectors[r],this.selectors[r]}},{key:"releaseSelector",value:function(e){if(!an(e)){var t=this.selectors.length,n=this.selectorMap[e.id];n.locked||console.log("WARNING! selector was released but was already unlocked");for(var r=0;r<t;++r)if(this.selectors[r]&&this.selectors[r]===n){delete this.selectorMap[e.id],n.locked=!1,n.selectedElement=null,n.showGrips(!1);try{n.selectorGroup.setAttribute("display","none")}catch(e){}break}}}},{key:"getRubberBandBox",value:function(){return this.rubberBandBox||(this.rubberBandBox=this.selectorParentGroup.appendChild(Wn.createSVGElement({element:"rect",attr:{id:"selectorRubberBand",fill:"#22C","fill-opacity":.15,stroke:"#22C","stroke-width":.5,display:"none",style:"pointer-events:none"}}))),this.rubberBandBox}}]),t}(),lr=q(jQuery),cr=de,ur=he,dr=fe,hr=pe,fr=ge,pr=xe,gr=ce;window.console||(window.console={},window.console.log=function(e){},window.console.dir=function(e){}),window.opera&&(window.console.log=function(e){window.opera.postError(e)},window.console.dir=function(e){});var mr=function t(a,i){r(this,t);var o={show_outside_canvas:!0,selectNew:!0,dimensions:[640,480]};i&&lr.extend(o,i);var s=o.dimensions,l=this,c=a.ownerDocument,u=c.importNode(Tt('<svg id="svgroot" xmlns="'+p.SVG+'" xlinkns="'+p.XLINK+'" width="'+s[0]+'" height="'+s[1]+'" x="'+s[0]+'" y="'+s[1]+'" overflow="visible"><defs><filter id="canvashadow" filterUnits="objectBoundingBox"><feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/><feOffset in="blur" dx="5" dy="5" result="offsetBlur"/><feMerge><feMergeNode in="offsetBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs></svg>').documentElement,!0);a.append(u);var f=c.createElementNS(p.SVG,"svg");(l.clearSvgContentElement=function(){lr(f).empty(),lr(f).attr({id:"svgcontent",width:s[0],height:s[1],x:s[0],y:s[1],overflow:o.show_outside_canvas?"visible":"hidden",xmlns:p.SVG,"xmlns:se":p.SE,"xmlns:xlink":p.XLINK}).appendTo(u);var e=c.createComment(" Created with SVG-edit - https://github.com/SVG-Edit/svgedit");f.append(e)})();var m="svg_";l.setIdPrefix=function(e){m=e},l.current_drawing_=new Gn(f,m);var v=l.getCurrentDrawing=function(){return l.current_drawing_},y=1,_=null,b={shape:{fill:("none"===o.initFill.color?"":"#")+o.initFill.color,fill_paint:null,fill_opacity:o.initFill.opacity,stroke:"#"+o.initStroke.color,stroke_paint:null,stroke_opacity:o.initStroke.opacity,stroke_width:o.initStroke.width,stroke_dasharray:"none",stroke_linejoin:"miter",stroke_linecap:"butt",opacity:o.initOpacity}};b.text=lr.extend(!0,{},b.shape),lr.extend(b.text,{fill:"#000000",stroke_width:o.text&&o.text.stroke_width,font_size:o.text&&o.text.font_size,font_family:o.text&&o.text.font_family});var x=b.shape,w=[],S=this.getJsonFromSvgElement=function(e){if(3===e.nodeType)return e.nodeValue;for(var t,n={element:e.tagName,attr:{},children:[]},r=0;t=e.attributes[r];r++)n.attr[t.name]=t.value;for(var a,i=0;a=e.childNodes[i];i++)n.children[i]=S(a);return n},k=this.addSVGElementFromJson=function(e){if("string"==typeof e)return c.createTextNode(e);var t=Jt(e.attr.id),n=v().getCurrentLayer();if(t&&e.element!==t.tagName&&(t.remove(),t=null),!t){var r=e.namespace||p.SVG;t=c.createElementNS(r,e.element),n&&(_||n).append(t)}return e.curStyles&&en(t,{fill:x.fill,stroke:x.stroke,"stroke-width":x.stroke_width,"stroke-dasharray":x.stroke_dasharray,"stroke-linejoin":x.stroke_linejoin,"stroke-linecap":x.stroke_linecap,"stroke-opacity":x.stroke_opacity,"fill-opacity":x.fill_opacity,opacity:x.opacity/2,style:"pointer-events:inherit"}),en(t,e.attr),tn(t),e.children&&e.children.forEach((function(e){t.append(k(e))})),t};l.getTransformList=$,l.matrixMultiply=Ae,l.hasMatrixTransform=Ee,l.transformListToTransform=Pe;var C=function(){return o.baseUnit};!function(e){X=e;var t=document.createElementNS(p.SVG,"svg");document.body.append(t);var n=document.createElementNS(p.SVG,"rect");n.setAttribute("width","1em"),n.setAttribute("height","1ex"),n.setAttribute("x","1in"),t.append(n);var r=n.getBBox();t.remove();var a=r.x;ne={em:r.width,ex:r.height,in:a,cm:a/2.54,mm:a/25.4,pt:a/72,pc:a/6,px:1,"%":0}}({getBaseUnit:C,getElement:Jt,getHeight:function(){return f.getAttribute("height")/y},getWidth:function(){return f.getAttribute("width")/y},getRoundDigits:function(){return fe.round_digits}}),l.convertToNum=se;var A,E=function(){return f},G=this.getSelectedElems=function(){return w},P=gt,I=function(){return u};_t=A={pathActions:P,getSVGContent:E,addSVGElementFromJson:k,getSelectedElements:G,getDOMDocument:function(){return c},getDOMContainer:function(){return a},getSVGRoot:I,getBaseUnit:C,getSnappingStep:function(){return o.snappingStep}},bt=A.getDOMDocument(),xt=A.getDOMContainer(),wt=A.getSVGRoot(),l.findDefs=Vt,l.getUrlFromAttr=Mt,l.getHref=Ot,l.setHref=jt,l.getBBox=Dt,l.getRotationAngle=Zt,l.getElem=Jt,l.getRefElem=$t,l.assignAttributes=en,this.cleanupElement=tn;var T=function(){return o.gridSnapping};!function(e){Jn=e}({getDrawing:function(){return v()},getSVGRoot:I,getGridSnapping:T}),this.remapElement=er,function(e){Yn=e}({getSVGRoot:I,getStartTransform:function(){return be},setStartTransform:function(e){be=e}}),this.recalculateDimensions=rr;var L=g();l.sanitizeSvg=Kn;var M=l.undoMgr=new pr({handleHistoryEvent:function(e,t){var n=gr;if(e===n.BEFORE_UNAPPLY||e===n.BEFORE_APPLY)l.clearSelection();else if(e===n.AFTER_APPLY||e===n.AFTER_UNAPPLY){var r=t.elements();l.pathActions.clear(),Y("changed",r);var a=t.type(),i=e===n.AFTER_APPLY;if(a===cr.type())(i?t.newParent:t.oldParent)===f&&In();else if(a===ur.type()||a===dr.type())t.parent===f&&In(),a===ur.type()?i&&de(t.elem):i||de(t.elem),"use"===t.elem.tagName&&Bt(t.elem);else if(a===hr.type()){"title"===t.elem.tagName&&t.elem.parentNode.parentNode===f&&In();var o=i?t.newValues:t.oldValues;o.stdDeviation&&l.setBlurOffsets(t.elem.parentNode,o.stdDeviation)}}}}),O=function(e){l.undoMgr.addCommandToHistory(e)},j=this.getZoom=function(){return y},U=this.round=function(e){return parseInt(e*y)/y};!function(e,t){Xn=e,Wn=t,Qn=new sr}(o,{createSVGElement:function(e){return l.addSVGElementFromJson(e)},svgRoot:function(){return u},svgContent:function(){return f},getCurrentZoom:j});var F=this.selectorManager=Qn,H=l.getNextId=function(){return v().getNextId()},q=l.getId=function(){return v().getId()},Y=function(e,t){if(Ye[e])return Ye[e](window,t)},W=this.clearSelection=function(e){w.forEach((function(e){an(e)||F.releaseSelector(e)})),w=[],e||Y("selected",w)},Z=this.addToSelection=function(e,t){if(e.length){for(var n=0;n<w.length&&!an(w[n]);)++n;for(var r=e.length;r--;){var a=e[r];if(a){var i=Dt(a);if(i&&("a"===a.tagName&&1===a.childNodes.length&&(a=a.firstChild),!w.includes(a))){w[n]=a,n++;var o=F.requestSelector(a,i);w.length>1&&o.showGrips(!1)}}}for(Y("selected",w),t||1===w.length?F.requestSelector(w[0]).showGrips(!0):F.requestSelector(w[0]).showGrips(!1),w.sort((function(e,t){return e&&t&&e.compareDocumentPosition?3-(6&t.compareDocumentPosition(e)):an(e)?1:0}));an(w[0]);)w.shift(0)}},J=function(){return x.opacity},ee=this.getMouseTarget=function(e){if(an(e))return null;var t=e.target;if(t.correspondingUseElement&&(t=t.correspondingUseElement),[p.MATH,p.HTML].includes(t.namespaceURI)&&"svgcanvas"!==t.id)for(;"foreignObject"!==t.nodeName;)if(!(t=t.parentNode))return u;var n=v().getCurrentLayer();if([u,a,f,n].includes(t))return u;if(lr(t).closest("#selectorParentGroup").length)return F.selectorParentGroup;for(;t.parentNode!==(_||n);)t=t.parentNode;return t};l.pathActions=P,Fe({selectorManager:F,canvas:l,call:Y,resetD:function(e){e.setAttribute("d",P.convertPath(e))},round:U,clearSelection:W,addToSelection:Z,addCommandToHistory:O,remapElement:er,addSVGElementFromJson:k,getGridSnapping:T,getOpacity:J,getSelectedElements:G,getContainer:function(){return a},setStarted:function(e){_e=e},getRubberBox:function(){return Oe},setRubberBox:function(e){return Oe=e},addPtsToSelection:function(e){var t=e.closedSubpath,n=e.grips;P.canDeleteNodes=!0,P.closed_subpath=t,Y("pointsAdded",{closedSubpath:t,grips:n}),Y("selected",n)},endChanges:function(e){var t=e.cmd,n=e.elem;O(t),Y("changed",[n])},getCurrentZoom:j,getId:q,getNextId:H,getMouseTarget:ee,getCurrentMode:function(){return xe},setCurrentMode:function(e){return xe=e},getDrawnPath:function(){return pt},setDrawnPath:function(e){return pt=e},getSVGRoot:I});var te={},oe="a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use",le=["clip-path","fill","filter","marker-end","marker-mid","marker-start","mask","stroke"],ce=lr.data,ue=document.createElementNS(p.SVG,"animate");lr(ue).attr({attributeName:"opacity",begin:"indefinite",dur:1,fill:"freeze"}).appendTo(u);var de=function e(t){var n=lr(t).attr(le);Object.values(n).forEach((function(e){if(e&&e.startsWith("url(")){var t=Mt(e).substr(1);Jt(t)||(Vt().append(ve[t]),delete ve[t])}}));var r=t.getElementsByTagName("*");if(r.length)for(var a=0,i=r.length;a<i;a++)e(r[a])},he={},fe={round_digits:5},pe={},ge=b.text,me={},ve={},ye=o.imgPath+"logo.png",_e=!1,be=null,xe="select",Se="none",Le=x,Me=null,Oe=null,Ve=[],Re=null;this.runExtension=function(e,t,n){return this.runExtensions(t,n,!1,(function(t){return t===e}))};var Ue=this.runExtensions=function(e,t,n,r){var a=!!n&&[];return lr.each(me,(function(i,o){r&&!r(i)||o&&e in o&&("function"==typeof t&&(t=t(i)),n?a.push(o[e](t)):a=o[e](t))})),a};this.addExtension=function(){var e=n(regeneratorRuntime.mark((function e(t,n,r){var a,i,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=r.$,i=r.importLocale,"function"==typeof n){e.next=3;break}throw new TypeError("Function argument expected for `svgcanvas.addExtension`");case 3:if(!(t in me)){e.next=5;break}throw new Error('Cannot add extension "'+t+'", an extension by that name already exists.');case 5:return o=lr.extend(l.getPrivateMethods(),{$:a,importLocale:i,svgroot:u,svgcontent:f,nonce:v().getNonce(),selectorManager:F}),e.next=8,n(o);case 8:return(s=e.sent)&&(s.name=t),me[t]=s,e.abrupt("return",Y("extension_added",s));case 12:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}();var He=this.getIntersectionList=function(e){if(an(Oe))return null;var t,n=_||v().getCurrentLayer();if(e)(t=f.createSVGRect()).x=e.x,t.y=e.y,t.width=e.width,t.height=e.height;else{t=Oe.getBBox();var r=f.createSVGRect();["x","y","width","height","top","right","bottom","left"].forEach((function(e){r[e]=t[e]/y})),t=r}var a=null;if(B()||"function"==typeof u.getIntersectionList&&(t.x+=parseInt(f.getAttribute("x")),t.y+=parseInt(f.getAttribute("y")),a=u.getIntersectionList(t,n)),an(a)||"function"!=typeof a.item){a=[],Ve.length||(Ve=ze(n));for(var i=Ve.length;i--;)t.width&&Te(t,Ve[i].bbox)&&a.push(Ve[i].elem)}return a};this.getStrokedBBox=Qt,this.getVisibleElements=Xt;var ze=this.getVisibleElementsAndBBoxes=function(e){e||(e=lr(f).children());var t=[];return lr(e).children().each((function(e,n){n.getBBox&&t.push({elem:n,bbox:Qt([n])})})),t.reverse()},qe=this.groupSvgElem=function(e){var t=document.createElementNS(p.SVG,"g");e.replaceWith(t),lr(t).append(e).data("gsvg",e)[0].id=H()},Ye={};l.call=Y,l.bind=function(e,t){var n=Ye[e];return Ye[e]=t,n},this.prepareSvg=function(e){this.sanitizeSvg(e.documentElement),h(e.getElementsByTagNameNS(p.SVG,"path")).forEach((function(e){e.setAttribute("d",P.convertPath(e)),P.fixEnd(e)}))};var We=function(e){if(!R())return e;var t=e.cloneNode(!0);return e.before(t),e.remove(),F.releaseSelector(e),w[0]=t,F.requestSelector(t).showGrips(!0),t};this.setRotationAngle=function(e,t){e=parseFloat(e);var n=w[0],r=n.getAttribute("transform"),a=Dt(n),i=a.x+a.width/2,o=a.y+a.height/2,s=$(n);s.numberOfItems>0&&(4===s.getItem(0).type&&s.removeItem(0));if(0!==e){var l=ke(i,o,Pe(s).matrix),c=u.createSVGTransform();c.setRotate(e,l.x,l.y),s.numberOfItems?s.insertItemBefore(c,0):s.appendItem(c)}else 0===s.numberOfItems&&n.removeAttribute("transform");if(!t){var d=n.getAttribute("transform");n.setAttribute("transform",r),cn("transform",d,w),Y("changed",w)}F.requestSelector(w[0]).resize(),or.updateGripCursors(e)};var Xe=this.recalculateAllSelectedDimensions=function(){for(var e=new fr("none"===Se?"position":"size"),t=w.length;t--;){var n=w[t],r=rr(n);r&&e.addSubCommand(r)}e.isEmpty()||(O(e),Y("changed",w))},Qe=function(e){console.log([e.a,e.b,e.c,e.d,e.e,e.f])},Ke=null,Ze=this.selectOnly=function(e,t){W(!0),Z(e,t)};this.removeFromSelection=function(e){if(!an(w[0])&&e.length){for(var t=[],n=w.length,r=0;r<n;++r){var a=w[r];a&&(e.includes(a)?F.releaseSelector(a):t.push(a))}w=t}},this.selectAllInCurrentLayer=function(){var e=v().getCurrentLayer();e&&(xe="select",Ze(lr(_||e).children()))};var $e,Je,et,tt,nt,rt,it,ot,st,lt,ct,ut,dt,ht,ft,pt=null;Je={minx:null,miny:null,maxx:null,maxy:null},et=null,tt=null,nt=null,rt=null,it={},ot=0,st={x:0,y:0},lt={x:0,y:0},ct={x:0,y:0},ut={x:0,y:0},dt={x:0,y:0},ht={x:0,y:0},ft=function(e){var t={x:0,y:0},n=st,r=lt,a=ct,i=ut,o=e*e,s=o*e,l=[[-1,3,-3,1],[3,-6,3,0],[-3,0,3,0],[1,4,1,0]];return t.x=1/6*((n.x*l[0][0]+r.x*l[0][1]+a.x*l[0][2]+i.x*l[0][3])*s+(n.x*l[1][0]+r.x*l[1][1]+a.x*l[1][2]+i.x*l[1][3])*o+(n.x*l[2][0]+r.x*l[2][1]+a.x*l[2][2]+i.x*l[2][3])*e+(n.x*l[3][0]+r.x*l[3][1]+a.x*l[3][2]+i.x*l[3][3])),t.y=1/6*((n.y*l[0][0]+r.y*l[0][1]+a.y*l[0][2]+i.y*l[0][3])*s+(n.y*l[1][0]+r.y*l[1][1]+a.y*l[1][2]+i.y*l[1][3])*o+(n.y*l[2][0]+r.y*l[2][1]+a.y*l[2][2]+i.y*l[2][3])*e+(n.y*l[3][0]+r.y*l[3][1]+a.y*l[3][2]+i.y*l[3][3])),{x:t.x,y:t.y}},lr(a).mousedown((function(e){if(!l.spaceKey&&1!==e.button){var t=2===e.button;e.altKey&&l.cloneSelectedElements(0,0),Ke=lr("#svgcontent g")[0].getScreenCTM().inverse();var n=ke(e.pageX,e.pageY,Ke),r=n.x*y,a=n.y*y;e.preventDefault(),t&&(xe="select",Re=n);var i=r/y,s=a/y,c=ee(e);"a"===c.tagName&&1===c.childNodes.length&&(c=c.firstChild);var d=i;nt=et=i;var h=s;if(rt=tt=s,o.gridSnapping&&(i=nn(i),s=nn(s),et=nn(et),tt=nn(tt)),c===F.selectorParentGroup&&!an(w[0])){var f=e.target,p=ce(f,"type");"rotate"===p?xe="rotate":"resize"===p&&(xe="resize",Se=ce(f,"dir")),c=w[0]}be=c.getAttribute("transform");var g=$(c);switch(xe){case"select":if(_e=!0,Se="none",t&&(_e=!1),c!==u){if(w.includes(c)||(e.shiftKey||W(!0),Z([c]),Me=c,P.clear()),!t){var m=!0,v=!1,_=void 0;try{for(var b,S=w[Symbol.iterator]();!(m=(b=S.next()).done);m=!0){var C=b.value;if(!an(C)){var A=$(C);A.numberOfItems?A.insertItemBefore(u.createSVGTransform(),0):A.appendItem(u.createSVGTransform())}}}catch(e){v=!0,_=e}finally{try{m||null==S.return||S.return()}finally{if(v)throw _}}}}else t||(W(),xe="multiselect",an(Oe)&&(Oe=F.getRubberBandBox()),en(Oe,{x:nt*=y,y:rt*=y,width:0,height:0,display:"inline"}));break;case"zoom":_e=!0,an(Oe)&&(Oe=F.getRubberBandBox()),en(Oe,{x:d*y,y:d*y,width:0,height:0,display:"inline"});break;case"resize":_e=!0,et=i,tt=s,it=Dt(lr("#selectedBox0")[0]);var E={};lr.each(it,(function(e,t){E[e]=t/y})),it=E;var G=Zt(c)?1:0;if(Ee(g))g.insertItemBefore(u.createSVGTransform(),G),g.insertItemBefore(u.createSVGTransform(),G),g.insertItemBefore(u.createSVGTransform(),G);else if(g.appendItem(u.createSVGTransform()),g.appendItem(u.createSVGTransform()),g.appendItem(u.createSVGTransform()),z()){var I,N=V();N&&(I=function(e){var t=e.getAttribute("stroke");e.removeAttribute("stroke"),null!==t&&setTimeout((function(){e.setAttribute("stroke",t)}),0)}),c.style.vectorEffect="non-scaling-stroke",N&&I(c);for(var T=c.getElementsByTagName("*"),L=T.length,M=0;M<L;M++)T[M].style&&(T[M].style.vectorEffect="non-scaling-stroke",N&&I(T[M]))}break;case"fhellipse":case"fhrect":case"fhpath":ct.x=d,ct.y=h,_e=!0,k({element:"polyline",curStyles:!0,attr:{points:d+","+h+" ",id:H(),fill:"none",opacity:x.opacity/2,"stroke-linecap":"round",style:"pointer-events:none"}}),Je.minx=d,Je.maxx=d,Je.miny=h,Je.maxy=h;break;case"image":_e=!0;var O=k({element:"image",attr:{x:i,y:s,width:0,height:0,id:H(),opacity:x.opacity/2,style:"pointer-events:inherit"}});jt(O,ye),rn(O);break;case"square":case"rect":_e=!0,et=i,tt=s,k({element:"rect",curStyles:!0,attr:{x:i,y:s,width:0,height:0,id:H(),opacity:x.opacity/2}});break;case"line":_e=!0;var j=0===Number(x.stroke_width)?1:x.stroke_width;k({element:"line",curStyles:!0,attr:{x1:i,y1:s,x2:i,y2:s,id:H(),stroke:x.stroke,"stroke-width":j,"stroke-dasharray":x.stroke_dasharray,"stroke-linejoin":x.stroke_linejoin,"stroke-linecap":x.stroke_linecap,"stroke-opacity":x.stroke_opacity,fill:"none",opacity:x.opacity/2,style:"pointer-events:none"}});break;case"circle":_e=!0,k({element:"circle",curStyles:!0,attr:{cx:i,cy:s,r:0,id:H(),opacity:x.opacity/2}});break;case"ellipse":_e=!0,k({element:"ellipse",curStyles:!0,attr:{cx:i,cy:s,rx:0,ry:0,id:H(),opacity:x.opacity/2}});break;case"text":_e=!0,k({element:"text",curStyles:!0,attr:{x:i,y:s,id:H(),fill:ge.fill,"stroke-width":ge.stroke_width,"font-size":ge.font_size,"font-family":ge.font_family,"text-anchor":"middle","xml:space":"preserve",opacity:x.opacity}});break;case"path":case"pathedit":et*=y,tt*=y,P.mouseDown(e,c,et,tt),_e=!0;break;case"textedit":et*=y,tt*=y,yt.mouseDown(e,c,et,tt),_e=!0;break;case"rotate":_e=!0,l.undoMgr.beginUndoableChange("transform",w)}var R=Ue("mouseDown",{event:e,start_x:et,start_y:tt,selectedElements:w},!0);lr.each(R,(function(e,t){t&&t.started&&(_e=!0)}))}})).mousemove((function(e){if(_e&&1!==e.button&&!l.spaceKey){var t,n,r,a,i,s,c,d,h,p,g=w[0],m=ke(e.pageX,e.pageY,Ke),v=m.x*y,_=m.y*y,b=Jt(q()),x=v/y,S=x,k=_/y,C=k;switch(o.gridSnapping&&(S=nn(S),C=nn(C)),e.preventDefault(),xe){case"select":if(null!==w[0]&&(i=S-et,s=C-tt,o.gridSnapping&&(i=nn(i),s=nn(s)),0!==i||0!==s)){for(c=w.length,t=0;t<c&&(g=w[t],!an(g));++t){var A=u.createSVGTransform();p=$(g),A.setTranslate(i,s),p.numberOfItems?p.replaceItem(A,0):p.appendItem(A),F.requestSelector(g).resize()}Y("transition",w)}break;case"multiselect":x*=y,k*=y,en(Oe,{x:Math.min(nt,x),y:Math.min(rt,k),width:Math.abs(x-nt),height:Math.abs(k-rt)});var E=w.slice(),G=[],I=He();for(c=I.length,t=0;t<c;++t){var N=I[t];w.includes(N)||G.push(N);var T=E.indexOf(N);-1!==T&&E.splice(T,1)}E.length>0&&l.removeFromSelection(E),G.length>0&&l.addToSelection(G);break;case"resize":p=$(g);var L=Ee(p),M=(h=L?it:Dt(g)).x,O=h.y,j=h,V=j.width,R=j.height;if(i=S-et,s=C-tt,o.gridSnapping&&(i=nn(i),s=nn(s),R=nn(R),V=nn(V)),d=Zt(g)){var B=Math.sqrt(i*i+s*s),D=Math.atan2(s,i)-d*Math.PI/180;i=B*Math.cos(D),s=B*Math.sin(D)}Se.includes("n")||Se.includes("s")||(s=0),Se.includes("e")||Se.includes("w")||(i=0);var U=0,H=0,z=R?(R+s)/R:1,W=V?(V+i)/V:1;Se.includes("n")&&(z=R?(R-s)/R:1,H=R),Se.includes("w")&&(W=V?(V-i)/V:1,U=V);var X=u.createSVGTransform(),Q=u.createSVGTransform(),K=u.createSVGTransform();if(o.gridSnapping&&(M=nn(M),U=nn(U),O=nn(O),H=nn(H)),X.setTranslate(-(M+U),-(O+H)),e.shiftKey&&(1===W?W=z:z=W),Q.setScale(W,z),K.setTranslate(M+U,O+H),L){var Z=d?1:0;p.replaceItem(X,2+Z),p.replaceItem(Q,1+Z),p.replaceItem(K,Number(Z))}else{var J=p.numberOfItems;p.replaceItem(K,J-3),p.replaceItem(Q,J-2),p.replaceItem(X,J-1)}F.requestSelector(g).resize(),Y("transition",w);break;case"zoom":x*=y,k*=y,en(Oe,{x:Math.min(nt*y,x),y:Math.min(rt*y,k),width:Math.abs(x-nt*y),height:Math.abs(k-rt*y)});break;case"text":en(b,{x:S,y:C});break;case"line":o.gridSnapping&&(S=nn(S),C=nn(C));var ee=S,te=C;e.shiftKey&&(ee=(n=Ne(et,tt,ee,te)).x,te=n.y),b.setAttribute("x2",ee),b.setAttribute("y2",te);break;case"foreignObject":case"square":case"rect":case"image":var ne,re,ae="square"===xe||e.shiftKey,ie=Math.abs(S-et),oe=Math.abs(C-tt);ae?(ie=oe=Math.max(ie,oe),ne=et<S?et:et-ie,re=tt<C?tt:tt-oe):(ne=Math.min(et,S),re=Math.min(tt,C)),o.gridSnapping&&(ie=nn(ie),oe=nn(oe),ne=nn(ne),re=nn(re)),en(b,{width:ie,height:oe,x:ne,y:re});break;case"circle":var se=lr(b).attr(["cx","cy"]);r=se.cx,a=se.cy;var le=Math.sqrt((S-r)*(S-r)+(C-a)*(C-a));o.gridSnapping&&(le=nn(le)),b.setAttribute("r",le);break;case"ellipse":var ce=lr(b).attr(["cx","cy"]);r=ce.cx,a=ce.cy,o.gridSnapping&&(S=nn(S),r=nn(r),C=nn(C),a=nn(a)),b.setAttribute("rx",Math.abs(S-r));var ue=Math.abs(e.shiftKey?S-r:C-a);b.setAttribute("ry",ue);break;case"fhellipse":case"fhrect":Je.minx=Math.min(x,Je.minx),Je.maxx=Math.max(x,Je.maxx),Je.miny=Math.min(k,Je.miny),Je.maxy=Math.max(k,Je.maxy);case"fhpath":if(ut.x=x,ut.y=k,st.x&&st.y)for(t=0;t<9;t++)if($e=t/10,dt=ft((t+1)/10),ht=dt,dt=ft($e),(ot+=Math.sqrt((ht.x-dt.x)*(ht.x-dt.x)+(ht.y-dt.y)*(ht.y-dt.y)))>.8){ot-=.8;var de=f.createSVGPoint();de.x=dt.x,de.y=dt.y,b.points.appendItem(de)}st={x:lt.x,y:lt.y},lt={x:ct.x,y:ct.y},ct={x:ut.x,y:ut.y};break;case"path":case"pathedit":if(S*=y,C*=y,o.gridSnapping&&(S=nn(S),C=nn(C),et=nn(et),tt=nn(tt)),e.shiftKey){var he,fe,pe=De;pe?(he=pe.dragging?pe.dragging[0]:et,fe=pe.dragging?pe.dragging[1]:tt):(he=et,fe=tt);var ge=n=Ne(he,fe,S,C);S=ge.x,C=ge.y}Oe&&"none"!==Oe.getAttribute("display")&&(x*=y,k*=y,en(Oe,{x:Math.min(nt*y,x),y:Math.min(rt*y,k),width:Math.abs(x-nt*y),height:Math.abs(k-rt*y)})),P.mouseMove(S,C);break;case"textedit":S*=y,C*=y,yt.mouseMove(v,_);break;case"rotate":r=(h=Dt(g)).x+h.width/2,a=h.y+h.height/2;var me=Ie(g),ve=ke(r,a,me);r=ve.x,a=ve.y,d=(Math.atan2(a-C,r-S)*(180/Math.PI)-90)%360,o.gridSnapping&&(d=nn(d)),e.shiftKey&&(d=45*Math.round(d/45)),l.setRotationAngle(d<-180?360+d:d,!0),Y("transition",w)}Ue("mouseMove",{event:e,mouse_x:v,mouse_y:_,selected:g})}})).click((function(e){return e.preventDefault(),!1})).dblclick((function(e){var t=e.target.parentNode;if(t!==_){var n=ee(e),r=n.tagName;if("text"===r&&"textedit"!==xe){var a=ke(e.pageX,e.pageY,Ke);yt.select(n,a.x,a.y)}"g"!==r&&"a"!==r||!Zt(n)||(un(n),n=w[0],W(!0)),_&&Un(),"g"!==t.tagName&&"a"!==t.tagName||t===v().getCurrentLayer()||n===F.selectorParentGroup||Fn(n)}})).mouseup((function(e){if(2!==e.button){var t=Me;if(Me=null,_e){var n,r,a=ke(e.pageX,e.pageY,Ke),i=a.x*y,s=a.y*y,c=i/y,u=s/y,d=Jt(q()),h=!1,f=c,p=u;switch(_e=!1,xe){case"resize":case"multiselect":an(Oe)||(Oe.setAttribute("display","none"),Ve=[]),xe="select";case"select":if(!an(w[0])){if(an(w[1])){var g=w[0];switch(g.tagName){case"g":case"use":case"image":case"foreignObject":break;default:Le.fill=g.getAttribute("fill"),Le.fill_opacity=g.getAttribute("fill-opacity"),Le.stroke=g.getAttribute("stroke"),Le.stroke_opacity=g.getAttribute("stroke-opacity"),Le.stroke_width=g.getAttribute("stroke-width"),Le.stroke_dasharray=g.getAttribute("stroke-dasharray"),Le.stroke_linejoin=g.getAttribute("stroke-linejoin"),Le.stroke_linecap=g.getAttribute("stroke-linecap")}"text"===g.tagName&&(ge.font_size=g.getAttribute("font-size"),ge.font_family=g.getAttribute("font-family")),F.requestSelector(g).showGrips(!0)}if(Xe(),f!==nt||p!==rt)for(var m=w.length,_=0;_<m&&!an(w[_]);++_)w[_].firstChild||F.requestSelector(w[_]).resize();else r=e.target,"path"===w[0].nodeName&&an(w[1])?P.select(w[0]):e.shiftKey&&t!==r&&l.removeFromSelection([r]);if(z()){var b=w[0];b&&(b.removeAttribute("style"),Lt(b,(function(e){e.removeAttribute("style")})))}}return;case"zoom":an(Oe)||Oe.setAttribute("display","none");var S=e.shiftKey?.5:2;return void Y("zoomed",{x:Math.min(nt,f),y:Math.min(rt,p),width:Math.abs(f-nt),height:Math.abs(p-rt),factor:S});case"fhpath":ot=0,st={x:0,y:0},lt={x:0,y:0},ct={x:0,y:0},ut={x:0,y:0};var C=d.getAttribute("points"),A=C.indexOf(",");(h=A>=0?C.includes(",",A+1):C.includes(" ",C.indexOf(" ")+1))&&(d=P.smoothPolylineIntoPath(d));break;case"line":n=lr(d).attr(["x1","x2","y1","y2"]),h=n.x1!==n.x2||n.y1!==n.y2;break;case"foreignObject":case"square":case"rect":case"image":n=lr(d).attr(["width","height"]),h=n.width||n.height||"image"===xe;break;case"circle":h="0"!==d.getAttribute("r");break;case"ellipse":n=lr(d).attr(["rx","ry"]),h=n.rx||n.ry;break;case"fhellipse":Je.maxx-Je.minx>0&&Je.maxy-Je.miny>0&&(d=k({element:"ellipse",curStyles:!0,attr:{cx:(Je.minx+Je.maxx)/2,cy:(Je.miny+Je.maxy)/2,rx:(Je.maxx-Je.minx)/2,ry:(Je.maxy-Je.miny)/2,id:q()}}),Y("changed",[d]),h=!0);break;case"fhrect":Je.maxx-Je.minx>0&&Je.maxy-Je.miny>0&&(d=k({element:"rect",curStyles:!0,attr:{x:Je.minx,y:Je.miny,width:Je.maxx-Je.minx,height:Je.maxy-Je.miny,id:q()}}),Y("changed",[d]),h=!0);break;case"text":h=!0,Ze([d]),yt.start(d);break;case"path":d=null,_e=!0;var E=P.mouseUp(e,d,i,s);d=E.element,h=E.keep;break;case"pathedit":h=!0,d=null,P.mouseUp(e);break;case"textedit":h=!1,d=null,yt.mouseUp(e,i,s);break;case"rotate":h=!0,d=null,xe="select";var G=l.undoMgr.finishUndoableChange();G.isEmpty()||O(G),Xe(),Y("changed",w)}var I=Ue("mouseUp",{event:e,mouse_x:i,mouse_y:s},!0);if(lr.each(I,(function(e,t){t&&(h=t.keep||h,d=t.element,_e=t.started||_e)})),h||an(d)){if(!an(d)){l.addedNew=!0;var N,T=.2;if(ue.beginElement&&parseFloat(d.getAttribute("opacity"))!==x.opacity){N=lr(ue).clone().attr({to:x.opacity,dur:T}).appendTo(d);try{N[0].beginElement()}catch(e){}}else T=0;setTimeout((function(){N&&N.remove(),d.setAttribute("opacity",x.opacity),d.setAttribute("style","pointer-events:inherit"),tn(d),"path"===xe?P.toEditMode(d):o.selectNew&&Ze([d],!0),O(new ur(d)),Y("changed",[d])}),1e3*T)}}else{for(v().releaseId(q()),d.remove(),d=null,r=e.target;r&&r.parentNode&&r.parentNode.parentNode&&"g"===r.parentNode.parentNode.tagName;)r=r.parentNode;"path"===xe&&pt||!r||!r.parentNode||"selectorParentGroup"===r.parentNode.id||"svgcanvas"===r.id||"svgroot"===r.id||(l.setMode("select"),Ze([r],!0))}be=null}}})),lr(a).bind("mousewheel DOMMouseScroll",(function(e){if(e.shiftKey){e.preventDefault();var t=e.originalEvent;Ke=lr("#svgcontent g")[0].getScreenCTM().inverse();var n=lr("#workarea"),r=o.showRulers?16:0,a=ke(t.pageX,t.pageY,Ke),i=n.width(),s=n.height(),c=i-15-r,u=s-15-r,d=c*Ke.a,h=u*Ke.d,f=n.offset(),p=f.left+r,g=f.top+r,m=t.wheelDelta?t.wheelDelta:t.detail?-t.detail:0;if(m){var v,_,b=Math.max(.75,Math.min(4/3,m));b>1?(v=Math.ceil(c/d*b*100)/100,_=Math.ceil(u/h*b*100)/100):(v=Math.floor(c/d*b*100)/100,_=Math.floor(u/h*b*100)/100);var x=Math.min(v,_);if((x=Math.min(10,Math.max(.01,x)))!==y){b=x/y;var w=ke(p,g,Ke),S={x:(a.x-(a.x-w.x)/b)*x-r+i/2,y:(a.y-(a.y-w.y)/b)*x-r+s/2};l.setZoom(x),lr("#zoom").val((100*x).toFixed(1)),Y("updateCanvas",{center:!1,newCtr:S}),Y("zoomDone")}}}}));var vt,yt=l.textActions=function(){var e,t,n,r,a,i,o,s,c,d,h=[];function f(e){var o=""===t.value;if(lr(t).focus(),!arguments.length)if(o)e=0;else{if(t.selectionEnd!==t.selectionStart)return;e=t.selectionEnd}var s=h[e];o||t.setSelectionRange(e,e),(n=Jt("text_cursor"))||(n=document.createElementNS(p.SVG,"line"),en(n,{id:"text_cursor",stroke:"#333","stroke-width":1}),n=Jt("selectorParentGroup").appendChild(n)),a||(a=setInterval((function(){var e="none"===n.getAttribute("display");n.setAttribute("display",e?"inline":"none")}),600));var l=x(s.x,i.y),c=x(s.x,i.y+i.height);en(n,{x1:l.x,y1:l.y,x2:c.x,y2:c.y,visibility:"visible",display:"inline"}),r&&r.setAttribute("d","")}function g(e,a,o){if(e!==a){o||t.setSelectionRange(e,a),(r=Jt("text_selectblock"))||(r=document.createElementNS(p.SVG,"path"),en(r,{id:"text_selectblock",fill:"green",opacity:.5,style:"pointer-events:none"}),Jt("selectorParentGroup").append(r));var s=h[e],l=h[a];n.setAttribute("visibility","hidden");var c=x(s.x,i.y),u=x(s.x+(l.x-s.x),i.y),d=x(s.x,i.y+i.height),g=x(s.x+(l.x-s.x),i.y+i.height),m="M"+c.x+","+c.y+" L"+u.x+","+u.y+" "+g.x+","+g.y+" "+d.x+","+d.y+"z";en(r,{d:m,display:"inline"})}else f(a)}function m(t,n){var r=u.createSVGPoint();if(r.x=t,r.y=n,1===h.length)return 0;var a=e.getCharNumAtPosition(r);a<0?(a=h.length-2,t<=h[0].x&&(a=0)):a>=h.length-2&&(a=h.length-2);var i=h[a];return t>i.x+i.width/2&&a++,a}function v(e,t){f(m(e,t))}function _(e,n,r){var a=t.selectionStart,i=m(e,n);g(Math.min(a,i),Math.max(a,i),!r)}function b(e,t){var n={x:e,y:t};if(n.x/=y,n.y/=y,o){var r=ke(n.x,n.y,o.inverse());n.x=r.x,n.y=r.y}return n}function x(e,t){var n={x:e,y:t};if(o){var r=ke(n.x,n.y,o);n.x=r.x,n.y=r.y}return n.x*=y,n.y*=y,n}function S(t){g(0,e.textContent.length),lr(this).unbind(t)}function k(t){if(d&&e){var n=ke(t.pageX,t.pageY,Ke),r=b(n.x*y,n.y*y),a=m(r.x,r.y),i=e.textContent,o=i.substr(0,a).replace(/[a-z\d]+$/i,"").length,s=i.substr(a).match(/^[a-z\d]+/i);g(o,(s?s[0].length:0)+a),lr(t.target).click(S),setTimeout((function(){lr(t.target).unbind("click",S)}),300)}}return({select:function(t,n,r){e=t,yt.toEditMode(n,r)},start:function(t){e=t,yt.toEditMode()},mouseDown:function(e,n,r,a){var i=b(r,a);t.focus(),v(i.x,i.y),s=r,c=a},mouseMove:function(e,t){var n=b(e,t);_(n.x,n.y)},mouseUp:function(t,n,r){var a=b(n,r);_(a.x,a.y,!0),t.target!==e&&n<s+2&&n>s-2&&r<c+2&&r>c-2&&yt.toSelectMode(!0)},setCursor:f,toEditMode:function(t,n){if(d=!1,xe="textedit",F.requestSelector(e).showGrips(!1),F.requestSelector(e),yt.init(),lr(e).css("cursor","text"),arguments.length){var r=b(t,n);v(r.x,r.y)}else f();setTimeout((function(){d=!0}),300)},toSelectMode:function(i){xe="select",clearInterval(a),a=null,r&&lr(r).attr("display","none"),n&&lr(n).attr("visibility","hidden"),lr(e).css("cursor","move"),i&&(W(),lr(e).css("cursor","move"),Y("selected",[e]),Z([e],!0)),e&&!e.textContent.length&&l.deleteSelectedElements(),lr(t).blur(),e=!1},setInputElem:function(e){t=e},clear:function(){"textedit"===xe&&yt.toSelectMode()},init:function(n){if(e){var r,a;e.parentNode||(e=w[0],F.requestSelector(e).showGrips(!1));var s=e.textContent.length,c=e.getAttribute("transform");for(i=Dt(e),o=c?Ie(e):null,(h=[]).length=s,t.focus(),lr(e).unbind("dblclick",k).dblclick(k),s||(a={x:i.x+i.width/2,width:0}),r=0;r<s;r++){var u=e.getStartPositionOfChar(r);if(a=e.getEndPositionOfChar(r),!N){var d=l.contentW*y;u.x-=d,a.x-=d,u.x/=y,a.x/=y}h[r]={x:u.x,y:i.y,width:a.x-u.x,height:i.height}}h.push({x:a.x,width:0}),g(t.selectionStart,t.selectionEnd,!0)}}})}(),Et=this.removeUnusedDefElems=function(){var e=f.getElementsByTagNameNS(p.SVG,"defs");if(!e||!e.length)return 0;var t,n,r=[],a=0,i=["fill","stroke","filter","marker-start","marker-mid","marker-end"],o=i.length,s=f.getElementsByTagNameNS(p.SVG,"*"),l=s.length;for(t=0;t<l;t++){var c=s[t];for(n=0;n<o;n++){var u=Mt(c.getAttribute(i[n]));u&&r.push(u.substr(1))}var d=Ot(c);d&&d.startsWith("#")&&r.push(d.substr(1))}var h=lr(e).find("linearGradient, radialGradient, filter, marker, svg, symbol");for(t=h.length;t--;){var g=h[t],m=g.id;r.includes(m)||(ve[m]=g,g.remove(),a++)}return a};function Gt(){W();var e=[],t=[],n={feGaussianBlur:te.exportNoBlur,foreignObject:te.exportNoforeignObject,"[stroke-dasharray]":te.exportNoDashArray},r=lr(f);return"font"in lr("<canvas>")[0].getContext("2d")||(n.text=te.exportNoText),lr.each(n,(function(n,a){r.find(n).length&&(t.push(n),e.push(a))})),{issues:e,issueCodes:t}}this.svgCanvasToString=function(){for(;Et()>0;);P.clear(!0),lr.each(f.childNodes,(function(e,t){e&&8===t.nodeType&&t.data.includes("Created with")&&f.firstChild.before(t)})),_&&(Un(),Ze([_]));var e=[];lr(f).find("g:data(gsvg)").each((function(){for(var t=this.attributes,n=t.length,r=0;r<n;r++)"id"!==t[r].nodeName&&"style"!==t[r].nodeName||n--;if(n<=0){var a=this.firstChild;e.push(a),lr(this).replaceWith(a)}}));var t=this.svgToString(f,0);return e.length&&lr(e).each((function(){qe(this)})),t},this.svgToString=function(e,t){var n=[],r=o.baseUnit,a=new RegExp("^-?[\\d\\.]+"+r+"$");if(e){tn(e);var i=h(e.attributes),s=e.childNodes;i.sort((function(e,t){return e.name>t.name?-1:1}));for(var l=0;l<t;l++)n.push(" ");if(n.push("<"),n.push(e.nodeName),"svgcontent"===e.id){var c=Wt();"px"!==r&&(c.w=ie(c.w,r)+r,c.h=ie(c.h,r)+r),n.push(' width="'+c.w+'" height="'+c.h+'" xmlns="'+p.SVG+'"');var u={};lr(e).find("*").andSelf().each((function(){var e=this.namespaceURI;e&&!u[e]&&L[e]&&"xmlns"!==L[e]&&"xml"!==L[e]&&(u[e]=!0,n.push(" xmlns:"+L[e]+'="'+e+'"')),lr.each(this.attributes,(function(e,t){var r=t.namespaceURI;r&&!u[r]&&"xmlns"!==L[r]&&"xml"!==L[r]&&(u[r]=!0,n.push(" xmlns:"+L[r]+'="'+r+'"'))}))}));for(var d=i.length,f=["width","height","xmlns","x","y","viewBox","id","overflow"];d--;){var g=i[d],m=kt(g.value);g.nodeName.startsWith("xmlns:")||(""===m||f.includes(g.localName)||g.namespaceURI&&!L[g.namespaceURI]||(n.push(" "),n.push(g.nodeName),n.push('="'),n.push(m),n.push('"')))}}else{if("defs"===e.nodeName&&!e.firstChild)return"";for(var v=["-moz-math-font-style","_moz-math-font-style"],y=i.length-1;y>=0;y--){var _=i[y],b=kt(_.value);if(!v.includes(_.localName)&&""!==b){if(b.startsWith("pointer-events"))continue;if("class"===_.localName&&b.startsWith("se_"))continue;if(n.push(" "),"d"===_.localName&&(b=P.convertPath(e,!0)),isNaN(b)?a.test(b)&&(b=ae(b)+r):b=ae(b),fe.apply&&"image"===e.nodeName&&"href"===_.localName&&fe.images&&"embed"===fe.images){var x=he[b];x&&(b=x)}_.namespaceURI&&_.namespaceURI!==p.SVG&&!L[_.namespaceURI]||(n.push(_.nodeName),n.push('="'),n.push(b),n.push('"'))}}}if(e.hasChildNodes()){n.push(">"),t++;for(var w=!1,S=0;S<s.length;S++){var k=s.item(S);switch(k.nodeType){case 1:n.push("\n"),n.push(this.svgToString(s.item(S),t));break;case 3:var C=k.nodeValue.replace(/^\s+|\s+$/g,"");""!==C&&(w=!0,n.push(String(kt(C))));break;case 4:n.push("\n"),n.push(new Array(t+1).join(" ")),n.push("<![CDATA["),n.push(k.nodeValue),n.push("]]>");break;case 8:n.push("\n"),n.push(new Array(t+1).join(" ")),n.push("\x3c!--"),n.push(k.data),n.push("--\x3e")}}if(t--,!w){n.push("\n");for(var A=0;A<t;A++)n.push(" ")}n.push("</"),n.push(e.nodeName),n.push(">")}else n.push("/>")}return n.join("")},this.embedImage=function(e){return new Promise((function(t,n){lr(new Image).load((function(r,a,i){if("error"!==a){var o=document.createElement("canvas");o.width=this.width,o.height=this.height,o.getContext("2d").drawImage(this,0,0);try{var s=";svgedit_url="+encodeURIComponent(e);s=o.toDataURL().replace(";base64",s+";base64"),he[e]=s}catch(t){he[e]=!1}ye=e,t(he[e])}else n(new Error("Error loading image: "+i.status+" "+i.statusText))})).attr("src",e)}))},this.setGoodImage=function(e){ye=e},this.open=function(){},this.save=function(e){W(),e&&lr.extend(fe,e),fe.apply=!0;var t=this.svgCanvasToString();Y("saved",t)},this.rasterExport=function(){var e=n(regeneratorRuntime.mark((function e(t,n,r){var a,i,s,c,u,d,h,f,p,g=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=g.length>3&&void 0!==g[3]?g[3]:{},s="image/"+(i="ICO"===t?"BMP":t||"PNG").toLowerCase(),c=Gt(),u=c.issues,d=c.issueCodes,h=this.svgCanvasToString(),vt){e.next=10;break}return e.next=8,dn(o.canvgPath+"canvg.js",{global:"canvg"});case 8:f=e.sent,vt=f.canvg;case 10:return lr("#export_canvas").length||lr("<canvas>",{id:"export_canvas"}).hide().appendTo("body"),(p=lr("#export_canvas")[0]).width=l.contentW,p.height=l.contentH,e.next=16,vt(p,h);case 16:return e.abrupt("return",new Promise((function(e,o){var l,c=i.toLowerCase(),f=n?p.toDataURL("image/"+c,n):p.toDataURL("image/"+c);function g(){var i={datauri:f,bloburl:l,svg:h,issues:u,issueCodes:d,type:t,mimeType:s,quality:n,exportWindowName:r};a.avoidEvent||Y("exported",i),e(i)}p.toBlob?p.toBlob((function(e){l=It(e),g()}),s,n):(l=Pt(f),g())})));case 17:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),this.exportPDF=function(){var e=n(regeneratorRuntime.mark((function e(t){var n,r,a,i,s,l,c,u,d,h,f,p,g=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=g.length>1&&void 0!==g[1]?g[1]:D()?"save":void 0,window.jsPDF){e.next=7;break}return e.next=4,fn(["jspdf/underscore-min.js","jspdf/jspdf.min.js"]);case 4:return r=!("svgEditor"in window&&window.svgEditor&&!1===window.svgEditor.modules),e.next=7,fn(o.jspdfPath+"jspdf.plugin.svgToPdf.js",{type:r?"module":"text/javascript"});case 7:return a=Wt(),i=a.w>a.h?"landscape":"portrait",s="pt",l=jsPDF({orientation:i,unit:s,format:[a.w,a.h]}),c=Kt(),l.setProperties({title:c}),u=Gt(),d=u.issues,h=u.issueCodes,f=this.svgCanvasToString(),l.addSVG(f,0,0),(p={svg:f,issues:d,issueCodes:h,exportWindowName:t,outputType:n=n||"dataurlstring"}).output=l.output(n,"save"===n?t||"svg.pdf":void 0),Y("exportedPDF",p),e.abrupt("return",p);case 21:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),this.getSvgString=function(){return fe.apply=!1,this.svgCanvasToString()},this.randomizeIds=function(e){arguments.length>0&&!1===e?Pn(!1,v()):Pn(!0,v())};var Nt=this.uniquifyElems=function(e){var t={},n=["filter","linearGradient","pattern","radialGradient","symbol","textPath","use"];for(var r in Lt(e,(function(e){if(1===e.nodeType){e.id&&(e.id in t||(t[e.id]={elem:null,attrs:[],hrefs:[]}),t[e.id].elem=e),lr.each(le,(function(n,r){var a=e.getAttributeNode(r);if(a){var i=Mt(a.value),o=i?i.substr(1):null;o&&(o in t||(t[o]={elem:null,attrs:[],hrefs:[]}),t[o].attrs.push(a))}}));var r=Ot(e);if(r&&n.includes(e.nodeName)){var a=r.substr(1);a&&(a in t||(t[a]={elem:null,attrs:[],hrefs:[]}),t[a].hrefs.push(e))}}})),t)if(r){var a=t[r].elem;if(a){var i=H();a.id=i;for(var o=t[r].attrs,s=o.length;s--;){var l=o[s];l.ownerElement.setAttribute(l.name,"url(#"+i+")")}for(var c=t[r].hrefs,u=c.length;u--;){var d=c[u];jt(d,"#"+i)}}}},Bt=this.setUseData=function(e){var t=lr(e);"use"!==e.tagName&&(t=t.find("use")),t.each((function(){var e=Ot(this).substr(1),t=Jt(e);t&&(lr(this).data("ref",t),"symbol"!==t.tagName&&"svg"!==t.tagName||lr(this).data("symbol",t).data("ref",t))}))},Ut=this.convertGradients=function(e){var t=lr(e).find("linearGradient, radialGradient");!t.length&&V()&&(t=lr(e).find("*").filter((function(){return this.tagName.includes("Gradient")}))),t.each((function(){if("userSpaceOnUse"===lr(this).attr("gradientUnits")){var e=lr(f).find('[fill="url(#'+this.id+')"],[stroke="url(#'+this.id+')"]');if(!e.length)return;var t=Dt(e[0]);if(!t)return;if("linearGradient"===this.tagName){var n=lr(this).attr(["x1","y1","x2","y2"]),r=this.gradientTransform.baseVal;if(r&&r.numberOfItems>0){var a=Pe(r).matrix,i=ke(n.x1,n.y1,a),o=ke(n.x2,n.y2,a);n.x1=i.x,n.y1=i.y,n.x2=o.x,n.y2=o.y,this.removeAttribute("gradientTransform")}lr(this).attr({x1:(n.x1-t.x)/t.width,y1:(n.y1-t.y)/t.height,x2:(n.x2-t.x)/t.width,y2:(n.y2-t.y)/t.height}),this.removeAttribute("gradientUnits")}}}))},qt=this.convertToGroup=function(e){e||(e=w[0]);var t,n=lr(e),r=new fr;if(n.data("gsvg")){var a=e.firstChild,i=lr(a).attr(["x","y"]);lr(e.firstChild.firstChild).unwrap(),lr(e).removeData("gsvg");var o=$(e),s=u.createSVGTransform();s.setTranslate(i.x,i.y),o.appendItem(s),rr(e),Y("selected",[e])}else if(n.data("symbol")){e=n.data("symbol"),t=n.attr("transform");var l=n.attr(["x","y"]),d=e.getAttribute("viewBox");if(d){var h=d.split(" ");l.x-=Number(h[0]),l.y-=Number(h[1])}t+=" translate("+(l.x||0)+","+(l.y||0)+")";var g=n.prev();r.addSubCommand(new dr(n[0],n[0].nextSibling,n[0].parentNode)),n.remove();var m,v=lr(f).find("use:data(symbol)").length,y=c.createElementNS(p.SVG,"g"),_=e.childNodes;for(m=0;m<_.length;m++)y.append(_[m].cloneNode(!0));if(R()){var b=lr(Vt()).children("linearGradient,radialGradient,pattern").clone();lr(y).append(b)}t&&y.setAttribute("transform",t);var x=e.parentNode;if(Nt(y),R()&&lr(Vt()).append(lr(y).find("linearGradient,radialGradient,pattern")),y.id=H(),g.after(y),x){if(!v){var S=e.nextSibling;e.remove(),r.addSubCommand(new dr(e,S,x))}r.addSubCommand(new ur(y))}Bt(y),R()?Ut(Vt()):Ut(y),function(e,t){if(e&&1===e.nodeType){for(var n=e.childNodes.length;n--;)Lt(e.childNodes.item(n),t);t(e)}}(y,(function(e){try{rr(e)}catch(e){console.log(e)}})),lr(y).find(oe).each((function(){this.id||(this.id=H())})),Ze([y]);var k=un(y,!0);k&&r.addSubCommand(k),O(r)}else console.log("Unexpected element to ungroup:",e)};this.setSvgString=function(e,t){try{var n=Tt(e);if(n.firstElementChild&&n.firstElementChild.namespaceURI!==p.SVG)return!1;this.prepareSvg(n);var r=new fr("Change Source"),a=f.nextSibling,i=u.removeChild(f);r.addSubCommand(new dr(i,a,u)),f=c.adoptNode?c.adoptNode(n.documentElement):c.importNode(n.documentElement,!0),u.append(f);var s=lr(f);l.current_drawing_=new Gn(f,m);var d=v().getNonce();d?Y("setnonce",d):Y("unsetnonce"),s.find("image").each((function(){var e=this;rn(e);var t=Ot(this);if(t){if(t.startsWith("data:")){var n=t.match(/svgedit_url=(.*?);/);if(n){var r=decodeURIComponent(n[1]);lr(new Image).load((function(){e.setAttributeNS(p.XLINK,"xlink:href",r)})).attr("src",r)}}l.embedImage(t)}})),s.find("svg").each((function(){if(!lr(this).closest("defs").length){Nt(this);var e=this.parentNode;1===e.childNodes.length&&"g"===e.nodeName?(lr(e).data("gsvg",this),e.id=e.id||H()):qe(this)}})),R()&&s.find("linearGradient, radialGradient, pattern").appendTo(Vt()),Bt(s),Ut(s[0]);var h={id:"svgcontent",overflow:o.show_outside_canvas?"visible":"hidden"},g=!1;if(s.attr("viewBox")){var _=s.attr("viewBox").split(" ");h.width=_[2],h.height=_[3]}else lr.each(["width","height"],(function(e,t){var n=s.attr(t)||"100%";"%"===String(n).substr(-1)?g=!0:h[t]=se(t,n)}));if(In(),s.children().find(oe).each((function(){this.id||(this.id=H())})),g){var b=Qt();h.width=b.width+b.x,h.height=b.height+b.y}h.width<=0&&(h.width=100),h.height<=0&&(h.height=100),s.attr(h),this.contentW=h.width,this.contentH=h.height,r.addSubCommand(new ur(f));var x=s.attr(["width","height"]);r.addSubCommand(new hr(u,x)),y=1,Q={},W(),Be={},u.append(F.selectorParentGroup),t||O(r),Y("changed",[f])}catch(e){return console.log(e),!1}return!0},this.importSvgString=function(e){var t,n,r;try{var a=Ct(e.length+e).substr(0,32),i=!1;pe[a]&&lr(pe[a].symbol).parents("#svgroot").length&&(i=!0);var o,s=new fr("Import Image");if(i)o=pe[a].symbol,n=pe[a].xform;else{var l,u=Tt(e);this.prepareSvg(u),l=c.adoptNode?c.adoptNode(u.documentElement):c.importNode(u.documentElement,!0),Nt(l);var d=se("width",l.getAttribute("width")),h=se("height",l.getAttribute("height")),g=l.getAttribute("viewBox"),m=g?g.split(" "):[0,0,d,h];for(t=0;t<4;++t)m[t]=Number(m[t]);var y=Number(f.getAttribute("height"));n="translate(0) "+(n=h>d?"scale("+y/3/m[3]+")":"scale("+y/3/m[2]+")")+" translate(0)",o=c.createElementNS(p.SVG,"symbol");var b=Vt();for(R()&&lr(l).find("linearGradient, radialGradient, pattern").appendTo(b);l.firstChild;){var x=l.firstChild;o.append(x)}var w=l.attributes,S=!0,k=!1,C=void 0;try{for(var A,E=w[Symbol.iterator]();!(S=(A=E.next()).done);S=!0){var G=A.value;o.setAttribute(G.nodeName,G.value)}}catch(e){k=!0,C=e}finally{try{S||null==E.return||E.return()}finally{if(k)throw C}}o.id=H(),pe[a]={symbol:o,xform:n},Vt().append(o),s.addSubCommand(new ur(o))}(r=c.createElementNS(p.SVG,"use")).id=H(),jt(r,"#"+o.id),(_||v().getCurrentLayer()).append(r),s.addSubCommand(new ur(r)),W(),r.setAttribute("transform",n),rr(r),lr(r).data("symbol",o).data("ref",o),Z([r]),O(s),Y("changed",[f])}catch(e){return console.log(e),null}return r};var Yt={identifyLayers:In,createLayer:Nn,cloneLayer:Tn,deleteCurrentLayer:Ln,setCurrentLayer:Mn,renameCurrentLayer:On,setCurrentLayerPosition:jn,setLayerVisibility:Vn,moveSelectedToLayer:Rn,mergeLayer:Bn,mergeAllLayers:Dn,leaveContext:Un,setContext:Fn};Object.entries(Yt).forEach((function(e){var t=d(e,2),n=t[0],r=t[1];l[n]=r})),function(e){En=e}({pathActions:P,getCurrentGroup:function(){return _},setCurrentGroup:function(e){_=e},getSelectedElements:G,getSVGContent:E,undoMgr:M,elData:ce,getCurrentDrawing:v,clearSelection:W,call:Y,addCommandToHistory:O,changeSVGContent:function(){Y("changed",[f])}}),this.clear=function(){P.clear(),W(),l.clearSvgContentElement(),l.current_drawing_=new Gn(f),l.createLayer("Layer 1"),l.undoMgr.resetUndoStack(),F.initGroup(),Oe=F.getRubberBandBox(),Y("cleared")},this.linkControlPoints=P.linkControlPoints,this.getContentElem=function(){return f},this.getRootElem=function(){return u};var Wt=this.getResolution=function(){return{w:f.getAttribute("width")/y,h:f.getAttribute("height")/y,zoom:y}};this.getSnapToGrid=function(){return o.gridSnapping},this.getVersion=function(){return"svgcanvas.js ($Rev$)"},this.setUiStrings=function(e){Object.assign(te,e.notification),lr=gn(lr,e.common),je(e)},this.setConfig=function(e){Object.assign(o,e)},this.getTitle=function(e){if(e=e||w[0]){var t=(e=lr(e).data("gsvg")||lr(e).data("symbol")||e).childNodes,n=!0,r=!1,a=void 0;try{for(var i,o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if("title"===s.nodeName)return s.textContent}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}return""}},this.setGroupTitle=function(e){var t=w[0];t=lr(t).data("gsvg")||t;var n,r=lr(t).children("title"),a=new fr("Set Label");if(e.length)r.length?(n=r[0],a.addSubCommand(new hr(n,{"#text":n.textContent})),n.textContent=e):((n=c.createElementNS(p.SVG,"title")).textContent=e,lr(t).prepend(n),a.addSubCommand(new ur(n)));else{var i=r.nextSibling;a.addSubCommand(new dr(r[0],i,t)),r.remove()}O(a)};var Kt=this.getDocumentTitle=function(){return l.getTitle(f)};this.setDocumentTitle=function(e){var t=f.childNodes,n=!1,r="",a=new fr("Change Image Title"),i=!0,o=!1,s=void 0;try{for(var l,u=t[Symbol.iterator]();!(i=(l=u.next()).done);i=!0){var d=l.value;if("title"===d.nodeName){r=(n=d).textContent;break}}}catch(e){o=!0,s=e}finally{try{i||null==u.return||u.return()}finally{if(o)throw s}}n||(n=c.createElementNS(p.SVG,"title"),f.insertBefore(n,f.firstChild)),e.length?n.textContent=e:n.remove(),a.addSubCommand(new hr(n,{"#text":r})),O(a)},this.getEditorNS=function(e){return e&&f.setAttribute("xmlns:se",p.SE),p.SE},this.setResolution=function(e,t){var n,r=Wt(),a=r.w,i=r.h;if("fit"===e){var o=Qt();if(!o)return!1;n=new fr("Fit Canvas to Content");var s=Xt();Z(s);var c=[],u=[];lr.each(s,(function(e,t){c.push(-1*o.x),u.push(-1*o.y)}));var d=l.moveSelectedElements(c,u,!0);n.addSubCommand(d),W(),e=Math.round(o.width),t=Math.round(o.height)}return e===a&&t===i||(n||(n=new fr("Change Image Dimensions")),e=se("width",e),t=se("height",t),f.setAttribute("width",e),f.setAttribute("height",t),this.contentW=e,this.contentH=t,n.addSubCommand(new hr(f,{width:a,height:i})),f.setAttribute("viewBox",[0,0,e/y,t/y].join(" ")),n.addSubCommand(new hr(f,{viewBox:["0 0",a,i].join(" ")})),O(n),Y("changed",[f])),!0},this.getOffset=function(){return lr(f).attr(["x","y"])},this.setBBoxZoom=function(t,n,r){var a,i=.85,o=function(e){if(!e)return!1;var t=Math.round(n/e.width*100*i)/100,a=Math.round(r/e.height*100*i)/100,o=Math.min(t,a);return l.setZoom(o),{zoom:o,bbox:e}};if("object"===e(t)){if(0===(a=t).width||0===a.height){var s=a.zoom?a.zoom:y*a.factor;return l.setZoom(s),{zoom:y,bbox:a}}return o(a)}switch(t){case"selection":if(!w[0])return;var c=lr.map(w,(function(e){if(e)return e}));a=Qt(c);break;case"canvas":var u=Wt();i=.95,a={width:u.w,height:u.h,x:0,y:0};break;case"content":a=Qt();break;case"layer":a=Qt(Xt(v().getCurrentLayer()));break;default:return}return o(a)},this.setZoom=function(e){var t=Wt();f.setAttribute("viewBox","0 0 "+t.w/e+" "+t.h/e),y=e,lr.each(w,(function(e,t){t&&F.requestSelector(t).resize()})),P.zoomChange(),Ue("zoomChanged",e)},this.getMode=function(){return xe},this.setMode=function(e){P.clear(!0),yt.clear(),Le=w[0]&&"text"===w[0].nodeName?ge:x,xe=e},this.getColor=function(e){return Le[e]},this.setColor=function(e,t,n){x[e]=t,Le[e+"_paint"]={type:"solidColor"};var r=[];function a(e){"g"!==e.nodeName&&r.push(e)}for(var i=w.length;i--;){var o=w[i];o&&("g"===o.tagName?Lt(o,a):"fill"===e?"polyline"!==o.tagName&&"line"!==o.tagName&&r.push(o):r.push(o))}r.length>0&&(n?ln(e,t,r):(cn(e,t,r),Y("changed",r)))};var on=this.setGradient=function(e){if(Le[e+"_paint"]&&"solidColor"!==Le[e+"_paint"].type){var t=l[e+"Grad"],n=sn(t),r=Vt();n?t=n:(t=r.appendChild(c.importNode(t,!0))).id=H(),l.setColor(e,"url(#"+t.id+")")}},sn=function(e){for(var t=Vt(),n=lr(t).find("linearGradient, radialGradient"),r=n.length,a=["r","cx","cy","fx","fy"];r--;){var i=n[r];if("linearGradient"===e.tagName){if(e.getAttribute("x1")!==i.getAttribute("x1")||e.getAttribute("y1")!==i.getAttribute("y1")||e.getAttribute("x2")!==i.getAttribute("x2")||e.getAttribute("y2")!==i.getAttribute("y2"))continue}else if("continue"===function(){var t=lr(e).attr(a),n=lr(i).attr(a),r=!1;if(lr.each(a,(function(e,a){t[a]!==n[a]&&(r=!0)})),r)return"continue"}())continue;var o=e.getElementsByTagNameNS(p.SVG,"stop"),s=i.getElementsByTagNameNS(p.SVG,"stop");if(o.length===s.length){for(var l=o.length;l--;){var c=o[l],u=s[l];if(c.getAttribute("offset")!==u.getAttribute("offset")||c.getAttribute("stop-opacity")!==u.getAttribute("stop-opacity")||c.getAttribute("stop-color")!==u.getAttribute("stop-color"))break}if(-1===l)return i}}return null};this.setPaint=function(e,t){var n=new lr.jGraduate.Paint(t);switch(this.setPaintOpacity(e,n.alpha/100,!0),Le[e+"_paint"]=n,n.type){case"solidColor":this.setColor(e,"none"!==n.solidColor?"#"+n.solidColor:"none");break;case"linearGradient":case"radialGradient":l[e+"Grad"]=n[n.type],on(e)}},this.setStrokePaint=function(e){this.setPaint("stroke",e)},this.setFillPaint=function(e){this.setPaint("fill",e)},this.getStrokeWidth=function(){return Le.stroke_width},this.setStrokeWidth=function(e){if(0===e&&["line","path"].includes(xe))l.setStrokeWidth(1);else{Le.stroke_width=e;for(var t=[],n=w.length;n--;){var r=w[n];r&&("g"===r.tagName?Lt(r,a):t.push(r))}t.length>0&&(cn("stroke-width",e,t),Y("changed",w))}function a(e){"g"!==e.nodeName&&t.push(e)}},this.setStrokeAttr=function(e,t){x[e.replace("-","_")]=t;for(var n=[],r=w.length;r--;){var a=w[r];a&&("g"===a.tagName?Lt(a,(function(e){"g"!==e.nodeName&&n.push(e)})):n.push(a))}n.length>0&&(cn(e,t,n),Y("changed",w))},this.getStyle=function(){return x},this.getOpacity=J,this.setOpacity=function(e){x.opacity=e,cn("opacity",e)},this.getFillOpacity=function(){return x.fill_opacity},this.getStrokeOpacity=function(){return x.stroke_opacity},this.setPaintOpacity=function(e,t,n){x[e+"_opacity"]=t,n?ln(e+"-opacity",t):cn(e+"-opacity",t)},this.getPaintOpacity=function(e){return"fill"===e?this.getFillOpacity():this.getStrokeOpacity()},this.getBlur=function(e){var t=0;if(e&&e.getAttribute("filter")){var n=Jt(e.id+"_blur");n&&(t=n.firstChild.getAttribute("stdDeviation"))}return t},function(){var e=null,t=null,n=!1;function r(){var n=l.undoMgr.finishUndoableChange();e.addSubCommand(n),O(e),e=null,t=null}l.setBlurNoUndo=function(e){if(t)if(0===e)ln("filter",""),n=!0;else{var r=w[0];n&&ln("filter","url(#"+r.id+"_blur)"),V()&&(r.removeAttribute("filter"),r.setAttribute("filter","url(#"+r.id+"_blur)")),ln("stdDeviation",e,[t.firstChild]),l.setBlurOffsets(t,e)}else l.setBlur(e)},l.setBlurOffsets=function(e,t){t>3?en(e,{x:"-50%",y:"-50%",width:"200%",height:"200%"}):V()||(e.removeAttribute("x"),e.removeAttribute("y"),e.removeAttribute("width"),e.removeAttribute("height"))},l.setBlur=function(n,a){if(e)r();else{var i=w[0],o=i.id;t=Jt(o+"_blur"),n-=0;var s=new fr;if(t)0===n&&(t=null);else{var c=k({element:"feGaussianBlur",attr:{in:"SourceGraphic",stdDeviation:n}});(t=k({element:"filter",attr:{id:o+"_blur"}})).append(c),Vt().append(t),s.addSubCommand(new ur(t))}var u={filter:i.getAttribute("filter")};if(0===n)return i.removeAttribute("filter"),void s.addSubCommand(new hr(i,u));cn("filter","url(#"+o+"_blur)"),s.addSubCommand(new hr(i,u)),l.setBlurOffsets(t,n),e=s,l.undoMgr.beginUndoableChange("stdDeviation",[t?t.firstChild:null]),a&&(l.setBlurNoUndo(n),r())}}}(),this.getBold=function(){var e=w[0];return!(an(e)||"text"!==e.tagName||!an(w[1]))&&"bold"===e.getAttribute("font-weight")},this.setBold=function(e){var t=w[0];!an(t)&&"text"===t.tagName&&an(w[1])&&cn("font-weight",e?"bold":"normal"),w[0].textContent||yt.setCursor()},this.getItalic=function(){var e=w[0];return!(an(e)||"text"!==e.tagName||!an(w[1]))&&"italic"===e.getAttribute("font-style")},this.setItalic=function(e){var t=w[0];!an(t)&&"text"===t.tagName&&an(w[1])&&cn("font-style",e?"italic":"normal"),w[0].textContent||yt.setCursor()},this.getFontFamily=function(){return ge.font_family},this.setFontFamily=function(e){ge.font_family=e,cn("font-family",e),w[0]&&!w[0].textContent&&yt.setCursor()},this.setFontColor=function(e){ge.fill=e,cn("fill",e)},this.getFontColor=function(){return ge.fill},this.getFontSize=function(){return ge.font_size},this.setFontSize=function(e){ge.font_size=e,cn("font-size",e),w[0].textContent||yt.setCursor()},this.getText=function(){var e=w[0];return an(e)?"":e.textContent},this.setTextContent=function(e){cn("#text",e),yt.init(e),yt.setCursor()},this.setImageURL=function(e){var t=w[0];if(t){var n=lr(t).attr(["width","height"]),r=!n.width||!n.height,a=Ot(t);if(a!==e||r){var i=new fr("Change Image URL");jt(t,e),i.addSubCommand(new hr(t,{"#href":a})),lr(new Image).load((function(){var e=lr(t).attr(["width","height"]);lr(t).attr({width:this.width,height:this.height}),F.requestSelector(t).resize(),i.addSubCommand(new hr(t,e)),O(i),Y("changed",[t])})).attr("src",e)}}},this.setLinkURL=function(e){var t=w[0];if(t){if("a"!==t.tagName){var n=lr(t).parents("a");if(!n.length)return;t=n[0]}var r=Ot(t);if(r!==e){var a=new fr("Change Link URL");jt(t,e),a.addSubCommand(new hr(t,{"#href":r})),O(a)}}},this.setRectRadius=function(e){var t=w[0];if(!an(t)&&"rect"===t.tagName){var n=t.getAttribute("rx");n!==String(e)&&(t.setAttribute("rx",e),t.setAttribute("ry",e),O(new hr(t,{rx:n,ry:n},"Radius")),Y("changed",[t]))}},this.makeHyperlink=function(e){l.groupSelectedElements("a",e)},this.removeHyperlink=function(){l.ungroupSelectedElement()},this.setSegType=function(e){P.setSegType(e)},this.convertToPath=function(e,t){if(!an(e))return t?zt(e,k,P):function(e,t,n,r,a,i,o,s){var l=new o.BatchCommand("Convert element to Path"),c=n({element:"path",attr:t=mt.extend({},t,Ht(e))}),u=e.getAttribute("transform");u&&c.setAttribute("transform",u);var d=e.id,h=e.parentNode;e.nextSibling?e.before(c):h.append(c);var f=Ft(e);if(f){if(c.setAttribute("d",f),u){var p=$(c);Ee(p)&&r.resetOrientation(c)}var g=e.nextSibling;return l.addSubCommand(new o.RemoveElementCommand(e,g,parent)),l.addSubCommand(new o.InsertElementCommand(c)),a(),e.remove(),c.setAttribute("id",d),c.removeAttribute("visibility"),i([c],!0),s(l),c}return c.remove(),null}(e,{fill:x.fill,"fill-opacity":x.fill_opacity,stroke:x.stroke,"stroke-width":x.stroke_width,"stroke-dasharray":x.stroke_dasharray,"stroke-linejoin":x.stroke_linejoin,"stroke-linecap":x.stroke_linecap,"stroke-opacity":x.stroke_opacity,opacity:x.opacity,visibility:"hidden"},k,P,W,Z,we,O);var n=w;lr.each(n,(function(e,t){t&&l.convertToPath(t)}))};var ln=function(e,t,n){"pathedit"===xe&&P.moveNode(e,t);for(var r=(n=n||w).length,a=["g","polyline","path"],i=function(){var i=n[r];if(an(i))return"continue";if(("x"===e||"y"===e)&&a.includes(i.tagName)){var o=Qt([i]),s="x"===e?t-o.x:0,c="y"===e?t-o.y:0;return l.moveSelectedElements(s*y,c*y,!0),"continue"}var d="#text"===e?i.textContent:i.getAttribute(e);if(an(d)&&(d=""),d!==String(t)){"#text"===e?(i.textContent=t,/rotate/.test(i.getAttribute("transform"))&&(i=We(i))):"#href"===e?jt(i,t):i.setAttribute(e,t),"textedit"===xe&&"#text"!==e&&i.textContent.length&&yt.toSelectMode(i),R()&&"text"===i.nodeName&&/rotate/.test(i.getAttribute("transform"))&&(String(t).startsWith("url")||["font-size","font-family","x","y"].includes(e)&&i.textContent)&&(i=We(i)),w.includes(i)&&setTimeout((function(){i.parentNode&&F.requestSelector(i).resize()}),0);var h=Zt(i);if(0!==h&&"transform"!==e)for(var f=$(i),p=f.numberOfItems;p--;){if(4===f.getItem(p).type){f.removeItem(p);var g=Dt(i),m=ke(g.x+g.width/2,g.y+g.height/2,Pe(f).matrix),v=m.x,_=m.y,b=u.createSVGTransform();b.setRotate(h,v,_),f.insertItemBefore(b,p);break}}}};r--;)i()},cn=this.changeSelectedAttribute=function(e,t,n){n=n||w,l.undoMgr.beginUndoableChange(e,n),ln(e,t,n);var r=l.undoMgr.finishUndoableChange();r.isEmpty()||O(r)};this.deleteSelectedElements=function(){for(var e=new fr("Delete Elements"),t=w.length,n=[],r=0;r<t;++r){var a=w[r];if(an(a))break;var i=a.parentNode,o=a;F.releaseSelector(o),at(o.id),"a"===i.tagName&&1===i.childNodes.length&&(o=i,i=i.parentNode);var s=o.nextSibling,l=i.removeChild(o);n.push(a),e.addSubCommand(new dr(l,s,i))}w=[],e.isEmpty()||O(e),Y("changed",n),W()},this.cutSelectedElements=function(){l.copySelectedElements(),l.deleteSelectedElements()},this.copySelectedElements=function(){localStorage.setItem("svgedit_clipboard",JSON.stringify(w.map((function(e){return S(e)})))),lr("#cmenu_canvas").enableContextMenuItems("#paste,#paste_in_place")},this.pasteElements=function(e,t,n){var r=JSON.parse(localStorage.getItem("svgedit_clipboard")),a=r.length;if(a){var i=[],o=new fr("Paste elements"),s={};for(r.forEach((function e(t){t.attr&&t.attr.id&&(s[t.attr.id]=H(),t.attr.id=s[t.attr.id]),t.children&&t.children.forEach(e)})),Ue("IDsUpdated",{elems:r,changes:s},!0).forEach((function(e){e&&"remove"in e&&e.remove.forEach((function(e){r=r.filter((function(t){return t.attr.id!==e}))}))}));a--;){var c=r[a];if(c){var u=k(c);i.push(u),o.addSubCommand(new ur(u)),de(u)}}if(Ze(i),"in_place"!==e){var d,h;e?"point"===e&&(d=t,h=n):(d=Re.x,h=Re.y);var f=Qt(i),p=d-(f.x+f.width/2),g=h-(f.y+f.height/2),m=[],v=[];lr.each(i,(function(e,t){m.push(p),v.push(g)}));var y=l.moveSelectedElements(m,v,!1);y&&o.addSubCommand(y)}O(o),Y("changed",i)}},this.groupSelectedElements=function(e,t){e||(e="g");var n,r="";switch(e){case"a":r="Make hyperlink",n=t||"";break;default:e="g",r="Group Elements"}var a=new fr(r),i=k({element:e,attr:{id:H()}});"a"===e&&jt(i,n),a.addSubCommand(new ur(i));for(var o=w.length;o--;){var s=w[o];if(!an(s)){"a"===s.parentNode.tagName&&1===s.parentNode.childNodes.length&&(s=s.parentNode);var l=s.nextSibling,c=s.parentNode;i.append(s),a.addSubCommand(new cr(s,l,c))}}a.isEmpty()||O(a),Ze([i],!0)};var un=this.pushGroupProperties=function(e,t){for(var n,r,a,i=e.childNodes,o=i.length,s=e.getAttribute("transform"),c=$(e),d=Pe(c).matrix,h=new fr("Push group properties"),f=Zt(e),p=lr(e).attr(["filter","opacity"]),g=v(),m=0;m<o;m++){var y=i[m];if(1===y.nodeType){if(null!==p.opacity&&1!==p.opacity){var _=Math.round((y.getAttribute("opacity")||1)*p.opacity*100)/100;cn("opacity",_,[y])}if(p.filter){var b=this.getBlur(y),x=b;r||(r=this.getBlur(e)),b?b=Number(r)+Number(b):0===b&&(b=r),x?n=$t(y.getAttribute("filter")):n?(n=g.copyElem(n),Vt().append(n)):n=$t(p.filter);var w="feGaussianBlur"===n.firstChild.tagName?"blur":"filter";n.id=y.id+"_"+w,cn("filter","url(#"+n.id+")",[y]),b&&(cn("stdDeviation",b,[n.firstChild]),l.setBlurOffsets(n,b))}var S=$(y);if(y.tagName.includes("Gradient")&&(S=null),S&&"defs"!==y.tagName&&c.numberOfItems){if(f&&1===c.numberOfItems){var k=c.getItem(0).matrix,C=u.createSVGMatrix(),A=Zt(y);A&&(C=S.getItem(0).matrix);var E=Dt(y),G=Pe(S).matrix,P=ke(E.x+E.width/2,E.y+E.height/2,G),I=f+A,N=u.createSVGTransform();N.setRotate(I,P.x,P.y);var T=Ae(k,C,N.matrix.inverse());if(A&&S.removeItem(0),I&&(S.numberOfItems?S.insertItemBefore(N,0):S.appendItem(N)),T.e||T.f){var L=u.createSVGTransform();L.setTranslate(T.e,T.f),S.numberOfItems?S.insertItemBefore(L,0):S.appendItem(L)}}else{var M=y.getAttribute("transform");(a={}).transform=M||"";var O=u.createSVGTransform(),j=Pe(S).matrix,V=j.inverse(),R=Ae(V,d,j);O.setMatrix(R),S.appendItem(O)}var B=rr(y);B&&h.addSubCommand(B)}}}if(s&&((a={}).transform=s,e.setAttribute("transform",""),e.removeAttribute("transform"),h.addSubCommand(new hr(e,a))),t&&!h.isEmpty())return h};this.ungroupSelectedElement=function(){var e=w[0];if(e)if(lr(e).data("gsvg")||lr(e).data("symbol"))qt(e);else{if("use"===e.tagName){var t=Jt(Ot(e).substr(1));return lr(e).data("symbol",t).data("ref",t),void qt(e)}var n=lr(e).parents("a");if(n.length&&(e=n[0]),"g"===e.tagName||"a"===e.tagName){var r=new fr("Ungroup Elements"),a=un(e,!0);a&&r.addSubCommand(a);for(var i=e.parentNode,o=e.nextSibling,s=new Array(e.childNodes.length),l=0;e.firstChild;){var c=e.firstChild,u=c.nextSibling,d=c.parentNode;if("title"!==c.tagName)s[l++]=c=o.before(c),r.addSubCommand(new cr(c,u,d));else{var h=c.nextSibling;r.addSubCommand(new dr(c,h,d)),c.remove()}}W();var f=e.nextSibling;e=i.removeChild(e),r.addSubCommand(new dr(e,f,i)),r.isEmpty()||O(r),Z(s)}}},this.moveToTopSelectedElement=function(){var e=d(w,1)[0];if(!an(e)){var t=e,n=t.parentNode,r=t.nextSibling;r!==(t=t.parentNode.appendChild(t)).nextSibling&&(O(new cr(t,r,n,"top")),Y("changed",[t]))}},this.moveToBottomSelectedElement=function(){var e=d(w,1)[0];if(!an(e)){var t=e,n=t.parentNode,r=t.nextSibling,a=t.parentNode.firstChild;"title"===a.tagName&&(a=a.nextSibling),"defs"===a.tagName&&(a=a.nextSibling),r!==(t=t.parentNode.insertBefore(t,a)).nextSibling&&(O(new cr(t,r,n,"bottom")),Y("changed",[t]))}},this.moveUpDownSelected=function(e){var t=w[0];if(t){var n,r;Ve=[];var a=lr(He(Qt([t]))).toArray();if("Down"===e&&a.reverse(),lr.each(a,(function(){return r?(n=this,!1):(this===t&&(r=!0),!0)})),n){var i=t,o=i.parentNode,s=i.nextSibling;lr(n)["Down"===e?"before":"after"](i),s!==i.nextSibling&&(O(new cr(i,s,o,"Move "+e)),Y("changed",[i]))}}},this.moveSelectedElements=function(e,t,n){e.constructor!==Array&&(e/=y,t/=y),n=n||!0;for(var r=new fr("position"),a=w.length;a--;){var i=w[a];if(!an(i)){var o=u.createSVGTransform(),s=$(i);e.constructor===Array?o.setTranslate(e[a],t[a]):o.setTranslate(e,t),s.numberOfItems?s.insertItemBefore(o,0):s.appendItem(o);var l=rr(i);l&&r.addSubCommand(l),F.requestSelector(i).resize()}}if(!r.isEmpty())return n&&O(r),Y("changed",w),r},this.cloneSelectedElements=function(e,t){var n,r,a=new fr("Clone Elements"),i=w.length;for(w.sort((function(e,t){return lr(t).index()-lr(e).index()})),n=0;n<i&&(r=w[n],!an(r));++n);var o=w.slice(0,n);this.clearSelection(!0);var s=v();for(n=o.length;n--;)r=o[n]=s.copyElem(o[n]),(_||s.getCurrentLayer()).append(r),a.addSubCommand(new ur(r));a.isEmpty()||(Z(o.reverse()),this.moveSelectedElements(e,t,!1),O(a))},this.alignSelectedElements=function(e,t){var n=[],r=w.length;if(r){for(var a=Number.MAX_VALUE,i=Number.MIN_VALUE,o=Number.MAX_VALUE,s=Number.MIN_VALUE,c=Number.MIN_VALUE,u=Number.MIN_VALUE,d=0;d<r&&!an(w[d]);++d){var h=w[d];switch(n[d]=Qt([h]),t){case"smallest":(("l"===e||"c"===e||"r"===e)&&(c===Number.MIN_VALUE||c>n[d].width)||("t"===e||"m"===e||"b"===e)&&(u===Number.MIN_VALUE||u>n[d].height))&&(a=n[d].x,o=n[d].y,i=n[d].x+n[d].width,s=n[d].y+n[d].height,c=n[d].width,u=n[d].height);break;case"largest":(("l"===e||"c"===e||"r"===e)&&(c===Number.MIN_VALUE||c<n[d].width)||("t"===e||"m"===e||"b"===e)&&(u===Number.MIN_VALUE||u<n[d].height))&&(a=n[d].x,o=n[d].y,i=n[d].x+n[d].width,s=n[d].y+n[d].height,c=n[d].width,u=n[d].height);break;default:n[d].x<a&&(a=n[d].x),n[d].y<o&&(o=n[d].y),n[d].x+n[d].width>i&&(i=n[d].x+n[d].width),n[d].y+n[d].height>s&&(s=n[d].y+n[d].height)}}"page"===t&&(a=0,o=0,i=l.contentW,s=l.contentH);for(var f=new Array(r),p=new Array(r),g=0;g<r&&!an(w[g]);++g){var m=n[g];switch(f[g]=0,p[g]=0,e){case"l":f[g]=a-m.x;break;case"c":f[g]=(a+i)/2-(m.x+m.width/2);break;case"r":f[g]=i-(m.x+m.width);break;case"t":p[g]=o-m.y;break;case"m":p[g]=(o+s)/2-(m.y+m.height/2);break;case"b":p[g]=s-(m.y+m.height)}}this.moveSelectedElements(f,p)}},this.contentW=Wt().w,this.contentH=Wt().h,this.updateCanvas=function(e,t){u.setAttribute("width",e),u.setAttribute("height",t);var n=lr("#canvasBackground")[0],r=f.getAttribute("x"),a=f.getAttribute("y"),i=(e-this.contentW*y)/2,o=(t-this.contentH*y)/2;en(f,{width:this.contentW*y,height:this.contentH*y,x:i,y:o,viewBox:"0 0 "+this.contentW+" "+this.contentH}),en(n,{width:f.getAttribute("width"),height:f.getAttribute("height"),x:i,y:o});var s=Jt("background_image");return s&&en(s,{width:"100%",height:"100%"}),F.selectorParentGroup.setAttribute("transform","translate("+i+","+o+")"),Ue("canvasUpdated",{new_x:i,new_y:o,old_x:r,old_y:a,d_x:i-r,d_y:o-a}),{x:i,y:o,old_x:r,old_y:a,d_x:i-r,d_y:o-a}},this.setBackground=function(e,t){var n=Jt("canvasBackground"),r=lr(n).find("rect")[0],a=Jt("background_image");r.setAttribute("fill",e),t?(a||(a=c.createElementNS(p.SVG,"image"),en(a,{id:"background_image",width:"100%",height:"100%",preserveAspectRatio:"xMinYMin",style:"pointer-events:none"})),jt(a,t),n.append(a)):a&&a.remove()},this.cycleElement=function(e){var t,n=w[0],r=!1,a=Xt(_||v().getCurrentLayer());if(a.length){if(an(n))r=a[t=e?a.length-1:0];else for(var i=a.length;i--;)if(a[i]===n){(t=e?i-1:i+1)>=a.length?t=0:t<0&&(t=a.length-1),r=a[t];break}Ze([r],!0),Y("selected",w)}},this.clear(),this.getPrivateMethods=function(){return{addCommandToHistory:O,BatchCommand:fr,ChangeElementCommand:hr,decode64:At,dropXMLInteralSubset:St,encode64:Ct,ffClone:We,findDefs:Vt,findDuplicateGradient:sn,getElem:Jt,getPathBBox:Rt,getTypeMap:re,getUrlFromAttr:Mt,identifyLayers:In,InsertElementCommand:ur,isChrome:D,isIdentity:Ce,isIE:B,logMatrix:Qe,MoveElementCommand:cr,NS:p,preventClickDefault:rn,RemoveElementCommand:dr,SVGEditTransformList:K,text2xml:Tt,transformBox:Ge,transformPoint:ke,walkTree:Lt}}};
/**
* SVG Icon Loader 2.0
*
* jQuery Plugin for loading SVG icons from a single file
*
* Adds {@link external:jQuery.svgIcons}, {@link external:jQuery.getSvgIcon}, {@link external:jQuery.resizeSvgIcons}
*
* How to use:
1. Create the SVG master file that includes all icons:
The master SVG icon-containing file is an SVG file that contains
`<g>` elements. Each `<g>` element should contain the markup of an SVG
icon. The `<g>` element has an ID that should
correspond with the ID of the HTML element used on the page that should contain
or optionally be replaced by the icon. Additionally, one empty element should be
added at the end with id "svg_eof".
2. Optionally create fallback raster images for each SVG icon.
3. Include the jQuery and the SVG Icon Loader scripts on your page.
4. Run `$.svgIcons()` when the document is ready. See its signature
5. To access an icon at a later point without using the callback, use this:
`$.getSvgIcon(id (string), uniqueClone (boolean))`;
This will return the icon (as jQuery object) with a given ID.
6. To resize icons at a later point without using the callback, use this:
`$.resizeSvgIcons(resizeOptions)` (use the same way as the "resize" parameter)
*
* @module jQuerySVGIcons
* @license MIT
* @copyright (c) 2009 Alexis Deveria
* {@link http://a.deveria.com}
* @example
$(function () {
$.svgIcons('my_icon_set.svg'); // The SVG file that contains all icons
// No options have been set, so all icons will automatically be inserted
// into HTML elements that match the same IDs.
});
* @example
$(function () {
// The SVG file that contains all icons
$.svgIcons('my_icon_set.svg', {
callback (icons) { // Custom callback function that sets click
// events for each icon
$.each(icons, function (id, icon) {
icon.click(function () {
alert('You clicked on the icon with id ' + id);
});
});
}
});
});
* @example
$(function () {
// The SVGZ file that contains all icons
$.svgIcons('my_icon_set.svgz', {
w: 32, // All icons will be 32px wide
h: 32, // All icons will be 32px high
fallback_path: 'icons/', // All fallback files can be found here
fallback: {
'#open_icon': 'open.png', // The "open.png" will be appended to the
// HTML element with ID "open_icon"
'#close_icon': 'close.png',
'#save_icon': 'save.png'
},
placement: {'.open_icon': 'open'}, // The "open" icon will be added
// to all elements with class "open_icon"
resize: {
'#save_icon .svg_icon': 64 // The "save" icon will be resized to 64 x 64px
},
callback (icons) { // Sets background color for "close" icon
icons.close.css('background', 'red');
},
svgz: true // Indicates that an SVGZ file is being used
});
});
*/
var vr=Boolean(window.opera),yr=function(e,t,n){var r,a=e.find("defs");if(!a.length)return e;r=vr?a.find("*").filter((function(){return Boolean(this.id)})):a.find("[id]");var i=e[0].getElementsByTagName("*"),o=i.length;return r.each((function(e){var n=this.id,r="x"+n+t+e;this.id=r;var a="url(#"+n+")",s="url(#"+r+")";for(e=0;e<o;e++){var l=i[e];l.getAttribute("fill")===a&&l.setAttribute("fill",s),l.getAttribute("stroke")===a&&l.setAttribute("stroke",s),l.getAttribute("filter")===a&&l.setAttribute("filter",s)}})),e};
/**
* jGraduate 0.4
*
* jQuery Plugin for a gradient picker
*
* @module jGraduate
* @copyright 2010 Jeff Schiller {@link http://blog.codedread.com/}, 2010 Alexis Deveria {@link http://a.deveria.com/}
*
* @license Apache-2.0
* @example
* // The Paint object is described below.
* $.jGraduate.Paint(); // constructs a 'none' color
* @example $.jGraduate.Paint({copy: o}); // creates a copy of the paint o
* @example $.jGraduate.Paint({hex: '#rrggbb'}); // creates a solid color paint with hex = "#rrggbb"
* @example $.jGraduate.Paint({linearGradient: o, a: 50}); // creates a linear gradient paint with opacity=0.5
* @example $.jGraduate.Paint({radialGradient: o, a: 7}); // creates a radial gradient paint with opacity=0.07
* @example $.jGraduate.Paint({hex: '#rrggbb', linearGradient: o}); // throws an exception?
*/
var _r={svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink"};
/**
* jPicker (Adapted from version 1.1.6)
*
* jQuery Plugin for Photoshop style color picker
*
* @module jPicker
* @copyright (c) 2010 Christopher T. Tillman
* Digital Magic Productions, Inc. ({@link http://www.digitalmagicpro.com/})
* FREE to use, alter, copy, sell, and especially ENHANCE
* @license MIT
*
* Painstakingly ported from John Dyers' excellent work on his own color picker based on the Prototype framework.
*
* John Dyers' website: {@link http://johndyer.name}
* Color Picker page: {@link http://johndyer.name/photoshop-like-javascript-color-picker/}
*/
function br(e,t){return void 0===t&&(t=0),Math.round(e*Math.pow(10,t))/Math.pow(10,t)}window.console||(window.console={log:function(e){},dir:function(e){}});var xr,wr,Sr=function(e){return null==e},kr=jQuery,Cr=function(e,t,n){var r=kr("#svg_editor").parent();Object.entries(t).forEach((function(t){var a=d(t,2),i=a[0],o=a[1];o||console.log(i),n&&(i="#"+i);var s=r.find(i);if(s.length){var l=s[0];switch(e){case"aria-label":l.setAttribute("aria-label",o);break;case"content":h(l.childNodes).some((function(e){return!(3!==e.nodeType||!e.textContent.trim())&&(e.textContent=o,!0)}));break;case"title":l.title=o}}else console.log("Missing element for localization: "+i)}))},Ar=function(){var e=n(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s,l,c,u,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,wr.addLangData(xr);case 2:if(n=e.sent,kr.each(n,(function(e,n){n.data&&(t=kr.merge(t,n.data))})),t.tools){e.next=6;break}return e.abrupt("return",void 0);case 6:return a=(r=t).tools,i=r.properties,o=r.config,s=r.layers,l=r.common,c=r.ui,Cr("content",{curve_segments:i.curve_segments,fitToContent:a.fitToContent,fit_to_all:a.fit_to_all,fit_to_canvas:a.fit_to_canvas,fit_to_layer_content:a.fit_to_layer_content,fit_to_sel:a.fit_to_sel,icon_large:o.icon_large,icon_medium:o.icon_medium,icon_small:o.icon_small,icon_xlarge:o.icon_xlarge,image_opt_embed:o.image_opt_embed,image_opt_ref:o.image_opt_ref,includedImages:o.included_images,largest_object:a.largest_object,layersLabel:s.layers,page:a.page,relativeToLabel:a.relativeTo,selLayerLabel:s.move_elems_to,selectedPredefined:o.select_predefined,selected_objects:a.selected_objects,smallest_object:a.smallest_object,straight_segments:i.straight_segments,svginfo_bg_url:o.editor_img_url+":",svginfo_bg_note:o.editor_bg_note,svginfo_change_background:o.background,svginfo_dim:o.doc_dims,svginfo_editor_prefs:o.editor_prefs,svginfo_height:l.height,svginfo_icons:o.icon_size,svginfo_image_props:o.image_props,svginfo_lang:o.language,svginfo_title:o.doc_title,svginfo_width:l.width,tool_docprops_cancel:l.cancel,tool_docprops_save:l.ok,tool_source_cancel:l.cancel,tool_source_save:l.ok,tool_prefs_cancel:l.cancel,tool_prefs_save:l.ok,sidepanel_handle:s.layers.split("").join(" "),tool_clear:a.new_doc,tool_docprops:a.docprops,tool_export:a.export_img,tool_import:a.import_doc,tool_open:a.open_doc,tool_save:a.save_doc,svginfo_units_rulers:o.units_and_rulers,svginfo_rulers_onoff:o.show_rulers,svginfo_unit:o.base_unit,svginfo_grid_settings:o.grid,svginfo_snap_onoff:o.snapping_onoff,svginfo_snap_step:o.snapping_stepsize,svginfo_grid_color:o.grid_color},!0),u={},["cut","copy","paste","paste_in_place","delete","group","ungroup","move_front","move_up","move_down","move_back"].forEach((function(e){u['#cmenu_canvas a[href="#'+e+'"]']=a[e]})),["dupe","merge_down","merge_all"].forEach((function(e){u['#cmenu_layers a[href="#'+e+'"]']=s[e]})),u['#cmenu_layers a[href="#delete"]']=s.del,Cr("content",u),h={},Object.entries({tool_blur:i.blur,tool_position:a.align_to_page,tool_font_family:i.font_family,zoom_panel:c.zoom_level,stroke_linejoin:i.linejoin_miter,stroke_linecap:i.linecap_butt,tool_opacity:i.opacity}).forEach((function(e){var t=d(e,2),n=t[0],r=t[1];h["#"+n+" button"]=r})),Object.entries({group_opacity:i.opacity,zoom:c.zoom_level}).forEach((function(e){var t=d(e,2),n=t[0],r=t[1];h["#"+n]=r})),Cr("aria-label",h),Cr("title",{align_relative_to:a.align_relative_to,circle_cx:i.circle_cx,circle_cy:i.circle_cy,circle_r:i.circle_r,cornerRadiusLabel:i.corner_radius,ellipse_cx:i.ellipse_cx,ellipse_cy:i.ellipse_cy,ellipse_rx:i.ellipse_rx,ellipse_ry:i.ellipse_ry,fill_color:i.fill_color,font_family:i.font_family,idLabel:i.id,image_height:i.image_height,image_url:i.image_url,image_width:i.image_width,layer_delete:s.del,layer_down:s.move_down,layer_new:s.new,layer_rename:s.rename,layer_moreopts:l.more_opts,layer_up:s.move_up,line_x1:i.line_x1,line_x2:i.line_x2,line_y1:i.line_y1,line_y2:i.line_y2,linecap_butt:i.linecap_butt,linecap_round:i.linecap_round,linecap_square:i.linecap_square,linejoin_bevel:i.linejoin_bevel,linejoin_miter:i.linejoin_miter,linejoin_round:i.linejoin_round,main_icon:a.main_menu,palette:c.palette_info,zoom_panel:c.zoom_level,path_node_x:i.node_x,path_node_y:i.node_y,rect_height_tool:i.rect_height,rect_width_tool:i.rect_width,seg_type:i.seg_type,selLayerNames:s.move_selected,selected_x:i.pos_x,selected_y:i.pos_y,stroke_color:i.stroke_color,stroke_style:i.stroke_style,stroke_width:i.stroke_width,svginfo_title:o.doc_title,text:i.text_contents,toggle_stroke_tools:c.toggle_stroke_tools,tool_add_subpath:a.add_subpath,tool_alignbottom:a.align_bottom,tool_aligncenter:a.align_center,tool_alignleft:a.align_left,tool_alignmiddle:a.align_middle,tool_alignright:a.align_right,tool_aligntop:a.align_top,tool_angle:i.angle,tool_blur:i.blur,tool_bold:i.bold,tool_circle:a.mode_circle,tool_clone:a.clone,tool_clone_multi:a.clone,tool_delete:a.del,tool_delete_multi:a.del,tool_ellipse:a.mode_ellipse,tool_fhellipse:a.mode_fhellipse,tool_fhpath:a.mode_fhpath,tool_fhrect:a.mode_fhrect,tool_font_size:i.font_size,tool_group_elements:a.group_elements,tool_make_link:a.make_link,tool_link_url:a.set_link_url,tool_image:a.mode_image,tool_italic:i.italic,tool_line:a.mode_line,tool_move_bottom:a.move_bottom,tool_move_top:a.move_top,tool_node_clone:a.node_clone,tool_node_delete:a.node_delete,tool_node_link:a.node_link,tool_opacity:i.opacity,tool_openclose_path:a.openclose_path,tool_path:a.mode_path,tool_position:a.align_to_page,tool_rect:a.mode_rect,tool_redo:a.redo,tool_reorient:a.reorient_path,tool_select:a.mode_select,tool_source:a.source_save,tool_square:a.mode_square,tool_text:a.mode_text,tool_topath:a.to_path,tool_undo:a.undo,tool_ungroup:a.ungroup,tool_wireframe:a.wireframe_mode,tool_zoom:a.mode_zoom,url_notice:a.no_embed},!0),e.abrupt("return",{langParam:xr,langData:t});case 19:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Er=function(){var e=n(regeneratorRuntime.mark((function e(t,n,r){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t?xr=t:((xr=kr.pref("lang"))||(navigator.userLanguage?xr=navigator.userLanguage:navigator.language&&(xr=navigator.language)),console.log("Lang: "+xr),n.includes(xr)||"test"===xr||(xr="en")),a=r.langPath+"lang."+xr+".js",e.t0=Ar,e.next=5,un(a,{global:"svgEditorLang_"+xr.replace(/-/g,"_")});case 5:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 7:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}();function Gr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Pr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=t.after,a=t.favicon,i=t.canvas,o=t.image,s=void 0===o||o,l=t.acceptErrors;return e=Array.isArray(e)?e:[e],Promise.all(e.map((function(e){return function(e){var t={};if(Array.isArray(e)){var o=Gr(e,2);e=o[0];var c=o[1];t=void 0===c?{}:c}var u=t.favicon,d=void 0===u?a:u,h=t,f=h.before,p=void 0===f?n:f,g=h.after,m=void 0===g?r:g,v=h.canvas,y=void 0===v?i:v,_=h.image,b=void 0===_?s:_;function x(){p?p.before(w):m?m.after(w):document.head.appendChild(w)}var w=document.createElement("link");return new Promise((function(n,r){var a=r;if(l&&(a="function"==typeof l?function(a){l({error:a,stylesheetURL:e,options:t,resolve:n,reject:r})}:n),e.endsWith(".css")?d=!1:e.endsWith(".ico")&&(d=!0),d){if(w.rel="shortcut icon",w.type="image/x-icon",!1===b)return w.href=e,x(),void n(w);var i=document.createElement("canvas");i.width=16,i.height=16;var o=i.getContext("2d"),s=document.createElement("img");return s.addEventListener("error",(function(e){r(e)})),s.addEventListener("load",(function(){o.drawImage(s,0,0),w.href=y?i.toDataURL("image/x-icon"):e,x(),n(w)})),void(s.src=e)}w.rel="stylesheet",w.type="text/css",w.href=e,x(),w.addEventListener("error",(function(e){a(e)})),w.addEventListener("load",(function(){n(w)}))}))}(e)})))}
/**
* The main module for the visual SVG Editor
*
* @license MIT
*
* @copyright 2010 Alexis Deveria
* 2010 Pavol Rusnak
* 2010 Jeff Schiller
* 2010 Narendra Sisodiya
* 2014 Brett Zamir
* @exports module:SVGEditor
* @borrows module:locale.putLocale as putLocale
* @borrows module:locale.readLang as readLang
* @borrows module:locale.setStrings as setStrings
*/var Ir={},Nr=[function(e){function t(t){if("string"==typeof t.data){var n=t.handler,r=t.data.toLowerCase().split(" ");t.handler=function(t){if(this===t.target||27===t.which||!/textarea|select/i.test(t.target.nodeName)&&"text"!==t.target.type){var a="keypress"!==t.type&&e.hotkeys.specialKeys[t.which],i=String.fromCharCode(t.which).toLowerCase(),o="",s={};t.altKey&&"alt"!==a&&(o+="alt+"),t.ctrlKey&&"ctrl"!==a&&(o+="ctrl+"),t.metaKey&&!t.ctrlKey&&"meta"!==a&&(o+="meta+"),t.shiftKey&&"shift"!==a&&(o+="shift+"),a?s[o+a]=!0:(s[o+i]=!0,s[o+e.hotkeys.shiftNums[i]]=!0,"shift+"===o&&(s[e.hotkeys.shiftNums[i]]=!0));for(var l=0,c=r.length;l<c;l++)if(s[r[l]])return n.apply(this,arguments)}}}}return e.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta",219:"[",221:"]"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}},e.each(["keydown","keyup","keypress"],(function(){e.event.special[this]={add:t}})),e},function(t){return function(t,n){var r,a,i,o,s,l,c,u,d=Array.prototype.slice,h=decodeURIComponent,f=t.param,p=t.bbq=t.bbq||{},g=t.event.special,m="hashchange",v="querystring",y="fragment",_="elemUrlAttr",b="location",x="href",w="src",S=/^.*\?|#.*$/g,k=/^.*\#/,C={};function A(e){return"string"==typeof e}function E(e){var t=d.call(arguments,1);return function(){return e.apply(this,t.concat(d.call(arguments)))}}function G(e,a,o,s,l){var c,d,p,g,m;return s!==r?(m=(p=o.match(e?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/))[3]||"",2===l&&A(s)?d=s.replace(e?k:S,""):(g=i(p[2]),s=A(s)?i[e?y:v](s):s,d=2===l?s:1===l?t.extend({},s,g):t.extend({},g,s),d=f(d),e&&(d=d.replace(u,h))),c=p[1]+(e?"#":d||!p[1]?"?":"")+d+m):c=a(o!==r?o:n[b][x]),c}function P(e,t,n){return t===r||"boolean"==typeof t?(n=t,t=f[e?y:v]()):t=A(t)?t.replace(e?k:S,""):t,i(t,n)}function I(n,a,i,o){return A(i)||"object"===e(i)||(o=i,i=a,a=r),this.each((function(){var e=t(this),r=a||c()[(this.nodeName||"").toLowerCase()]||"",s=r&&e.attr(r)||"";e.attr(r,f[n](s,i,o))}))}f[v]=E(G,0,(function(e){return e.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,"$1")})),f[y]=a=E(G,1,(function(e){return e.replace(/^[^#]*#?(.*)$/,"$1")})),a.noEscape=function(e){e=e||"";var n=t.map(e.split(""),encodeURIComponent);u=new RegExp(n.join("|"),"g")},a.noEscape(",/"),t.deparam=i=function(e,n){var a={},i={true:!0,false:!1,null:null};return t.each(e.replace(/\+/g," ").split("&"),(function(e,o){var s,l=o.split("="),c=h(l[0]),u=a,d=0,f=c.split("]["),p=f.length-1;if(/\[/.test(f[0])&&/\]$/.test(f[p])?(f[p]=f[p].replace(/\]$/,""),p=(f=f.shift().split("[").concat(f)).length-1):p=0,2===l.length)if(s=h(l[1]),n&&(s=s&&!isNaN(s)?+s:"undefined"===s?r:i[s]!==r?i[s]:s),p)for(;d<=p;d++)u=u[c=""===f[d]?u.length:f[d]]=d<p?u[c]||(f[d+1]&&isNaN(f[d+1])?{}:[]):s;else t.isArray(a[c])?a[c].push(s):a[c]!==r?a[c]=[a[c],s]:a[c]=s;else c&&(a[c]=n?r:"")})),a},i[v]=E(P,0),i[y]=o=E(P,1),t[_]||(t[_]=function(e){return t.extend(C,e)})({a:x,base:x,iframe:w,img:w,input:w,form:"action",link:x,script:w}),c=t[_],t.fn[v]=E(I,v),t.fn[y]=E(I,y),p.pushState=s=function(e,t){A(e)&&/^#/.test(e)&&t===r&&(t=2);var i=e!==r,o=a(n[b][x],i?e:{},i?t:2);n[b][x]=o+(/#/.test(o)?"":"#")},p.getState=l=function(e,t){return e===r||"boolean"==typeof e?o(e):o(t)[e]},p.removeState=function(e){var n={};e!==r&&(n=l(),t.each(t.isArray(e)?e:arguments,(function(e,t){delete n[t]}))),s(n,2)},g[m]=t.extend(g[m],{add:function(e){var n;function o(e){var t=e[y]=a();e.getState=function(e,n){return e===r||"boolean"==typeof e?i(t,e):i(t,n)[e]},n.apply(this,arguments)}if(t.isFunction(e))return n=e,o;n=e.handler,e.handler=o}})}(t,window),function(e,t,n){var r,a,i,o,s,l,c=e.event.special,u="location",d="hashchange",h="href",f=e.browser,p=document.documentMode,g=f.msie&&(void 0===p||p<8),m="on"+d in t&&!g;function v(e){return(e=e||t[u][h]).replace(/^[^#]*#?(.*)$/,"$1")}e[d+"Delay"]=100,c[d]=e.extend(c[d],{setup:function(){if(m)return!1;e(r.start)},teardown:function(){if(m)return!1;e(r.stop)}}),(l={}).start=function(){if(!a){var n=v();o||(o=s=function(e){return e},g&&(i=e('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow,s=function(){return v(i.document[u][h])},(o=function(e,t){if(e!==t){var n=i.document;n.open().close(),n[u].hash="#"+e}})(v()))),function r(){var i=v(),l=s(n);i!==n?(o(n=i,l),e(t).trigger(d)):l!==n&&(t[u][h]=t[u][h].replace(/#.*/,"")+"#"+l),a=setTimeout(r,e[d+"Delay"])}()}},l.stop=function(){i||(a&&clearTimeout(a),a=0)},r=l}(t,window),t},function(e){var t={};return e.svgIcons=function(n){var r,a,i,o,s,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c="http://www.w3.org/2000/svg",u="http://www.w3.org/1999/xlink",d=l.w||24,h=l.h||24,f=!1,p=!1,g=0,m="data:image/svg+xml;charset=utf-8;base64,";if(l.svgz){o=e('<object data="'+n+'" type=image/svg+xml>').appendTo("body").hide();try{a=o[0].contentDocument,o.load(y),y(0,!0)}catch(e){w()}}else{var v=new DOMParser;e.ajax({url:n,dataType:"string",success:function(t){t?(a=v.parseFromString(t,"text/xml"),e((function(){y("ajax")}))):e(w)},error:function(t){window.opera?e((function(){w()})):t.responseText?((a=v.parseFromString(t.responseText,"text/xml")).childNodes.length||e(w),e((function(){y("ajax")}))):e(w)}})}function y(t,n){if("ajax"!==t){if(p)return;var s=(a=o[0].contentDocument)&&a.getElementById("svg_eof");if(!(s||n&&s))return void(++g<50?setTimeout(y,20):(w(),p=!0));p=!0}if(r=e(a.firstChild).children(),l.no_img)setTimeout((function(){f||x()}),500);else{var c=m+"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D";i=e(new Image).attr({src:c,width:0,height:0,alt:l.testIconAlt||"icon"}).appendTo("body").load((function(){x(!0)})).error((function(){x()}))}}function _(e,t,n,r){if(vr&&t.css("visibility","hidden"),l.replace){r&&t.attr("id",n);var a=e.attr("class");if(a&&t.attr("class","svg_icon "+a),!e.alt){var i="icon";l.alts&&(i=l.alts[n]||i),t.attr("alt",i)}e.replaceWith(t)}else e.append(t);vr&&setTimeout((function(){t.removeAttr("style")}),1)}function b(e,n){void 0!==l.id_match&&!1===l.id_match||_(s,e,n,!0),t[n]=e}function x(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!f){var p;if(l.no_img&&(n=!1),n&&(p=e(document.createElement("div"))).hide().appendTo("body"),a){var g=l.fallback_path||"";e.each(a,(function(t,n){s=e("#"+t);var r="icon";l.alts&&(r=l.alts[t]||r),b(e(new Image).attr({class:"svg_icon",src:g+n,width:d,height:h,alt:r}),t)}))}else for(var v=r.length,y=0;y<v;y++){var x=r[y],w=x.id;if("svg_eof"===w)break;s=e("#"+w);var S=document.createElementNS(c,"svg");S.setAttribute("viewBox",[0,0,d,h].join(" "));var k=x.getElementsByTagNameNS(c,"svg")[0],C=k.getAttribute("width"),A=k.getAttribute("height");k.removeAttribute("width"),k.removeAttribute("height"),k.getAttribute("viewBox")||k.setAttribute("viewBox",[0,0,C,A].join(" ")),S.setAttribute("xmlns",c),S.setAttribute("width",d),S.setAttribute("height",h),S.setAttribute("xmlns:xlink",u),S.setAttribute("class","svg_icon"),vr||(k=k.cloneNode(!0)),S.append(k);var E=void 0;if(n){p.empty().append(S);var G=m+Ct(unescape(encodeURIComponent((new XMLSerializer).serializeToString(S)))),P="icon";l.alts&&(P=l.alts[w]||P),E=e(new Image).attr({class:"svg_icon",src:G,alt:P})}else E=yr(e(S),y);b(E,w)}l.placement&&e.each(l.placement,(function(r,a){t[a]&&e(r).each((function(r){var i=t[a].clone();r>0&&!n&&(i=yr(i,r)),_(e(this),i,a)}))})),a||(n&&p.remove(),o&&o.remove(),i&&i.remove()),l.resize&&e.resizeSvgIcons(l.resize),f=!0,l.callback&&l.callback(t)}}function w(){if(n.includes(".svgz")){var t=n.replace(".svgz",".svg");window.console&&console.log(".svgz failed, trying with .svg"),e.svgIcons(t,l)}else l.fallback&&x(!1,l.fallback)}},e.getSvgIcon=function(e,n){var r=t[e];return n&&r&&(r=yr(r,0).clone(!0)),r},e.resizeSvgIcons=function(t){var n=!e(".svg_icon:first").length;e.each(t,(function(t,r){var a=Array.isArray(r),i=a?r[0]:r,o=a?r[1]:r;n&&(t=t.replace(/\.svg_icon/g,"svg")),e(t).each((function(){this.setAttribute("width",i),this.setAttribute("height",o),window.opera&&window.widget&&(this.parentNode.style.width=i+"px",this.parentNode.style.height=o+"px")}))}))},e},function(t){t.loadingStylesheets||(t.loadingStylesheets=[]),t.loadingStylesheets.includes("jgraduate/css/jGraduate.css")||t.loadingStylesheets.push("jgraduate/css/jGraduate.css"),t.jGraduate={Paint:function e(t){r(this,e);var n=t||{};if(this.alpha=isNaN(n.alpha)?100:n.alpha,n.copy)switch(this.type=n.copy.type,this.alpha=n.copy.alpha,this.solidColor=null,this.linearGradient=null,this.radialGradient=null,this.type){case"none":break;case"solidColor":this.solidColor=n.copy.solidColor;break;case"linearGradient":this.linearGradient=n.copy.linearGradient.cloneNode(!0);break;case"radialGradient":this.radialGradient=n.copy.radialGradient.cloneNode(!0)}else n.linearGradient?(this.type="linearGradient",this.solidColor=null,this.radialGradient=null,this.linearGradient=n.linearGradient.cloneNode(!0)):n.radialGradient?(this.type="radialGradient",this.solidColor=null,this.linearGradient=null,this.radialGradient=n.radialGradient.cloneNode(!0)):n.solidColor?(this.type="solidColor",this.solidColor=n.solidColor):(this.type="none",this.solidColor=null,this.linearGradient=null,this.radialGradient=null)}},t.fn.jGraduateDefaults={paint:new t.jGraduate.Paint,window:{pickerTitle:"Drag markers to pick a paint"},images:{clientPath:"images/"},newstop:"inverse"};var n=navigator.userAgent.includes("Gecko/");function a(e,t,r){var a=document.createElementNS(_r.svg,e);return function(e,t){n?Object.entries(t).forEach((function(t){var n=d(t,2),r=n[0],a=n[1];e.setAttribute(r,a)})):Object.entries(t).forEach((function(t){var n=d(t,2),r=n[0],a=n[1],i=e[r];i&&"SVGLength"===i.constructor?i.baseVal.value=a:e.setAttribute(r,a)}))}(a,t),r&&r.append(a),a}return t.fn.jGraduate=function(n,r,i){return this.each((function(){var o=t(this),s=t.extend(!0,{},t.fn.jGraduateDefaults,n||{}),l=o.attr("id"),c="#"+o.attr("id")+" ";if(c){var u=function(){switch(o.paint.type){case"radialGradient":o.paint.linearGradient=null;break;case"linearGradient":o.paint.radialGradient=null;break;case"solidColor":o.paint.radialGradient=o.paint.linearGradient=null}"function"==typeof o.okCallback&&o.okCallback(o.paint),o.hide()},d=function(){"function"==typeof o.cancelCallback&&o.cancelCallback(),o.hide()};t.extend(!0,o,{paint:new t.jGraduate.Paint({copy:s.paint}),okCallback:"function"==typeof r?r:null,cancelCallback:"function"==typeof i?i:null});var h=null,f=t(window);"none"===o.paint.type&&(o.paint=new t.jGraduate.Paint({solidColor:"ffffff"})),o.addClass("jGraduate_Picker"),o.html('<ul class="jGraduate_tabs"><li class="jGraduate_tab_color jGraduate_tab_current" data-type="col">Solid Color</li><li class="jGraduate_tab_lingrad" data-type="lg">Linear Gradient</li><li class="jGraduate_tab_radgrad" data-type="rg">Radial Gradient</li></ul><div class="jGraduate_colPick"></div><div class="jGraduate_gradPick"></div><div class="jGraduate_LightBox"></div><div id="'+l+'_jGraduate_stopPicker" class="jGraduate_stopPicker"></div>');var p=t(c+"> .jGraduate_colPick"),g=t(c+"> .jGraduate_gradPick");g.html('<div id="'+l+'_jGraduate_Swatch" class="jGraduate_Swatch"><h2 class="jGraduate_Title">'+s.window.pickerTitle+'</h2><div id="'+l+'_jGraduate_GradContainer" class="jGraduate_GradContainer"></div><div id="'+l+'_jGraduate_StopSlider" class="jGraduate_StopSlider"></div></div><div class="jGraduate_Form jGraduate_Points jGraduate_lg_field"><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Begin Point</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="'+l+'_jGraduate_x1" size="3" title="Enter starting x value between 0.0 and 1.0"/><label>y:</label><input type="text" id="'+l+'_jGraduate_y1" size="3" title="Enter starting y value between 0.0 and 1.0"/></div></div><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">End Point</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="'+l+'_jGraduate_x2" size="3" title="Enter ending x value between 0.0 and 1.0"/><label>y:</label><input type="text" id="'+l+'_jGraduate_y2" size="3" title="Enter ending y value between 0.0 and 1.0"/></div></div></div><div class="jGraduate_Form jGraduate_Points jGraduate_rg_field"><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Center Point</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="'+l+'_jGraduate_cx" size="3" title="Enter x value between 0.0 and 1.0"/><label>y:</label><input type="text" id="'+l+'_jGraduate_cy" size="3" title="Enter y value between 0.0 and 1.0"/></div></div><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Focal Point</label><div class="jGraduate_Form_Section"><label>Match center: <input type="checkbox" checked="checked" id="'+l+'_jGraduate_match_ctr"/></label><br/><label>x:</label><input type="text" id="'+l+'_jGraduate_fx" size="3" title="Enter x value between 0.0 and 1.0"/><label>y:</label><input type="text" id="'+l+'_jGraduate_fy" size="3" title="Enter y value between 0.0 and 1.0"/></div></div></div><div class="jGraduate_StopSection jGraduate_SpreadMethod"><label class="jGraduate_Form_Heading">Spread method</label><div class="jGraduate_Form_Section"><select class="jGraduate_spreadMethod"><option value=pad selected>Pad</option><option value=reflect>Reflect</option><option value=repeat>Repeat</option></select></div></div><div class="jGraduate_Form"><div class="jGraduate_Slider jGraduate_RadiusField jGraduate_rg_field"><label class="prelabel">Radius:</label><div id="'+l+'_jGraduate_Radius" class="jGraduate_SliderBar jGraduate_Radius" title="Click to set radius"><img id="'+l+'_jGraduate_RadiusArrows" class="jGraduate_RadiusArrows" src="'+s.images.clientPath+'rangearrows2.gif"></div><label><input type="text" id="'+l+'_jGraduate_RadiusInput" size="3" value="100"/>%</label></div><div class="jGraduate_Slider jGraduate_EllipField jGraduate_rg_field"><label class="prelabel">Ellip:</label><div id="'+l+'_jGraduate_Ellip" class="jGraduate_SliderBar jGraduate_Ellip" title="Click to set Ellip"><img id="'+l+'_jGraduate_EllipArrows" class="jGraduate_EllipArrows" src="'+s.images.clientPath+'rangearrows2.gif"></div><label><input type="text" id="'+l+'_jGraduate_EllipInput" size="3" value="0"/>%</label></div><div class="jGraduate_Slider jGraduate_AngleField jGraduate_rg_field"><label class="prelabel">Angle:</label><div id="'+l+'_jGraduate_Angle" class="jGraduate_SliderBar jGraduate_Angle" title="Click to set Angle"><img id="'+l+'_jGraduate_AngleArrows" class="jGraduate_AngleArrows" src="'+s.images.clientPath+'rangearrows2.gif"></div><label><input type="text" id="'+l+'_jGraduate_AngleInput" size="3" value="0"/>deg</label></div><div class="jGraduate_Slider jGraduate_OpacField"><label class="prelabel">Opac:</label><div id="'+l+'_jGraduate_Opac" class="jGraduate_SliderBar jGraduate_Opac" title="Click to set Opac"><img id="'+l+'_jGraduate_OpacArrows" class="jGraduate_OpacArrows" src="'+s.images.clientPath+'rangearrows2.gif"></div><label><input type="text" id="'+l+'_jGraduate_OpacInput" size="3" value="100"/>%</label></div></div><div class="jGraduate_OkCancel"><input type="button" id="'+l+'_jGraduate_Ok" class="jGraduate_Ok" value="OK"/><input type="button" id="'+l+'_jGraduate_Cancel" class="jGraduate_Cancel" value="Cancel"/></div>');var m=256,v=m-0,y=m-0,_={};t(".jGraduate_SliderBar").width(145);var b,x=t("#"+l+"_jGraduate_GradContainer")[0],w=a("svg",{id:l+"_jgraduate_svg",width:m,height:m,xmlns:_r.svg},x),S=o.paint.type,k=o.paint[S],C=k,A=o.paint.alpha,E="solidColor"===S;switch(S){case"solidColor":case"linearGradient":if(E||(C.id=l+"_lg_jgraduate_grad",k=C=w.appendChild(C)),a("radialGradient",{id:l+"_rg_jgraduate_grad"},w),"linearGradient"===S)break;case"radialGradient":E||(C.id=l+"_rg_jgraduate_grad",k=C=w.appendChild(C)),a("linearGradient",{id:l+"_lg_jgraduate_grad"},w)}if(E){k=C=t("#"+l+"_lg_jgraduate_grad")[0],Me(0,"#"+(h=o.paint[S]),1);var G=e(s.newstop);if("string"===G)switch(s.newstop){case"same":Me(1,"#"+h,1);break;case"inverse":for(var P="",I=0;I<6;I+=2){var N=(255-parseInt(h.substr(I,2),16)).toString(16);N.length<2&&(N=0+N),P+=N}Me(1,"#"+P,1);break;case"white":Me(1,"#ffffff",1);break;case"black":Me(1,"#000000",1)}else if("object"===G){var T="opac"in s.newstop?s.newstop.opac:1;Me(1,s.newstop.color||"#"+h,T)}}var L,M=parseFloat(k.getAttribute("x1")||0),O=parseFloat(k.getAttribute("y1")||0),j=parseFloat(k.getAttribute("x2")||1),V=parseFloat(k.getAttribute("y2")||0),R=parseFloat(k.getAttribute("cx")||.5),B=parseFloat(k.getAttribute("cy")||.5),D=parseFloat(k.getAttribute("fx")||R),U=parseFloat(k.getAttribute("fy")||B),F=a("rect",{id:l+"_jgraduate_rect",x:0,y:0,width:v,height:y,fill:"url(#"+l+"_jgraduate_grad)","fill-opacity":A/100},w),H=t("<div/>").attr({class:"grad_coord jGraduate_lg_field",title:"Begin Stop"}).text(1).css({top:O*m,left:M*m}).data("coord","start").appendTo(x),z=H.clone().text(2).css({top:V*m,left:j*m}).attr("title","End stop").data("coord","end").appendTo(x),q=t("<div/>").attr({class:"grad_coord jGraduate_rg_field",title:"Center stop"}).text("C").css({top:B*m,left:R*m}).data("coord","center").appendTo(x),Y=q.clone().text("F").css({top:U*m,left:D*m,display:"none"}).attr("title","Focus point").data("coord","focus").appendTo(x);Y[0].id=l+"_jGraduate_focusCoord",t.each(["x1","y1","x2","y2","cx","cy","fx","fy"],(function(e,n){var r=isNaN(n[1]),a=C.getAttribute(n);a||(a=r?"0.5":"x2"===n?"1.0":"0.0"),_[n]=t("#"+l+"_jGraduate_"+n).val(a).change((function(){isNaN(parseFloat(this.value))||this.value<0?this.value=0:this.value>1&&(this.value=1),("f"!==n[0]||L)&&(r&&"radialGradient"===S||!r&&"linearGradient"===S)&&C.setAttribute(n,this.value);var e=r?"c"===n[0]?q:Y:"1"===n[1]?H:z,t=n.includes("x")?"left":"top";e.css(t,this.value*m)})).change()}));var W,X,Q,K,Z=t("#"+l+"_jGraduate_StopSlider"),$=a("path",{d:"m9.75,-6l-19.5,19.5m0,-19.5l19.5,19.5",fill:"none",stroke:"#D00","stroke-width":5,display:"none"},void 0),J=1,ee=1,te=0,ne=R,re=B,ae=a("svg",{width:"100%",height:45},Z[0]),ie=a("pattern",{width:16,height:16,patternUnits:"userSpaceOnUse",id:"jGraduate_trans"},ae),oe=a("image",{width:16,height:16},ie),se=s.images.clientPath+"map-opacity.png";oe.setAttributeNS(_r.xlink,"xlink:href",se),t(ae).click((function(e){if(K=Z.offset(),"path"!==e.target.tagName){var t=e.pageX-K.left-8;Me((t=t<10?10:t>m+10?m+10:t)/m,0,0,!0),e.stopPropagation()}})),t(ae).mouseover((function(){ae.append($)})),b=a("g",{},ae),a("line",{x1:10,y1:15,x2:m+10,y2:15,"stroke-width":2,stroke:"#000"},ae);var le,ce,ue,de,he=g.find(".jGraduate_spreadMethod").change((function(){C.setAttribute("spreadMethod",t(this).val())})),fe=null,pe=function(e){var t=e.pageX-le.left,n=e.pageY-le.top;t=t<0?0:t>m?m:t,n=n<0?0:n>m?m:n,fe.css("left",t).css("top",n);var r=t/v,a=n/y,i=fe.data("coord"),o=C;switch(i){case"start":_.x1.val(r),_.y1.val(a),o.setAttribute("x1",r),o.setAttribute("y1",a);break;case"end":_.x2.val(r),_.y2.val(a),o.setAttribute("x2",r),o.setAttribute("y2",a);break;case"center":_.cx.val(r),_.cy.val(a),o.setAttribute("cx",r),o.setAttribute("cy",a),ne=r,re=a,Ve();break;case"focus":_.fx.val(r),_.fy.val(a),o.setAttribute("fx",r),o.setAttribute("fy",a),Ve()}e.preventDefault()},ge=function e(){fe=null,f.unbind("mousemove",pe).unbind("mouseup",e)},me=(W=C.getElementsByTagNameNS(_r.svg,"stop")).length;if(me<2){for(;me<2;)C.append(document.createElementNS(_r.svg,"stop")),++me;W=C.getElementsByTagNameNS(_r.svg,"stop")}for(var ve=0;ve<me;ve++)Me(0,0,0,0,W[ve]);if(he.val(C.getAttribute("spreadMethod")||"pad"),L=!1,F.setAttribute("fill-opacity",A/100),t("#"+l+" div.grad_coord").mousedown((function(e){e.preventDefault(),fe=t(this),le=fe.parent().offset(),f.mousemove(pe).mouseup(ge)})),t("#"+l+"_jGraduate_Ok").bind("click",(function(){o.paint.type=S,o.paint[S]=C.cloneNode(!0),o.paint.solidColor=null,u()})),t("#"+l+"_jGraduate_Cancel").bind("click",(function(e){d()})),"radialGradient"===S&&(L?Y.show():(Y.hide(),_.fx.val(""),_.fy.val(""))),t("#"+l+"_jGraduate_match_ctr")[0].checked=!L,t("#"+l+"_jGraduate_match_ctr").change((function(){L=!this.checked,Y.toggle(L),_.fx.val(""),_.fy.val("");var e=C;if(L){var t=ce||.5,n=ue||.5;e.setAttribute("fx",t),e.setAttribute("fy",n),_.fx.val(t),_.fy.val(n)}else ce=e.getAttribute("fx"),ue=e.getAttribute("fy"),e.removeAttribute("fx"),e.removeAttribute("fy")})),(me=(W=C.getElementsByTagNameNS(_r.svg,"stop")).length)<2){for(;me<2;)C.append(document.createElementNS(_r.svg,"stop")),++me;W=C.getElementsByTagNameNS(_r.svg,"stop")}var ye=0,_e=0;if("radialGradient"===S){var be=C.gradientTransform.baseVal;if(2===be.numberOfItems){var xe=be.getItem(0),we=be.getItem(1);if(2===xe.type&&3===we.type){var Se=we.matrix;1!==Se.a?ye=Math.round(100*-(1-Se.a)):1!==Se.d&&(ye=Math.round(100*(1-Se.d)))}}else if(3===be.numberOfItems){var ke=be.getItem(0),Ce=be.getItem(1),Ae=be.getItem(2);if(4===ke.type&&2===Ce.type&&3===Ae.type){_e=Math.round(ke.angle);var Ee=Ae.matrix;1!==Ee.a?ye=Math.round(100*-(1-Ee.a)):1!==Ee.d&&(ye=Math.round(100*(1-Ee.d)))}}}var Ge={radius:{handle:"#"+l+"_jGraduate_RadiusArrows",input:"#"+l+"_jGraduate_RadiusInput",val:100*(C.getAttribute("r")||.5)},opacity:{handle:"#"+l+"_jGraduate_OpacArrows",input:"#"+l+"_jGraduate_OpacInput",val:o.paint.alpha||100},ellip:{handle:"#"+l+"_jGraduate_EllipArrows",input:"#"+l+"_jGraduate_EllipInput",val:ye},angle:{handle:"#"+l+"_jGraduate_AngleArrows",input:"#"+l+"_jGraduate_AngleInput",val:_e}};t.each(Ge,(function(e,n){var r=t(n.handle);r.mousedown((function(a){var i=r.parent();de={type:e,elem:r,input:t(n.input),parent:i,offset:i.offset()},f.mousemove(Pe).mouseup(Ie),a.preventDefault()})),t(n.input).val(n.val).change((function(){var t="radialGradient"===S,n=Number(this.value),a=0;switch(e){case"radius":t&&C.setAttribute("r",n/100),a=Math.pow(n/100,.4)/2*145;break;case"opacity":o.paint.alpha=n,F.setAttribute("fill-opacity",n/100),a=1.45*n;break;case"ellip":if(J=ee=1,0===n){a=72.5;break}n>99.5&&(n=99.5),n>0?ee=1-n/100:J=-n/100-1,a=(n+100)/2*145/100,t&&Ve();break;case"angle":a=(te=n)/180,a+=.5,a*=145,t&&Ve()}a>145?a=145:a<0&&(a=0),r.css({"margin-left":a-5})})).change()}));for(var Pe=function(e){!function(e){var t=de.offset.left,n=de.parent,r=e.pageX-t-parseInt(n.css("border-left-width"));r>145&&(r=145),r<=0&&(r=0);var a=r-5;switch(r/=145,de.type){case"radius":(r=Math.pow(2*r,2.5))>.98&&r<1.02&&(r=1),r<=.01&&(r=.01),C.setAttribute("r",r);break;case"opacity":o.paint.alpha=parseInt(100*r),F.setAttribute("fill-opacity",r);break;case"ellip":J=1,ee=1,r<.5?J=(r/=.5)<=0?.01:r:r>.5&&(ee=(r=2-(r/=.5))<=0?.01:r),Ve(),ee===(r-=1)+1&&(r=Math.abs(r));break;case"angle":r-=.5,te=r*=180,Ve(),r/=100}de.elem.css({"margin-left":a}),r=Math.round(100*r),de.input.val(r)}(e),e.preventDefault()},Ie=function e(t){f.unbind("mousemove",Pe).unbind("mouseup",e),de=null},Ne=(255*o.paint.alpha/100).toString(16);Ne.length<2;)Ne="0"+Ne;Ne=Ne.split(".")[0],h="none"===o.paint.solidColor?"":o.paint.solidColor+Ne,E||(h=W[0].getAttribute("stop-color")),t.extend(t.fn.jPicker.defaults.window,{alphaSupport:!0,effects:{type:"show",speed:0}}),p.jPicker({window:{title:s.window.pickerTitle},images:{clientPath:s.images.clientPath},color:{active:h,alphaSupport:!0}},(function(e){o.paint.type="solidColor",o.paint.alpha=e.val("ahex")?Math.round(e.val("a")/255*100):100,o.paint.solidColor=e.val("hex")?e.val("hex"):"none",o.paint.radialGradient=null,u()}),null,(function(){d()}));var Te,Le=t(c+" .jGraduate_tabs li");switch(Le.click((function(){Le.removeClass("jGraduate_tab_current"),t(this).addClass("jGraduate_tab_current"),t(c+" > div").hide();var e=t(this).attr("data-type");if(t(c+" .jGraduate_gradPick").show(),"rg"===e||"lg"===e){t(".jGraduate_"+e+"_field").show(),t(".jGraduate_"+("lg"===e?"rg":"lg")+"_field").hide(),t("#"+l+"_jgraduate_rect")[0].setAttribute("fill","url(#"+l+"_"+e+"_jgraduate_grad)"),S="lg"===e?"linearGradient":"radialGradient",t("#"+l+"_jGraduate_OpacInput").val(o.paint.alpha).change();var n=t("#"+l+"_"+e+"_jgraduate_grad")[0];if(C!==n){var r=t(C).find("stop");t(n).empty().append(r),C=n;var a=he.val();C.setAttribute("spreadMethod",a)}L="rg"===e&&null!==C.getAttribute("fx")&&!(R===D&&B===U),t("#"+l+"_jGraduate_focusCoord").toggle(L),L&&(t("#"+l+"_jGraduate_match_ctr")[0].checked=!1)}else t(c+" .jGraduate_gradPick").hide(),t(c+" .jGraduate_colPick").show()})),t(c+" > div").hide(),Le.removeClass("jGraduate_tab_current"),o.paint.type){case"linearGradient":Te=t(c+" .jGraduate_tab_lingrad");break;case"radialGradient":Te=t(c+" .jGraduate_tab_radgrad");break;default:Te=t(c+" .jGraduate_tab_color")}o.show(),setTimeout((function(){Te.addClass("jGraduate_tab_current").click()}),10)}else t.alert("Container element must have an id attribute to maintain unique id strings for sub-elements.");function Me(e,n,r,i,o){var c=o||a("stop",{"stop-color":n,"stop-opacity":r,offset:e},C);o?(n=o.getAttribute("stop-color"),r=o.getAttribute("stop-opacity"),e=o.getAttribute("offset")):C.append(c),null===r&&(r=1);var u="M-6.2,0.9c3.6-4,6.7-4.3,6.7-12.4c-0.2,7.9,3.1,8.8,6.5,12.4c3.5,3.8,2.9,9.6,0,12.3c-3.1,2.8-10.4,2.7-13.2,0C-9.6,9.9-9.4,4.4-6.2,0.9z",d=a("path",{d:u,fill:"url(#jGraduate_trans)",transform:"translate("+(10+e*m)+", 26)"},b),h=a("path",{d:u,fill:n,"fill-opacity":r,transform:"translate("+(10+e*m)+", 26)",stroke:"#000","stroke-width":1.5},b);return t(h).mousedown((function(e){return Oe(this),Q=X,f.mousemove(Re).mouseup(je),K=Z.offset(),e.preventDefault(),!1})).data("stop",c).data("bg",d).dblclick((function(){t("div.jGraduate_LightBox").show();for(var e=this,r=Number(c.getAttribute("stop-opacity"))||1,a=c.getAttribute("stop-color")||1,i=(255*parseFloat(r)).toString(16);i.length<2;)i="0"+i;n=a.substr(1)+i,t("#"+l+"_jGraduate_stopPicker").css({left:100,bottom:15}).jPicker({window:{title:"Pick the start color and opacity for the gradient"},images:{clientPath:s.images.clientPath},color:{active:n,alphaSupport:!0}},(function(n,i){a=n.val("hex")?"#"+n.val("hex"):"none",r=null!==n.val("a")?n.val("a")/256:1,e.setAttribute("fill",a),e.setAttribute("fill-opacity",r),c.setAttribute("stop-color",a),c.setAttribute("stop-opacity",r),t("div.jGraduate_LightBox").hide(),t("#"+l+"_jGraduate_stopPicker").hide()}),null,(function(){t("div.jGraduate_LightBox").hide(),t("#"+l+"_jGraduate_stopPicker").hide()}))})),t(C).find("stop").each((function(){var r=t(this);if(Number(this.getAttribute("offset"))>e){if(!n){var a=this.getAttribute("stop-color"),i=this.getAttribute("stop-opacity");c.setAttribute("stop-color",a),h.setAttribute("fill",a),c.setAttribute("stop-opacity",null===i?1:i),h.setAttribute("fill-opacity",null===i?1:i)}return r.before(c),!1}return!0})),i&&Oe(h),c}function Oe(e){X&&X.setAttribute("stroke","#000"),e.setAttribute("stroke","blue"),X=e}function je(){f.unbind("mousemove",Re),"none"!==$.getAttribute("display")&&function(){$.setAttribute("display","none");var e=t(X),n=e.data("stop"),r=e.data("bg");t([X,n,r]).remove()}(),Q=null}function Ve(){var e=te?"rotate("+te+","+ne+","+re+") ":"";if(1===J&&1===ee)C.removeAttribute("gradientTransform");else{var t=-ne*(J-1),n=-re*(ee-1);C.setAttribute("gradientTransform",e+"translate("+t+","+n+") scale("+J+","+ee+")")}}function Re(e){var n=e.pageX-K.left,r=e.pageY-K.top,a="translate("+(n=n<10?10:n>m+10?m+10:n)+", 26)";r<-60||r>130?($.setAttribute("display","block"),$.setAttribute("transform",a)):$.setAttribute("display","none"),Q.setAttribute("transform",a),t.data(Q,"bg").setAttribute("transform",a);var i=t.data(Q,"stop"),o=(n-10)/m;i.setAttribute("offset",o);var s=0;t(C).find("stop").each((function(e){var n=this.getAttribute("offset"),r=t(this);n<s&&(r.prev().before(r),W=t(C).find("stop")),s=n}))}}))},t},function(e){return e.loadingStylesheets||(e.loadingStylesheets=[]),e.loadingStylesheets.includes("spinbtn/jQuery.SpinButton.css")||e.loadingStylesheets.push("spinbtn/jQuery.SpinButton.css"),e.fn.SpinButton=function(t){function n(t,n){for(var r=document.body,a=t[n];(t=t.offsetParent)&&t!==r;)e.browser.msie&&"relative"===t.currentStyle.position||(a+=t[n]);return a}return t=t||{},this.each((function(){this.repeating=!1,this.spinCfg={min:isNaN(parseFloat(t.min))?null:Number(t.min),max:isNaN(parseFloat(t.max))?null:Number(t.max),step:t.step?Number(t.step):1,stepfunc:t.stepfunc||!1,page:t.page?Number(t.page):10,upClass:t.upClass||"up",downClass:t.downClass||"down",reset:t.reset||this.value,delay:t.delay?Number(t.delay):500,interval:t.interval?Number(t.interval):100,_btn_width:20,_direction:null,_delay:null,_repeat:null,callback:t.callback||null},this.spinCfg.smallStep=t.smallStep||this.spinCfg.step/2,this.adjustValue=function(e){var t;t=isNaN(this.value)?this.spinCfg.reset:"function"==typeof this.spinCfg.stepfunc?this.spinCfg.stepfunc(this,e):Number((Number(this.value)+Number(e)).toFixed(5)),null!==this.spinCfg.min&&(t=Math.max(t,this.spinCfg.min)),null!==this.spinCfg.max&&(t=Math.min(t,this.spinCfg.max)),this.value=t,"function"==typeof this.spinCfg.callback&&this.spinCfg.callback(this)},e(this).addClass(t.spinClass||"spin-button").mousemove((function(r){var a=r.pageX||r.x,i=r.pageY||r.y,o=r.target,s=t.stateObj.tool_scale||1,l=e(o).height()/2,c=a>n(o,"offsetLeft")+o.offsetWidth*s-this.spinCfg._btn_width?i<n(o,"offsetTop")+l*s?1:-1:0;if(c!==this.spinCfg._direction){switch(c){case 1:e(this).removeClass(this.spinCfg.downClass).addClass(this.spinCfg.upClass);break;case-1:e(this).removeClass(this.spinCfg.upClass).addClass(this.spinCfg.downClass);break;default:e(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass)}this.spinCfg._direction=c}})).mouseout((function(){e(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass),this.spinCfg._direction=null,window.clearInterval(this.spinCfg._repeat),window.clearTimeout(this.spinCfg._delay)})).mousedown((function(e){var t=this;if(0===e.button&&0!==this.spinCfg._direction){var n=e.shiftKey?this.spinCfg.smallStep:this.spinCfg.step,r=function(){t.adjustValue(t.spinCfg._direction*n)};r(),this.spinCfg._delay=window.setTimeout((function(){r(),t.spinCfg._repeat=window.setInterval(r,t.spinCfg.interval)}),this.spinCfg.delay)}})).mouseup((function(e){window.clearInterval(this.spinCfg._repeat),window.clearTimeout(this.spinCfg._delay)})).dblclick((function(t){e.browser.msie&&this.adjustValue(this.spinCfg._direction*this.spinCfg.step)})).keydown((function(e){switch(e.keyCode){case 38:this.adjustValue(this.spinCfg.step);break;case 40:this.adjustValue(-this.spinCfg.step);break;case 33:this.adjustValue(this.spinCfg.page);break;case 34:this.adjustValue(-this.spinCfg.page)}})).keypress((function(e){if(this.repeating)switch(e.keyCode){case 38:this.adjustValue(this.spinCfg.step);break;case 40:this.adjustValue(-this.spinCfg.step);break;case 33:this.adjustValue(this.spinCfg.page);break;case 34:this.adjustValue(-this.spinCfg.page)}else this.repeating=!0})).keyup((function(e){switch(this.repeating=!1,e.keyCode){case 38:case 40:case 33:case 34:case 13:this.adjustValue(0)}})).bind("mousewheel",(function(e){e.wheelDelta>=120?this.adjustValue(this.spinCfg.step):e.wheelDelta<=-120&&this.adjustValue(-this.spinCfg.step),e.preventDefault()})).change((function(e){this.adjustValue(0)})),this.addEventListener&&this.addEventListener("DOMMouseScroll",(function(e){e.detail>0?this.adjustValue(-this.spinCfg.step):e.detail<0&&this.adjustValue(this.spinCfg.step),e.preventDefault()}))}))},e}
/**
* jQuery Context Menu Plugin
* Cory S.N. LaViska
* A Beautiful Site ({@link https://abeautifulsite.net/})
* Modified by Alexis Deveria
*
* More info: {@link https://abeautifulsite.net/2008/09/jquery-context-menu-plugin/}
*
* @module jQueryContextMenu
* @todo Update to latest version and adapt (and needs jQuery update as well): {@link https://github.com/swisnl/jQuery-contextMenu}
* @version 1.0.1
*
* @license (MIT OR GPL-2.0-or-later)
*
* This plugin is dual-licensed under the GNU General Public License
* and the MIT License and is copyright A Beautiful Site, LLC.
*
*/,q,function(e){var t=e(window),n=e(document);return e.extend(e.fn,{contextMenu:function(r,a){return void 0!==r.menu&&(void 0===r.inSpeed&&(r.inSpeed=150),void 0===r.outSpeed&&(r.outSpeed=75),0===r.inSpeed&&(r.inSpeed=-1),0===r.outSpeed&&(r.outSpeed=-1),e(this).each((function(){var i=e(this),o=e(i).offset(),s=e("#"+r.menu);s.addClass("contextMenu"),e(this).bind("mousedown",(function(l){e(this).mouseup((function(c){var u=e(this);if(u.unbind("mouseup"),2===l.button||r.allowLeft||l.ctrlKey&&U()){if(c.stopPropagation(),e(".contextMenu").hide(),i.hasClass("disabled"))return!1;var d=c.pageX,h=c.pageY,f=t.width()-s.width(),p=t.height()-s.height();d>f-15&&(d=f-15),h>p-30&&(h=p-30),n.unbind("click"),s.css({top:h,left:d}).fadeIn(r.inSpeed),s.find("A").mouseover((function(){s.find("LI.hover").removeClass("hover"),e(this).parent().addClass("hover")})).mouseout((function(){s.find("LI.hover").removeClass("hover")})),n.keypress((function(e){switch(e.keyCode){case 38:s.find("LI.hover").length?(s.find("LI.hover").removeClass("hover").prevAll("LI:not(.disabled)").eq(0).addClass("hover"),s.find("LI.hover").length||s.find("LI:last").addClass("hover")):s.find("LI:last").addClass("hover");break;case 40:s.find("LI.hover").length?(s.find("LI.hover").removeClass("hover").nextAll("LI:not(.disabled)").eq(0).addClass("hover"),s.find("LI.hover").length||s.find("LI:first").addClass("hover")):s.find("LI:first").addClass("hover");break;case 13:s.find("LI.hover A").trigger("click");break;case 27:n.trigger("click")}})),s.find("A").unbind("mouseup"),s.find("LI:not(.disabled) A").mouseup((function(){return n.unbind("click").unbind("keypress"),e(".contextMenu").hide(),a&&a(e(this).attr("href").substr(1),e(u),{x:d-o.left,y:h-o.top,docX:d,docY:h}),!1})),setTimeout((function(){n.click((function(){return n.unbind("click").unbind("keypress"),s.fadeOut(r.outSpeed),!1}))}),0)}}))})),e.browser.mozilla?e("#"+r.menu).each((function(){e(this).css({MozUserSelect:"none"})})):e.browser.msie?e("#"+r.menu).each((function(){e(this).bind("selectstart.disableTextSelect",(function(){return!1}))})):e("#"+r.menu).each((function(){e(this).bind("mousedown.disableTextSelect",(function(){return!1}))})),e(i).add(e("UL.contextMenu")).bind("contextmenu",(function(){return!1}))})),e(this))},disableContextMenuItems:function(t){return void 0===t?(e(this).find("LI").addClass("disabled"),e(this)):(e(this).each((function(){if(void 0!==t){var n=t.split(","),r=!0,a=!1,i=void 0;try{for(var o,s=n[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var l=o.value;e(this).find('A[href="'+l+'"]').parent().addClass("disabled")}}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}}})),e(this))},enableContextMenuItems:function(t){return void 0===t?(e(this).find("LI.disabled").removeClass("disabled"),e(this)):(e(this).each((function(){if(void 0!==t){var n=t.split(","),r=!0,a=!1,i=void 0;try{for(var o,s=n[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var l=o.value;e(this).find('A[href="'+l+'"]').parent().removeClass("disabled")}}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}}})),e(this))},disableContextMenu:function(){return e(this).each((function(){e(this).addClass("disabled")})),e(this)},enableContextMenu:function(){return e(this).each((function(){e(this).removeClass("disabled")})),e(this)},destroyContextMenu:function(){return e(this).each((function(){e(this).unbind("mousedown").unbind("mouseup")})),e(this)}}),e},function(t){t.loadingStylesheets||(t.loadingStylesheets=[]);t.loadingStylesheets.includes("jgraduate/css/jPicker.css")||t.loadingStylesheets.push("jgraduate/css/jPicker.css");var n=function e(n,a){r(this,e);var i=this;function o(e){k.forEach((function(t){t.call(i,i,e)}))}function s(e){var r=n.offset();f={l:0|r.left,t:0|r.top},clearTimeout(p),p=setTimeout((function(){u.call(i,e)}),0),t(document).bind("mousemove",l).bind("mouseup",c),e.preventDefault()}function l(e){return clearTimeout(p),p=setTimeout((function(){u.call(i,e)}),0),e.stopPropagation(),e.preventDefault(),!1}function c(e){return t(document).unbind("mouseup",c).unbind("mousemove",l),e.stopPropagation(),e.preventDefault(),!1}function u(e){var t=n.w,r=n.h,a=e.pageX-f.l,o=e.pageY-f.t;a<0?a=0:a>t&&(a=t),o<0?o=0:o>r&&(o=r),d.call(i,"xy",{x:a/t*_+v,y:o/r*w+b})}function d(e,t,n){if(!(void 0!==t))switch(Sr(e)&&(e="xy"),e.toLowerCase()){case"x":return g;case"y":return m;case"xy":default:return{x:g,y:m}}if(Sr(n)||n!==i){var r,a,s=!1;switch(Sr(e)&&(e="xy"),e.toLowerCase()){case"x":r=t&&(t.x&&0|t.x||0|t)||0;break;case"y":a=t&&(t.y&&0|t.y||0|t)||0;break;case"xy":default:r=t&&t.x&&0|t.x||0,a=t&&t.y&&0|t.y||0}Sr(r)||(r<v?r=v:r>y&&(r=y),g!==r&&(g=r,s=!0)),Sr(a)||(a<b?a=b:a>x&&(a=x),m!==a&&(m=a,s=!0)),s&&o.call(i,n||i)}}function h(e){"function"==typeof e&&k.push(e)}var f,p,g=0,m=0,v=0,y=100,_=100,b=0,x=100,w=100,S=n.find("img:first"),k=[];t.extend(!0,i,{val:d,range:function(e,t){var n,r,a,i;if(!(void 0!==t))switch(Sr(e)&&(e="all"),e.toLowerCase()){case"minx":return v;case"maxx":return y;case"rangex":return{minX:v,maxX:y,rangeX:_};case"miny":return b;case"maxy":return x;case"rangey":return{minY:b,maxY:x,rangeY:w};case"all":default:return{minX:v,maxX:y,rangeX:_,minY:b,maxY:x,rangeY:w}}switch(Sr(e)&&(e="all"),e.toLowerCase()){case"minx":n=t&&(t.minX&&0|t.minX||0|t)||0;break;case"maxx":r=t&&(t.maxX&&0|t.maxX||0|t)||0;break;case"rangex":n=t&&t.minX&&0|t.minX||0,r=t&&t.maxX&&0|t.maxX||0;break;case"miny":a=t&&(t.minY&&0|t.minY||0|t)||0;break;case"maxy":i=t&&(t.maxY&&0|t.maxY||0|t)||0;break;case"rangey":a=t&&t.minY&&0|t.minY||0,i=t&&t.maxY&&0|t.maxY||0;break;case"all":default:n=t&&t.minX&&0|t.minX||0,r=t&&t.maxX&&0|t.maxX||0,a=t&&t.minY&&0|t.minY||0,i=t&&t.maxY&&0|t.maxY||0}Sr(n)||v===n||(_=y-(v=n)),Sr(r)||y===r||(_=(y=r)-v),Sr(a)||b===a||(w=x-(b=a)),Sr(i)||x===i||(w=(x=i)-b)},bind:h,unbind:function(e){if("function"==typeof e)for(var t;t=k.includes(e);)k.splice(t,1)},destroy:function(){t(document).unbind("mouseup",c).unbind("mousemove",l),n.unbind("mousedown",s),n=null,S=null,k=null}}),S.src=a.arrow&&a.arrow.image,S.w=a.arrow&&a.arrow.width||S.width(),S.h=a.arrow&&a.arrow.height||S.height(),n.w=a.map&&a.map.width||n.width(),n.h=a.map&&a.map.height||n.height(),n.bind("mousedown",s),h.call(i,(function(){var e=n.w,t=n.h,r=S.w,a=S.h,i=0,o=0;setTimeout((function(){_>0&&(i=g===y?e:g/_*e|0),w>0&&(o=m===x?t:m/w*t|0),r>=e?i=(e>>1)-(r>>1):i-=r>>1,a>=t?o=(t>>1)-(a>>1):o-=a>>1,S.css({left:i+"px",top:o+"px"})}))}))},a=function e(n,a,i,o){r(this,e);var s=this,l=n.find("td.Text input");function c(e){if(""!==e.target.value||e.target===w.get(0)||(Sr(i)||e.target===i.get(0))&&!Sr(i)){if(!h(e))return e;switch(e.target){case g.get(0):switch(e.keyCode){case 38:return g.val(f.call(s,1+(g.val()<<0),0,255)),a.val("r",g.val(),e.target),!1;case 40:return g.val(f.call(s,(g.val()<<0)-1,0,255)),a.val("r",g.val(),e.target),!1}break;case m.get(0):switch(e.keyCode){case 38:return m.val(f.call(s,1+(m.val()<<0),0,255)),a.val("g",m.val(),e.target),!1;case 40:return m.val(f.call(s,(m.val()<<0)-1,0,255)),a.val("g",m.val(),e.target),!1}break;case v.get(0):switch(e.keyCode){case 38:return v.val(f.call(s,1+(v.val()<<0),0,255)),a.val("b",v.val(),e.target),!1;case 40:return v.val(f.call(s,(v.val()<<0)-1,0,255)),a.val("b",v.val(),e.target),!1}break;case y&&y.get(0):switch(e.keyCode){case 38:return y.val(f.call(s,parseFloat(y.val())+1,0,100)),a.val("a",br(255*y.val()/100,o),e.target),!1;case 40:return y.val(f.call(s,parseFloat(y.val())-1,0,100)),a.val("a",br(255*y.val()/100,o),e.target),!1}break;case _.get(0):switch(e.keyCode){case 38:return _.val(f.call(s,1+(_.val()<<0),0,360)),a.val("h",_.val(),e.target),!1;case 40:return _.val(f.call(s,(_.val()<<0)-1,0,360)),a.val("h",_.val(),e.target),!1}break;case b.get(0):switch(e.keyCode){case 38:return b.val(f.call(s,1+(b.val()<<0),0,100)),a.val("s",b.val(),e.target),!1;case 40:return b.val(f.call(s,(b.val()<<0)-1,0,100)),a.val("s",b.val(),e.target),!1}break;case x.get(0):switch(e.keyCode){case 38:return x.val(f.call(s,1+(x.val()<<0),0,100)),a.val("v",x.val(),e.target),!1;case 40:return x.val(f.call(s,(x.val()<<0)-1,0,100)),a.val("v",x.val(),e.target),!1}}}}function u(e){if(""!==e.target.value||e.target===w.get(0)||(Sr(i)||e.target===i.get(0))&&!Sr(i)){if(!h(e))return e;switch(e.target){case g.get(0):g.val(f.call(s,g.val(),0,255)),a.val("r",g.val(),e.target);break;case m.get(0):m.val(f.call(s,m.val(),0,255)),a.val("g",m.val(),e.target);break;case v.get(0):v.val(f.call(s,v.val(),0,255)),a.val("b",v.val(),e.target);break;case y&&y.get(0):y.val(f.call(s,y.val(),0,100)),a.val("a",br(255*y.val()/100,o),e.target);break;case _.get(0):_.val(f.call(s,_.val(),0,360)),a.val("h",_.val(),e.target);break;case b.get(0):b.val(f.call(s,b.val(),0,100)),a.val("s",b.val(),e.target);break;case x.get(0):x.val(f.call(s,x.val(),0,100)),a.val("v",x.val(),e.target);break;case w.get(0):w.val(w.val().replace(/[^a-fA-F\d]/g,"").toLowerCase().substring(0,6)),i&&i.val(w.val()),a.val("hex",""!==w.val()?w.val():null,e.target);break;case i&&i.get(0):i.val(i.val().replace(/[^a-fA-F\d]/g,"").toLowerCase().substring(0,6)),w.val(i.val()),a.val("hex",""!==i.val()?i.val():null,e.target);break;case S&&S.get(0):S.val(S.val().replace(/[^a-fA-F\d]/g,"").toLowerCase().substring(0,2)),a.val("a",Sr(S.val())?null:parseInt(S.val(),16),e.target)}}}function d(e){if(!Sr(a.val()))switch(e.target){case g.get(0):g.val(a.val("r"));break;case m.get(0):m.val(a.val("g"));break;case v.get(0):v.val(a.val("b"));break;case y&&y.get(0):y.val(br(100*a.val("a")/255,o));break;case _.get(0):_.val(a.val("h"));break;case b.get(0):b.val(a.val("s"));break;case x.get(0):x.val(a.val("v"));break;case w.get(0):case i&&i.get(0):w.val(a.val("hex")),i&&i.val(a.val("hex"));break;case S&&S.get(0):S.val(a.val("ahex").substring(6))}}function h(e){switch(e.keyCode){case 9:case 16:case 29:case 37:case 39:return!1;case"c".charCodeAt():case"v".charCodeAt():if(e.ctrlKey)return!1}return!0}function f(e,t,n){return""===e||isNaN(e)?t:e>n?n:e<t?t:e}function p(e,t){var n=e.val("all");t!==g.get(0)&&g.val(Sr(n)?"":n.r),t!==m.get(0)&&m.val(Sr(n)?"":n.g),t!==v.get(0)&&v.val(Sr(n)?"":n.b),y&&t!==y.get(0)&&y.val(Sr(n)?"":br(100*n.a/255,o)),t!==_.get(0)&&_.val(Sr(n)?"":n.h),t!==b.get(0)&&b.val(Sr(n)?"":n.s),t!==x.get(0)&&x.val(Sr(n)?"":n.v),t!==w.get(0)&&(i&&t!==i.get(0)||!i)&&w.val(Sr(n)?"":n.hex),i&&t!==i.get(0)&&t!==w.get(0)&&i.val(Sr(n)?"":n.hex),S&&t!==S.get(0)&&S.val(Sr(n)?"":n.ahex.substring(6))}var g=l.eq(3),m=l.eq(4),v=l.eq(5),y=l.length>7?l.eq(6):null,_=l.eq(0),b=l.eq(1),x=l.eq(2),w=l.eq(l.length>7?7:6),S=l.length>7?l.eq(8):null;t.extend(!0,s,{destroy:function(){g.add(m).add(v).add(y).add(_).add(b).add(x).add(w).add(i).add(S).unbind("keyup",u).unbind("blur",d),g.add(m).add(v).add(y).add(_).add(b).add(x).unbind("keydown",c),a.unbind(p),g=null,m=null,v=null,y=null,_=null,b=null,x=null,w=null,S=null}}),g.add(m).add(v).add(y).add(_).add(b).add(x).add(w).add(i).add(S).bind("keyup",u).bind("blur",d),g.add(m).add(v).add(y).add(_).add(b).add(x).bind("keydown",c),a.bind(p)};t.jPicker={List:[],Color:function(n){var r=this;function a(e){for(var t=0;t<g.length;t++)g[t].call(r,r,e)}function i(t,n,g){var m=Boolean(n);if(m&&""===n.ahex&&(n.ahex="00000000"),!m){var v;if((Sr(t)||""===t)&&(t="all"),Sr(o))return null;switch(t.toLowerCase()){case"ahex":return l.rgbaToHex({r:o,g:s,b:c,a:u});case"hex":return i("ahex").substring(0,6);case"all":return{r:o,g:s,b:c,a:u,h:d,s:f,v:p,hex:i.call(r,"hex"),ahex:i.call(r,"ahex")};default:v={};var y=t.length;h(t).forEach((function(e){switch(e){case"r":1===y?v=o:v.r=o;break;case"g":1===y?v=s:v.g=s;break;case"b":1===y?v=c:v.b=c;break;case"a":1===y?v=u:v.a=u;break;case"h":1===y?v=d:v.h=d;break;case"s":1===y?v=f:v.s=f;break;case"v":1===y?v=p:v.v=p}}))}return"object"!==e(v)||Object.keys(v).length?v:i.call(r,"all")}if(Sr(g)||g!==r){Sr(t)&&(t="");var _=!1;if(Sr(n))return Sr(o)||(o=null,_=!0),Sr(s)||(s=null,_=!0),Sr(c)||(c=null,_=!0),Sr(u)||(u=null,_=!0),Sr(d)||(d=null,_=!0),Sr(f)||(f=null,_=!0),Sr(p)||(p=null,_=!0),void(_&&a.call(r,g||r));switch(t.toLowerCase()){case"ahex":case"hex":var b=l.hexToRgba(n&&(n.ahex||n.hex)||n||"none");i.call(r,"rgba",{r:b.r,g:b.g,b:b.b,a:"ahex"===t?b.a:Sr(u)?255:u},g);break;default:if(n&&(!Sr(n.ahex)||!Sr(n.hex)))return void i.call(r,"ahex",n.ahex||n.hex||"00000000",g);var x={},w=!1,S=!1;if(void 0===n.r||t.includes("r")||(t+="r"),void 0===n.g||t.includes("g")||(t+="g"),void 0===n.b||t.includes("b")||(t+="b"),void 0===n.a||t.includes("a")||(t+="a"),void 0===n.h||t.includes("h")||(t+="h"),void 0===n.s||t.includes("s")||(t+="s"),void 0===n.v||t.includes("v")||(t+="v"),h(t).forEach((function(e){switch(e){case"r":if(S)return;w=!0,x.r=n.r&&0|n.r||0|n||0,x.r<0?x.r=0:x.r>255&&(x.r=255),o!==x.r&&(o=x.r,_=!0);break;case"g":if(S)return;w=!0,x.g=n&&n.g&&0|n.g||n&&0|n||0,x.g<0?x.g=0:x.g>255&&(x.g=255),s!==x.g&&(s=x.g,_=!0);break;case"b":if(S)return;w=!0,x.b=n&&n.b&&0|n.b||n&&0|n||0,x.b<0?x.b=0:x.b>255&&(x.b=255),c!==x.b&&(c=x.b,_=!0);break;case"a":x.a=n&&!Sr(n.a)?0|n.a:0|n,x.a<0?x.a=0:x.a>255&&(x.a=255),u!==x.a&&(u=x.a,_=!0);break;case"h":if(w)return;S=!0,x.h=n&&n.h&&0|n.h||n&&0|n||0,x.h<0?x.h=0:x.h>360&&(x.h=360),d!==x.h&&(d=x.h,_=!0);break;case"s":if(w)return;S=!0,x.s=Sr(n.s)?0|n:0|n.s,x.s<0?x.s=0:x.s>100&&(x.s=100),f!==x.s&&(f=x.s,_=!0);break;case"v":if(w)return;S=!0,x.v=Sr(n.v)?0|n:0|n.v,x.v<0?x.v=0:x.v>100&&(x.v=100),p!==x.v&&(p=x.v,_=!0)}})),_){if(w){o=o||0,s=s||0,c=c||0;var k=l.rgbToHsv({r:o,g:s,b:c});d=k.h,f=k.s,p=k.v}else if(S){d=d||0,f=Sr(f)?100:f,p=Sr(p)?100:p;var C=l.hsvToRgb({h:d,s:f,v:p});o=C.r,s=C.g,c=C.b}u=Sr(u)?255:u,a.call(r,g||r)}}}}var o,s,c,u,d,f,p,g=[];t.extend(!0,r,{val:i,bind:function(e){"function"==typeof e&&g.push(e)},unbind:function(e){if("function"==typeof e)for(var t;t=g.includes(e);)g.splice(t,1)},destroy:function(){g=null}}),n&&(Sr(n.ahex)?Sr(n.hex)?Sr(n.r)||Sr(n.g)||Sr(n.b)?Sr(n.h)||Sr(n.s)||Sr(n.v)||i("hsv"+(Sr(n.a)?"":"a"),n):i("rgb"+(Sr(n.a)?"":"a"),n):i((Sr(n.a)?"":"a")+"hex",Sr(n.a)?n:{ahex:n.hex+l.intToHex(n.a)}):i("ahex",n))},ColorMethods:{hexToRgba:function(e){if(""===e||"none"===e)return{r:null,g:null,b:null,a:null};var t="00",n="00",r="00",a="255";return 6===(e=this.validateHex(e)).length&&(e+="ff"),e.length>6?(t=e.substring(0,2),n=e.substring(2,4),r=e.substring(4,6),a=e.substring(6,e.length)):(e.length>4&&(t=e.substring(4,e.length),e=e.substring(0,4)),e.length>2&&(n=e.substring(2,e.length),e=e.substring(0,2)),e.length>0&&(r=e.substring(0,e.length))),{r:this.hexToInt(t),g:this.hexToInt(n),b:this.hexToInt(r),a:this.hexToInt(a)}},validateHex:function(e){return(e=e.toLowerCase().replace(/[^a-f\d]/g,"")).length>8&&(e=e.substring(0,8)),e},rgbaToHex:function(e){return this.intToHex(e.r)+this.intToHex(e.g)+this.intToHex(e.b)+this.intToHex(e.a)},intToHex:function(e){var t=(0|e).toString(16);return 1===t.length&&(t="0"+t),t.toLowerCase()},hexToInt:function(e){return parseInt(e,16)},rgbToHsv:function(e){var t,n=e.r/255,r=e.g/255,a=e.b/255,i={h:0,s:0,v:0},o=0,s=0;return n>=r&&n>=a?(s=n,o=r>a?a:r):r>=a&&r>=n?(s=r,o=n>a?a:n):(s=a,o=r>n?n:r),i.v=s,i.s=s?(s-o)/s:0,i.s?(t=s-o,i.h=n===s?(r-a)/t:r===s?2+(a-n)/t:4+(n-r)/t,i.h=parseInt(60*i.h),i.h<0&&(i.h+=360)):i.h=0,i.s=100*i.s|0,i.v=100*i.v|0,i},hsvToRgb:function(e){var t={r:0,g:0,b:0,a:100},n=e.h,r=e.s,a=e.v;if(0===r)t.r=t.g=t.b=0===a?0:255*a/100|0;else{360===n&&(n=0);var i=0|(n/=60),o=n-i,s=(a/=100)*(1-(r/=100)),l=a*(1-r*o),c=a*(1-r*(1-o));switch(i){case 0:t.r=a,t.g=c,t.b=s;break;case 1:t.r=l,t.g=a,t.b=s;break;case 2:t.r=s,t.g=a,t.b=c;break;case 3:t.r=s,t.g=l,t.b=a;break;case 4:t.r=c,t.g=s,t.b=a;break;case 5:t.r=a,t.g=s,t.b=l}t.r=255*t.r|0,t.g=255*t.g|0,t.b=255*t.b|0}return t}}};var i=t.jPicker,o=i.Color,s=i.List,l=i.ColorMethods;return t.fn.jPicker=function(r,i,c,u){return this.each((function(){var d=this,h=t.extend(!0,{},t.fn.jPicker.defaults,r);"input"===t(d).get(0).nodeName.toLowerCase()&&(t.extend(!0,h,{window:{bindToInput:!0,expandable:!0,input:t(d)}}),""===t(d).val()?(h.color.active=new o({hex:null}),h.color.current=new o({hex:null})):l.validateHex(t(d).val())&&(h.color.active=new o({hex:t(d).val(),a:h.color.active.val("a")}),h.color.current=new o({hex:t(d).val(),a:h.color.active.val("a")}))),h.window.expandable?t(d).after('<span class="jPicker"><span class="Icon"><span class="Color">&nbsp;</span><span class="Alpha">&nbsp;</span><span class="Image" title="Click To Open Color Picker">&nbsp;</span><span class="Container">&nbsp;</span></span></span>'):h.window.liveUpdate=!1;var f=parseFloat(navigator.appVersion.split("MSIE")[1])<7&&document.body.filters;function p(e){var t,n,r=z.active,a=r.val("hex");switch(h.color.mode=e,e){case"h":if(setTimeout((function(){w.call(d,K,"transparent"),k.call(d,$,0),C.call(d,$,100),k.call(d,J,260),C.call(d,J,100),w.call(d,Z,"transparent"),k.call(d,te,0),C.call(d,te,100),k.call(d,ne,260),C.call(d,ne,100),k.call(d,re,260),C.call(d,re,100),k.call(d,ae,260),C.call(d,ae,100),k.call(d,oe,260),C.call(d,oe,100)}),0),se.range("all",{minX:0,maxX:100,minY:0,maxY:100}),le.range("rangeY",{minY:0,maxY:360}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("s"),y:100-r.val("v")},se),le.val("y",360-r.val("h"),le);break;case"s":if(setTimeout((function(){w.call(d,K,"transparent"),k.call(d,$,-260),k.call(d,J,-520),k.call(d,te,-260),k.call(d,ne,-520),k.call(d,oe,260),C.call(d,oe,100)}),0),se.range("all",{minX:0,maxX:360,minY:0,maxY:100}),le.range("rangeY",{minY:0,maxY:100}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("h"),y:100-r.val("v")},se),le.val("y",100-r.val("s"),le);break;case"v":if(setTimeout((function(){w.call(d,K,"000000"),k.call(d,$,-780),k.call(d,J,260),w.call(d,Z,a),k.call(d,te,-520),k.call(d,ne,260),C.call(d,ne,100),k.call(d,oe,260),C.call(d,oe,100)}),0),se.range("all",{minX:0,maxX:360,minY:0,maxY:100}),le.range("rangeY",{minY:0,maxY:100}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("h"),y:100-r.val("s")},se),le.val("y",100-r.val("v"),le);break;case"r":if(t=-1040,n=-780,se.range("all",{minX:0,maxX:255,minY:0,maxY:255}),le.range("rangeY",{minY:0,maxY:255}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("b"),y:255-r.val("g")},se),le.val("y",255-r.val("r"),le);break;case"g":if(t=-1560,n=-1820,se.range("all",{minX:0,maxX:255,minY:0,maxY:255}),le.range("rangeY",{minY:0,maxY:255}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("b"),y:255-r.val("r")},se),le.val("y",255-r.val("g"),le);break;case"b":if(t=-2080,n=-2860,se.range("all",{minX:0,maxX:255,minY:0,maxY:255}),le.range("rangeY",{minY:0,maxY:255}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("r"),y:255-r.val("g")},se),le.val("y",255-r.val("b"),le);break;case"a":if(setTimeout((function(){w.call(d,K,"transparent"),k.call(d,$,-260),k.call(d,J,-520),k.call(d,te,260),k.call(d,ne,260),C.call(d,ne,100),k.call(d,oe,0),C.call(d,oe,100)}),0),se.range("all",{minX:0,maxX:360,minY:0,maxY:100}),le.range("rangeY",{minY:0,maxY:255}),Sr(r.val("ahex")))break;se.val("xy",{x:r.val("h"),y:100-r.val("v")},se),le.val("y",255-r.val("a"),le);break;default:throw new Error("Invalid Mode")}switch(e){case"h":break;case"s":case"v":case"a":setTimeout((function(){C.call(d,$,100),C.call(d,te,100),k.call(d,re,260),C.call(d,re,100),k.call(d,ae,260),C.call(d,ae,100)}),0);break;case"r":case"g":case"b":setTimeout((function(){w.call(d,K,"transparent"),w.call(d,Z,"transparent"),C.call(d,te,100),C.call(d,$,100),k.call(d,$,t),k.call(d,J,t-260),k.call(d,te,n-780),k.call(d,ne,n-520),k.call(d,re,n),k.call(d,ae,n-260),k.call(d,oe,260),C.call(d,oe,100)}),0)}Sr(r.val("ahex"))||g.call(d,r)}function g(e,t){(Sr(t)||t!==le&&t!==se)&&y.call(d,e,t),setTimeout((function(){_.call(d,e),b.call(d,e),x.call(d,e)}),0)}function m(e,t){var n=z.active;if(t===se||!Sr(n.val())){var r=e.val("all");switch(h.color.mode){case"h":n.val("sv",{s:r.x,v:100-r.y},t);break;case"s":case"a":n.val("hv",{h:r.x,v:100-r.y},t);break;case"v":n.val("hs",{h:r.x,s:100-r.y},t);break;case"r":n.val("gb",{g:255-r.y,b:r.x},t);break;case"g":n.val("rb",{r:255-r.y,b:r.x},t);break;case"b":n.val("rg",{r:r.x,g:255-r.y},t)}}}function v(e,t){var n=z.active;if(t===le||!Sr(n.val()))switch(h.color.mode){case"h":n.val("h",{h:360-e.val("y")},t);break;case"s":n.val("s",{s:100-e.val("y")},t);break;case"v":n.val("v",{v:100-e.val("y")},t);break;case"r":n.val("r",{r:255-e.val("y")},t);break;case"g":n.val("g",{g:255-e.val("y")},t);break;case"b":n.val("b",{b:255-e.val("y")},t);break;case"a":n.val("a",255-e.val("y"),t)}}function y(e,t){if(t!==se)switch(h.color.mode){case"h":var n=e.val("sv");se.val("xy",{x:Sr(n)?100:n.s,y:100-(Sr(n)?100:n.v)},t);break;case"s":case"a":var r=e.val("hv");se.val("xy",{x:r&&r.h||0,y:100-(Sr(r)?100:r.v)},t);break;case"v":var a=e.val("hs");se.val("xy",{x:a&&a.h||0,y:100-(Sr(a)?100:a.s)},t);break;case"r":var i=e.val("bg");se.val("xy",{x:i&&i.b||0,y:255-(i&&i.g||0)},t);break;case"g":var o=e.val("br");se.val("xy",{x:o&&o.b||0,y:255-(o&&o.r||0)},t);break;case"b":var s=e.val("rg");se.val("xy",{x:s&&s.r||0,y:255-(s&&s.g||0)},t)}if(t!==le)switch(h.color.mode){case"h":le.val("y",360-(e.val("h")||0),t);break;case"s":var l=e.val("s");le.val("y",100-(Sr(l)?100:l),t);break;case"v":var c=e.val("v");le.val("y",100-(Sr(c)?100:c),t);break;case"r":le.val("y",255-(e.val("r")||0),t);break;case"g":le.val("y",255-(e.val("g")||0),t);break;case"b":le.val("y",255-(e.val("b")||0),t);break;case"a":var u=e.val("a");le.val("y",255-(Sr(u)?255:u),t)}}function _(e){try{var t=e.val("all");ue.css({backgroundColor:t&&"#"+t.hex||"transparent"}),C.call(d,ue,t&&br(100*t.a/255,4)||0)}catch(e){}}function b(e){switch(h.color.mode){case"h":w.call(d,K,new o({h:e.val("h")||0,s:100,v:100}).val("hex"));break;case"s":case"a":var t=e.val("s");C.call(d,J,100-(Sr(t)?100:t));break;case"v":var n=e.val("v");C.call(d,$,Sr(n)?100:n);break;case"r":C.call(d,J,br((e.val("r")||0)/255*100,4));break;case"g":C.call(d,J,br((e.val("g")||0)/255*100,4));break;case"b":C.call(d,J,br((e.val("b")||0)/255*100))}var r=e.val("a");C.call(d,ee,br(100*(255-(r||0))/255,4))}function x(e){switch(h.color.mode){case"h":var t=e.val("a");C.call(d,ie,br(100*(255-(t||0))/255,4));break;case"s":var n=e.val("hva"),r=new o({h:n&&n.h||0,s:100,v:Sr(n)?100:n.v});w.call(d,Z,r.val("hex")),C.call(d,ne,100-(Sr(n)?100:n.v)),C.call(d,ie,br(100*(255-(n&&n.a||0))/255,4));break;case"v":var a=e.val("hsa"),i=new o({h:a&&a.h||0,s:Sr(a)?100:a.s,v:100});w.call(d,Z,i.val("hex")),C.call(d,ie,br(100*(255-(a&&a.a||0))/255,4));break;case"r":case"g":case"b":var s=e.val("rgba"),l=0,c=0;"r"===h.color.mode?(l=s&&s.b||0,c=s&&s.g||0):"g"===h.color.mode?(l=s&&s.b||0,c=s&&s.r||0):"b"===h.color.mode&&(l=s&&s.r||0,c=s&&s.g||0);var u=c>l?l:c;C.call(d,ne,l>c?br((l-c)/(255-c)*100,4):0),C.call(d,re,c>l?br((c-l)/(255-l)*100,4):0),C.call(d,ae,br(u/255*100,4)),C.call(d,ie,br(100*(255-(s&&s.a||0))/255,4));break;case"a":var f=e.val("a");w.call(d,Z,e.val("hex")||"000000"),C.call(d,ie,Sr(f)?100:0),C.call(d,oe,Sr(f)?0:100)}}function w(e,t){e.css({backgroundColor:t&&6===t.length&&"#"+t||"transparent"})}function S(e,t){f&&(t.includes("AlphaBar.png")||t.includes("Bars.png")||t.includes("Maps.png"))?(e.attr("pngSrc",t),e.css({backgroundImage:"none",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+t+"', sizingMethod='scale')"})):e.css({backgroundImage:"url('"+t+"')"})}function k(e,t){e.css({top:t+"px"})}function C(e,t){if(e.css({visibility:t>0?"visible":"hidden"}),t>0&&t<100)if(f){var n=e.attr("pngSrc");!Sr(n)&&(n.includes("AlphaBar.png")||n.includes("Bars.png")||n.includes("Maps.png"))?e.css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+n+"', sizingMethod='scale') progid:DXImageTransform.Microsoft.Alpha(opacity="+t+")"}):e.css({opacity:br(t/100,4)})}else e.css({opacity:br(t/100,4)});else if(0===t||100===t)if(f){var r=e.attr("pngSrc");!Sr(r)&&(r.includes("AlphaBar.png")||r.includes("Bars.png")||r.includes("Maps.png"))?e.css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+r+"', sizingMethod='scale')"}):e.css({opacity:""})}else e.css({opacity:""})}function A(){z.active.val("ahex",z.current.val("ahex"))}function E(){z.current.val("ahex",z.active.val("ahex"))}function G(e){t(this).parents("tbody:first").find('input:radio[value!="'+e.target.value+'"]').removeAttr("checked"),p.call(d,e.target.value)}function P(){A.call(d)}function I(){A.call(d),h.window.expandable&&D.call(d),"function"==typeof u&&u.call(d,z.active,fe)}function N(){E.call(d),h.window.expandable&&D.call(d),"function"==typeof i&&i.call(d,z.active,he)}function T(){B.call(d)}function L(e){var t=e.val("hex");de.css({backgroundColor:t&&"#"+t||"transparent"}),C.call(d,de,br(100*(e.val("a")||0)/255,4))}function M(e){var t=e.val("hex"),n=e.val("va");ge.css({backgroundColor:t&&"#"+t||"transparent"}),C.call(d,me,br(100*(255-(n&&n.a||0))/255,4)),h.window.bindToInput&&h.window.updateInputColor&&h.window.input.css({backgroundColor:t&&"#"+t||"transparent",color:Sr(n)||n.v>75?"#000000":"#ffffff"})}function O(e){q=parseInt(Q.css("left")),Y=parseInt(Q.css("top")),W=e.pageX,X=e.pageY,t(document).bind("mousemove",j).bind("mouseup",V),e.preventDefault()}function j(e){return Q.css({left:q-(W-e.pageX)+"px",top:Y-(X-e.pageY)+"px"}),h.window.expandable&&!t.support.boxModel&&Q.prev().css({left:Q.css("left"),top:Q.css("top")}),e.stopPropagation(),e.preventDefault(),!1}function V(e){return t(document).unbind("mousemove",j).unbind("mouseup",V),e.stopPropagation(),e.preventDefault(),!1}function R(e){return e.preventDefault(),e.stopPropagation(),z.active.val("ahex",t(this).attr("title")||null,e.target),!1}function B(){function e(){if(h.window.expandable&&!t.support.boxModel){var e=Q.find("table:first");Q.before("<iframe/>"),Q.prev().css({width:e.width(),height:Q.height(),opacity:0,position:"absolute",left:Q.css("left"),top:Q.css("top")})}}switch(z.current.val("ahex",z.active.val("ahex")),h.window.expandable&&(t(document.body).children("div.jPicker.Container").css({zIndex:10}),Q.css({zIndex:20})),h.window.effects.type){case"fade":Q.fadeIn(h.window.effects.speed.show,e);break;case"slide":Q.slideDown(h.window.effects.speed.show,e);break;case"show":default:Q.show(h.window.effects.speed.show,e)}}function D(){function e(){h.window.expandable&&Q.css({zIndex:10}),h.window.expandable&&!t.support.boxModel&&Q.prev().remove()}switch(h.window.effects.type){case"fade":Q.fadeOut(h.window.effects.speed.hide,e);break;case"slide":Q.slideUp(h.window.effects.speed.hide,e);break;case"show":default:Q.hide(h.window.effects.speed.hide,e)}}function U(){var r=h.window,i=r.expandable?t(d).next().find(".Container:first"):null;(Q=r.expandable?t("<div/>"):t(d)).addClass("jPicker Container"),r.expandable&&Q.hide(),Q.get(0).onselectstart=function(e){return"input"===e.target.nodeName.toLowerCase()};var s=z.active.val("all");r.alphaPrecision<0?r.alphaPrecision=0:r.alphaPrecision>2&&(r.alphaPrecision=2);var l='<table class="jPicker" cellpadding="0" cellspacing="0">\n <tbody>\n '.concat(r.expandable?'<tr><td class="Move" colspan="5">&nbsp;</td></tr>':"",'\n <tr>\n <td rowspan="9"><h2 class="Title">').concat(r.title||H.text.title,'</h2><div class="Map"><span class="Map1">&nbsp;</span><span class="Map2">&nbsp;</span><span class="Map3">&nbsp;</span><img src="').concat(F.clientPath+F.colorMap.arrow.file,'" class="Arrow"/></div></td>\n <td rowspan="9"><div class="Bar"><span class="Map1">&nbsp;</span><span class="Map2">&nbsp;</span><span class="Map3">&nbsp;</span><span class="Map4">&nbsp;</span><span class="Map5">&nbsp;</span><span class="Map6">&nbsp;</span><img src="').concat(F.clientPath+F.colorBar.arrow.file,'" class="Arrow"/></div></td>\n <td colspan="2" class="Preview">').concat(H.text.newColor,'<div><span class="Active" title="').concat(H.tooltips.colors.newColor,'">&nbsp;</span><span class="Current" title="').concat(H.tooltips.colors.currentColor,'">&nbsp;</span></div>').concat(H.text.currentColor,'</td>\n <td rowspan="9" class="Button"><input type="button" class="Ok" value="').concat(H.text.ok,'" title="').concat(H.tooltips.buttons.ok,'"/><input type="button" class="Cancel" value="').concat(H.text.cancel,'" title="').concat(H.tooltips.buttons.cancel,'"/><hr/><div class="Grid">&nbsp;</div></td>\n </tr>\n <tr class="Hue">\n <td class="Radio"><label title="').concat(H.tooltips.hue.radio,'"><input type="radio" value="h"').concat("h"===h.color.mode?' checked="checked"':"",'/>H:</label></td>\n <td class="Text"><input type="text" maxlength="3" value="').concat(Sr(s)?"":s.h,'" title="').concat(H.tooltips.hue.textbox,'"/>&nbsp;&deg;</td>\n </tr>\n <tr class="Saturation">\n <td class="Radio"><label title="').concat(H.tooltips.saturation.radio,'"><input type="radio" value="s"').concat("s"===h.color.mode?' checked="checked"':"",'/>S:</label></td>\n <td class="Text"><input type="text" maxlength="3" value="').concat(Sr(s)?"":s.s,'" title="').concat(H.tooltips.saturation.textbox,'"/>&nbsp;%</td>\n </tr>\n <tr class="Value">\n <td class="Radio"><label title="').concat(H.tooltips.value.radio,'"><input type="radio" value="v"').concat("v"===h.color.mode?' checked="checked"':"",'/>V:</label><br/><br/></td>\n <td class="Text"><input type="text" maxlength="3" value="').concat(Sr(s)?"":s.v,'" title="').concat(H.tooltips.value.textbox,'"/>&nbsp;%<br/><br/></td>\n </tr>\n <tr class="Red">\n <td class="Radio"><label title="').concat(H.tooltips.red.radio,'"><input type="radio" value="r"').concat("r"===h.color.mode?' checked="checked"':"",'/>R:</label></td>\n <td class="Text"><input type="text" maxlength="3" value="').concat(Sr(s)?"":s.r,'" title="').concat(H.tooltips.red.textbox,'"/></td>\n </tr>\n <tr class="Green">\n <td class="Radio"><label title="').concat(H.tooltips.green.radio,'"><input type="radio" value="g"').concat("g"===h.color.mode?' checked="checked"':"",'/>G:</label></td>\n <td class="Text"><input type="text" maxlength="3" value="').concat(Sr(s)?"":s.g,'" title="').concat(H.tooltips.green.textbox,'"/></td>\n </tr>\n <tr class="Blue">\n <td class="Radio"><label title="').concat(H.tooltips.blue.radio,'"><input type="radio" value="b"').concat("b"===h.color.mode?' checked="checked"':"",'/>B:</label></td>\n <td class="Text"><input type="text" maxlength="3" value="').concat(Sr(s)?"":s.b,'" title="').concat(H.tooltips.blue.textbox,'"/></td>\n </tr>\n <tr class="Alpha">\n <td class="Radio">').concat(r.alphaSupport?'<label title="'.concat(H.tooltips.alpha.radio,'"><input type="radio" value="a"').concat("a"===h.color.mode?' checked="checked"':"","/>A:</label>"):"&nbsp;",'</td>\n <td class="Text">').concat(r.alphaSupport?'<input type="text" maxlength="'.concat(3+r.alphaPrecision,'" value="').concat(Sr(s)?"":br(100*s.a/255,r.alphaPrecision),'" title="').concat(H.tooltips.alpha.textbox,'"/>&nbsp;%'):"&nbsp;",'</td>\n </tr>\n <tr class="Hex">\n <td colspan="2" class="Text"><label title="').concat(H.tooltips.hex.textbox,'">#:<input type="text" maxlength="6" class="Hex" value="').concat(Sr(s)?"":s.hex,'"/></label>').concat(r.alphaSupport?'<input type="text" maxlength="2" class="AHex" value="'.concat(Sr(s)?"":s.ahex.substring(6),'" title="').concat(H.tooltips.hex.alpha,'"/></td>'):"&nbsp;","\n </tr>\n </tbody></table>");r.expandable?(Q.html(l),t(document.body).children("div.jPicker.Container").length?t(document.body).children("div.jPicker.Container:last").after(Q):t(document.body).prepend(Q),Q.mousedown((function(){t(document.body).children("div.jPicker.Container").css({zIndex:10}),Q.css({zIndex:20})})),Q.css({left:"left"===r.position.x?i.offset().left-530-("center"===r.position.y?25:0)+"px":"center"===r.position.x?i.offset().left-260+"px":"right"===r.position.x?i.offset().left-10+("center"===r.position.y?25:0)+"px":"screenCenter"===r.position.x?(t(document).width()>>1)-260+"px":i.offset().left+parseInt(r.position.x)+"px",position:"absolute",top:"top"===r.position.y?i.offset().top-312+"px":"center"===r.position.y?i.offset().top-156+"px":"bottom"===r.position.y?i.offset().top+25+"px":i.offset().top+parseInt(r.position.y)+"px"})):(Q=t(d)).html(l);var u=Q.find("tbody:first");K=u.find("div.Map:first"),Z=u.find("div.Bar:first");var f=K.find("span"),y=Z.find("span");$=f.filter(".Map1:first"),J=f.filter(".Map2:first"),ee=f.filter(".Map3:first"),te=y.filter(".Map1:first"),ne=y.filter(".Map2:first"),re=y.filter(".Map3:first"),ae=y.filter(".Map4:first"),ie=y.filter(".Map5:first"),oe=y.filter(".Map6:first"),(se=new n(K,{map:{width:F.colorMap.width,height:F.colorMap.height},arrow:{image:F.clientPath+F.colorMap.arrow.file,width:F.colorMap.arrow.width,height:F.colorMap.arrow.height}})).bind(m),(le=new n(Z,{map:{width:F.colorBar.width,height:F.colorBar.height},arrow:{image:F.clientPath+F.colorBar.arrow.file,width:F.colorBar.arrow.width,height:F.colorBar.arrow.height}})).bind(v),ce=new a(u,z.active,r.expandable&&r.bindToInput?r.input:null,r.alphaPrecision);var _=Sr(s)?null:s.hex,b=u.find(".Preview"),x=u.find(".Button");if(ue=b.find(".Active:first").css({backgroundColor:_&&"#"+_||"transparent"}),de=b.find(".Current:first").css({backgroundColor:_&&"#"+_||"transparent"}).bind("click",P),C.call(d,de,br(100*z.current.val("a")/255,4)),he=x.find(".Ok:first").bind("click",N),fe=x.find(".Cancel:first").bind("click",I),pe=x.find(".Grid:first"),setTimeout((function(){S.call(d,$,F.clientPath+"Maps.png"),S.call(d,J,F.clientPath+"Maps.png"),S.call(d,ee,F.clientPath+"map-opacity.png"),S.call(d,te,F.clientPath+"Bars.png"),S.call(d,ne,F.clientPath+"Bars.png"),S.call(d,re,F.clientPath+"Bars.png"),S.call(d,ae,F.clientPath+"Bars.png"),S.call(d,ie,F.clientPath+"bar-opacity.png"),S.call(d,oe,F.clientPath+"AlphaBar.png"),S.call(d,b.find("div:first"),F.clientPath+"preview-opacity.png")}),0),u.find("td.Radio input").bind("click",G),z.quickList&&z.quickList.length>0){for(var w="",k=0;k<z.quickList.length;k++){"string"===e(z.quickList[k]).toString().toLowerCase()&&(z.quickList[k]=new o({hex:z.quickList[k]}));var A=z.quickList[k].val("a"),E=z.quickList[k].val("ahex");!r.alphaSupport&&E&&(E=E.substring(0,6)+"ff");var j=z.quickList[k].val("hex");E||(E="00000000"),w+='<span class="QuickColor" title="#'+E+'" style="background-color:'+(j&&"#"+j||"")+";"+(j?"":"background-image:url("+F.clientPath+"NoColor.png)")+(r.alphaSupport&&A&&A<255?";opacity:"+br(A/255,4)+";filter:Alpha(opacity="+br(A/2.55,4)+")":"")+'">&nbsp;</span>'}S.call(d,pe,F.clientPath+"bar-opacity.png"),pe.html(w),pe.find(".QuickColor").click(R)}p.call(d,h.color.mode),z.active.bind(g),"function"==typeof c&&z.active.bind(c),z.current.bind(L),r.expandable?(d.icon=i.parents(".Icon:first"),ge=d.icon.find(".Color:first").css({backgroundColor:_&&"#"+_||"transparent"}),me=d.icon.find(".Alpha:first"),S.call(d,me,F.clientPath+"bar-opacity.png"),C.call(d,me,br(100*(255-(Sr(s)?0:s.a))/255,4)),ve=d.icon.find(".Image:first").css({backgroundImage:"url('"+F.clientPath+F.picker.file+"')"}).bind("click",T),r.bindToInput&&r.updateInputColor&&r.input.css({backgroundColor:_&&"#"+_||"transparent",color:Sr(s)||s.v>75?"#000000":"#ffffff"}),ye=u.find(".Move:first").bind("mousedown",O),z.active.bind(M)):B.call(d)}var F=h.images,H=h.localization,z={active:"string"===e(h.color.active).toString().toLowerCase()?new o({ahex:!h.window.alphaSupport&&h.color.active?h.color.active.substring(0,6)+"ff":h.color.active}):new o({ahex:!h.window.alphaSupport&&h.color.active.val("ahex")?h.color.active.val("ahex").substring(0,6)+"ff":h.color.active.val("ahex")}),current:"string"===e(h.color.active).toString().toLowerCase()?new o({ahex:!h.window.alphaSupport&&h.color.active?h.color.active.substring(0,6)+"ff":h.color.active}):new o({ahex:!h.window.alphaSupport&&h.color.active.val("ahex")?h.color.active.val("ahex").substring(0,6)+"ff":h.color.active.val("ahex")}),quickList:h.color.quickList};"function"!=typeof i&&(i=null),"function"!=typeof c&&(c=null),"function"!=typeof u&&(u=null);var q=null,Y=null,W=null,X=null,Q=null,K=null,Z=null,$=null,J=null,ee=null,te=null,ne=null,re=null,ae=null,ie=null,oe=null,se=null,le=null,ce=null,ue=null,de=null,he=null,fe=null,pe=null,ge=null,me=null,ve=null,ye=null;t.extend(!0,d,{commitCallback:i,liveCallback:c,cancelCallback:u,color:z,show:B,hide:D,destroy:function(){Q.find("td.Radio input").unbind("click",G),de.unbind("click",P),fe.unbind("click",I),he.unbind("click",N),h.window.expandable&&(ve.unbind("click",T),ye.unbind("mousedown",O),d.icon=null),Q.find(".QuickColor").unbind("click",R),K=null,Z=null,$=null,J=null,ee=null,te=null,ne=null,re=null,ae=null,ie=null,oe=null,se.destroy(),se=null,le.destroy(),le=null,ce.destroy(),ce=null,ue=null,de=null,he=null,fe=null,pe=null,i=null,u=null,c=null,Q.html("");for(var e=0;e<s.length;e++)s[e]===d&&(s.splice(e,1),e--)}}),s.push(d),setTimeout((function(){U.call(d)}),0)}))},t.fn.jPicker.defaults={window:{title:null,effects:{type:"slide",speed:{show:"slow",hide:"fast"}},position:{x:"screenCenter",y:"top"},expandable:!1,liveUpdate:!0,alphaSupport:!1,alphaPrecision:0,updateInputColor:!0},color:{mode:"h",active:new o({ahex:"#ffcc00ff"}),quickList:[new o({h:360,s:33,v:100}),new o({h:360,s:66,v:100}),new o({h:360,s:100,v:100}),new o({h:360,s:100,v:75}),new o({h:360,s:100,v:50}),new o({h:180,s:0,v:100}),new o({h:30,s:33,v:100}),new o({h:30,s:66,v:100}),new o({h:30,s:100,v:100}),new o({h:30,s:100,v:75}),new o({h:30,s:100,v:50}),new o({h:180,s:0,v:90}),new o({h:60,s:33,v:100}),new o({h:60,s:66,v:100}),new o({h:60,s:100,v:100}),new o({h:60,s:100,v:75}),new o({h:60,s:100,v:50}),new o({h:180,s:0,v:80}),new o({h:90,s:33,v:100}),new o({h:90,s:66,v:100}),new o({h:90,s:100,v:100}),new o({h:90,s:100,v:75}),new o({h:90,s:100,v:50}),new o({h:180,s:0,v:70}),new o({h:120,s:33,v:100}),new o({h:120,s:66,v:100}),new o({h:120,s:100,v:100}),new o({h:120,s:100,v:75}),new o({h:120,s:100,v:50}),new o({h:180,s:0,v:60}),new o({h:150,s:33,v:100}),new o({h:150,s:66,v:100}),new o({h:150,s:100,v:100}),new o({h:150,s:100,v:75}),new o({h:150,s:100,v:50}),new o({h:180,s:0,v:50}),new o({h:180,s:33,v:100}),new o({h:180,s:66,v:100}),new o({h:180,s:100,v:100}),new o({h:180,s:100,v:75}),new o({h:180,s:100,v:50}),new o({h:180,s:0,v:40}),new o({h:210,s:33,v:100}),new o({h:210,s:66,v:100}),new o({h:210,s:100,v:100}),new o({h:210,s:100,v:75}),new o({h:210,s:100,v:50}),new o({h:180,s:0,v:30}),new o({h:240,s:33,v:100}),new o({h:240,s:66,v:100}),new o({h:240,s:100,v:100}),new o({h:240,s:100,v:75}),new o({h:240,s:100,v:50}),new o({h:180,s:0,v:20}),new o({h:270,s:33,v:100}),new o({h:270,s:66,v:100}),new o({h:270,s:100,v:100}),new o({h:270,s:100,v:75}),new o({h:270,s:100,v:50}),new o({h:180,s:0,v:10}),new o({h:300,s:33,v:100}),new o({h:300,s:66,v:100}),new o({h:300,s:100,v:100}),new o({h:300,s:100,v:75}),new o({h:300,s:100,v:50}),new o({h:180,s:0,v:0}),new o({h:330,s:33,v:100}),new o({h:330,s:66,v:100}),new o({h:330,s:100,v:100}),new o({h:330,s:100,v:75}),new o({h:330,s:100,v:50}),new o]},images:{clientPath:"/jPicker/images/",colorMap:{width:256,height:256,arrow:{file:"mappoint.gif",width:15,height:15}},colorBar:{width:20,height:256,arrow:{file:"rangearrows.gif",width:20,height:7}},picker:{file:"picker.gif",width:25,height:24}},localization:{text:{title:"Drag Markers To Pick A Color",newColor:"new",currentColor:"current",ok:"OK",cancel:"Cancel"},tooltips:{colors:{newColor:"New Color - Press &ldquo;OK&rdquo; To Commit",currentColor:"Click To Revert To Original Color"},buttons:{ok:"Commit To This Color Selection",cancel:"Cancel And Revert To Original Color"},hue:{radio:"Set To &ldquo;Hue&rdquo; Color Mode",textbox:"Enter A &ldquo;Hue&rdquo; Value (0-360&deg;)"},saturation:{radio:"Set To &ldquo;Saturation&rdquo; Color Mode",textbox:"Enter A &ldquo;Saturation&rdquo; Value (0-100%)"},value:{radio:"Set To &ldquo;Value&rdquo; Color Mode",textbox:"Enter A &ldquo;Value&rdquo; Value (0-100%)"},red:{radio:"Set To &ldquo;Red&rdquo; Color Mode",textbox:"Enter A &ldquo;Red&rdquo; Value (0-255)"},green:{radio:"Set To &ldquo;Green&rdquo; Color Mode",textbox:"Enter A &ldquo;Green&rdquo; Value (0-255)"},blue:{radio:"Set To &ldquo;Blue&rdquo; Color Mode",textbox:"Enter A &ldquo;Blue&rdquo; Value (0-255)"},alpha:{radio:"Set To &ldquo;Alpha&rdquo; Color Mode",textbox:"Enter A &ldquo;Alpha&rdquo; Value (0-100)"},hex:{textbox:"Enter A &ldquo;Hex&rdquo; Color Value (#000000-#ffffff)",alpha:"Enter A &ldquo;Alpha&rdquo; Value (#00-#ff)"}}}},t}].reduce((function(e,t){return t(e)}),jQuery);Nr.loadingStylesheets.includes("svg-editor.css")||Nr.loadingStylesheets.push("svg-editor.css");Nr.loadingStylesheets.some((function(e){return!Array.isArray(e)||"images/logo.png"!==e[0]}))&&Nr.loadingStylesheets.push(["images/logo.png",{favicon:!0}]),Ir.tool_scale=1,Ir.exportWindowCt=0,Ir.langChanged=!1,Ir.showSaveWarning=!1,Ir.storagePromptState="ignore";var Tr,Lr,Mr=[],Or={lang:"",iconsize:"",bkgd_color:"#FFF",bkgd_url:"",img_save:"embed",save_notice_done:!1,export_notice_done:!1},jr=["ext-connector.js","ext-eyedropper.js","ext-grid.js","ext-imagelib.js","ext-markers.js","ext-overview_window.js","ext-panning.js","ext-polygon.js","ext-shapes.js","ext-star.js","ext-storage.js"],Vr={canvasName:"default",canvas_expansion:3,initFill:{color:"FF0000",opacity:1},initStroke:{width:5,color:"000000",opacity:1},text:{stroke_width:0,font_size:24,font_family:"serif"},initOpacity:1,colorPickerCSS:null,initTool:"select",exportWindowType:"new",wireframe:!1,showlayers:!1,no_save_warning:!1,langPath:"locale/",extPath:"extensions/",canvgPath:"canvg/",jspdfPath:"jspdf/",imgPath:"images/",jGraduatePath:"jgraduate/images/",extIconsPath:"extensions/",dimensions:[640,480],gridSnapping:!1,gridColor:"#000",baseUnit:"px",snappingStep:10,showRulers:!0,preventAllURLConfig:!1,preventURLContentLoading:!1,lockExtensions:!1,noDefaultExtensions:!1,showGrid:!1,noStorageOnLoad:!1,forceStorage:!1,emptyStorageOnDecline:!1,avoidClientSide:!1,avoidClientSideDownload:!1,avoidClientSideOpen:!1},Rr=Ir.uiStrings={},Br=!1,Dr=!1,Ur=!1,Fr={},Hr={extensions:[],stylesheets:[],allowedOrigins:[]};function zr(e){return qr.apply(this,arguments)}function qr(){return(qr=n(regeneratorRuntime.mark((function e(t){var n,r,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]?a[1]:{},r=n.noAlert,!(!1!==Tr.setSvgString(t))){e.next=4;break}return e.abrupt("return");case 4:if(r){e.next=8;break}return e.next=7,Nr.alert(Rr.notification.errorLoadingSVG);case 7:return e.abrupt("return");case 8:throw new Error("Error loading SVG");case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Yr(e){var t=e.defaultLang,r=e.defaultName;return(function(){var e=n(regeneratorRuntime.mark((function e(){var n,a,i,o,s,l,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=function(e){return un("".concat(Hr.extPath,"ext-locale/").concat(i,"/").concat(e,".js"),{global:"svgEditorExtensionLocale_".concat(i,"_").concat(e.replace(/-/g,"_"))})},n=c.length>0&&void 0!==c[0]?c[0]:{},a=n.name,i=void 0===a?r:a,o=n.lang,s=void 0===o?t:o,e.prev=2,e.next=5,l(s);case 5:return e.abrupt("return",e.sent);case 8:return e.prev=8,e.t0=e.catch(2),e.abrupt("return",l("en"));case 11:case"end":return e.stop()}}),e,null,[[2,8]])})));return function(){return e.apply(this,arguments)}}())}Nr.pref=function(e,t){return t?(Fr[e]=t,void(Ir.curPrefs=Fr)):e in Fr?Fr[e]:Or[e]},Ir.putLocale=Er,Ir.readLang=Ar,Ir.setStrings=Cr,Ir.loadContentAndPrefs=function(){if(Hr.forceStorage||!Hr.noStorageOnLoad&&document.cookie.match(/(?:^|;\s*)svgeditstore=(?:prefsAndContent|prefsOnly)/)){if(Ir.storage&&(Hr.forceStorage||!Hr.noStorageOnLoad&&document.cookie.match(/(?:^|;\s*)svgeditstore=prefsAndContent/))){var e="svgedit-"+Hr.canvasName,t=Ir.storage.getItem(e);t&&Ir.loadFromString(t)}Object.keys(Or).forEach((function(e){var t,n="svg-edit-"+e;if(Ir.storage){var r=Ir.storage.getItem(n);r&&(Or[e]=String(r))}else if(window.widget)Or[e]=window.widget.preferenceForKey(n);else{var a=document.cookie.match(new RegExp("(?:^|;\\s*)"+(t=encodeURIComponent(n),String(t).replace(/[.\\+*?[^\]$(){}=!<>|:-]/g,"\\$&"))+"=([^;]+)"));Or[e]=a?decodeURIComponent(a[1]):""}}))}},Ir.setConfig=function(t,n){function r(t,n,r){t[n]&&"object"===e(t[n])?Nr.extend(!0,t[n],r):t[n]=r}n=n||{},Nr.each(t,(function(a,i){if({}.hasOwnProperty.call(t,a))if({}.hasOwnProperty.call(Or,a)){if(!1===n.overwrite&&(Hr.preventAllURLConfig||{}.hasOwnProperty.call(Fr,a)))return;!0===n.allowInitialUserOverride?Or[a]=i:Nr.pref(a,i)}else if(["extensions","stylesheets","allowedOrigins"].includes(a)){if(!1===n.overwrite&&(Hr.preventAllURLConfig||["allowedOrigins","stylesheets"].includes(a)||"extensions"===a&&Hr.lockExtensions))return;Hr[a]=Hr[a].concat(i)}else if({}.hasOwnProperty.call(Vr,a)){if(!1===n.overwrite&&(Hr.preventAllURLConfig||{}.hasOwnProperty.call(Hr,a)))return;if({}.hasOwnProperty.call(Hr,a)){if(!1===n.overwrite)return;r(Hr,a,i)}else!0===n.allowInitialUserOverride?r(Vr,a,i):Vr[a]&&"object"===e(Vr[a])?(Hr[a]=Array.isArray(Vr[a])?[]:{},Nr.extend(!0,Hr[a],i)):Hr[a]=i}})),Ir.curConfig=Hr},Ir.setCustomHandlers=function(e){return Ir.ready((function(){e.open&&(Nr('#tool_open > input[type="file"]').remove(),Nr("#tool_open").show(),Tr.open=e.open),e.save&&(Ir.showSaveWarning=!1,Tr.bind("saved",e.save)),e.exportImage&&(Dr=e.exportImage,Tr.bind("exported",Dr)),e.exportPDF&&(Ur=e.exportPDF,Tr.bind("exportedPDF",Ur))}))},Ir.randomizeIds=function(e){Tr.randomizeIds(e)},Ir.init=function(){!("svgEditor"in window&&window.svgEditor&&!1===window.svgEditor.modules)||Object.assign(Vr,{langPath:"../dist/locale/",extPath:"../dist/extensions/",canvgPath:"../dist/",jspdfPath:"../dist/"});try{"localStorage"in window&&(Ir.storage=localStorage)}catch(e){}var e=[];function t(){(Hr=Nr.extend(!0,{},Vr,Hr)).noDefaultExtensions||(Hr.extensions=Hr.extensions.concat(jr)),["extensions","stylesheets","allowedOrigins"].forEach((function(e){Hr[e]=Nr.grep(Hr[e],(function(t,n){return n===Hr[e].indexOf(t)}))})),Ir.curConfig=Hr}Nr("#lang_select option").each((function(){e.push(this.value)})),function(){var e,n;if(Lr=Nr.deparam.querystring(!0),Nr.isEmptyObject(Lr))t(),Ir.loadContentAndPrefs();else{if(Lr.dimensions&&(Lr.dimensions=Lr.dimensions.split(",")),Lr.bkgd_color&&(Lr.bkgd_color="#"+Lr.bkgd_color),Lr.extensions&&(Lr.extensions=Lr.extensions.match(/[:/\\]/)?"":Lr.extensions.split(",")),["langPath","extPath","canvgPath","jspdfPath","imgPath","jGraduatePath","extIconsPath"].forEach((function(e){Lr[e]&&delete Lr[e]})),Ir.setConfig(Lr,{overwrite:!1}),t(),!Hr.preventURLContentLoading){if(e=Lr.source,n=Nr.param.querystring(),e||n.includes("source=data:")&&(e=n.match(/source=(data:[^&]*)/)[1]),e)return void(e.startsWith("data:")?Ir.loadFromDataURI(e):Ir.loadFromString(e));if(Lr.url)return void Ir.loadFromURL(Lr.url)}Lr.noStorageOnLoad&&!Hr.forceStorage||Ir.loadContentAndPrefs()}Fr=Nr.extend(!0,{},Or,Fr),Ir.curPrefs=Fr}();var a=Ir.setIcon=function(e,t,n){var r="string"==typeof t?Nr.getSvgIcon(t,!0):t.clone();r?Nr(e).empty().append(r):console.log("NOTE: Icon image missing: "+t)},o=function(){var t=n(regeneratorRuntime.mark((function t(){var r,a,i,o,s,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Ir.putLocale(null,e,Hr);case 2:return r=t.sent,a=r.langParam,i=r.langData,t.next=7,Cn(a,i);case 7:return o=Rr.common,s=o.ok,l=o.cancel,gn(Nr,{ok:s,cancel:l}),Nr.svgIcons(Hr.imgPath+"svg_edit_icons.svg",{w:24,h:24,id_match:!1,no_img:!V(),fallback_path:Hr.imgPath,fallback:{logo:"logo.png",select:"select.png",select_node:"select_node.png",square:"square.png",rect:"rect.png",fh_rect:"freehand-square.png",circle:"circle.png",ellipse:"ellipse.png",fh_ellipse:"freehand-circle.png",pencil:"fhpath.png",pen:"line.png",text:"text.png",path:"path.png",add_subpath:"add_subpath.png",close_path:"closepath.png",open_path:"openpath.png",image:"image.png",zoom:"zoom.png",arrow_right:"flyouth.png",arrow_right_big:"arrow_right_big.png",arrow_down:"dropdown.gif",fill:"fill.png",stroke:"stroke.png",opacity:"opacity.png",new_image:"clear.png",save:"save.png",export:"export.png",open:"open.png",import:"import.png",docprops:"document-properties.png",source:"source.png",wireframe:"wireframe.png",undo:"undo.png",redo:"redo.png",clone:"clone.png",delete:"delete.png",go_up:"go-up.png",go_down:"go-down.png",context_menu:"context_menu.png",move_bottom:"move_bottom.png",move_top:"move_top.png",to_path:"to_path.png",link_controls:"link_controls.png",reorient:"reorient.png",group_elements:"shape_group_elements.png",ungroup:"shape_ungroup.png",unlink_use:"unlink_use.png",width:"width.png",height:"height.png",c_radius:"c_radius.png",angle:"angle.png",blur:"blur.png",fontsize:"fontsize.png",align:"align.png",align_left:"align-left.png",align_center:"align-center.png",align_right:"align-right.png",align_top:"align-top.png",align_middle:"align-middle.png",align_bottom:"align-bottom.png",linecap_butt:"linecap_butt.png",linecap_square:"linecap_square.png",linecap_round:"linecap_round.png",linejoin_miter:"linejoin_miter.png",linejoin_bevel:"linejoin_bevel.png",linejoin_round:"linejoin_round.png",eye:"eye.png",no_color:"no_color.png",ok:"save.png",cancel:"cancel.png",warning:"warning.png",node_delete:"node_delete.png",node_clone:"node_clone.png",globe_link:"globe_link.png"},placement:{"#logo":"logo","#tool_clear div,#layer_new":"new_image","#tool_save div":"save","#tool_export div":"export","#tool_open div div":"open","#tool_import div div":"import","#tool_source":"source","#tool_docprops > div":"docprops","#tool_wireframe":"wireframe","#tool_undo":"undo","#tool_redo":"redo","#tool_select":"select","#tool_fhpath":"pencil","#tool_line":"pen","#tool_rect,#tools_rect_show":"rect","#tool_square":"square","#tool_fhrect":"fh_rect","#tool_ellipse,#tools_ellipse_show":"ellipse","#tool_circle":"circle","#tool_fhellipse":"fh_ellipse","#tool_path":"path","#tool_text,#layer_rename":"text","#tool_image":"image","#tool_zoom":"zoom","#tool_clone,#tool_clone_multi":"clone","#tool_node_clone":"node_clone","#layer_delete,#tool_delete,#tool_delete_multi":"delete","#tool_node_delete":"node_delete","#tool_add_subpath":"add_subpath","#tool_openclose_path":"open_path","#tool_move_top":"move_top","#tool_move_bottom":"move_bottom","#tool_topath":"to_path","#tool_node_link":"link_controls","#tool_reorient":"reorient","#tool_group_elements":"group_elements","#tool_ungroup":"ungroup","#tool_unlink_use":"unlink_use","#tool_alignleft, #tool_posleft":"align_left","#tool_aligncenter, #tool_poscenter":"align_center","#tool_alignright, #tool_posright":"align_right","#tool_aligntop, #tool_postop":"align_top","#tool_alignmiddle, #tool_posmiddle":"align_middle","#tool_alignbottom, #tool_posbottom":"align_bottom","#cur_position":"align","#linecap_butt,#cur_linecap":"linecap_butt","#linecap_round":"linecap_round","#linecap_square":"linecap_square","#linejoin_miter,#cur_linejoin":"linejoin_miter","#linejoin_round":"linejoin_round","#linejoin_bevel":"linejoin_bevel","#url_notice":"warning","#layer_up":"go_up","#layer_down":"go_down","#layer_moreopts":"context_menu","#layerlist td.layervis":"eye","#tool_source_save,#tool_docprops_save,#tool_prefs_save":"ok","#tool_source_cancel,#tool_docprops_cancel,#tool_prefs_cancel":"cancel","#rwidthLabel, #iwidthLabel":"width","#rheightLabel, #iheightLabel":"height","#cornerRadiusLabel span":"c_radius","#angleLabel":"angle","#linkLabel,#tool_make_link,#tool_make_link_multi":"globe_link","#zoomLabel":"zoom","#tool_fill label":"fill","#tool_stroke .icon_label":"stroke","#group_opacityLabel":"opacity","#blurLabel":"blur","#font_sizeLabel":"fontsize",".flyout_arrow_horiz":"arrow_right",".dropdown button, #main_button .dropdown":"arrow_down","#palette .palette_item:first, #fill_bg, #stroke_bg":"no_color"},resize:{"#logo .svg_icon":28,".flyout_arrow_horiz .svg_icon":5,".layer_button .svg_icon, #layerlist td.layervis .svg_icon":14,".dropdown button .svg_icon":7,"#main_button .dropdown .svg_icon":9,".palette_item:first .svg_icon":15,"#fill_bg .svg_icon, #stroke_bg .svg_icon":16,".toolbar_button button .svg_icon":16,".stroke_tool div div .svg_icon":20,"#tools_bottom label .svg_icon":18},callback:function(){var e=n(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=function(e){switch(e){case"jgraduate/css/jPicker.css":return 1;case"jgraduate/css/jGraduate.css":return 2;case"svg-editor.css":return 3;case"spinbtn/jQuery.SpinButton.css":return 4;default:return 1/0}},Nr(".toolbar_button button > svg, .toolbar_button button > img").each((function(){Nr(this).parent().prepend(this)})),(n=Nr("#tools_left")).length&&(r=n.offset().top+n.outerHeight()),a=Nr.pref("iconsize"),Ir.setIconSize(a||(Nr(window).height()<r?"s":"m")),Nr(".tools_flyout").each((function(){var e=Nr("#"+this.id+"_show"),t=e.attr("data-curopt");if(!e.children("svg, img").length){var n=Nr(t).children().clone();n.length&&(n[0].removeAttribute("style"),e.append(n))}})),o=Nr.loadingStylesheets.sort((function(e,t){var n=i(e),r=i(t);return n===r?0:n>r})),Hr.stylesheets.length&&(o=h(new Set(Hr.stylesheets)),(s=o.indexOf("@default"))>-1&&(l=o).splice.apply(l,[s,1].concat(h(Nr.loadingStylesheets)))),e.next=11,Pr(o,{acceptErrors:function(e){var t=e.stylesheetURL,n=e.reject,r=e.resolve;Nr.loadingStylesheets.includes(t)?n(new Error("Missing expected stylesheet: ".concat(t))):r()}});case 11:return Nr("#svg_container")[0].style.visibility="visible",e.next=14,Ir.runCallbacks();case 14:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),t.prev=10,t.next=13,Promise.all(Hr.extensions.map(function(){var e=n(regeneratorRuntime.mark((function e(t){var n,r,i,o,s,l,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.match(/^ext-(.+)\.js/)){e.next=3;break}return e.abrupt("return",void 0);case 3:return r=Hr.extPath+t,e.prev=4,e.next=7,un(r,{global:"svgEditorExtension_"+n[1].replace(/-/g,"_")});case 7:return i=e.sent,o=i.name,s=void 0===o?n[1]:o,l=i.init,c=Yr({defaultLang:a,defaultName:s}),e.abrupt("return",Ir.addExtension(s,l&&l.bind(Ir),{$:Nr,importLocale:c}));case 13:return e.prev=13,e.t0=e.catch(4),console.log(e.t0),console.error("Extension failed to load: "+t+"; "+e.t0),e.abrupt("return",void 0);case 18:case"end":return e.stop()}}),e,null,[[4,13]])})));return function(t){return e.apply(this,arguments)}}()));case 13:Tr.bind("extensions_added",(function(e,t){Wr=!0,yn.setAll(),Nr(".flyout_arrow_horiz:empty").each((function(){Nr(this).append(Nr.getSvgIcon("arrow_right",!0).width(5).height(5))})),"ignore"===Ir.storagePromptState&&J(!0),Xr.forEach((function(e){Tr.call("message",e)}))})),Tr.call("extensions_added"),t.next=20;break;case 17:t.prev=17,t.t0=t.catch(10),console.log(t.t0);case 20:case"end":return t.stop()}}),t,null,[[10,17]])})));return function(){return t.apply(this,arguments)}}(),s={tool_scale:Ir.tool_scale},l=function(){Nr(".tools_flyout").each((function(){var e=Nr("#"+this.id+"_show"),t=e.offset(),n=t.left,r=t.top,a=e.outerWidth();Nr(this).css({left:(n+a)*Ir.tool_scale,top:r})}))},c=function(){var e=/^(?:Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/,t=document.getElementsByTagName("script")[0];for(var n in t.style)if(e.test(n))return n.match(e)[0];return"WebkitOpacity"in t.style?"Webkit":"KhtmlOpacity"in t.style?"Khtml":""}(),u=Ir.setIconSize=function(e){var t="#tools_top .toolset, #editor_panel > *, #history_panel > *, #main_button, #tools_left > *, #path_node_panel > *, #multiselected_panel > *, #g_panel > *, #tool_font_size > *, .tools_flyout",n=Nr(t),r=1;if("number"==typeof e)r=e;else{r={s:.75,m:1,l:1.25,xl:1.5}[e]}s.tool_scale=Ir.tool_scale=r,l();var a=n.parents(":hidden");a.css("visibility","hidden").show(),function(e,t){var n=["top","left","bottom","right"];e.each((function(){for(var e=Nr(this),r=e.outerWidth()*(t-1),a=e.outerHeight()*(t-1),i=0;i<4;i++){var o=n[i],s=e.data("orig_margin-"+o);an(s)&&(s=parseInt(e.css("margin-"+o)),e.data("orig_margin-"+o,s));var l=s*t;"right"===o?l+=r:"bottom"===o&&(l+=a),e.css("margin-"+o,l)}}))}(n,r),a.css("visibility","visible").hide(),Nr.pref("iconsize",e),Nr("#iconsize").val(e);var i={"#tools_top":{left:50+Nr("#main_button").width(),height:72},"#tools_left":{width:31,top:74},"div#workarea":{left:38,top:74}},o=Nr("#tool_size_rules");if(o.length?o.empty():o=Nr('<style id="tool_size_rules"></style>').appendTo("head"),"m"!==e){var u="";Nr.each(i,(function(t,n){t="#svg_editor "+t.replace(/,/g,", #svg_editor"),u+=t+"{",Nr.each(n,(function(t,n){var a;"number"==typeof n?a=n*r+"px":(n[e]||n.all)&&(a=n[e]||n.all),u+=t+":"+a+";"})),u+="}"}));var d="-"+c.toLowerCase()+"-";u+=t+"{"+d+"transform: scale("+r+");} #svg_editor div.toolset .toolset {"+d+"transform: scale(1); margin: 1px !important;} #svg_editor .ui-slider {"+d+"transform: scale("+1/r+");}",o.text(u)}l()};Ir.canvas=Tr=new mr(document.getElementById("svgcanvas"),Hr);var f,g,m=U()?"meta+":"ctrl+",v=Tr.pathActions,y=Tr.undoMgr,_=Nr("#workarea"),b=Nr("#cmenu_canvas"),x={fill:null,stroke:null},w=null,S=Hr.imgPath+"logo.png",k="crosshair",C="crosshair",A="toolbars";!function(){var e=window.opener||window.parent;if(e)try{var t=new e.CustomEvent("svgEditorReady",{bubbles:!0,cancelable:!0});e.document.documentElement.dispatchEvent(t)}catch(e){}}();for(var E=function(){var e=Nr(".tool_button_current");e.length&&"tool_select"!==e[0].id&&(e.removeClass("tool_button_current").addClass("tool_button"),Nr("#tool_select").addClass("tool_button_current").removeClass("tool_button"),Nr("#styleoverrides").text("\n #svgcanvas svg * {\n cursor: move;\n pointer-events: all;\n }\n #svgcanvas svg {\n cursor: default;\n }\n ")),Tr.setMode("select"),_.css("cursor","auto")},G=Nr("title:first").text(),P=[],I=.1;I<1e5;I*=10)P.push(I),P.push(2*I),P.push(5*I);var N=function(e){var t,n=[],r=Tr.getCurrentDrawing().getNumLayers();for(t=0;t<r;t++)n[t]=Tr.getCurrentDrawing().getLayerName(t);e?n.forEach((function(t){t!==e&&Tr.getCurrentDrawing().setLayerOpacity(t,.5)})):n.forEach((function(e){Tr.getCurrentDrawing().setLayerOpacity(e,1)}))},T=function(){Tr.clearSelection();for(var e=Nr("#layerlist tbody").empty(),t=Nr("#selLayerNames").empty(),n=Tr.getCurrentDrawing(),r=n.getCurrentLayerName(),a=Nr.getSvgIcon("eye"),i=Tr.getCurrentDrawing().getNumLayers();i--;){var o=n.getLayerName(i),s=Nr('<tr class="layer">').toggleClass("layersel",o===r),l=Nr('<td class="layervis">').toggleClass("layerinvis",!n.getLayerVisibility(o)),c=Nr('<td class="layername">'+o+"</td>");e.append(s.append(l,c)),t.append('<option value="'+o+'">'+o+"</option>")}if(void 0!==a){var u=a.clone();Nr("td.layervis",e).append(u),Nr.resizeSvgIcons({"td.layervis .svg_icon":14})}Nr("#layerlist td.layername").mouseup((function(e){Nr("#layerlist tr.layer").removeClass("layersel"),Nr(this.parentNode).addClass("layersel"),Tr.setCurrentLayer(this.textContent),e.preventDefault()})).mouseover((function(){N(this.textContent)})).mouseout((function(){N()})),Nr("#layerlist td.layervis").click((function(){var e=Nr(this.parentNode).prevAll().length,t=Nr("#layerlist tr.layer:eq("+e+") td.layername").text(),n=Nr(this).hasClass("layerinvis");Tr.setLayerVisibility(t,n),Nr(this).toggleClass("layerinvis")}));for(var d=5-Nr("#layerlist tr.layer").size();d-- >0;)e.append('<tr><td style="color:white">_</td><td/></tr>')},L=!1,M="",O=function(e,t){L||(L=!0,M=Tr.getSvgString(),Nr("#save_output_btns").toggle(Boolean(t)),Nr("#tool_source_back").toggle(!t),Nr("#svg_source_textarea").val(M),Nr("#svg_source_editor").fadeIn(),Nr("#svg_source_textarea").focus())},j=null,H=!1,z=function(){window.opera&&Nr("<p/>").hide().appendTo("body").remove()};function q(e,t){var n=e.id,r=d(n.split("_"),2),i=r[0],o=r[1];t&&Tr.setStrokeAttr("stroke-"+i,o),z(),a("#cur_"+i,n,20),Nr(e).addClass("current").siblings().removeClass("current")}var Y=Ir.toolButtonClick=function(e,t){if(Nr(e).hasClass("disabled"))return!1;if(Nr(e).parent().hasClass("tools_flyout"))return!0;return t||Nr(".tools_flyout").fadeOut("normal"),Nr("#styleoverrides").text(""),_.css("cursor","auto"),Nr(".tool_button_current").removeClass("tool_button_current").addClass("tool_button"),Nr(e).addClass("tool_button_current").removeClass("tool_button"),!0},W=Ir.clickSelect=function(){Y("#tool_select")&&(Tr.setMode("select"),Nr("#styleoverrides").text("\n #svgcanvas svg * {\n cursor: move;\n pointer-events: all;\n }\n #svgcanvas svg {\n cursor: default;\n }\n "))},X=Ir.setImageURL=function(e){e||(e=S),Tr.setImageURL(e),Nr("#image_url").val(e),e.startsWith("data:")?(Nr("#image_url").hide(),Nr("#change_image_url").show()):(Tr.embedImage(e,(function(t){Nr("#url_notice").toggle(!t),S=e})),Nr("#image_url").show(),Nr("#change_image_url").hide())};function Q(e,t){Nr.pref("bkgd_color",e),Nr.pref("bkgd_url",t),Tr.setBackground(e,t)}function K(){return Z.apply(this,arguments)}function Z(){return(Z=n(regeneratorRuntime.mark((function e(){var t,n,r,a,i,o=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=o.length>0&&void 0!==o[0]?o[0]:{},n=t.cancelDeletes,r=void 0!==n&&n,a=(a=Tr.getHref(j)).startsWith("data:")?"":a,e.next=5,Nr.prompt(Rr.notification.enterNewImgURL,a);case 5:(i=e.sent)?X(i):r&&Tr.deleteSelectedElements();case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $(e,t){var n,r;t||(t=Tr.getZoom()),e||(e=Nr("#svgcanvas"));var a=Tr.getContentElem(),i=re()[Hr.baseUnit];for(n=0;n<2;n++){var o=0===n,s=o?"x":"y",l=o?"width":"height",c=Number(a.getAttribute(s)),u=Nr("#ruler_"+s+" canvas:first"),d=u.clone();u.replaceWith(d);var h=d[0],f=e[l](),p=f;h.parentNode.style[l]=p+"px";var g=h.getContext("2d"),m=void 0,v=void 0,y=void 0;if(g.fillStyle="rgb(200,0,0)",g.fillRect(0,0,h.width,h.height),d.siblings().remove(),f>=3e4){y=parseInt(f/3e4)+1,(m=[])[0]=g;var _=void 0;for(r=1;r<y;r++)h[l]=3e4,_=h.cloneNode(!0),h.parentNode.append(_),m[r]=_.getContext("2d");_[l]=f%3e4,f=3e4}h[l]=f;var b=i*t,x=50/b,w=1;for(r=0;r<P.length&&(w=v=P[r],!(x<=v));r++);var S=w*b;g.font="9px sans-serif";for(var k=c/b%w*b,C=k-S,A=0;k<p;){C+=S;var E=Math.round(k)+.5;o?(g.moveTo(E,15),g.lineTo(E,0)):(g.moveTo(15,E),g.lineTo(0,E)),v=(C-c)/b;var G=void 0;if(w>=1)G=Math.round(v);else{var I=String(w).split(".")[1].length;G=v.toFixed(I)}if(0!==G&&1e3!==G&&G%1e3==0&&(G=G/1e3+"K"),o)g.fillText(G,k+2,8);else{var N=String(G).split("");for(r=0;r<N.length;r++)g.fillText(N[r],1,k+9+9*r)}var T=S/10;for(r=1;r<10;r++){var L=Math.round(k+T*r)+.5;if(m&&L>f){if(A++,g.stroke(),A>=y){r=10,k=p;continue}g=m[A],k-=3e4,L=Math.round(k+T*r)+.5}var M=r%2?12:10;o?(g.moveTo(L,15),g.lineTo(L,M)):(g.moveTo(15,L),g.lineTo(M,L))}k+=S}g.strokeStyle="#000",g.stroke()}}var J=Ir.updateCanvas=function(e,t){var n=Tr.getZoom(),r=_,a=Nr("#svgcanvas"),i=_.width(),o=_.height(),s=i,l=o,c=r[0].scrollLeft+s/2,u=r[0].scrollTop+l/2,d=Hr.canvas_expansion;i=Math.max(s,Tr.contentW*n*d),o=Math.max(l,Tr.contentH*n*d),i===s&&o===l?_.css("overflow","hidden"):_.css("overflow","scroll");var h=a.height()/2,f=a.width()/2;a.width(i).height(o);var p=o/2,g=i/2,m=Tr.updateCanvas(i,o),v=g/f,y=i/2-s/2,b=o/2-l/2;t?(t.x+=m.x,t.y+=m.y):t={x:g+(c-f)*v,y:p+(u-h)*v};e?Tr.contentW>r.width()?(_[0].scrollLeft=m.x-10,_[0].scrollTop=m.y-10):(r[0].scrollLeft=y,r[0].scrollTop=b):(r[0].scrollLeft=t.x-s/2,r[0].scrollTop=t.y-l/2),Hr.showRulers&&($(a,n),_.scroll()),!0!==Lr.storagePrompt&&"ignore"===Ir.storagePromptState&&Nr("#dialog_box").hide()},ee=function(){var e="none"===Tr.getColor("fill"),t="none"===Tr.getColor("stroke"),n=["#tool_fhpath","#tool_line"],r=["#tools_rect .tool_button","#tools_ellipse .tool_button","#tool_text","#tool_path"];t?n.forEach((function(e){Nr(e).hasClass("tool_button_current")&&W(),Nr(e).addClass("disabled")})):n.forEach((function(e){Nr(e).removeClass("disabled")})),t&&e?r.forEach((function(e){Nr(e).hasClass("tool_button_current")&&W(),Nr(e).addClass("disabled")})):r.forEach((function(e){Nr(e).removeClass("disabled")})),Tr.runExtensions("toolButtonStateUpdate",{nofill:e,nostroke:t}),Nr(".tools_flyout").each((function(){var e=Nr("#"+this.id+"_show"),t=!1;Nr(this).children().each((function(){Nr(this).hasClass("disabled")||(t=!0)})),e.toggleClass("disabled",!t)})),z()},te=function(){var e=j;an(e)||e.parentNode||(e=null);var t=Tr.getCurrentDrawing().getCurrentLayerName(),n=Tr.getMode(),r="px"!==Hr.baseUnit?Hr.baseUnit:null,i="pathedit"===n,o=Nr("#cmenu_canvas li");if(Nr("#selected_panel, #multiselected_panel, #g_panel, #rect_panel, #circle_panel,#ellipse_panel, #line_panel, #text_panel, #image_panel, #container_panel, #use_panel, #a_panel").hide(),an(e))H?(Nr("#multiselected_panel").show(),o.enableContextMenuItems("#group").disableContextMenuItems("#ungroup")):o.disableContextMenuItems("#delete,#cut,#copy,#group,#ungroup,#move_front,#move_up,#move_down,#move_back");else{var s=e.nodeName,l=Tr.getRotationAngle(e);Nr("#angle").val(l);var c=Tr.getBlur(e);if(Nr("#blur").val(c),Nr("#blur_slider").slider("option","value",c),Tr.addedNew&&"image"===s&&"image"===Tr.getMode()&&(Tr.getHref(e).startsWith("data:")||K({cancelDeletes:!0})),i||"pathedit"===n){var u=v.getNodePoint();if(Nr("#tool_add_subpath").removeClass("push_button_pressed").addClass("tool_button"),Nr("#tool_node_delete").toggleClass("disabled",!v.canDeleteNodes),a("#tool_openclose_path",v.closed_subpath?"open_path":"close_path"),u){var d=Nr("#seg_type");r&&(u.x=ie(u.x),u.y=ie(u.y)),Nr("#path_node_x").val(u.x),Nr("#path_node_y").val(u.y),u.type?d.val(u.type).removeAttr("disabled"):d.val(4).attr("disabled","disabled")}return}if(Nr("#selected_panel").show(),["line","circle","ellipse"].includes(s))Nr("#xy_panel").hide();else{var h,f;if(["g","polyline","path"].includes(s)){var p=Tr.getStrokedBBox([e]);p&&(h=p.x,f=p.y)}else h=e.getAttribute("x"),f=e.getAttribute("y");r&&(h=ie(h),f=ie(f)),Nr("#selected_x").val(h||0),Nr("#selected_y").val(f||0),Nr("#xy_panel").show()}var g=!["image","text","path","g","use"].includes(s);Nr("#tool_topath").toggle(g),Nr("#tool_reorient").toggle("path"===s),Nr("#tool_reorient").toggleClass("disabled",0===l);var m={g:[],a:[],rect:["rx","width","height"],image:["width","height"],circle:["cx","cy","r"],ellipse:["cx","cy","rx","ry"],line:["x1","y1","x2","y2"],text:[],use:[]},_=e.tagName,x=null;if("a"===_&&(x=Tr.getHref(e),Nr("#g_panel").show()),"a"===e.parentNode.tagName&&(Nr(e).siblings().length||(Nr("#a_panel").show(),x=Tr.getHref(e.parentNode))),Nr("#tool_make_link, #tool_make_link").toggle(!x),x&&Nr("#link_url").val(x),m[_]){var w=m[_];if(Nr("#"+_+"_panel").show(),Nr.each(w,(function(t,n){var r=e.getAttribute(n);if("px"!==Hr.baseUnit&&e[n]){var a=e[n].baseVal.value;r=ie(a)}Nr("#"+_+"_"+n).val(r||0)})),"text"===_)Nr("#text_panel").css("display","inline"),Nr("#tool_font_size").css("display","inline"),Tr.getItalic()?Nr("#tool_italic").addClass("push_button_pressed").removeClass("tool_button"):Nr("#tool_italic").removeClass("push_button_pressed").addClass("tool_button"),Tr.getBold()?Nr("#tool_bold").addClass("push_button_pressed").removeClass("tool_button"):Nr("#tool_bold").removeClass("push_button_pressed").addClass("tool_button"),Nr("#font_family").val(e.getAttribute("font-family")),Nr("#font_size").val(e.getAttribute("font-size")),Nr("#text").val(e.textContent),Tr.addedNew&&setTimeout((function(){Nr("#text").focus().select()}),100);else if("image"===_&&"image"===Tr.getMode())X(Tr.getHref(e));else if("g"===_||"use"===_){Nr("#container_panel").show();var S=Tr.getTitle(),k=Nr("#g_title")[0];k.value=S,function(e){var t=Math.min(Math.max(12+6*e.value.length,50),300);Nr(e).width(t)}(k),Nr("#g_title").prop("disabled","use"===_)}}o[("g"===_?"en":"dis")+"ableContextMenuItems"]("#ungroup"),o[("g"!==_&&H?"en":"dis")+"ableContextMenuItems"]("#group")}Nr("#tool_undo").toggleClass("disabled",0===y.getUndoStackSize()),Nr("#tool_redo").toggleClass("disabled",0===y.getRedoStackSize()),Tr.addedNew=!1,e&&!i||H?(Nr("#selLayerNames").removeAttr("disabled").val(t),b.enableContextMenuItems("#delete,#cut,#copy,#move_front,#move_up,#move_down,#move_back")):Nr("#selLayerNames").attr("disabled","disabled")},ne=function(){if(!Kt){var e="\n #workarea.wireframe #svgcontent * {\n stroke-width: ".concat(1/Tr.getZoom(),"px;\n }\n ");Nr("#wireframe_rules").text(_.hasClass("wireframe")?e:"")}},ae="",oe=function(e){e=e||Tr.getDocumentTitle();var t=G+(e?": "+e:"");Nr("title:first").text(t)};var se=function(){ne()},ce=Tr.zoomChanged=function(e,t,n){var r=_,a=Tr.setBBoxZoom(t,r.width()-15,r.height()-15);if(a){var i=a.zoom,o=a.bbox;i<.001?ue({value:.1}):(Nr("#zoom").val((100*i).toFixed(1)),n?J():J(!1,{x:o.x*i+o.width*i/2,y:o.y*i+o.height*i/2}),"zoom"===Tr.getMode()&&o.width&&E(),se())}},ue=function(e){var t=e.value/100;if(t<.001)e.value=.1;else{var n=Tr.getZoom(),r=_;ce(window,{width:0,height:0,x:(r[0].scrollLeft+r.width()/2)/n,y:(r[0].scrollTop+r.height()/2)/n,zoom:t},!0)}};Nr("#cur_context_panel").delegate("a","click",(function(){var e=Nr(this);return e.attr("data-root")?Tr.leaveContext():Tr.setContext(e.text()),Tr.clearSelection(),!1}));var de=function(){x.fill.prep(),x.stroke.prep()},he={},fe=function(){Nr(".tools_flyout").each((function(){var e=Nr("#"+this.id+"_show");if(!e.data("isLibrary")){var t=Nr(this).children().map((function(){return this.title})).get();e[0].title=t.join(" / ")}}))},pe={},ge=function(e){Nr.each(e,(function(t,n){var r;pe[t]||(pe[t]=[]),(r=pe[t]).push.apply(r,h(n));var a,i=Nr(t).children().not(".tool_button_evt_handled"),o=t+"_show",s=Nr(o),l=!1;i.addClass("tool_button tool_button_evt_handled").unbind("click mousedown mouseup").each((function(){var t="#"+this.getAttribute("id"),r=Object.entries(n).find((function(e){var n=d(e,2);n[0];return n[1].sel===t})),a=d(r,2),i=a[0],c=a[1];he[c.sel]=c.fn,c.isDefault&&(l=i);var u=function(t){var n,r=c;if("keydown"===t.type){var a=Nr(r.parent+"_show").hasClass("tool_button_current"),i=Nr(r.parent+"_show").attr("data-curopt");Object.entries(e[c.parent]).some((function(n){var o=d(n,2),s=o[0],l=o[1];return l.sel===i&&(t.shiftKey&&a?(s=parseInt(s),r=pe[c.parent][s+1]||e[c.parent][0]):r=l,!0)}))}return!Nr(this).hasClass("disabled")&&(Y(o)&&r.fn(),(n=r.icon?Nr.getSvgIcon(r.icon,!0):Nr(r.sel).children().eq(0).clone())[0].setAttribute("width",s.width()),n[0].setAttribute("height",s.height()),s.children(":not(.flyout_arrow_horiz)").remove(),s.append(n).attr("data-curopt",r.sel),!0)};return Nr(this).mouseup(u),c.key&&Nr(document).bind("keydown",c.key[0]+" shift+"+c.key[0],u),!0})),l?s.attr("data-curopt",n[l].sel):s.attr("data-curopt")||s.attr("data-curopt",n[0].sel);var c=Nr(o).position();s.mousedown((function(e){if(s.hasClass("disabled"))return!1;var n=Nr(t),r=c.left+34,i=-1*n.width(),o=n.data("shown_popop")?200:0;return a=setTimeout((function(){s.data("isLibrary")?n.css("left",r).show():n.css("left",i).show().animate({left:r},150),n.data("shown_popop",!0)}),o),e.preventDefault(),!0})).mouseup((function(e){clearTimeout(a);var t=Nr(this).attr("data-curopt");s.data("isLibrary")&&Nr(o.replace("_show","")).is(":visible")?Y(o,!0):Y(o)&&he[t]&&he[t]()}))})),fe(),l()},me=function(e,t){return Nr("<div>",{class:"tools_flyout",id:e}).appendTo("#svg_editor").append(t)},ve=function(e,t,n,r){var i=Nr(e),o=r.dropUp,s=Nr(t);o&&Nr(e).addClass("dropup"),s.find("li").bind("mouseup",(function(){r.seticon&&(a("#cur_"+i[0].id,Nr(this).children()),Nr(this).addClass("current").siblings().removeClass("current"));for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];n.apply.apply(n,[this].concat(t))}));var l=!1;Nr(window).mouseup((function(e){l||(i.removeClass("down"),s.hide(),s.css({top:0,left:0})),l=!1})),i.bind("mousedown",(function(){var e=i.offset();o?(e.top-=s.height(),e.left+=8):e.top+=i.height(),s.offset(e),i.hasClass("down")?(s.hide(),s.css({top:0,left:0})):(s.show(),l=!0),i.toggleClass("down")})).hover((function(){l=!0})).mouseout((function(){l=!1})),r.multiclick&&s.mousedown((function(){l=!0}))},ye=[],_e=function(){var e=n(regeneratorRuntime.mark((function e(t,n){var r,a,i,o,s,l,c,d,h,p,g;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=function(){f&&(clearTimeout(f),f=null),a||(f=setTimeout((function(){a=!0,u(Nr.pref("iconsize"))}),50))},n){e.next=3;break}return e.abrupt("return",void 0);case 3:if(r=!1,a=!1,!n.langReady){e.next=14;break}if(!Ir.langChanged){e.next=13;break}return i=Nr.pref("lang"),e.next=10,n.langReady({lang:i,uiStrings:Rr,importLocale:Yr({defaultLang:i,defaultName:n.name})});case 10:kn.push(n.name),e.next=14;break;case 13:ye.push(n);case 14:if(s=function(){n.callback&&!r&&(r=!0,n.callback.call(Ir))},l=[],n.context_tools&&Nr.each(n.context_tools,(function(e,t){var n,r=t.container_id?' id="'+t.container_id+'"':"",a=Nr("#"+t.panel);switch(a.length||(a=Nr("<div>",{id:t.panel}).appendTo("#tools_top")),t.type){case"tool_button":n='<div class="tool_button">'+t.id+"</div>";var i=Nr(n).appendTo(a);t.events&&Nr.each(t.events,(function(e,t){Nr(i).bind(e,t)}));break;case"select":n="<label"+r+'><select id="'+t.id+'">',Nr.each(t.options,(function(e,r){var a=e===t.defval?" selected":"";n+='<option value="'+e+'"'+a+">"+r+"</option>"}));var o=Nr(n+="</select></label>").appendTo(a).find("select");Nr.each(t.events,(function(e,t){Nr(o).bind(e,t)}));break;case"button-select":n='<div id="'+t.id+'" class="dropdown toolset" title="'+t.title+'"><div id="cur_'+t.id+'" class="icon_label"></div><button></button></div>';var s=Nr('<ul id="'+t.id+'_opts"></ul>').appendTo("#option_lists");t.colnum&&s.addClass("optcols"+t.colnum),Nr(n).appendTo(a).children(),l.push({elem:"#"+t.id,list:"#"+t.id+"_opts",title:t.title,callback:t.events.change,cur:"#cur_"+t.id});break;case"input":n="<label"+r+'><span id="'+t.id+'_label">'+t.label+':</span><input id="'+t.id+'" title="'+t.title+'" size="'+(t.size||"4")+'" value="'+(t.defval||"")+'" type="text"/></label>';var c=Nr(n).appendTo(a).find("input");t.spindata&&c.SpinButton(t.spindata),t.events&&Nr.each(t.events,(function(e,t){c.bind(e,t)}))}})),c=n.svgicons,!n.buttons){e.next=24;break}if(d={},h={},p={},g={},Nr.each(n.buttons,(function(e,t){for(var n,r,a,i,o,s,l,u=t.id,f=e;Nr("#"+u).length;)u=t.id+"_"+ ++f;if(c){d[u]=t.icon,h[u]=t.title;var m=t.svgicon||t.id;"app_menu"===t.type?p["#"+u+" > div"]=m:p["#"+u]=m}else n=Nr('<img src="'+t.icon+(t.title?'" alt="'+t.title:"")+'">');switch(t.type){case"mode_flyout":case"mode":r="tool_button",a="#tools_left";break;case"context":r="tool_button",a="#"+t.panel,Nr(a).length||Nr("<div>",{id:t.panel}).appendTo("#tools_top");break;case"app_menu":r="",a="#main_menu ul"}var v,y=Nr(t.list||"app_menu"===t.type?"<li/>":"<div/>").attr("id",u).attr("title",t.title).addClass(r);if(t.includeWith||t.list){if(t.list){if(y.addClass("push_button"),Nr("#"+t.list+"_opts").append(y),t.isDefault){Nr("#cur_"+t.list).append(y.children().clone());var _=t.svgicon||t.id;p["#cur_"+t.list]=_}}else if(t.includeWith){var b,x=t.includeWith;i=(l=Nr(x.button)).parent(),l.parent().hasClass("tools_flyout")||(b=l[0].id.replace("tool_","tools_"),o=l.clone().attr("id",b+"_show").append(Nr("<div>",{class:"flyout_arrow_horiz"})),l.before(o),i=me(b,l)),s=yn.getButtonData(x.button),x.isDefault&&(p["#"+b+"_show"]=t.id);var w=g["#"+i[0].id]=[{sel:"#"+u,fn:t.events.click,icon:t.id,key:t.key,isDefault:Boolean(t.includeWith&&t.includeWith.isDefault)},s],S="position"in x?x.position:"last",k=i.children().length;!isNaN(S)&&S>=0&&S<k?i.children().eq(S).before(y):(i.append(y),w.reverse())}}else"position"in t?Nr(a).children().eq(t.position).length?Nr(a).children().eq(t.position).before(y):Nr(a).children().last().after(y):y.appendTo(a),"mode_flyout"===t.type?(i=(l=Nr(y)).parent(),l.parent().hasClass("tools_flyout")||(v=l[0].id.replace("tool_","tools_"),o=l.clone().attr("id",v+"_show").append(Nr("<div>",{class:"flyout_arrow_horiz"})),l.before(o),(i=me(v,l)).data("isLibrary",!0),o.data("isLibrary",!0)),p["#"+v+"_show"]=t.id,g["#"+i[0].id]=[{sel:"#"+u,fn:t.events.click,icon:t.id,isDefault:!0}]):"app_menu"===t.type&&y.append("<div>").append(t.title);c||y.append(n),t.list||Nr.each(t.events,(function(e,n){"click"===e&&"mode"===t.type?(F()&&"click"===e&&(e="mousedown"),t.includeWith?y.bind(e,n):y.bind(e,(function(){Y(y)&&n()})),t.key&&(Nr(document).bind("keydown",t.key,n),t.title&&y.attr("title",t.title+" ["+t.key+"]"))):y.bind(e,n)})),ge(g)})),Nr.each(l,(function(){ve(this.elem,this.list,this.callback,{seticon:!0})})),!c){e.next=24;break}return e.abrupt("return",new Promise((function(e,t){Nr.svgIcons(c,{w:24,h:24,id_match:!1,no_img:!V(),fallback:d,placement:p,callback:function(t){"m"!==Nr.pref("iconsize")&&o(),s(),e()}})})));case 24:return e.abrupt("return",s());case 25:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();Tr.bind("selected",(function(e,t){var n=Tr.getMode();"select"===n&&E();var r="pathedit"===n;j=1===t.length||an(t[1])?t[0]:null,H=t.length>=2&&!an(t[1]),an(j)||r||function(){var e,t;if(!an(j))switch(j.tagName){case"use":case"image":case"foreignObject":break;case"g":case"a":var n=j.getElementsByTagName("*"),r=null;for(e=0,t=n.length;e<t;e++){var a=n[e].getAttribute("stroke-width");0===e?r=a:r!==a&&(r=null)}Nr("#stroke_width").val(null===r?"":r),x.fill.update(!0),x.stroke.update(!0);break;default:x.fill.update(!0),x.stroke.update(!0),Nr("#stroke_width").val(j.getAttribute("stroke-width")||1),Nr("#stroke_style").val(j.getAttribute("stroke-dasharray")||"none");var i=j.getAttribute("stroke-linejoin")||"miter";Nr("#linejoin_"+i).length&&q(Nr("#linejoin_"+i)[0]),i=j.getAttribute("stroke-linecap")||"butt",Nr("#linecap_"+i).length&&q(Nr("#linecap_"+i)[0])}if(!an(j)){var o=100*(j.getAttribute("opacity")||1);Nr("#group_opacity").val(o),Nr("#opac_slider").slider("option","value",o),Nr("#elem_id").val(j.id),Nr("#elem_class").val(j.getAttribute("class"))}ee()}(),function(e,t){Nr("#path_node_panel").toggle(e),Nr("#tools_bottom_2,#tools_bottom_3").toggle(!e),e?(Nr(".tool_button_current").removeClass("tool_button_current").addClass("tool_button"),Nr("#tool_select").addClass("tool_button_current").removeClass("tool_button"),a("#tool_select","select_node"),H=!1,t.length&&(j=t[0])):setTimeout((function(){a("#tool_select","select")}),1e3)}(r,t),te(),Tr.runExtensions("selectedChanged",{elems:t,selectedElement:j,multiselected:H})})),Tr.bind("transition",(function(e,t){var n=Tr.getMode(),r=t[0];if(r){if(!(H=t.length>=2&&!an(t[1])))switch(n){case"rotate":var a=Tr.getRotationAngle(r);Nr("#angle").val(a),Nr("#tool_reorient").toggleClass("disabled",0===a)}Tr.runExtensions("elementTransition",{elems:t})}})),Tr.bind("changed",(function(e,t){var n=Tr.getMode();"select"===n&&E(),t.forEach((function(e){var t=e&&"svg"===e.tagName;t||function(e){return e&&"g"===e.tagName&&vn.CLASS_REGEX.test(e.getAttribute("class"))}(e)?(T(),t&&J()):e&&j&&an(j.parentNode)&&(j=e)})),Ir.showSaveWarning=!0,te(),j&&"select"===n&&(x.fill.update(),x.stroke.update()),Tr.runExtensions("elementChanged",{elems:t})})),Tr.bind("saved",(function(e,t){if(Ir.showSaveWarning=!1,t='<?xml version="1.0"?>\n'+t,B())O(0,!0);else{var n=document.createElement("a");n.href="data:image/svg+xml;base64,"+Ct(t),n.download="icon.svg",n.style.display="none",document.body.append(n),n.click();var r=Nr.pref("save_notice_done");if("all"!==r){var a=Rr.notification.saveFromBrowser.replace("%s","SVG");R()?t.includes("<defs")?(a+="\n\n"+Rr.notification.defsFailOnSave,Nr.pref("save_notice_done","all"),r="all"):Nr.pref("save_notice_done","part"):Nr.pref("save_notice_done","all"),"part"!==r&&Nr.alert(a)}}})),Tr.bind("exported",(function(e,t){var n=t.issues,r=t.exportWindowName;if((w=window.open(Nt||"",r))&&!w.closed){if(w.location.href=t.bloburl||t.datauri,"all"!==Nr.pref("export_notice_done")){var a=Rr.notification.saveFromBrowser.replace("%s",t.type);if(n.length){a+="\n\n"+Rr.notification.noteTheseIssues+"\n • "+n.join("\n • ")}Nr.pref("export_notice_done","all"),w.alert(a)}}else Nr.alert(Rr.notification.popupWindowBlocked)})),Tr.bind("exportedPDF",(function(e,t){if(t.output){var n=t.exportWindowName;n&&(w=window.open("",n)),w&&!w.closed?w.location.href=t.output:Nr.alert(Rr.notification.popupWindowBlocked)}})),Tr.bind("zoomed",ce),Tr.bind("zoomDone",se),Tr.bind("updateCanvas",(function(e,t){var n=t.center,r=t.newCtr;J(n,r)})),Tr.bind("contextset",(function(e,t){var n="";if(t){var r="";n='<a href="#" data-root="y">'+Tr.getCurrentDrawing().getCurrentLayerName()+"</a>",Nr(t).parentsUntil("#svgcontent > g").andSelf().each((function(){this.id&&(r+=" > "+this.id,n+=this!==t?' > <a href="#">'+this.id+"</a>":" > "+this.id)})),ae=r}else ae=null;Nr("#cur_context_panel").toggle(Boolean(t)).html(n),oe()})),Tr.bind("extension_added",_e),Tr.textActions.setInputElem(Nr("#text")[0]);var be='<div class="palette_item" data-rgb="none"></div>';Nr.each(["#000000","#3f3f3f","#7f7f7f","#bfbfbf","#ffffff","#ff0000","#ff7f00","#ffff00","#7fff00","#00ff00","#00ff7f","#00ffff","#007fff","#0000ff","#7f00ff","#ff00ff","#ff007f","#7f0000","#7f3f00","#7f7f00","#3f7f00","#007f00","#007f3f","#007f7f","#003f7f","#00007f","#3f007f","#7f007f","#7f003f","#ffaaaa","#ffd4aa","#ffffaa","#d4ffaa","#aaffaa","#aaffd4","#aaffff","#aad4ff","#aaaaff","#d4aaff","#ffaaff","#ffaad4"],(function(e,t){be+='<div class="palette_item" style="background-color: '+t+';" data-rgb="'+t+'"></div>'})),Nr("#palette").append(be);be="",Nr.each(["#FFF","#888","#000"],(function(){be+='<div class="color_block" style="background-color:'+this+';"></div>'})),Nr("#bg_blocks").append(be);var xe=Nr("#bg_blocks div"),we="cur_background";xe.each((function(){Nr(this).click((function(){xe.removeClass(we),Nr(this).addClass(we)}))})),Q(Nr.pref("bkgd_color"),Nr.pref("bkgd_url")),Nr("#image_save_opts input").val([Nr.pref("img_save")]);var Se=function(e,t){an(t)&&(t=e.value),Nr("#group_opacity").val(t),e&&e.handle||Nr("#opac_slider").slider("option","value",t),Tr.setOpacity(t/100)},ke=function(e,t,n){an(t)&&(t=e.value),Nr("#blur").val(t);var r=!1;e&&e.handle||(Nr("#blur_slider").slider("option","value",t),r=!0),n?Tr.setBlurNoUndo(t):Tr.setBlur(t,r)};Nr("#stroke_style").change((function(){Tr.setStrokeAttr("stroke-dasharray",Nr(this).val()),z()})),Nr("#stroke_linejoin").change((function(){Tr.setStrokeAttr("stroke-linejoin",Nr(this).val()),z()})),Nr("select").change((function(){Nr(this).blur()}));var Ce,Ae,Ee,Ge,Pe,Ie=!1;Nr("#selLayerNames").change(n(regeneratorRuntime.mark((function e(){var t,n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.options[this.selectedIndex].value,n=Rr.notification.QmoveElemsToLayer.replace("%s",t),r=function(e){e&&(Ie=!0,Tr.moveSelectedToLayer(t),Tr.clearSelection(),T())},!t){e.next=14;break}if(!Ie){e.next=8;break}r(!0),e.next=14;break;case 8:return e.next=10,Nr.confirm(n);case 10:if(e.sent){e.next=13;break}return e.abrupt("return");case 13:r(!0);case 14:case"end":return e.stop()}}),e,this)})))),Nr("#font_family").change((function(){Tr.setFontFamily(this.value)})),Nr("#seg_type").change((function(){Tr.setSegType(Nr(this).val())})),Nr("#text").bind("keyup input",(function(){Tr.setTextContent(this.value)})),Nr("#image_url").change((function(){X(this.value)})),Nr("#link_url").change((function(){this.value.length?Tr.setLinkURL(this.value):Tr.removeHyperlink()})),Nr("#g_title").change((function(){Tr.setGroupTitle(this.value)})),Nr(".attr_changer").change((function(){var e=this.getAttribute("data-attr"),t=this.value;if(!le(e,t,j))return this.value=j.getAttribute(e),Nr.alert(Rr.notification.invalidAttrValGiven),!1;if("id"!==e&&"class"!==e)if(isNaN(t))t=Tr.convertToNum(e,t);else if("px"!==Hr.baseUnit){var n=re();(j[e]||"pathedit"===Tr.getMode()||"x"===e||"y"===e)&&(t*=n[Hr.baseUnit])}if("id"===e){var r=j;Tr.clearSelection(),r.id=t,Tr.addToSelection([r],!0)}else Tr.changeSelectedAttribute(e,t);return this.blur(),!0})),Nr("#palette").mouseover((function(){var e=Nr('<input type="hidden">');Nr(this).append(e),e.focus().remove()})),Nr(".palette_item").mousedown((function(e){var t,n=e.shiftKey||2===e.button?"stroke":"fill",r=Nr(this).data("rgb");"none"===r||"transparent"===r||"initial"===r?(r="none",t=new Nr.jGraduate.Paint):t=new Nr.jGraduate.Paint({alpha:100,solidColor:r.substr(1)}),x[n].setPaint(t),Tr.setColor(n,r),"none"!==r&&1!==Tr.getPaintOpacity(n)&&Tr.setPaintOpacity(n,1),ee()})).bind("contextmenu",(function(e){e.preventDefault()})),Nr("#toggle_stroke_tools").on("click",(function(){Nr("#tools_bottom").toggleClass("expanded")})),Ce=_[0],Ae=null,Ee=null,Ge=!1,Pe=!1,Nr("#svgcanvas").bind("mousemove mouseup",(function(e){return!1===Ge||(Ce.scrollLeft-=e.clientX-Ae,Ce.scrollTop-=e.clientY-Ee,Ae=e.clientX,Ee=e.clientY,"mouseup"===e.type&&(Ge=!1),!1)})).mousedown((function(e){return 1!==e.button&&!0!==Pe||(Ge=!0,Ae=e.clientX,Ee=e.clientY,!1)})),Nr(window).mouseup((function(){Ge=!1})),Nr(document).bind("keydown","space",(function(e){Tr.spaceKey=Pe=!0,e.preventDefault()})).bind("keyup","space",(function(e){e.preventDefault(),Tr.spaceKey=Pe=!1})).bind("keydown","shift",(function(e){"zoom"===Tr.getMode()&&_.css("cursor",C)})).bind("keyup","shift",(function(e){"zoom"===Tr.getMode()&&_.css("cursor",k)})),Ir.setPanning=function(e){Tr.spaceKey=Pe=e},function(){var e=Nr("#main_icon"),t=Nr("#main_icon span"),n=Nr("#main_menu"),r=!1,a=0,i=!0,o=!1;Nr(window).mouseup((function(t){r||(e.removeClass("buttondown"),"INPUT"!==t.target.tagName?n.fadeOut(200):o||(o=!0,Nr(t.target).click((function(){n.css("margin-left","-9999px").show()})))),r=!1})).mousedown((function(e){Nr(e.target).closest("div.tools_flyout, .contextMenu").length||Nr(".tools_flyout:visible,.contextMenu").fadeOut(250)})),t.bind("mousedown",(function(){e.hasClass("buttondown")?n.fadeOut(200):(n.css("margin-left",0).show(),a||(a=n.height()),n.css("height",0).animate({height:a},200),r=!0),e.toggleClass("buttondown buttonup")})).hover((function(){r=!0})).mouseout((function(){r=!1}));var s=Nr("#main_menu li");s.mouseover((function(){i="rgba(0, 0, 0, 0)"===Nr(this).css("background-color"),s.unbind("mouseover"),i&&s.mouseover((function(){this.style.backgroundColor="#FFC"})).mouseout((function(){return this.style.backgroundColor="transparent",!0}))}))}(),Ir.addDropDown=function(e,t,n){if(Nr(e).length){var r=Nr(e).find("button"),a=Nr(e).find("ul").attr("id",Nr(e)[0].id+"-list");n?Nr(e).addClass("dropup"):Nr("#option_lists").append(a),a.find("li").bind("mouseup",t);var i=!1;Nr(window).mouseup((function(e){i||(r.removeClass("down"),a.hide()),i=!1})),r.bind("mousedown",(function(){if(r.hasClass("down"))a.hide();else{if(!n){var t=Nr(e).position();a.css({top:t.top+24,left:t.left-10})}a.show(),i=!0}r.toggleClass("down")})).hover((function(){i=!0})).mouseout((function(){i=!1}))}},Ir.addDropDown("#font_family_dropdown",(function(){Nr("#font_family").val(Nr(this).text()).change()})),Ir.addDropDown("#opacity_dropdown",(function(){if(!Nr(this).find("div").length){var e=parseInt(Nr(this).text().split("%")[0]);Se(!1,e)}}),!0),Nr("#opac_slider").slider({start:function(){Nr("#opacity_dropdown li:not(.special)").hide()},stop:function(){Nr("#opacity_dropdown li").show(),Nr(window).mouseup()},slide:function(e,t){Se(t)}}),Ir.addDropDown("#blur_dropdown",Nr.noop);var Ne,Te,Le=!1;Nr("#blur_slider").slider({max:10,step:.1,stop:function(e,t){Le=!1,ke(t),Nr("#blur_dropdown li").show(),Nr(window).mouseup()},start:function(){Le=!0},slide:function(e,t){ke(t,null,Le)}}),Ir.addDropDown("#zoom_dropdown",(function(){var e=Nr(this),t=e.data("val");t?ce(window,t):ue({value:parseFloat(e.text())})}),!0),ve("#stroke_linecap","#linecap_opts",(function(){q(this,!0)}),{dropUp:!0}),ve("#stroke_linejoin","#linejoin_opts",(function(){q(this,!0)}),{dropUp:!0}),ve("#tool_position","#position_opts",(function(){var e=this.id.replace("tool_pos","").charAt(0);Tr.alignSelectedElements(e,"page")}),{multiclick:!0}),Te=function(){Nr(Ne).blur()},Nr("#svg_editor").find("button, select, input:not(#text)").focus((function(){Ne=this,A="toolbars",_.mousedown(Te)})).blur((function(){A="canvas",_.unbind("mousedown",Te),"textedit"===Tr.getMode()&&Nr("#text").focus()}));var Me,Oe=function(){Y("#tool_fhpath")&&Tr.setMode("fhpath")},je=function(){Y("#tool_line")&&Tr.setMode("line")},Ve=function(){Y("#tool_square")&&Tr.setMode("square")},Re=function(){Y("#tool_rect")&&Tr.setMode("rect")},Be=function(){Y("#tool_fhrect")&&Tr.setMode("fhrect")},De=function(){Y("#tool_circle")&&Tr.setMode("circle")},Ue=function(){Y("#tool_ellipse")&&Tr.setMode("ellipse")},Fe=function(){Y("#tool_fhellipse")&&Tr.setMode("fhellipse")},He=function(){Y("#tool_image")&&Tr.setMode("image")},ze=function(){Y("#tool_zoom")&&(Tr.setMode("zoom"),_.css("cursor",k))},qe=function(e){var t=Tr.getResolution();e=e?t.zoom*e:1,Nr("#zoom").val(100*e),Tr.setZoom(e),se(),J(!0)},Ye=function(){Y("#tool_zoom")&&(qe(),E())},We=function(){Y("#tool_text")&&Tr.setMode("text")},Xe=function(){Y("#tool_path")&&Tr.setMode("path")},Qe=function(){an(j)&&!H||Tr.deleteSelectedElements()},Ke=function(){an(j)&&!H||Tr.cutSelectedElements()},Ze=function(){an(j)&&!H||Tr.copySelectedElements()},$e=function(){var e=Tr.getZoom(),t=(_[0].scrollLeft+_.width()/2)/e-Tr.contentW,n=(_[0].scrollTop+_.height()/2)/e-Tr.contentH;Tr.pasteElements("point",t,n)},Je=function(){an(j)||Tr.moveToTopSelectedElement()},et=function(){an(j)||Tr.moveToBottomSelectedElement()},tt=function(e){an(j)||Tr.moveUpDownSelected(e)},nt=function(){an(j)||Tr.convertToPath()},rt=function(){an(j)||v.reorient()},at=function(){var e=n(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(an(j)&&!H){e.next=5;break}return e.next=3,Nr.prompt(Rr.notification.enterNewLinkURL,"http://");case 3:(t=e.sent)&&Tr.makeHyperlink(t);case 5:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),it=function(e,t){if(!an(j)||H){if(Hr.gridSnapping){var n=Tr.getZoom()*Hr.snappingStep;e*=n,t*=n}Tr.moveSelectedElements(e,t)}},ot=function(){Nr("#tool_node_link").toggleClass("push_button_pressed tool_button");var e=Nr("#tool_node_link").hasClass("push_button_pressed");v.linkControlPoints(e)},st=function(){v.getNodePoint()&&v.clonePathNode()},lt=function(){v.getNodePoint()&&v.deletePathNode()},ct=function(){var e=Nr("#tool_add_subpath"),t=!e.hasClass("push_button_pressed");e.toggleClass("push_button_pressed tool_button"),v.addSubPath(t)},ut=function(){v.opencloseSubPath()},dt=function(){Tr.cycleElement(1)},ht=function(){Tr.cycleElement(0)},ft=function(e,t){if(!an(j)&&!H){e||(t*=-1);var n=parseFloat(Nr("#angle").val())+t;Tr.setRotationAngle(n),te()}},pt=function(){var e=n(regeneratorRuntime.mark((function e(){var t,n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=d(Hr.dimensions,2),n=t[0],r=t[1],e.next=3,Nr.confirm(Rr.notification.QwantToClear);case 3:if(e.sent){e.next=6;break}return e.abrupt("return");case 6:E(),Tr.clear(),Tr.setResolution(n,r),J(!0),qe(),T(),te(),de(),Tr.runExtensions("onNewDocument");case 15:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),gt=function(){return Tr.setBold(!Tr.getBold()),te(),!1},mt=function(){return Tr.setItalic(!Tr.getItalic()),te(),!1},vt=function(){var e=n(regeneratorRuntime.mark((function e(){var t,n,r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=function(){var e,t,r=Rr.notification.loadingImage;if("new"===Hr.exportWindowType&&Ir.exportWindowCt++,n=Hr.canvasName+Ir.exportWindowCt,Me)t=Me;else{if(e='<!DOCTYPE html><html>\n <head>\n <meta charset="utf-8">\n <title>'.concat(r,"</title>\n </head>\n <body><h1>").concat(r,"</h1></body>\n <html>"),"undefined"!=typeof URL&&URL.createObjectURL){var a=new Blob([e],{type:"text/html"});t=URL.createObjectURL(a)}else t="data:text/html;base64;charset=utf-8,"+Ct(e);Me=t}w=window.open(t,n)},e.next=3,Nr.select("Select an image type for export: ",["PNG","JPEG","BMP","WEBP","PDF"],(function(){var e=Nr(this);"JPEG"===e.val()||"WEBP"===e.val()?Nr("#image-slider").length||Nr("<div><label>".concat(Rr.ui.quality,'\n <input id="image-slider"\n type="range" min="1" max="100" value="92" />\n </label></div>')).appendTo(e.parent()):Nr("#image-slider").parent().remove()}));case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return");case 6:if(a=D(),"PDF"!==t){e.next=12;break}Ur||a||r(),Tr.exportPDF(n),e.next=16;break;case 12:return Dr||r(),i=parseInt(Nr("#image-slider").val())/100,e.next=16,Tr.rasterExport(t,i,n);case 16:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),yt=function(){Tr.open()},_t=function(){},bt=function(){y.getUndoStackSize()>0&&(y.undo(),T())},xt=function(){y.getRedoStackSize()>0&&(y.redo(),T())},wt=function(){H?Tr.groupSelectedElements():j&&Tr.ungroupSelectedElement()},St=function(){Tr.cloneSelectedElements(20,20)},kt=function(){var e=this.id.replace("tool_align","").charAt(0);Tr.alignSelectedElements(e,Nr("#align_relative_to").val())},At=function(){if(Nr("#tool_wireframe").toggleClass("push_button_pressed tool_button"),_.toggleClass("wireframe"),!Kt){var e=Nr("#wireframe_rules");e.length?e.empty():Nr('<style id="wireframe_rules"></style>').appendTo("head"),ne()}};Nr("#svg_docprops_container, #svg_prefs_container").draggable({cancel:"button,fieldset",containment:"window"}).css("position","absolute");var Et,Gt,Pt=!1,It=!1,Tt=function(){if(!Pt){Pt=!0,Nr("#image_save_opts input").val([Nr.pref("img_save")]);var e=Tr.getResolution();"px"!==Hr.baseUnit&&(e.w=ie(e.w)+Hr.baseUnit,e.h=ie(e.h)+Hr.baseUnit),Nr("#canvas_width").val(e.w),Nr("#canvas_height").val(e.h),Nr("#canvas_title").val(Tr.getDocumentTitle()),Nr("#svg_docprops").show()}},Lt=function(){Nr("#svg_source_editor").hide(),L=!1,Nr("#svg_source_textarea").blur()},Mt=function(){var e=n(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(L){e.next=2;break}return e.abrupt("return");case 2:if(t=function(){Tr.clearSelection(),Lt(),qe(),T(),oe(),de()},Tr.setSvgString(Nr("#svg_source_textarea").val())){e.next=11;break}return e.next=6,Nr.confirm(Rr.notification.QerrorsRevertToSource);case 6:if(e.sent){e.next=9;break}return e.abrupt("return");case 9:return t(),e.abrupt("return");case 11:t(),E();case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Ot=function(){Nr("#svg_docprops").hide(),Nr("#canvas_width,#canvas_height").removeAttr("disabled"),Nr("#resolution")[0].selectedIndex=0,Nr("#image_save_opts input").val([Nr.pref("img_save")]),Pt=!1},jt=function(){Nr("#svg_prefs").hide(),It=!1},Vt=function(){var e=Nr("#canvas_title").val();oe(e),Tr.setDocumentTitle(e);var t=Nr("#canvas_width"),n=t.val(),r=Nr("#canvas_height"),a=r.val();return"fit"===n||le("width",n)?(t.parent().removeClass("error"),"fit"===a||le("height",a)?(r.parent().removeClass("error"),Tr.setResolution(n,a)?(Nr.pref("img_save",Nr("#image_save_opts :checked").val()),J(),Ot(),!0):(Nr.alert(Rr.notification.noContentToFitTo),!1)):(r.parent().addClass("error"),Nr.alert(Rr.notification.invalidAttrValGiven),!1)):(t.parent().addClass("error"),Nr.alert(Rr.notification.invalidAttrValGiven),!1)},Rt=Ir.savePreferences=n(regeneratorRuntime.mark((function t(){var n,r,a,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(Q(Nr("#bg_blocks div.cur_background").css("background-color")||"#FFF",Nr("#canvas_bg_url").val()),(n=Nr("#lang_select").val())===Nr.pref("lang")){t.next=11;break}return t.next=6,Ir.putLocale(n,e,Hr);case 6:return r=t.sent,a=r.langParam,i=r.langData,t.next=11,Cn(a,i);case 11:u(Nr("#iconsize").val()),Hr.gridSnapping=Nr("#grid_snapping_on")[0].checked,Hr.snappingStep=Nr("#grid_snapping_step").val(),Hr.gridColor=Nr("#grid_color").val(),Hr.showRulers=Nr("#show_rulers")[0].checked,Nr("#rulers").toggle(Hr.showRulers),Hr.showRulers&&$(),Hr.baseUnit=Nr("#base_unit").val(),Tr.setConfig(Hr),J(),jt();case 22:case"end":return t.stop()}}),t)}))),Bt=Nr.noop,Dt=function(){var e=n(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Nr("#dialog_box").hide(),L||Pt||It){e.next=4;break}return ae&&Tr.leaveContext(),e.abrupt("return");case 4:if(!L){e.next=15;break}if(M===Nr("#svg_source_textarea").val()){e.next=12;break}return e.next=8,Nr.confirm(Rr.notification.QignoreSourceChanges);case 8:e.sent&&Lt(),e.next=13;break;case 12:Lt();case 13:e.next=16;break;case 15:Pt?Ot():It&&jt();case 16:Bt();case 17:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Ut={width:Nr(window).width(),height:Nr(window).height()};if(B()&&(Bt=function(){0===_[0].scrollLeft&&0===_[0].scrollTop&&(_[0].scrollLeft=g.left,_[0].scrollTop=g.top)},g={left:_[0].scrollLeft,top:_[0].scrollTop},Nr(window).resize(Bt),Ir.ready((function(){return new Promise((function(e,t){setTimeout((function(){Bt(),e()}),500)}))})),_.scroll((function(){g={left:_[0].scrollLeft,top:_[0].scrollTop}}))),Nr(window).resize((function(e){Nr.each(Ut,(function(e,t){var n=Nr(window)[e]();_[0]["scroll"+("width"===e?"Left":"Top")]-=(n-t)/2,Ut[e]=n})),l()})),_.scroll((function(){Nr("#ruler_x").length&&(Nr("#ruler_x")[0].scrollLeft=_[0].scrollLeft),Nr("#ruler_y").length&&(Nr("#ruler_y")[0].scrollTop=_[0].scrollTop)})),Nr("#url_notice").click((function(){Nr.alert(this.title)})),Nr("#change_image_url").click(K),Et="tool_button_current",Gt="",Nr.each(["clear","open","save","source","delete","delete_multi","paste","clone","clone_multi","move_top","move_bottom"],(function(e,t){Gt+=(e?",":"")+"#tool_"+t})),Nr(Gt).mousedown((function(){Nr(this).addClass(Et)})).bind("mousedown mouseout",(function(){Nr(this).removeClass(Et)})),Nr("#tool_undo, #tool_redo").mousedown((function(){Nr(this).hasClass("disabled")||Nr(this).addClass(Et)})).bind("mousedown mouseout",(function(){Nr(this).removeClass(Et)})),U()&&!window.opera)for(var Ft=["tool_clear","tool_save","tool_source","tool_undo","tool_redo","tool_clone"],Ht=Ft.length;Ht--;){var zt=document.getElementById(Ft[Ht]);if(zt){var qt=zt.title,Yt=qt.indexOf("Ctrl+");zt.title=[qt.substr(0,Yt),"Cmd+",qt.substr(Yt+5)].join("")}}var Wt=function(e){var t="stroke_color"===e.attr("id")?"stroke":"fill",n="stroke"===t?Rr.ui.pick_stroke_paint_opacity:Rr.ui.pick_fill_paint_opacity,r=e.offset(),a=x[t].paint;Nr("#color_picker").draggable({cancel:".jGraduate_tabs, .jGraduate_colPick, .jGraduate_gradPick, .jPicker",containment:"window"}).css(Hr.colorPickerCSS||{left:r.left-140,bottom:40}).jGraduate({paint:a,window:{pickerTitle:n},images:{clientPath:Hr.jGraduatePath},newstop:"inverse"},(function(e){a=new Nr.jGraduate.Paint(e),x[t].setPaint(a),Tr.setPaint(t,a),Nr("#color_picker").hide()}),(function(){Nr("#color_picker").hide()}))},Xt=function(){function e(t,n){r(this,e);var a=Hr["fill"===n?"initFill":"initStroke"],i=(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg">\n <rect width="16.5" height="16.5"\n fill="#'.concat(a.color,'" opacity="').concat(a.opacity,'"/>\n <defs><linearGradient id="gradbox_').concat(e.ctr++,'"/></defs>\n </svg>'),"text/xml").documentElement;(i=Nr(t)[0].appendChild(document.importNode(i,!0))).setAttribute("width",16.5),this.rect=i.firstElementChild,this.defs=i.getElementsByTagName("defs")[0],this.grad=this.defs.firstElementChild,this.paint=new Nr.jGraduate.Paint({solidColor:a.color}),this.type=n}return i(e,[{key:"setPaint",value:function(e,t){this.paint=e;var n=e.type,r=e.alpha/100,a="none";switch(n){case"solidColor":a="none"!==e[n]?"#"+e[n]:e[n];break;case"linearGradient":case"radialGradient":this.grad.remove(),this.grad=this.defs.appendChild(e[n]),a="url(#"+(this.grad.id="gradbox_"+this.type)+")"}this.rect.setAttribute("fill",a),this.rect.setAttribute("opacity",r),t&&(Tr.setColor(this.type,this._paintColor,!0),Tr.setPaintOpacity(this.type,this._paintOpacity,!0))}},{key:"update",value:function(e){if(j){var t=this.type;switch(j.tagName){case"use":case"image":case"foreignObject":return;case"g":case"a":for(var n=j.getElementsByTagName("*"),r=null,a=0,i=n.length;a<i;a++){var o=n[a].getAttribute(t);if(0===a)r=o;else if(r!==o){r=null;break}}if(null===r)return void(this._paintColor=null);this._paintColor=r,this._paintOpacity=1;break;default:this._paintOpacity=parseFloat(j.getAttribute(t+"-opacity")),isNaN(this._paintOpacity)&&(this._paintOpacity=1);var s="fill"===t?"black":"none";this._paintColor=j.getAttribute(t)||s}e&&(Tr.setColor(t,this._paintColor,!0),Tr.setPaintOpacity(t,this._paintOpacity,!0)),this._paintOpacity*=100;var l=function(e,t,n){var r={alpha:t};if(e.startsWith("url(#")){var a=Tr.getRefElem(e);r[(a=a?a.cloneNode(!0):Nr("#"+n+"_color defs *")[0]).tagName]=a}else e.startsWith("#")?r.solidColor=e.substr(1):r.solidColor="none";return new Nr.jGraduate.Paint(r)}(this._paintColor,this._paintOpacity,t);this.setPaint(l)}}},{key:"prep",value:function(){switch(this.paint.type){case"linearGradient":case"radialGradient":var e=new Nr.jGraduate.Paint({copy:this.paint});Tr.setPaint(this.type,e)}}}]),e}();Xt.ctr=0,x.fill=new Xt("#fill_color","fill"),x.stroke=new Xt("#stroke_color","stroke"),Nr("#stroke_width").val(Hr.initStroke.width),Nr("#group_opacity").val(100*Hr.initOpacity);var Qt=x.fill.rect.cloneNode(!1);Qt.setAttribute("style","vector-effect:non-scaling-stroke");var Kt="non-scaling-stroke"===Qt.style.vectorEffect;Qt.removeAttribute("style");var Zt,$t,Jt=x.fill.rect.ownerDocument.createElementNS(p.SVG,"feGaussianBlur");function en(){Tr.deleteCurrentLayer()&&(te(),T(),Nr("#layerlist tr.layer").removeClass("layersel"),Nr("#layerlist tr.layer:first").addClass("layersel"))}function tn(){return(tn=n(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Tr.getCurrentDrawing().getCurrentLayerName()+" copy",e.next=3,Nr.prompt(Rr.notification.enterUniqueLayerName,t);case 3:if(n=e.sent){e.next=6;break}return e.abrupt("return");case 6:if(!Tr.getCurrentDrawing().hasLayer(n)){e.next=9;break}return Nr.alert(Rr.notification.dupeLayerName),e.abrupt("return");case 9:Tr.cloneLayer(n),te(),T();case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function nn(e){var t=Tr.getCurrentDrawing().getNumLayers(),n=Nr("#layerlist tr.layersel").index();(n>0||n<t-1)&&(n+=e,Tr.setCurrentLayerPosition(t-n-1),T())}void 0===Jt.stdDeviationX&&Nr("#tool_blur").hide(),Nr(Jt).remove(),Zt="-"+c.toLowerCase()+"-zoom-",$t=Zt+"in",_.css("cursor",$t),_.css("cursor")===$t&&(k=$t,C=Zt+"out"),_.css("cursor","auto"),setTimeout((function(){Tr.embedImage("images/logo.png",(function(e){e||(Nr("#image_save_opts [value=embed]").attr("disabled","disabled"),Nr("#image_save_opts input").val(["ref"]),Nr.pref("img_save","ref"),Nr("#image_opt_embed").css("color","#666").attr("title",Rr.notification.featNotSupported))}))}),1e3),Nr("#fill_color, #tool_fill .icon_label").click((function(){Wt(Nr("#fill_color")),ee()})),Nr("#stroke_color, #tool_stroke .icon_label").click((function(){Wt(Nr("#stroke_color")),ee()})),Nr("#group_opacityLabel").click((function(){Nr("#opacity_dropdown button").mousedown(),Nr(window).mouseup()})),Nr("#zoomLabel").click((function(){Nr("#zoom_dropdown button").mousedown(),Nr(window).mouseup()})),Nr("#tool_move_top").mousedown((function(e){Nr("#tools_stacking").show(),e.preventDefault()})),Nr(".layer_button").mousedown((function(){Nr(this).addClass("layer_buttonpressed")})).mouseout((function(){Nr(this).removeClass("layer_buttonpressed")})).mouseup((function(){Nr(this).removeClass("layer_buttonpressed")})),Nr(".push_button").mousedown((function(){Nr(this).hasClass("disabled")||Nr(this).addClass("push_button_pressed").removeClass("push_button")})).mouseout((function(){Nr(this).removeClass("push_button_pressed").addClass("push_button")})).mouseup((function(){Nr(this).removeClass("push_button_pressed").addClass("push_button")})),Nr("#layer_new").click(n(regeneratorRuntime.mark((function e(){var t,n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=Tr.getCurrentDrawing().getNumLayers();do{t=Rr.layers.layer+" "+ ++n}while(Tr.getCurrentDrawing().hasLayer(t));return e.next=4,Nr.prompt(Rr.notification.enterUniqueLayerName,t);case 4:if(r=e.sent){e.next=7;break}return e.abrupt("return");case 7:if(!Tr.getCurrentDrawing().hasLayer(r)){e.next=10;break}return Nr.alert(Rr.notification.dupeLayerName),e.abrupt("return");case 10:Tr.createLayer(r),te(),T();case 13:case"end":return e.stop()}}),e)})))),Nr("#layer_delete").click(en),Nr("#layer_up").click((function(){nn(-1)})),Nr("#layer_down").click((function(){nn(1)})),Nr("#layer_rename").click(n(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Nr("#layerlist tr.layersel td.layername").text(),e.next=3,Nr.prompt(Rr.notification.enterNewLayerName,"");case 3:if(n=e.sent){e.next=6;break}return e.abrupt("return");case 6:if(t!==n&&!Tr.getCurrentDrawing().hasLayer(n)){e.next=9;break}return Nr.alert(Rr.notification.layerHasThatName),e.abrupt("return");case 9:Tr.renameCurrentLayer(n),T();case 11:case"end":return e.stop()}}),e)}))));var rn=-1,on=!1,ln=!1,cn=function(e){var t=Nr("#ruler_x");Nr("#sidepanels").width("+="+e),Nr("#layerpanel").width("+="+e),t.css("right",parseInt(t.css("right"))+e),_.css("right",parseInt(_.css("right"))+e),Tr.runExtensions("workareaResized")},dn=function(e){if(ln&&-1!==rn){on=!0;var t=rn-e.pageX,n=Nr("#sidepanels").width();n+t>300?t=300-n:n+t<2&&(t=2-n),0!==t&&(rn-=t,cn(t))}},hn=function(e){var t=window.devicePixelRatio||1,n=Nr("#sidepanels").width();cn(((t<1?n:n/t)>2||e?0:150*(t<1?1:t))-n)};Nr("#sidepanel_handle").mousedown((function(e){rn=e.pageX,Nr(window).mousemove(dn),ln=!1,setTimeout((function(){ln=!0}),20)})).mouseup((function(e){on||hn(),rn=-1,on=!1})),Nr(window).mouseup((function(){rn=-1,on=!1,Nr("#svg_editor").unbind("mousemove",dn)})),T();Nr(window).bind("load resize",(function(){_.css("line-height",_.height()+"px")})),Nr("#resolution").change((function(){var e=Nr("#canvas_width,#canvas_height");if(this.selectedIndex)if("content"===this.value)e.val("fit").attr("disabled","disabled");else{var t=this.value.split("x");Nr("#canvas_width").val(t[0]),Nr("#canvas_height").val(t[1]),e.removeAttr("disabled")}else"fit"===Nr("#canvas_width").val()&&e.removeAttr("disabled").val(100)})),Nr("input,select").attr("autocomplete","off");var fn,pn,mn=["#tool_source_cancel","#tool_docprops_cancel","#tool_prefs_cancel",".overlay"],yn=(fn=[{sel:"#tool_select",fn:W,evt:"click",key:["V",!0]},{sel:"#tool_fhpath",fn:Oe,evt:"click",key:["Q",!0]},{sel:"#tool_line",fn:je,evt:"click",key:["L",!0],parent:"#tools_line",prepend:!0},{sel:"#tool_rect",fn:Re,evt:"mouseup",key:["R",!0],parent:"#tools_rect",icon:"rect"},{sel:"#tool_square",fn:Ve,evt:"mouseup",parent:"#tools_rect",icon:"square"},{sel:"#tool_fhrect",fn:Be,evt:"mouseup",parent:"#tools_rect",icon:"fh_rect"},{sel:"#tool_ellipse",fn:Ue,evt:"mouseup",key:["E",!0],parent:"#tools_ellipse",icon:"ellipse"},{sel:"#tool_circle",fn:De,evt:"mouseup",parent:"#tools_ellipse",icon:"circle"},{sel:"#tool_fhellipse",fn:Fe,evt:"mouseup",parent:"#tools_ellipse",icon:"fh_ellipse"},{sel:"#tool_path",fn:Xe,evt:"click",key:["P",!0]},{sel:"#tool_text",fn:We,evt:"click",key:["T",!0]},{sel:"#tool_image",fn:He,evt:"mouseup"},{sel:"#tool_zoom",fn:ze,evt:"mouseup",key:["Z",!0]},{sel:"#tool_clear",fn:pt,evt:"mouseup",key:["N",!0]},{sel:"#tool_save",fn:function(){var e;L?Mt():(e={images:Nr.pref("img_save"),round_digits:6},Tr.save(e))},evt:"mouseup",key:["S",!0]},{sel:"#tool_export",fn:vt,evt:"mouseup"},{sel:"#tool_open",fn:yt,evt:"mouseup",key:["O",!0]},{sel:"#tool_import",fn:_t,evt:"mouseup"},{sel:"#tool_source",fn:O,evt:"click",key:["U",!0]},{sel:"#tool_wireframe",fn:At,evt:"click",key:["F",!0]},{key:["esc",!1,!1],fn:function(){mn.every((function(e){return Nr(e+":hidden").length}))&&Tr.clearSelection()},hidekey:!0},{sel:mn.join(","),fn:Dt,evt:"click",key:["esc",!1,!1],hidekey:!0},{sel:"#tool_source_save",fn:Mt,evt:"click"},{sel:"#tool_docprops_save",fn:Vt,evt:"click"},{sel:"#tool_docprops",fn:Tt,evt:"mouseup"},{sel:"#tool_prefs_save",fn:Rt,evt:"click"},{sel:"#tool_prefs_option",fn:function(){return function(){if(!It){It=!0,Nr("#main_menu").hide();var e=Fr.bkgd_color,t=Nr.pref("bkgd_url");xe.each((function(){var t=Nr(this),n=t.css("background-color")===e;t.toggleClass(we,n),n&&Nr("#canvas_bg_url").removeClass(we)})),e||xe.eq(0).addClass(we),t&&Nr("#canvas_bg_url").val(t),Nr("#grid_snapping_on").prop("checked",Hr.gridSnapping),Nr("#grid_snapping_step").attr("value",Hr.snappingStep),Nr("#grid_color").attr("value",Hr.gridColor),Nr("#svg_prefs").show()}}(),!1},evt:"mouseup"},{sel:"#tool_delete,#tool_delete_multi",fn:Qe,evt:"click",key:["del/backspace",!0]},{sel:"#tool_reorient",fn:rt,evt:"click"},{sel:"#tool_node_link",fn:ot,evt:"click"},{sel:"#tool_node_clone",fn:st,evt:"click"},{sel:"#tool_node_delete",fn:lt,evt:"click"},{sel:"#tool_openclose_path",fn:ut,evt:"click"},{sel:"#tool_add_subpath",fn:ct,evt:"click"},{sel:"#tool_move_top",fn:Je,evt:"click",key:"ctrl+shift+]"},{sel:"#tool_move_bottom",fn:et,evt:"click",key:"ctrl+shift+["},{sel:"#tool_topath",fn:nt,evt:"click"},{sel:"#tool_make_link,#tool_make_link_multi",fn:at,evt:"click"},{sel:"#tool_undo",fn:bt,evt:"click"},{sel:"#tool_redo",fn:xt,evt:"click"},{sel:"#tool_clone,#tool_clone_multi",fn:St,evt:"click",key:["D",!0]},{sel:"#tool_group_elements",fn:wt,evt:"click",key:["G",!0]},{sel:"#tool_ungroup",fn:wt,evt:"click"},{sel:"#tool_unlink_use",fn:wt,evt:"click"},{sel:"[id^=tool_align]",fn:kt,evt:"click"},{sel:"#tool_bold",fn:gt,evt:"mousedown"},{sel:"#tool_italic",fn:mt,evt:"mousedown"},{sel:"#sidepanel_handle",fn:hn,key:["X"]},{sel:"#copy_save_done",fn:Dt,evt:"click"},{key:"ctrl+left",fn:function(){ft(0,1)}},{key:"ctrl+right",fn:function(){ft(1,1)}},{key:"ctrl+shift+left",fn:function(){ft(0,5)}},{key:"ctrl+shift+right",fn:function(){ft(1,5)}},{key:"shift+O",fn:ht},{key:"shift+P",fn:dt},{key:[m+"up",!0],fn:function(){qe(2)}},{key:[m+"down",!0],fn:function(){qe(.5)}},{key:[m+"]",!0],fn:function(){tt("Up")}},{key:[m+"[",!0],fn:function(){tt("Down")}},{key:["up",!0],fn:function(){it(0,-1)}},{key:["down",!0],fn:function(){it(0,1)}},{key:["left",!0],fn:function(){it(-1,0)}},{key:["right",!0],fn:function(){it(1,0)}},{key:"shift+up",fn:function(){it(0,-10)}},{key:"shift+down",fn:function(){it(0,10)}},{key:"shift+left",fn:function(){it(-10,0)}},{key:"shift+right",fn:function(){it(10,0)}},{key:["alt+up",!0],fn:function(){Tr.cloneSelectedElements(0,-1)}},{key:["alt+down",!0],fn:function(){Tr.cloneSelectedElements(0,1)}},{key:["alt+left",!0],fn:function(){Tr.cloneSelectedElements(-1,0)}},{key:["alt+right",!0],fn:function(){Tr.cloneSelectedElements(1,0)}},{key:["alt+shift+up",!0],fn:function(){Tr.cloneSelectedElements(0,-10)}},{key:["alt+shift+down",!0],fn:function(){Tr.cloneSelectedElements(0,10)}},{key:["alt+shift+left",!0],fn:function(){Tr.cloneSelectedElements(-10,0)}},{key:["alt+shift+right",!0],fn:function(){Tr.cloneSelectedElements(10,0)}},{key:"a",fn:function(){Tr.selectAllInCurrentLayer()}},{key:m+"a",fn:function(){Tr.selectAllInCurrentLayer()}},{key:m+"z",fn:bt},{key:m+"shift+z",fn:xt},{key:m+"y",fn:xt},{key:m+"x",fn:Ke},{key:m+"c",fn:Ze},{key:m+"v",fn:$e}],pn={"4/Shift+4":"#tools_rect_show","5/Shift+5":"#tools_ellipse_show"},{setAll:function(){var e={};Nr.each(fn,(function(t,n){var r;if(n.sel){if(!(r=Nr(n.sel)).length)return!0;if(n.evt&&(F()&&"click"===n.evt&&(n.evt="mousedown"),r[n.evt](n.fn)),n.parent&&Nr(n.parent+"_show").length){var a=Nr(n.parent);a.length||(a=me(n.parent.substr(1))),n.prepend&&(r[0].style.margin="initial"),a[n.prepend?"prepend":"append"](r),Array.isArray(e[n.parent])||(e[n.parent]=[]),e[n.parent].push(n)}}if(n.key){var i,o=!1;Array.isArray(n.key)?(i=n.key[0],n.key.length>1&&(o=n.key[1])):i=n.key,i=String(i);var s=n.fn;if(Nr.each(i.split("/"),(function(e,t){Nr(document).bind("keydown",t,(function(e){return s(),o&&e.preventDefault(),!1}))})),n.sel&&!n.hidekey&&r.attr("title")){var l=r.attr("title").split("[")[0]+" ("+i+")";pn[i]=n.sel,r.parents("#main_menu").length||r.attr("title",l)}}return!0})),ge(e),Nr(".attr_changer, #image_url").bind("keydown","return",(function(e){Nr(this).change(),e.preventDefault()})),Nr(window).bind("keydown","tab",(function(e){"canvas"===A&&(e.preventDefault(),dt())})).bind("keydown","shift+tab",(function(e){"canvas"===A&&(e.preventDefault(),ht())})),Nr("#tool_zoom").dblclick(Ye)},setTitles:function(){Nr.each(pn,(function(e,t){var n=Nr(t).parents("#main_menu").length;Nr(t).each((function(){var t;t=n?Nr(this).text().split(" [")[0]:this.title.split(" [")[0];var r="";Nr.each(e.split("/"),(function(e,t){var n=t.split("+"),a="";n.length>1&&(a=n[0]+"+",t=n[1]),r+=(e?"/":"")+a+(Rr["key_"+t]||t)})),n?this.lastChild.textContent=t+" ["+r+"]":this.title=t+" ["+r+"]"}))}))},getButtonData:function(e){return Object.values(fn).find((function(t){return t.sel===e}))}});Ir.ready((function(){var e=Hr.initTool,t=Nr("#tools_left, #svg_editor .tools_flyout"),n=t.find("#tool_"+e),r=t.find("#"+e);(n.length?n:r.length?r:Nr("#tool_select")).click().mouseup(),Hr.wireframe&&Nr("#tool_wireframe").click(),Hr.showlayers&&hn(),Nr("#rulers").toggle(Boolean(Hr.showRulers)),Hr.showRulers&&(Nr("#show_rulers")[0].checked=!0),Hr.baseUnit&&Nr("#base_unit").val(Hr.baseUnit),Hr.gridSnapping&&(Nr("#grid_snapping_on")[0].checked=!0),Hr.snappingStep&&Nr("#grid_snapping_step").val(Hr.snappingStep),Hr.gridColor&&Nr("#grid_color").val(Hr.gridColor)})),Nr("#rect_rx").SpinButton({min:0,max:1e3,stateObj:s,callback:function(e){Tr.setRectRadius(e.value)}}),Nr("#stroke_width").SpinButton({min:0,max:99,smallStep:.1,stateObj:s,callback:function(e){var t=e.value;0===t&&j&&["line","polyline"].includes(j.nodeName)&&(t=e.value=1),Tr.setStrokeWidth(t)}}),Nr("#angle").SpinButton({min:-180,max:180,step:5,stateObj:s,callback:function(e){Tr.setRotationAngle(e.value),Nr("#tool_reorient").toggleClass("disabled",0===parseInt(e.value))}}),Nr("#font_size").SpinButton({min:.001,stepfunc:function(e,t){var n=Number(e.value),r=n+t,a=r>=n;return 0===t?n:n>=24?a?Math.round(1.1*n):Math.round(n/1.1):n<=1?a?2*n:n/2:r},stateObj:s,callback:function(e){Tr.setFontSize(e.value)}}),Nr("#group_opacity").SpinButton({min:0,max:100,step:5,stateObj:s,callback:Se}),Nr("#blur").SpinButton({min:0,max:10,step:.1,stateObj:s,callback:ke}),Nr("#zoom").SpinButton({min:.001,max:1e4,step:50,stepfunc:function(e,t){var n=Number(e.value);if(0===n)return 100;var r=n+t;return 0===t?n:n>=100?r:r>=n?2*n:n/2},stateObj:s,callback:ue}).val(100*Tr.getZoom()),Nr("#workarea").contextMenu({menu:"cmenu_canvas",inSpeed:0},(function(e,t,n){switch(e){case"delete":Qe();break;case"cut":Ke();break;case"copy":Ze();break;case"paste":Tr.pasteElements();break;case"paste_in_place":Tr.pasteElements("in_place");break;case"group":case"group_elements":Tr.groupSelectedElements();break;case"ungroup":Tr.ungroupSelectedElement();break;case"move_front":Je();break;case"move_up":tt("Up");break;case"move_down":tt("Down");break;case"move_back":et();break;default:Boolean(sn[e])&&function(e){return sn[e].action}(e).call()}}));var _n=function(e,t,n){switch(e){case"dupe":!function(){tn.apply(this,arguments)}();break;case"delete":en();break;case"merge_down":Nr("#layerlist tr.layersel").index()!==Tr.getCurrentDrawing().getNumLayers()-1&&(Tr.mergeLayer(),te(),T());break;case"merge_all":Tr.mergeAllLayers(),te(),T()}};function bn(){var e;try{e=localStorage.getItem("svgedit_clipboard")}catch(e){}b[(e?"en":"dis")+"ableContextMenuItems"]("#paste,#paste_in_place")}if(Nr("#layerlist").contextMenu({menu:"cmenu_layers",inSpeed:0},_n),Nr("#layer_moreopts").contextMenu({menu:"cmenu_layers",inSpeed:0,allowLeft:!0},_n),Nr(".contextMenu li").mousedown((function(e){e.preventDefault()})),Nr("#cmenu_canvas li").disableContextMenu(),b.enableContextMenuItems("#delete,#cut,#copy"),bn(),window.addEventListener("storage",(function(e){"svgedit_clipboard"===e.key&&bn()})),window.addEventListener("beforeunload",(function(e){return 0===y.getUndoStackSize()&&(Ir.showSaveWarning=!1),!(!Hr.no_save_warning&&Ir.showSaveWarning)||(e.returnValue=Rr.notification.unsavedChanges,Rr.notification.unsavedChanges)})),Ir.canvas.getUIStrings=function(){return Rr},Ir.openPrep=function(){return Nr("#main_menu").hide(),0===y.getUndoStackSize()||Nr.confirm(Rr.notification.QwantToOpen)},window.FileReader){var xn=function(e){Nr.process_cancel(Rr.notification.loadingImage),e.stopPropagation(),e.preventDefault(),Nr("#workarea").removeAttr("style"),Nr("#main_menu").hide();var t,n="drop"===e.type?e.dataTransfer.files[0]:this.files[0];n?n.type.includes("image")&&(n.type.includes("svg")?((t=new FileReader).onloadend=function(e){var t=Tr.importSvgString(e.target.result,!0);Tr.ungroupSelectedElement(),Tr.ungroupSelectedElement(),Tr.groupSelectedElements(),Tr.alignSelectedElements("m","page"),Tr.alignSelectedElements("c","page"),Tr.selectOnly([t]),Nr("#dialog_box").hide()},t.readAsText(n)):((t=new FileReader).onloadend=function(e){var t=e.target.result,n=100,r=100,a=new Image;a.style.opacity=0,a.addEventListener("load",(function(){var e,i,o;n=a.offsetWidth||a.naturalWidth||a.width,r=a.offsetHeight||a.naturalHeight||a.height,e=n,i=r,o=Tr.addSVGElementFromJson({element:"image",attr:{x:0,y:0,width:e,height:i,id:Tr.getNextId(),style:"pointer-events:inherit"}}),Tr.setHref(o,t),Tr.selectOnly([o]),Tr.alignSelectedElements("m","page"),Tr.alignSelectedElements("c","page"),te(),Nr("#dialog_box").hide()})),a.src=t},t.readAsDataURL(n))):Nr("#dialog_box").hide()};_[0].addEventListener("dragenter",(function(e){e.stopPropagation(),e.preventDefault()})),_[0].addEventListener("dragover",(function(e){e.stopPropagation(),e.preventDefault()})),_[0].addEventListener("dragleave",(function(e){e.stopPropagation(),e.preventDefault()})),_[0].addEventListener("drop",xn);var wn=Nr('<input type="file">').change(function(){var e=n(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ir.openPrep();case 2:if(e.sent){e.next=5;break}return e.abrupt("return");case 5:Tr.clear(),1===this.files.length&&(Nr.process_cancel(Rr.notification.loadingImage),(r=new FileReader).onloadend=function(){var e=n(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.target,e.next=3,zr(n.result);case 3:J();case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.readAsText(this.files[0]));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}());Nr("#tool_open").show().prepend(wn);var Sn=Nr('<input type="file">').change(xn);Nr("#tool_import").show().prepend(Sn)}J(!0);var kn=[],Cn=Ir.setLang=function(){var e=n(regeneratorRuntime.mark((function e(t,n){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Ir.langChanged=!0,Nr.pref("lang",t),Nr("#lang_select").val(t),n){e.next=5;break}return e.abrupt("return");case 5:if(document.documentElement.lang=n.lang,Nr.extend(Rr,n),r=Nr("#layerlist tr.layersel td.layername").text(),a=r===Rr.common.layer+" 1",Tr.setUiStrings(n),yn.setTitles(),a&&(Tr.renameCurrentLayer(Rr.common.layer+" 1"),T()),!ye.length){e.next=18;break}return e.next=15,Promise.all(ye.map((function(e){return kn.push(e.name),e.langReady({lang:t,uiStrings:Rr,importLocale:Yr({defaultLang:t,defaultName:e.name})})})));case 15:ye.length=0,e.next=19;break;case 18:kn.forEach((function(e){Tr.runExtension(e,"langReady",{lang:t,uiStrings:Rr,importLocale:Yr({defaultLang:t,defaultName:e})})}));case 19:Tr.runExtensions("langChanged",t),fe(),i={"#stroke_color":"#tool_stroke .icon_label, #tool_stroke .color_block","#fill_color":"#tool_fill label, #tool_fill .color_block","#linejoin_miter":"#cur_linejoin","#linecap_butt":"#cur_linecap"},Nr.each(i,(function(e,t){Nr(t).attr("title",Nr(e)[0].title)})),Nr("#multiselected_panel div[id^=tool_align]").each((function(){Nr("#tool_pos"+this.id.substr(10))[0].title=this.title}));case 24:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();!function(e){wr=e}({addLangData:function(e){return Tr.runExtensions("addLangData",(function(t){return{lang:e,importLocale:Yr({defaultLang:e,defaultName:t})}}),!0)},curConfig:Hr}),"file:"===document.location.protocol?setTimeout(o,100):o()},Ir.ready=function(e){return new Promise((function(t,n){Br?t(e()):Mr.push([e,t,n])}))},Ir.runCallbacks=n(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Promise.all(Mr.map((function(e){return(0,d(e,1)[0])()})));case 3:e.next=9;break;case 5:throw e.prev=5,e.t0=e.catch(0),Mr.forEach((function(e){(0,d(e,3)[2])()})),e.t0;case 9:Mr.forEach((function(e){(0,d(e,2)[1])()})),Br=!0;case 11:case"end":return e.stop()}}),e,null,[[0,5]])}))),Ir.loadFromString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.noAlert;return Ir.ready(n(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,zr(e,{noAlert:r});case 3:t.next=9;break;case 5:if(t.prev=5,t.t0=t.catch(0),!r){t.next=9;break}throw t.t0;case 9:case"end":return t.stop()}}),t,null,[[0,5]])}))))},Ir.disableUI=function(e){},Ir.loadFromURL=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.cache,r=t.noAlert;return Ir.ready((function(){return new Promise((function(t,a){Nr.ajax({url:e,dataType:"text",cache:Boolean(n),beforeSend:function(){Nr.process_cancel(Rr.notification.loadingImage)},success:function(e){t(zr(e,{noAlert:r}))},error:function(e,n,i){404!==e.status&&e.responseText?t(zr(e.responseText,{noAlert:r})):r?a(new Error("URLLoadFail")):(Nr.alert(Rr.notification.URLLoadFail+": \n"+i),t())},complete:function(){Nr("#dialog_box").hide()}})}))}))},Ir.loadFromDataURI=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.noAlert;return Ir.ready((function(){var t=!1,r=e.match(/^data:image\/svg\+xml;base64,/);r?t=!0:r=e.match(/^data:image\/svg\+xml(?:;|;utf8)?,/),r&&(r=r[0]);var a=e.slice(r.length);return zr(t?At(a):decodeURIComponent(a),{noAlert:n})}))},Ir.addExtension=function(e,t,n){if(!Tr)throw new Error("Extension added too early");return Tr.addExtension.call(this,e,t,n)},Ir.ready((function(){ln()}));var Wr=!1,Xr=[];return window.addEventListener("message",(function(e){var t={data:e.data,origin:e.origin};Wr?Tr.call("message",t):Xr.push(t)})),n(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Promise.resolve();case 3:Ir.init(),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),console.error(e.t0);case 9:case"end":return e.stop()}}),e,null,[[0,6]])})))(),Ir}));
//# sourceMappingURL=index-umd.min.js.map