Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jgraph/drawio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/webapp/js/viewer.min.js')
-rw-r--r--src/main/webapp/js/viewer.min.js208
1 files changed, 104 insertions, 104 deletions
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index fd5f2ee5..50ac5cc3 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -110,7 +110,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content"]};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";
window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;
-window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&
0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
@@ -2661,14 +2661,14 @@ this.moveHandles[z].rowState.width-5+"px",this.moveHandles[z].style.top=this.mov
this.state.getCenterY()),L=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),M=mxUtils.getBoundingBox(L,this.state.style[mxConstants.STYLE_ROTATION]||"0",z),z=null!=M?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,L=null!=this.state.text?this.state.text.boundingBox:null,null==M&&(M=this.state),M=M.y+M.height,null!=L&&(M=Math.max(M,L.y+L.height)),this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/
2))+"px",this.linkHint.style.top=Math.round(M+this.verticalOffset/2+Editor.hintOffset)+"px")};var cb=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){cb.apply(this,arguments);if(null!=this.moveHandles){for(var z=0;z<this.moveHandles.length;z++)null!=this.moveHandles[z]&&null!=this.moveHandles[z].parentNode&&this.moveHandles[z].parentNode.removeChild(this.moveHandles[z]);this.moveHandles=null}if(null!=this.cornerHandles){for(z=0;z<this.cornerHandles.length;z++)null!=this.cornerHandles[z]&&
null!=this.cornerHandles[z].node&&null!=this.cornerHandles[z].node.parentNode&&this.cornerHandles[z].node.parentNode.removeChild(this.cornerHandles[z].node);this.cornerHandles=null}null!=this.linkHint&&(null!=this.linkHint.parentNode&&this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&
-(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Ka=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Ka.apply(this),null!=this.state&&null!=this.linkHint)){var z=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(z=new mxRectangle(z.x,z.y,z.width,z.height),z.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=
+(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Ja=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Ja.apply(this),null!=this.state&&null!=this.linkHint)){var z=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(z=new mxRectangle(z.x,z.y,z.width,z.height),z.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=
Math.round(z.y+z.height+Editor.hintOffset)+"px"}};var Ua=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){Ua.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var $a=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){$a.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler),
this.changeHandler=null)}}();(function(){function b(c,l,x){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=x?x:1;this.updateBoundsFromLine()}function e(){mxSwimlane.call(this)}function k(){mxSwimlane.call(this)}function n(){mxCylinder.call(this)}function D(){mxCylinder.call(this)}function t(){mxActor.call(this)}function E(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function g(){mxCylinder.call(this)}function m(){mxShape.call(this)}function q(){mxShape.call(this)}
function y(c,l,x,p){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=x;this.strokewidth=null!=p?p:1}function F(){mxActor.call(this)}function C(){mxCylinder.call(this)}function H(){mxCylinder.call(this)}function G(){mxActor.call(this)}function aa(){mxActor.call(this)}function da(){mxActor.call(this)}function ba(){mxActor.call(this)}function Y(){mxActor.call(this)}function pa(){mxActor.call(this)}function O(){mxActor.call(this)}function X(c,l){this.canvas=c;this.canvas.setLineJoin("round");
this.canvas.setLineCap("round");this.defaultVariation=l;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,X.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,X.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,X.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,X.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,
X.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,X.prototype.arcTo)}function ea(){mxRectangleShape.call(this)}function ka(){mxRectangleShape.call(this)}function ja(){mxActor.call(this)}function U(){mxActor.call(this)}function J(){mxActor.call(this)}function V(){mxRectangleShape.call(this)}function P(){mxRectangleShape.call(this)}function R(){mxCylinder.call(this)}function ia(){mxShape.call(this)}function la(){mxShape.call(this)}function ta(){mxEllipse.call(this)}
function u(){mxShape.call(this)}function I(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function W(){mxShape.call(this)}function T(){mxShape.call(this)}function Q(){mxShape.call(this)}function Z(){mxShape.call(this)}function na(){mxShape.call(this)}function va(){mxCylinder.call(this)}function Ba(){mxCylinder.call(this)}function sa(){mxRectangleShape.call(this)}function Da(){mxDoubleEllipse.call(this)}function Aa(){mxDoubleEllipse.call(this)}function za(){mxArrowConnector.call(this);
-this.spacing=0}function Ca(){mxArrowConnector.call(this);this.spacing=0}function Qa(){mxActor.call(this)}function Za(){mxRectangleShape.call(this)}function cb(){mxActor.call(this)}function Ka(){mxActor.call(this)}function Ua(){mxActor.call(this)}function $a(){mxActor.call(this)}function z(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function S(){mxActor.call(this)}function ca(){mxActor.call(this)}function ha(){mxActor.call(this)}function oa(){mxEllipse.call(this)}
+this.spacing=0}function Ca(){mxArrowConnector.call(this);this.spacing=0}function Qa(){mxActor.call(this)}function Za(){mxRectangleShape.call(this)}function cb(){mxActor.call(this)}function Ja(){mxActor.call(this)}function Ua(){mxActor.call(this)}function $a(){mxActor.call(this)}function z(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function S(){mxActor.call(this)}function ca(){mxActor.call(this)}function ha(){mxActor.call(this)}function oa(){mxEllipse.call(this)}
function ra(){mxEllipse.call(this)}function qa(){mxEllipse.call(this)}function xa(){mxRhombus.call(this)}function Ga(){mxEllipse.call(this)}function La(){mxEllipse.call(this)}function Pa(){mxEllipse.call(this)}function Oa(){mxEllipse.call(this)}function Ta(){mxActor.call(this)}function Ma(){mxActor.call(this)}function ua(){mxActor.call(this)}function ya(c,l,x,p){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=x;this.strokewidth=null!=p?p:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize=
!0;this.indent=2;this.rectOutline="single"}function Na(){mxConnector.call(this)}function Fa(c,l,x,p,v,A,B,fa,K,wa){B+=K;var ma=p.clone();p.x-=v*(2*B+K);p.y-=A*(2*B+K);v*=B+K;A*=B+K;return function(){c.ellipse(ma.x-v-B,ma.y-A-B,2*B,2*B);wa?c.fillAndStroke():c.stroke()}}mxUtils.extend(b,mxShape);b.prototype.updateBoundsFromLine=function(){var c=null;if(null!=this.line)for(var l=0;l<this.line.length;l++){var x=this.line[l];null!=x&&(x=new mxRectangle(x.x,x.y,this.strokewidth,this.strokewidth),null==
c?c=x:c.add(x))}this.bounds=null!=c?c:new mxRectangle};b.prototype.paintVertexShape=function(c,l,x,p,v){this.paintTableLine(c,this.line,0,0)};b.prototype.paintTableLine=function(c,l,x,p){if(null!=l){var v=null;c.begin();for(var A=0;A<l.length;A++){var B=l[A];null!=B&&(null==v?c.moveTo(B.x+x,B.y+p):null!=v&&c.lineTo(B.x+x,B.y+p));v=B}c.end();c.stroke()}};b.prototype.intersectsRectangle=function(c){var l=!1;if(mxShape.prototype.intersectsRectangle.apply(this,arguments)&&null!=this.line)for(var x=null,
@@ -2760,7 +2760,7 @@ za.prototype.defaultWidth=4;za.prototype.isOpenEnded=function(){return!0};za.pro
"size",this.size)));x=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,v),new mxPoint(0,l),new mxPoint(p,0),new mxPoint(p,v)],this.isRounded,x,!0);c.end()};mxCellRenderer.registerShape("manualInput",Qa);mxUtils.extend(Za,mxRectangleShape);Za.prototype.dx=20;Za.prototype.dy=20;Za.prototype.isHtmlAllowed=function(){return!1};Za.prototype.paintForeground=function(c,l,x,p,v){mxRectangleShape.prototype.paintForeground.apply(this,arguments);
var A=0;if(this.isRounded){var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100;A=Math.max(A,Math.min(p*B,v*B))}B=Math.max(A,Math.min(p,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));A=Math.max(A,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.begin();c.moveTo(l,x+A);c.lineTo(l+p,x+A);c.end();c.stroke();c.begin();c.moveTo(l+B,x);c.lineTo(l+B,x+v);c.end();c.stroke()};mxCellRenderer.registerShape("internalStorage",Za);
mxUtils.extend(cb,mxActor);cb.prototype.dx=20;cb.prototype.dy=20;cb.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));x=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var A=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(p,0),new mxPoint(p,x),new mxPoint(l,x),
-new mxPoint(l,v),new mxPoint(0,v)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("corner",cb);mxUtils.extend(Ka,mxActor);Ka.prototype.redrawPath=function(c,l,x,p,v){c.moveTo(0,0);c.lineTo(0,v);c.end();c.moveTo(p,0);c.lineTo(p,v);c.end();c.moveTo(0,v/2);c.lineTo(p,v/2);c.end()};mxCellRenderer.registerShape("crossbar",Ka);mxUtils.extend(Ua,mxActor);Ua.prototype.dx=20;Ua.prototype.dy=20;Ua.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,
+new mxPoint(l,v),new mxPoint(0,v)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("corner",cb);mxUtils.extend(Ja,mxActor);Ja.prototype.redrawPath=function(c,l,x,p,v){c.moveTo(0,0);c.lineTo(0,v);c.end();c.moveTo(p,0);c.lineTo(p,v);c.end();c.moveTo(0,v/2);c.lineTo(p,v/2);c.end()};mxCellRenderer.registerShape("crossbar",Ja);mxUtils.extend(Ua,mxActor);Ua.prototype.dx=20;Ua.prototype.dy=20;Ua.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,
"dx",this.dx))));x=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var A=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(p,0),new mxPoint(p,x),new mxPoint((p+l)/2,x),new mxPoint((p+l)/2,v),new mxPoint((p-l)/2,v),new mxPoint((p-l)/2,x),new mxPoint(0,x)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("tee",Ua);mxUtils.extend($a,
mxActor);$a.prototype.arrowWidth=.3;$a.prototype.arrowSize=.2;$a.prototype.redrawPath=function(c,l,x,p,v){var A=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));l=p*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));x=(v-A)/2;A=x+A;var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,x),new mxPoint(p-l,x),new mxPoint(p-l,0),new mxPoint(p,v/2),new mxPoint(p-
l,v),new mxPoint(p-l,A),new mxPoint(0,A)],this.isRounded,B,!0);c.end()};mxCellRenderer.registerShape("singleArrow",$a);mxUtils.extend(z,mxActor);z.prototype.redrawPath=function(c,l,x,p,v){var A=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth))));l=p*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));x=(v-A)/2;A=x+A;var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
@@ -2783,35 +2783,35 @@ defVal:2},{name:"rectOutline",dispName:"Outline",type:"enum",defVal:"single",enu
{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"topRightStyle",dispName:"Top Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomRightStyle",dispName:"Bottom Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",
dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomLeftStyle",dispName:"Bottom Left Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]}];ya.prototype.paintVertexShape=function(c,l,x,p,v){c.translate(l,
x);this.strictDrawShape(c,0,0,p,v)};ya.prototype.strictDrawShape=function(c,l,x,p,v,A){var B=A&&A.rectStyle?A.rectStyle:mxUtils.getValue(this.style,"rectStyle",this.rectStyle),fa=A&&A.absoluteCornerSize?A.absoluteCornerSize:mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),K=A&&A.size?A.size:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),wa=A&&A.rectOutline?A.rectOutline:mxUtils.getValue(this.style,"rectOutline",this.rectOutline),ma=A&&A.indent?
-A.indent:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),bb=A&&A.dashed?A.dashed:mxUtils.getValue(this.style,"dashed",!1),jb=A&&A.dashPattern?A.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),eb=A&&A.relIndent?A.relIndent:Math.max(0,Math.min(50,ma)),Ea=A&&A.top?A.top:mxUtils.getValue(this.style,"top",!0),Ja=A&&A.right?A.right:mxUtils.getValue(this.style,"right",!0),Ia=A&&A.bottom?A.bottom:mxUtils.getValue(this.style,"bottom",!0),Ha=A&&A.left?A.left:
+A.indent:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),bb=A&&A.dashed?A.dashed:mxUtils.getValue(this.style,"dashed",!1),jb=A&&A.dashPattern?A.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),eb=A&&A.relIndent?A.relIndent:Math.max(0,Math.min(50,ma)),Ea=A&&A.top?A.top:mxUtils.getValue(this.style,"top",!0),Ka=A&&A.right?A.right:mxUtils.getValue(this.style,"right",!0),Ia=A&&A.bottom?A.bottom:mxUtils.getValue(this.style,"bottom",!0),Ha=A&&A.left?A.left:
mxUtils.getValue(this.style,"left",!0),Sa=A&&A.topLeftStyle?A.topLeftStyle:mxUtils.getValue(this.style,"topLeftStyle","default"),Wa=A&&A.topRightStyle?A.topRightStyle:mxUtils.getValue(this.style,"topRightStyle","default"),Xa=A&&A.bottomRightStyle?A.bottomRightStyle:mxUtils.getValue(this.style,"bottomRightStyle","default"),ab=A&&A.bottomLeftStyle?A.bottomLeftStyle:mxUtils.getValue(this.style,"bottomLeftStyle","default"),Eb=A&&A.fillColor?A.fillColor:mxUtils.getValue(this.style,"fillColor","#ffffff");
A&&A.strokeColor||mxUtils.getValue(this.style,"strokeColor","#000000");var Fb=A&&A.strokeWidth?A.strokeWidth:mxUtils.getValue(this.style,"strokeWidth","1"),Cb=A&&A.fillColor2?A.fillColor2:mxUtils.getValue(this.style,"fillColor2","none"),Db=A&&A.gradientColor2?A.gradientColor2:mxUtils.getValue(this.style,"gradientColor2","none"),Gb=A&&A.gradientDirection2?A.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),Hb=A&&A.opacity?A.opacity:mxUtils.getValue(this.style,"opacity","100"),
-Ib=Math.max(0,Math.min(50,K));A=ya.prototype;c.setDashed(bb);jb&&""!=jb&&c.setDashPattern(jb);c.setStrokeWidth(Fb);K=Math.min(.5*v,.5*p,K);fa||(K=Ib*Math.min(p,v)/100);K=Math.min(K,.5*Math.min(p,v));fa||(ma=Math.min(eb*Math.min(p,v)/100));ma=Math.min(ma,.5*Math.min(p,v)-K);(Ea||Ja||Ia||Ha)&&"frame"!=wa&&(c.begin(),Ea?A.moveNW(c,l,x,p,v,B,Sa,K,Ha):c.moveTo(0,0),Ea&&A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),Ja&&A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),Ia&&
-A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),Ha&&A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(Cb),bb=fa=Hb,"none"==Cb&&(fa=0),"none"==Db&&(bb=0),c.setGradient(Cb,Db,0,0,p,v,Gb,fa,bb),c.begin(),Ea?A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha):c.moveTo(ma,0),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),Ha&&Ia&&A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),Ia&&Ja&&A.paintSEInner(c,
-l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),Ja&&Ea&&A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),Ea&&Ha&&A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),c.fill(),"none"==Eb&&(c.begin(),A.paintFolds(c,l,x,p,v,B,Sa,Wa,Xa,ab,K,Ea,Ja,Ia,Ha),c.stroke()));Ea||Ja||Ia||!Ha?Ea||Ja||!Ia||Ha?!Ea&&!Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==
-wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),
-c.fillAndStroke()):Ea||!Ja||Ia||Ha?!Ea&&Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,
-K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea&&Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,
-l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea&&
-Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):
-(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea||Ja||Ia||Ha?
-Ea&&!Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,
-l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&!Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,
-K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):Ea&&!Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,
-K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,
-x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):Ea&&Ja&&!Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
-l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,
-l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):Ea&&Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,
-l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,
-v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,
-l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):
-Ea&&Ja&&Ia&&Ha&&("frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,
-B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close()),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),
-A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke())):"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
-l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):
-(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),
-A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke());c.begin();A.paintFolds(c,l,x,p,v,B,Sa,Wa,
-Xa,ab,K,Ea,Ja,Ia,Ha);c.stroke()};ya.prototype.moveNW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,0):c.moveTo(0,fa)};ya.prototype.moveNE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,0):c.moveTo(p-fa,0)};ya.prototype.moveSE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,v):c.moveTo(p,v-fa)};ya.prototype.moveSW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,
+Ib=Math.max(0,Math.min(50,K));A=ya.prototype;c.setDashed(bb);jb&&""!=jb&&c.setDashPattern(jb);c.setStrokeWidth(Fb);K=Math.min(.5*v,.5*p,K);fa||(K=Ib*Math.min(p,v)/100);K=Math.min(K,.5*Math.min(p,v));fa||(ma=Math.min(eb*Math.min(p,v)/100));ma=Math.min(ma,.5*Math.min(p,v)-K);(Ea||Ka||Ia||Ha)&&"frame"!=wa&&(c.begin(),Ea?A.moveNW(c,l,x,p,v,B,Sa,K,Ha):c.moveTo(0,0),Ea&&A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),Ka&&A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),Ia&&
+A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),Ha&&A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(Cb),bb=fa=Hb,"none"==Cb&&(fa=0),"none"==Db&&(bb=0),c.setGradient(Cb,Db,0,0,p,v,Gb,fa,bb),c.begin(),Ea?A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha):c.moveTo(ma,0),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),Ha&&Ia&&A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),Ia&&Ka&&A.paintSEInner(c,
+l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),Ka&&Ea&&A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),Ea&&Ha&&A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),c.fill(),"none"==Eb&&(c.begin(),A.paintFolds(c,l,x,p,v,B,Sa,Wa,Xa,ab,K,Ea,Ka,Ia,Ha),c.stroke()));Ea||Ka||Ia||!Ha?Ea||Ka||!Ia||Ha?!Ea&&!Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==
+wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),
+c.fillAndStroke()):Ea||!Ka||Ia||Ha?!Ea&&Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,
+K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea&&Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,
+l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea&&
+Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):
+(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea||Ka||Ia||Ha?
+Ea&&!Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,
+l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&!Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,
+K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):Ea&&!Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,
+K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,
+x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):Ea&&Ka&&!Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
+l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,
+l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):Ea&&Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,
+l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,
+v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,
+l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):
+Ea&&Ka&&Ia&&Ha&&("frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,
+B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close()),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),
+A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke())):"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
+l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):
+(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),
+A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke());c.begin();A.paintFolds(c,l,x,p,v,B,Sa,Wa,
+Xa,ab,K,Ea,Ka,Ia,Ha);c.stroke()};ya.prototype.moveNW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,0):c.moveTo(0,fa)};ya.prototype.moveNE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,0):c.moveTo(p-fa,0)};ya.prototype.moveSE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,v):c.moveTo(p,v-fa)};ya.prototype.moveSW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,
v):c.moveTo(fa,v)};ya.prototype.paintNW=function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,fa,0)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(fa,0);else c.lineTo(0,0)};ya.prototype.paintTop=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(p,0):c.lineTo(p-fa,0)};ya.prototype.paintNE=
function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,p,fa)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(p,fa);else c.lineTo(p,0)};ya.prototype.paintRight=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(p,v):c.lineTo(p,v-fa)};ya.prototype.paintLeft=function(c,l,x,p,v,A,B,fa,K){"square"==
B||"default"==B&&"square"==A||!K?c.lineTo(0,0):c.lineTo(0,fa)};ya.prototype.paintSE=function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,p-fa,v)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(p-fa,v);else c.lineTo(p,v)};ya.prototype.paintBottom=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(0,
@@ -2877,8 +2877,8 @@ return new mxPoint(l.getCenterX(),l.y+(1-x)*l.height)},function(l,x){this.state.
n.prototype.size,!1),card:qb(.5,G.prototype.size,!0),loopLimit:qb(.5,ca.prototype.size,!0),trapezoid:Bb(.5,Y.prototype.size,Y.prototype.fixedSize),parallelogram:Bb(1,ba.prototype.size,ba.prototype.fixedSize)};Graph.createHandle=ib;Graph.handleFactory=mb;var wb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=wb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var l=this.state.style.shape;null==mxCellRenderer.defaultShapes[l]&&
null==mxStencilRegistry.getStencil(l)?l=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(l=mxConstants.SHAPE_SWIMLANE);l=mb[l];null==l&&null!=this.state.shape&&this.state.shape.isRoundable()&&(l=mb[mxConstants.SHAPE_RECTANGLE]);null!=l&&(l=l(this.state),null!=l&&(c=null==c?l:c.concat(l)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);
c=mb[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var rb=new mxPoint(1,0),xb=new mxPoint(1,0),zb=mxUtils.toRadians(-30);rb=mxUtils.getRotatedPoint(rb,Math.cos(zb),Math.sin(zb));var yb=mxUtils.toRadians(-150);xb=mxUtils.getRotatedPoint(xb,Math.cos(yb),Math.sin(yb));mxEdgeStyle.IsometricConnector=function(c,l,x,p,v){var A=c.view;p=null!=p&&0<p.length?p[0]:null;var B=c.absolutePoints,fa=B[0];B=B[B.length-1];null!=p&&(p=A.transformControlPoint(c,p));
-null==fa&&null!=l&&(fa=new mxPoint(l.getCenterX(),l.getCenterY()));null==B&&null!=x&&(B=new mxPoint(x.getCenterX(),x.getCenterY()));var K=rb.x,wa=rb.y,ma=xb.x,bb=xb.y,jb="horizontal"==mxUtils.getValue(c.style,"elbow","horizontal");if(null!=B&&null!=fa){c=function(Ea,Ja,Ia){Ea-=eb.x;var Ha=Ja-eb.y;Ja=(bb*Ea-ma*Ha)/(K*bb-wa*ma);Ea=(wa*Ea-K*Ha)/(wa*ma-K*bb);jb?(Ia&&(eb=new mxPoint(eb.x+K*Ja,eb.y+wa*Ja),v.push(eb)),eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea)):(Ia&&(eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea),v.push(eb)),
-eb=new mxPoint(eb.x+K*Ja,eb.y+wa*Ja));v.push(eb)};var eb=fa;null==p&&(p=new mxPoint(fa.x+(B.x-fa.x)/2,fa.y+(B.y-fa.y)/2));c(p.x,p.y,!0);c(B.x,B.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var pb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(c,l){if(l==mxEdgeStyle.IsometricConnector){var x=new mxElbowEdgeHandler(c);x.snapToTerminals=!1;return x}return pb.apply(this,arguments)};t.prototype.constraints=[];E.prototype.getConstraints=
+null==fa&&null!=l&&(fa=new mxPoint(l.getCenterX(),l.getCenterY()));null==B&&null!=x&&(B=new mxPoint(x.getCenterX(),x.getCenterY()));var K=rb.x,wa=rb.y,ma=xb.x,bb=xb.y,jb="horizontal"==mxUtils.getValue(c.style,"elbow","horizontal");if(null!=B&&null!=fa){c=function(Ea,Ka,Ia){Ea-=eb.x;var Ha=Ka-eb.y;Ka=(bb*Ea-ma*Ha)/(K*bb-wa*ma);Ea=(wa*Ea-K*Ha)/(wa*ma-K*bb);jb?(Ia&&(eb=new mxPoint(eb.x+K*Ka,eb.y+wa*Ka),v.push(eb)),eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea)):(Ia&&(eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea),v.push(eb)),
+eb=new mxPoint(eb.x+K*Ka,eb.y+wa*Ka));v.push(eb)};var eb=fa;null==p&&(p=new mxPoint(fa.x+(B.x-fa.x)/2,fa.y+(B.y-fa.y)/2));c(p.x,p.y,!0);c(B.x,B.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var pb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(c,l){if(l==mxEdgeStyle.IsometricConnector){var x=new mxElbowEdgeHandler(c);x.snapToTerminals=!1;return x}return pb.apply(this,arguments)};t.prototype.constraints=[];E.prototype.getConstraints=
function(c,l,x){c=[];var p=Math.tan(mxUtils.toRadians(30)),v=(.5-p)/2;p=Math.min(l,x/(.5+p));l=(l-p)/2;x=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,x+.25*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+.5*p,x+p*v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+p,x+.25*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+p,x+.75*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+.5*p,x+(1-v)*p));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,l,x+.75*p));return c};m.prototype.getConstraints=function(c,l,x){c=[];var p=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;p=Math.min(l*Math.tan(p),.5*x);c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,p));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,x-p));c.push(new mxConnectionConstraint(new mxPoint(.5,
1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,x-p));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));return c};ja.prototype.getConstraints=function(c,l,x){c=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var p=Math.max(0,Math.min(x,parseFloat(mxUtils.getValue(this.style,"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var v=l*Math.max(0,
@@ -2919,7 +2919,7 @@ qa.prototype.constraints=mxEllipse.prototype.constraints;Oa.prototype.constraint
0),!1,null,.5*(l+p),.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+p),x));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*p,v));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*v));return c};cb.prototype.getConstraints=function(c,l,x){c=[];var p=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),v=Math.max(0,Math.min(x,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,l,.5*v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*p,x));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
-1),!1));return c};Ka.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=
+1),!1));return c};Ja.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=
function(c,l,x){c=[];var p=x*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),v=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));p=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-v),p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,0));c.push(new mxConnectionConstraint(new mxPoint(1,
.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-v),x-p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,x-p));return c};z.prototype.getConstraints=function(c,l,x){c=[];var p=x*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),v=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));p=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,
.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,v,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,x-p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,v,x));return c};Ma.prototype.getConstraints=
@@ -3195,8 +3195,8 @@ mxUtils.bind(this,function(I){this.resolvedFontCss=I;null!=u&&u()})):null!=u&&u(
Q=0;Q<I.length;Q++)mxUtils.bind(this,function(Z,na){Graph.isCssFontUrl(na)?null==this.cachedGoogleFonts[na]?(W++,this.loadUrl(na,mxUtils.bind(this,function(va){this.cachedGoogleFonts[na]=va;N.push(va+"\n");W--;T()}),mxUtils.bind(this,function(va){W--;N.push("@import url("+na+");\n");T()}))):N.push(this.cachedGoogleFonts[na]+"\n"):N.push('@font-face {font-family: "'+Z+'";src: url("'+na+'")}\n')})(I[Q].name,I[Q].url);T()}else u()};Editor.prototype.addMathCss=function(u){u=u.getElementsByTagName("defs");
if(null!=u&&0<u.length)for(var I=document.getElementsByTagName("style"),N=0;N<I.length;N++){var W=mxUtils.getTextContent(I[N]);0>W.indexOf("mxPageSelector")&&0<W.indexOf("MathJax")&&u[0].appendChild(I[N].cloneNode(!0))}};Editor.prototype.addFontCss=function(u,I){I=null!=I?I:this.absoluteCssFonts(this.fontCss);if(null!=I){var N=u.getElementsByTagName("defs"),W=u.ownerDocument;0==N.length?(N=null!=W.createElementNS?W.createElementNS(mxConstants.NS_SVG,"defs"):W.createElement("defs"),null!=u.firstChild?
u.insertBefore(N,u.firstChild):u.appendChild(N)):N=N[0];u=null!=W.createElementNS?W.createElementNS(mxConstants.NS_SVG,"style"):W.createElement("style");u.setAttribute("type","text/css");mxUtils.setTextContent(u,I);N.appendChild(u)}};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(u,I,N){var W=mxClient.IS_FF?8192:16384;return Math.min(N,Math.min(W/u,W/I))};Editor.prototype.exportToCanvas=function(u,I,N,
-W,T,Q,Z,na,va,Ba,sa,Da,Aa,za,Ca,Qa,Za,cb){try{Q=null!=Q?Q:!0;Z=null!=Z?Z:!0;Da=null!=Da?Da:this.graph;Aa=null!=Aa?Aa:0;var Ka=va?null:Da.background;Ka==mxConstants.NONE&&(Ka=null);null==Ka&&(Ka=W);null==Ka&&0==va&&(Ka=Qa?this.graph.defaultPageBackgroundColor:"#ffffff");this.convertImages(Da.getSvg(null,null,Aa,za,null,Z,null,null,null,Ba,null,Qa,Za,cb),mxUtils.bind(this,function(Ua){try{var $a=new Image;$a.onload=mxUtils.bind(this,function(){try{var L=function(){mxClient.IS_SF?window.setTimeout(function(){ha.drawImage($a,
-0,0);u(M,Ua)},0):(ha.drawImage($a,0,0),u(M,Ua))},M=document.createElement("canvas"),S=parseInt(Ua.getAttribute("width")),ca=parseInt(Ua.getAttribute("height"));na=null!=na?na:1;null!=I&&(na=Q?Math.min(1,Math.min(3*I/(4*ca),I/S)):I/S);na=this.getMaxCanvasScale(S,ca,na);S=Math.ceil(na*S);ca=Math.ceil(na*ca);M.setAttribute("width",S);M.setAttribute("height",ca);var ha=M.getContext("2d");null!=Ka&&(ha.beginPath(),ha.rect(0,0,S,ca),ha.fillStyle=Ka,ha.fill());1!=na&&ha.scale(na,na);if(Ca){var oa=Da.view,
+W,T,Q,Z,na,va,Ba,sa,Da,Aa,za,Ca,Qa,Za,cb){try{Q=null!=Q?Q:!0;Z=null!=Z?Z:!0;Da=null!=Da?Da:this.graph;Aa=null!=Aa?Aa:0;var Ja=va?null:Da.background;Ja==mxConstants.NONE&&(Ja=null);null==Ja&&(Ja=W);null==Ja&&0==va&&(Ja=Qa?this.graph.defaultPageBackgroundColor:"#ffffff");this.convertImages(Da.getSvg(null,null,Aa,za,null,Z,null,null,null,Ba,null,Qa,Za,cb),mxUtils.bind(this,function(Ua){try{var $a=new Image;$a.onload=mxUtils.bind(this,function(){try{var L=function(){mxClient.IS_SF?window.setTimeout(function(){ha.drawImage($a,
+0,0);u(M,Ua)},0):(ha.drawImage($a,0,0),u(M,Ua))},M=document.createElement("canvas"),S=parseInt(Ua.getAttribute("width")),ca=parseInt(Ua.getAttribute("height"));na=null!=na?na:1;null!=I&&(na=Q?Math.min(1,Math.min(3*I/(4*ca),I/S)):I/S);na=this.getMaxCanvasScale(S,ca,na);S=Math.ceil(na*S);ca=Math.ceil(na*ca);M.setAttribute("width",S);M.setAttribute("height",ca);var ha=M.getContext("2d");null!=Ja&&(ha.beginPath(),ha.rect(0,0,S,ca),ha.fillStyle=Ja,ha.fill());1!=na&&ha.scale(na,na);if(Ca){var oa=Da.view,
ra=oa.scale;oa.scale=1;var qa=btoa(unescape(encodeURIComponent(oa.createSvgGrid(oa.gridColor))));oa.scale=ra;qa="data:image/svg+xml;base64,"+qa;var xa=Da.gridSize*oa.gridSteps*na,Ga=Da.getGraphBounds(),La=oa.translate.x*ra,Pa=oa.translate.y*ra,Oa=La+(Ga.x-La)/ra-Aa,Ta=Pa+(Ga.y-Pa)/ra-Aa,Ma=new Image;Ma.onload=function(){try{for(var ua=-Math.round(xa-mxUtils.mod((La-Oa)*na,xa)),ya=-Math.round(xa-mxUtils.mod((Pa-Ta)*na,xa));ua<S;ua+=xa)for(var Na=ya;Na<ca;Na+=xa)ha.drawImage(Ma,ua/na,Na/na);L()}catch(Fa){null!=
T&&T(Fa)}};Ma.onerror=function(ua){null!=T&&T(ua)};Ma.src=qa}else L()}catch(ua){null!=T&&T(ua)}});$a.onerror=function(L){null!=T&&T(L)};Ba&&this.graph.addSvgShadow(Ua);this.graph.mathEnabled&&this.addMathCss(Ua);var z=mxUtils.bind(this,function(){try{null!=this.resolvedFontCss&&this.addFontCss(Ua,this.resolvedFontCss),$a.src=Editor.createSvgDataUri(mxUtils.getXml(Ua))}catch(L){null!=T&&T(L)}});this.embedExtFonts(mxUtils.bind(this,function(L){try{null!=L&&this.addFontCss(Ua,L),this.loadFonts(z)}catch(M){null!=
T&&T(M)}}))}catch(L){null!=T&&T(L)}}),N,sa)}catch(Ua){null!=T&&T(Ua)}};Editor.crcTable=[];for(var D=0;256>D;D++)for(var t=D,E=0;8>E;E++)t=1==(t&1)?3988292384^t>>>1:t>>>1,Editor.crcTable[D]=t;Editor.updateCRC=function(u,I,N,W){for(var T=0;T<W;T++)u=Editor.crcTable[(u^I.charCodeAt(N+T))&255]^u>>>8;return u};Editor.crc32=function(u){for(var I=-1,N=0;N<u.length;N++)I=I>>>8^Editor.crcTable[(I^u.charCodeAt(N))&255];return(I^-1)>>>0};Editor.writeGraphModelToPng=function(u,I,N,W,T){function Q(sa,Da){var Aa=
@@ -3247,19 +3247,19 @@ mxEvent.addListener(Oa,"click",mxUtils.bind(sa,function(){function Ma(){var ya=u
La&&"float"!=La||ra.allowAuto||(ua.type="number",ua.step="int"==La?"1":"any",null!=ra.min&&(ua.min=parseFloat(ra.min)),null!=ra.max&&(ua.max=parseFloat(ra.max)));u.appendChild(ua);mxEvent.addListener(ua,"keypress",function(ya){13==ya.keyCode&&Ma()});ua.focus();mxEvent.addListener(ua,"blur",function(){Ma()})})));ra.isDeletable&&(xa=mxUtils.button("-",mxUtils.bind(sa,function(Ma){W(ha,"",ra,ra.index);mxEvent.consume(Ma)})),xa.style.height="16px",xa.style.width="25px",xa.style.float="right",xa.className=
"geColorBtn",Oa.appendChild(xa));Pa.appendChild(Oa);return Pa}var sa=this,Da=this.editorUi.editor.graph,Aa=[];u.style.position="relative";u.style.padding="0";var za=document.createElement("table");za.className="geProperties";za.style.whiteSpace="nowrap";za.style.width="100%";var Ca=document.createElement("tr");Ca.className="gePropHeader";var Qa=document.createElement("th");Qa.className="gePropHeaderCell";var Za=document.createElement("img");Za.src=Sidebar.prototype.expandedImage;Za.style.verticalAlign=
"middle";Qa.appendChild(Za);mxUtils.write(Qa,mxResources.get("property"));Ca.style.cursor="pointer";var cb=function(){var ha=za.querySelectorAll(".gePropNonHeaderRow");if(sa.editorUi.propertiesCollapsed){Za.src=Sidebar.prototype.collapsedImage;var oa="none";for(var ra=u.childNodes.length-1;0<=ra;ra--)try{var qa=u.childNodes[ra],xa=qa.nodeName.toUpperCase();"INPUT"!=xa&&"SELECT"!=xa||u.removeChild(qa)}catch(Ga){}}else Za.src=Sidebar.prototype.expandedImage,oa="";for(ra=0;ra<ha.length;ra++)ha[ra].style.display=
-oa};mxEvent.addListener(Ca,"click",function(){sa.editorUi.propertiesCollapsed=!sa.editorUi.propertiesCollapsed;cb()});Ca.appendChild(Qa);Qa=document.createElement("th");Qa.className="gePropHeaderCell";Qa.innerHTML=mxResources.get("value");Ca.appendChild(Qa);za.appendChild(Ca);var Ka=!1,Ua=!1;Ca=null;1==N.vertices.length&&0==N.edges.length?Ca=N.vertices[0].id:0==N.vertices.length&&1==N.edges.length&&(Ca=N.edges[0].id);null!=Ca&&za.appendChild(Ba("id",mxUtils.htmlEntities(Ca),{dispName:"ID",type:"readOnly"},
+oa};mxEvent.addListener(Ca,"click",function(){sa.editorUi.propertiesCollapsed=!sa.editorUi.propertiesCollapsed;cb()});Ca.appendChild(Qa);Qa=document.createElement("th");Qa.className="gePropHeaderCell";Qa.innerHTML=mxResources.get("value");Ca.appendChild(Qa);za.appendChild(Ca);var Ja=!1,Ua=!1;Ca=null;1==N.vertices.length&&0==N.edges.length?Ca=N.vertices[0].id:0==N.vertices.length&&1==N.edges.length&&(Ca=N.edges[0].id);null!=Ca&&za.appendChild(Ba("id",mxUtils.htmlEntities(Ca),{dispName:"ID",type:"readOnly"},
!0,!1));for(var $a in I)if(Ca=I[$a],"function"!=typeof Ca.isVisible||Ca.isVisible(N,this)){var z=null!=N.style[$a]?mxUtils.htmlEntities(N.style[$a]+""):null!=Ca.getDefaultValue?Ca.getDefaultValue(N,this):Ca.defVal;if("separator"==Ca.type)Ua=!Ua;else{if("staticArr"==Ca.type)Ca.size=parseInt(N.style[Ca.sizeProperty]||I[Ca.sizeProperty].defVal)||0;else if(null!=Ca.dependentProps){var L=Ca.dependentProps,M=[],S=[];for(Qa=0;Qa<L.length;Qa++){var ca=N.style[L[Qa]];S.push(I[L[Qa]].subDefVal);M.push(null!=
-ca?ca.split(","):[])}Ca.dependentPropsDefVal=S;Ca.dependentPropsVals=M}za.appendChild(Ba($a,z,Ca,Ka,Ua));Ka=!Ka}}for(Qa=0;Qa<Aa.length;Qa++)for(Ca=Aa[Qa],I=Ca.parentRow,N=0;N<Ca.values.length;N++)$a=Ba(Ca.name,Ca.values[N],{type:Ca.type,parentRow:Ca.parentRow,isDeletable:Ca.isDeletable,index:N,defVal:Ca.defVal,countProperty:Ca.countProperty,size:Ca.size},0==N%2,Ca.flipBkg),I.parentNode.insertBefore($a,I.nextSibling),I=$a;u.appendChild(za);cb();return u};StyleFormatPanel.prototype.addStyles=function(u){function I(Ca){mxEvent.addListener(Ca,
+ca?ca.split(","):[])}Ca.dependentPropsDefVal=S;Ca.dependentPropsVals=M}za.appendChild(Ba($a,z,Ca,Ja,Ua));Ja=!Ja}}for(Qa=0;Qa<Aa.length;Qa++)for(Ca=Aa[Qa],I=Ca.parentRow,N=0;N<Ca.values.length;N++)$a=Ba(Ca.name,Ca.values[N],{type:Ca.type,parentRow:Ca.parentRow,isDeletable:Ca.isDeletable,index:N,defVal:Ca.defVal,countProperty:Ca.countProperty,size:Ca.size},0==N%2,Ca.flipBkg),I.parentNode.insertBefore($a,I.nextSibling),I=$a;u.appendChild(za);cb();return u};StyleFormatPanel.prototype.addStyles=function(u){function I(Ca){mxEvent.addListener(Ca,
"mouseenter",function(){Ca.style.opacity="1"});mxEvent.addListener(Ca,"mouseleave",function(){Ca.style.opacity="0.5"})}var N=this.editorUi,W=N.editor.graph,T=document.createElement("div");T.style.whiteSpace="nowrap";T.style.paddingLeft="24px";T.style.paddingRight="20px";u.style.paddingLeft="16px";u.style.paddingBottom="6px";u.style.position="relative";u.appendChild(T);var Q="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" "),
Z=document.createElement("div");Z.style.whiteSpace="nowrap";Z.style.position="relative";Z.style.textAlign="center";Z.style.width="210px";for(var na=[],va=0;va<this.defaultColorSchemes.length;va++){var Ba=document.createElement("div");Ba.style.display="inline-block";Ba.style.width="6px";Ba.style.height="6px";Ba.style.marginLeft="4px";Ba.style.marginRight="3px";Ba.style.borderRadius="3px";Ba.style.cursor="pointer";Ba.style.background="transparent";Ba.style.border="1px solid #b5b6b7";mxUtils.bind(this,
function(Ca){mxEvent.addListener(Ba,"click",mxUtils.bind(this,function(){sa(Ca)}))})(va);na.push(Ba);Z.appendChild(Ba)}var sa=mxUtils.bind(this,function(Ca){null!=na[Ca]&&(null!=this.format.currentScheme&&null!=na[this.format.currentScheme]&&(na[this.format.currentScheme].style.background="transparent"),this.format.currentScheme=Ca,Da(this.defaultColorSchemes[this.format.currentScheme]),na[this.format.currentScheme].style.background="#84d7ff")}),Da=mxUtils.bind(this,function(Ca){var Qa=mxUtils.bind(this,
-function(cb){var Ka=mxUtils.button("",mxUtils.bind(this,function(z){W.getModel().beginUpdate();try{for(var L=N.getSelectionState().cells,M=0;M<L.length;M++){for(var S=W.getModel().getStyle(L[M]),ca=0;ca<Q.length;ca++)S=mxUtils.removeStylename(S,Q[ca]);var ha=W.getModel().isVertex(L[M])?W.defaultVertexStyle:W.defaultEdgeStyle;null!=cb?(mxEvent.isShiftDown(z)||(S=""==cb.fill?mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,cb.fill||mxUtils.getValue(ha,
+function(cb){var Ja=mxUtils.button("",mxUtils.bind(this,function(z){W.getModel().beginUpdate();try{for(var L=N.getSelectionState().cells,M=0;M<L.length;M++){for(var S=W.getModel().getStyle(L[M]),ca=0;ca<Q.length;ca++)S=mxUtils.removeStylename(S,Q[ca]);var ha=W.getModel().isVertex(L[M])?W.defaultVertexStyle:W.defaultEdgeStyle;null!=cb?(mxEvent.isShiftDown(z)||(S=""==cb.fill?mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,cb.fill||mxUtils.getValue(ha,
mxConstants.STYLE_FILLCOLOR,null)),S=mxUtils.setStyle(S,mxConstants.STYLE_GRADIENTCOLOR,cb.gradient||mxUtils.getValue(ha,mxConstants.STYLE_GRADIENTCOLOR,null)),mxEvent.isControlDown(z)||mxClient.IS_MAC&&mxEvent.isMetaDown(z)||!W.getModel().isVertex(L[M])||(S=mxUtils.setStyle(S,mxConstants.STYLE_FONTCOLOR,cb.font||mxUtils.getValue(ha,mxConstants.STYLE_FONTCOLOR,null)))),mxEvent.isAltDown(z)||(S=""==cb.stroke?mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,
cb.stroke||mxUtils.getValue(ha,mxConstants.STYLE_STROKECOLOR,null)))):(S=mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(ha,mxConstants.STYLE_FILLCOLOR,"#ffffff")),S=mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(ha,mxConstants.STYLE_STROKECOLOR,"#000000")),S=mxUtils.setStyle(S,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(ha,mxConstants.STYLE_GRADIENTCOLOR,null)),W.getModel().isVertex(L[M])&&(S=mxUtils.setStyle(S,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(ha,
-mxConstants.STYLE_FONTCOLOR,null))));W.getModel().setStyle(L[M],S)}}finally{W.getModel().endUpdate()}}));Ka.className="geStyleButton";Ka.style.width="36px";Ka.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";Ka.style.margin="0px 6px 6px 0px";if(null!=cb){var Ua="1"==urlParams.sketch?"2px solid":"1px solid";null!=cb.gradient?mxClient.IS_IE&&10>document.documentMode?Ka.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+cb.fill+"', EndColorStr='"+cb.gradient+"', GradientType=0)":
-Ka.style.backgroundImage="linear-gradient("+cb.fill+" 0px,"+cb.gradient+" 100%)":cb.fill==mxConstants.NONE?Ka.style.background="url('"+Dialog.prototype.noColorImage+"')":Ka.style.backgroundColor=""==cb.fill?mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):cb.fill||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");Ka.style.border=cb.stroke==mxConstants.NONE?Ua+" transparent":
-""==cb.stroke?Ua+" "+mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ua+" "+(cb.stroke||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=cb.title&&Ka.setAttribute("title",cb.title)}else{Ua=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var $a=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");Ka.style.backgroundColor=
-Ua;Ka.style.border="1px solid "+$a}Ka.style.borderRadius="0";T.appendChild(Ka)});T.innerHTML="";for(var Za=0;Za<Ca.length;Za++)0<Za&&0==mxUtils.mod(Za,4)&&mxUtils.br(T),Qa(Ca[Za])});null==this.format.currentScheme?sa(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):sa(this.format.currentScheme);va=10>=this.defaultColorSchemes.length?28:8;var Aa=document.createElement("div");Aa.style.cssText="position:absolute;left:10px;top:8px;bottom:"+va+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
+mxConstants.STYLE_FONTCOLOR,null))));W.getModel().setStyle(L[M],S)}}finally{W.getModel().endUpdate()}}));Ja.className="geStyleButton";Ja.style.width="36px";Ja.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";Ja.style.margin="0px 6px 6px 0px";if(null!=cb){var Ua="1"==urlParams.sketch?"2px solid":"1px solid";null!=cb.gradient?mxClient.IS_IE&&10>document.documentMode?Ja.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+cb.fill+"', EndColorStr='"+cb.gradient+"', GradientType=0)":
+Ja.style.backgroundImage="linear-gradient("+cb.fill+" 0px,"+cb.gradient+" 100%)":cb.fill==mxConstants.NONE?Ja.style.background="url('"+Dialog.prototype.noColorImage+"')":Ja.style.backgroundColor=""==cb.fill?mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):cb.fill||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");Ja.style.border=cb.stroke==mxConstants.NONE?Ua+" transparent":
+""==cb.stroke?Ua+" "+mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ua+" "+(cb.stroke||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=cb.title&&Ja.setAttribute("title",cb.title)}else{Ua=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var $a=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");Ja.style.backgroundColor=
+Ua;Ja.style.border="1px solid "+$a}Ja.style.borderRadius="0";T.appendChild(Ja)});T.innerHTML="";for(var Za=0;Za<Ca.length;Za++)0<Za&&0==mxUtils.mod(Za,4)&&mxUtils.br(T),Qa(Ca[Za])});null==this.format.currentScheme?sa(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):sa(this.format.currentScheme);va=10>=this.defaultColorSchemes.length?28:8;var Aa=document.createElement("div");Aa.style.cssText="position:absolute;left:10px;top:8px;bottom:"+va+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
mxEvent.addListener(Aa,"click",mxUtils.bind(this,function(){sa(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var za=document.createElement("div");za.style.cssText="position:absolute;left:202px;top:8px;bottom:"+va+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
1<this.defaultColorSchemes.length&&(u.appendChild(Aa),u.appendChild(za));mxEvent.addListener(za,"click",mxUtils.bind(this,function(){sa(mxUtils.mod(this.format.currentScheme+1,this.defaultColorSchemes.length))}));I(Aa);I(za);Da(this.defaultColorSchemes[this.format.currentScheme]);10>=this.defaultColorSchemes.length&&u.appendChild(Z);return u};StyleFormatPanel.prototype.addEditOps=function(u){var I=this.editorUi.getSelectionState(),N=this.editorUi.editor.graph,W=null;1==I.cells.length&&(W=mxUtils.button(mxResources.get("editStyle"),
mxUtils.bind(this,function(T){this.editorUi.actions.get("editStyle").funct()})),W.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),W.style.width="210px",W.style.marginBottom="2px",u.appendChild(W));N=1==I.cells.length?N.view.getState(I.cells[0]):null;null!=N&&null!=N.shape&&null!=N.shape.stencil?(I=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(T){this.editorUi.actions.get("editShape").funct()})),I.setAttribute("title",
@@ -3273,12 +3273,12 @@ urlParams.edge;Graph.prototype.hiddenTags=null;Graph.prototype.defaultMathEnable
this.getInsertPoint=function(){return null!=I?this.getPointForEvent(I):N.apply(this,arguments)};var W=this.layoutManager.getLayout;this.layoutManager.getLayout=function(T){var Q=this.graph.getCellStyle(T);if(null!=Q&&"rack"==Q.childLayout){var Z=new mxStackLayout(this.graph,!1);Z.gridSize=null!=Q.rackUnitSize?parseFloat(Q.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;Z.marginLeft=Q.marginLeft||0;Z.marginRight=Q.marginRight||0;Z.marginTop=Q.marginTop||0;Z.marginBottom=
Q.marginBottom||0;Z.allowGaps=Q.allowGaps||0;Z.horizontal="1"==mxUtils.getValue(Q,"horizontalRack","0");Z.resizeParent=!1;Z.fill=!0;return Z}return W.apply(this,arguments)};this.updateGlobalUrlVariables()};var G=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(u,I){return Graph.processFontStyle(G.apply(this,arguments))};var aa=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(u,I,N,W,T,Q,Z,na,va,Ba,sa){aa.apply(this,arguments);
Graph.processFontAttributes(sa)};var da=mxText.prototype.redraw;mxText.prototype.redraw=function(){da.apply(this,arguments);null!=this.node&&"DIV"==this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.createTagsDialog=function(u,I,N){function W(){for(var Ca=Z.getSelectionCells(),Qa=[],Za=0;Za<Ca.length;Za++)Z.isCellVisible(Ca[Za])&&Qa.push(Ca[Za]);Z.setSelectionCells(Qa)}function T(Ca){Z.setHiddenTags(Ca?[]:na.slice());W();Z.refresh()}function Q(Ca,Qa){Ba.innerHTML="";if(0<
-Ca.length){var Za=document.createElement("table");Za.setAttribute("cellpadding","2");Za.style.boxSizing="border-box";Za.style.tableLayout="fixed";Za.style.width="100%";var cb=document.createElement("tbody");if(null!=Ca&&0<Ca.length)for(var Ka=0;Ka<Ca.length;Ka++)(function(Ua){var $a=0>mxUtils.indexOf(Z.hiddenTags,Ua),z=document.createElement("tr"),L=document.createElement("td");L.style.align="center";L.style.width="16px";var M=document.createElement("img");M.setAttribute("src",$a?Editor.visibleImage:
+Ca.length){var Za=document.createElement("table");Za.setAttribute("cellpadding","2");Za.style.boxSizing="border-box";Za.style.tableLayout="fixed";Za.style.width="100%";var cb=document.createElement("tbody");if(null!=Ca&&0<Ca.length)for(var Ja=0;Ja<Ca.length;Ja++)(function(Ua){var $a=0>mxUtils.indexOf(Z.hiddenTags,Ua),z=document.createElement("tr"),L=document.createElement("td");L.style.align="center";L.style.width="16px";var M=document.createElement("img");M.setAttribute("src",$a?Editor.visibleImage:
Editor.hiddenImage);M.setAttribute("title",mxResources.get($a?"hideIt":"show",[Ua]));mxUtils.setOpacity(M,$a?75:25);M.style.verticalAlign="middle";M.style.cursor="pointer";M.style.width="16px";if(I||Editor.isDarkMode())M.style.filter="invert(100%)";L.appendChild(M);mxEvent.addListener(M,"click",function(ca){mxEvent.isShiftDown(ca)?T(0<=mxUtils.indexOf(Z.hiddenTags,Ua)):(Z.toggleHiddenTag(Ua),W(),Z.refresh());mxEvent.consume(ca)});z.appendChild(L);L=document.createElement("td");L.style.overflow="hidden";
L.style.whiteSpace="nowrap";L.style.textOverflow="ellipsis";L.style.verticalAlign="middle";L.style.cursor="pointer";L.setAttribute("title",Ua);a=document.createElement("a");mxUtils.write(a,Ua);a.style.textOverflow="ellipsis";a.style.position="relative";mxUtils.setOpacity(a,$a?100:40);L.appendChild(a);mxEvent.addListener(L,"click",function(ca){if(mxEvent.isShiftDown(ca)){T(!0);var ha=Z.getCellsForTags([Ua],null,null,!0);Z.isEnabled()?Z.setSelectionCells(ha):Z.highlightCells(ha)}else if($a&&0<Z.hiddenTags.length)T(!0);
else{ha=na.slice();var oa=mxUtils.indexOf(ha,Ua);ha.splice(oa,1);Z.setHiddenTags(ha);W();Z.refresh()}mxEvent.consume(ca)});z.appendChild(L);if(Z.isEnabled()){L=document.createElement("td");L.style.verticalAlign="middle";L.style.textAlign="center";L.style.width="18px";if(null==Qa){L.style.align="center";L.style.width="16px";M=document.createElement("img");M.setAttribute("src",Editor.crossImage);M.setAttribute("title",mxResources.get("removeIt",[Ua]));mxUtils.setOpacity(M,$a?75:25);M.style.verticalAlign=
"middle";M.style.cursor="pointer";M.style.width="16px";if(I||Editor.isDarkMode())M.style.filter="invert(100%)";mxEvent.addListener(M,"click",function(ca){var ha=mxUtils.indexOf(na,Ua);0<=ha&&na.splice(ha,1);Z.removeTagsForCells(Z.model.getDescendants(Z.model.getRoot()),[Ua]);Z.refresh();mxEvent.consume(ca)});L.appendChild(M)}else{var S=document.createElement("input");S.setAttribute("type","checkbox");S.style.margin="0px";S.defaultChecked=null!=Qa&&0<=mxUtils.indexOf(Qa,Ua);S.checked=S.defaultChecked;
-S.style.background="transparent";S.setAttribute("title",mxResources.get(S.defaultChecked?"removeIt":"add",[Ua]));mxEvent.addListener(S,"change",function(ca){S.checked?Z.addTagsForCells(Z.getSelectionCells(),[Ua]):Z.removeTagsForCells(Z.getSelectionCells(),[Ua]);mxEvent.consume(ca)});L.appendChild(S)}z.appendChild(L)}cb.appendChild(z)})(Ca[Ka]);Za.appendChild(cb);Ba.appendChild(Za)}}var Z=this,na=Z.hiddenTags.slice(),va=document.createElement("div");va.style.userSelect="none";va.style.overflow="hidden";
+S.style.background="transparent";S.setAttribute("title",mxResources.get(S.defaultChecked?"removeIt":"add",[Ua]));mxEvent.addListener(S,"change",function(ca){S.checked?Z.addTagsForCells(Z.getSelectionCells(),[Ua]):Z.removeTagsForCells(Z.getSelectionCells(),[Ua]);mxEvent.consume(ca)});L.appendChild(S)}z.appendChild(L)}cb.appendChild(z)})(Ca[Ja]);Za.appendChild(cb);Ba.appendChild(Za)}}var Z=this,na=Z.hiddenTags.slice(),va=document.createElement("div");va.style.userSelect="none";va.style.overflow="hidden";
va.style.padding="10px";va.style.height="100%";var Ba=document.createElement("div");Ba.style.boxSizing="border-box";Ba.style.borderRadius="4px";Ba.style.userSelect="none";Ba.style.overflow="auto";Ba.style.position="absolute";Ba.style.left="10px";Ba.style.right="10px";Ba.style.top="10px";Ba.style.border=Z.isEnabled()?"1px solid #808080":"none";Ba.style.bottom=Z.isEnabled()?"48px":"10px";va.appendChild(Ba);var sa=mxUtils.button(mxResources.get("reset"),function(Ca){Z.setHiddenTags([]);mxEvent.isShiftDown(Ca)||
(na=Z.hiddenTags.slice());W();Z.refresh()});sa.setAttribute("title",mxResources.get("reset"));sa.className="geBtn";sa.style.margin="0 4px 0 0";var Da=mxUtils.button(mxResources.get("add"),function(){null!=N&&N(na,function(Ca){na=Ca;Aa()})});Da.setAttribute("title",mxResources.get("add"));Da.className="geBtn";Da.style.margin="0";Z.addListener(mxEvent.ROOT,function(){na=Z.hiddenTags.slice()});var Aa=mxUtils.bind(this,function(Ca,Qa){if(u()){Ca=Z.getAllTags();for(Qa=0;Qa<Ca.length;Qa++)0>mxUtils.indexOf(na,
Ca[Qa])&&na.push(Ca[Qa]);na.sort();Z.isSelectionEmpty()?Q(na):Q(na,Z.getCommonTagsForCells(Z.getSelectionCells()))}});Z.selectionModel.addListener(mxEvent.CHANGE,Aa);Z.model.addListener(mxEvent.CHANGE,Aa);Z.addListener(mxEvent.REFRESH,Aa);var za=document.createElement("div");za.style.boxSizing="border-box";za.style.whiteSpace="nowrap";za.style.position="absolute";za.style.overflow="hidden";za.style.bottom="0px";za.style.height="42px";za.style.right="10px";za.style.left="10px";Z.isEnabled()&&(za.appendChild(sa),
@@ -3286,7 +3286,7 @@ za.appendChild(Da),va.appendChild(za));return{div:va,refresh:Aa}};Graph.prototyp
u&&N[W].getAttribute("data-font-src")!=I&&N[W].setAttribute("data-font-src",I)}};var ba=Graph.prototype.isFastZoomEnabled;Graph.prototype.isFastZoomEnabled=function(){return ba.apply(this,arguments)&&(!this.shadowVisible||!mxClient.IS_SF)};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var u=JSON.parse(decodeURIComponent(urlParams.vars));if(null!=u)for(var I in u)this.globalVars[I]=
u[I]}catch(N){null!=window.console&&console.log("Error in vars URL parameter: "+N)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var Y=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(u){var I=Y.apply(this,arguments);null==I&&null!=this.globalVars&&(I=this.globalVars[u]);return I};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var u=this.themes["default-style2"];this.defaultStylesheet=
(new mxCodec(u.ownerDocument)).decode(u)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var pa=Graph.prototype.getSvg;Graph.prototype.getSvg=function(u,I,N,W,T,Q,Z,na,va,Ba,sa,Da,Aa,za){var Ca=null,Qa=null,Za=null;Da||null==this.themes||"darkTheme"!=this.defaultThemeName||(Ca=this.stylesheet,Qa=this.shapeForegroundColor,Za=this.shapeBackgroundColor,this.shapeForegroundColor="darkTheme"==this.defaultThemeName?"#000000":Editor.lightColor,this.shapeBackgroundColor=
-"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var cb=pa.apply(this,arguments),Ka=this.getCustomFonts();if(sa&&0<Ka.length){var Ua=cb.ownerDocument,$a=null!=Ua.createElementNS?Ua.createElementNS(mxConstants.NS_SVG,"style"):Ua.createElement("style");null!=Ua.setAttributeNS?$a.setAttributeNS("type","text/css"):$a.setAttribute("type","text/css");for(var z="",L="",M=0;M<Ka.length;M++){var S=Ka[M].name,ca=Ka[M].url;Graph.isCssFontUrl(ca)?
+"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var cb=pa.apply(this,arguments),Ja=this.getCustomFonts();if(sa&&0<Ja.length){var Ua=cb.ownerDocument,$a=null!=Ua.createElementNS?Ua.createElementNS(mxConstants.NS_SVG,"style"):Ua.createElement("style");null!=Ua.setAttributeNS?$a.setAttributeNS("type","text/css"):$a.setAttribute("type","text/css");for(var z="",L="",M=0;M<Ja.length;M++){var S=Ja[M].name,ca=Ja[M].url;Graph.isCssFontUrl(ca)?
z+="@import url("+ca+");\n":L+='@font-face {\nfont-family: "'+S+'";\nsrc: url("'+ca+'");\n}\n'}$a.appendChild(Ua.createTextNode(z+L));cb.getElementsByTagName("defs")[0].appendChild($a)}null!=Ca&&(this.shapeBackgroundColor=Za,this.shapeForegroundColor=Qa,this.stylesheet=Ca,this.refresh());return cb};var O=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var u=O.apply(this,arguments);if(this.mathEnabled){var I=u.drawText;u.drawText=function(N,W){if(null!=N.text&&
null!=N.text.value&&N.text.checkBounds()&&(mxUtils.isNode(N.text.value)||N.text.dialect==mxConstants.DIALECT_STRICTHTML)){var T=N.text.getContentNode();if(null!=T){T=T.cloneNode(!0);if(T.getElementsByTagNameNS)for(var Q=T.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<Q.length;)Q[0].parentNode.removeChild(Q[0]);null!=T.innerHTML&&(Q=N.text.value,N.text.value=T.innerHTML,I.apply(this,arguments),N.text.value=Q)}}else I.apply(this,arguments)}}return u};var X=mxCellRenderer.prototype.destroy;
mxCellRenderer.prototype.destroy=function(u){X.apply(this,arguments);null!=u.secondLabel&&(u.secondLabel.destroy(),u.secondLabel=null)};mxCellRenderer.prototype.getShapesForState=function(u){return[u.shape,u.text,u.secondLabel,u.control]};var ea=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){ea.apply(this,arguments);this.enumerationState=0};var ka=mxGraphView.prototype.stateValidated;mxGraphView.prototype.stateValidated=function(u){null!=u.shape&&
@@ -3348,16 +3348,16 @@ Ba.setAttribute("name","pages-printdialog");Z.appendChild(Ba);I=document.createE
I+1;Da.value=va;Aa.value=va;break}Da.setAttribute("max",na);Aa.setAttribute("max",na);u.isPagesEnabled()?1<na&&(Q.appendChild(Z),sa.checked=!0):sa.checked=!0;mxUtils.br(Z);var za=document.createElement("input");za.setAttribute("value","all");za.setAttribute("type","radio");za.style.marginRight="8px";T.isSelectionEmpty()&&za.setAttribute("disabled","disabled");var Ca=document.createElement("div");Ca.style.marginBottom="10px";1==na?(za.setAttribute("type","checkbox"),za.style.marginBottom="12px",Ca.appendChild(za)):
(za.setAttribute("name","pages-printdialog"),za.style.marginBottom="8px",Z.appendChild(za));I=document.createElement("span");mxUtils.write(I,mxResources.get("selectionOnly"));za.parentNode.appendChild(I);1==na&&mxUtils.br(za.parentNode);var Qa=document.createElement("input");Qa.style.marginRight="8px";Qa.setAttribute("value","adjust");Qa.setAttribute("type","radio");Qa.setAttribute("name","printZoom");Ca.appendChild(Qa);I=document.createElement("span");mxUtils.write(I,mxResources.get("adjustTo"));
Ca.appendChild(I);var Za=document.createElement("input");Za.style.cssText="margin:0 8px 0 8px;";Za.setAttribute("value","100 %");Za.style.width="50px";Ca.appendChild(Za);mxEvent.addListener(Za,"focus",function(){Qa.checked=!0});Q.appendChild(Ca);Z=Z.cloneNode(!1);var cb=Qa.cloneNode(!0);cb.setAttribute("value","fit");Qa.setAttribute("checked","checked");I=document.createElement("div");I.style.cssText="display:inline-block;vertical-align:top;padding-top:2px;";I.appendChild(cb);Z.appendChild(I);Ca=
-document.createElement("table");Ca.style.display="inline-block";var Ka=document.createElement("tbody"),Ua=document.createElement("tr"),$a=Ua.cloneNode(!0),z=document.createElement("td"),L=z.cloneNode(!0),M=z.cloneNode(!0),S=z.cloneNode(!0),ca=z.cloneNode(!0),ha=z.cloneNode(!0);z.style.textAlign="right";S.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var oa=document.createElement("input");oa.style.cssText="margin:0 8px 0 8px;";oa.setAttribute("value","1");oa.setAttribute("min",
+document.createElement("table");Ca.style.display="inline-block";var Ja=document.createElement("tbody"),Ua=document.createElement("tr"),$a=Ua.cloneNode(!0),z=document.createElement("td"),L=z.cloneNode(!0),M=z.cloneNode(!0),S=z.cloneNode(!0),ca=z.cloneNode(!0),ha=z.cloneNode(!0);z.style.textAlign="right";S.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var oa=document.createElement("input");oa.style.cssText="margin:0 8px 0 8px;";oa.setAttribute("value","1");oa.setAttribute("min",
"1");oa.setAttribute("type","number");oa.style.width="40px";L.appendChild(oa);I=document.createElement("span");mxUtils.write(I,mxResources.get("fitToSheetsAcross"));M.appendChild(I);mxUtils.write(S,mxResources.get("fitToBy"));var ra=oa.cloneNode(!0);ca.appendChild(ra);mxEvent.addListener(oa,"focus",function(){cb.checked=!0});mxEvent.addListener(ra,"focus",function(){cb.checked=!0});I=document.createElement("span");mxUtils.write(I,mxResources.get("fitToSheetsDown"));ha.appendChild(I);Ua.appendChild(z);
-Ua.appendChild(L);Ua.appendChild(M);$a.appendChild(S);$a.appendChild(ca);$a.appendChild(ha);Ka.appendChild(Ua);Ka.appendChild($a);Ca.appendChild(Ka);Z.appendChild(Ca);Q.appendChild(Z);Z=document.createElement("div");I=document.createElement("div");I.style.fontWeight="bold";I.style.marginBottom="12px";mxUtils.write(I,mxResources.get("paperSize"));Z.appendChild(I);I=document.createElement("div");I.style.marginBottom="12px";var qa=PageSetupDialog.addPageFormatPanel(I,"printdialog",u.editor.graph.pageFormat||
+Ua.appendChild(L);Ua.appendChild(M);$a.appendChild(S);$a.appendChild(ca);$a.appendChild(ha);Ja.appendChild(Ua);Ja.appendChild($a);Ca.appendChild(Ja);Z.appendChild(Ca);Q.appendChild(Z);Z=document.createElement("div");I=document.createElement("div");I.style.fontWeight="bold";I.style.marginBottom="12px";mxUtils.write(I,mxResources.get("paperSize"));Z.appendChild(I);I=document.createElement("div");I.style.marginBottom="12px";var qa=PageSetupDialog.addPageFormatPanel(I,"printdialog",u.editor.graph.pageFormat||
mxConstants.PAGE_FORMAT_A4_PORTRAIT);Z.appendChild(I);I=document.createElement("span");mxUtils.write(I,mxResources.get("pageScale"));Z.appendChild(I);var xa=document.createElement("input");xa.style.cssText="margin:0 8px 0 8px;";xa.setAttribute("value","100 %");xa.style.width="60px";Z.appendChild(xa);Q.appendChild(Z);I=document.createElement("div");I.style.cssText="text-align:right;margin:48px 0 0 0;";Z=mxUtils.button(mxResources.get("cancel"),function(){u.hideDialog()});Z.className="geBtn";u.editor.cancelFirst&&
I.appendChild(Z);u.isOffline()||(Ca=mxUtils.button(mxResources.get("help"),function(){T.openLink("https://www.diagrams.net/doc/faq/print-diagram")}),Ca.className="geBtn",I.appendChild(Ca));PrintDialog.previewEnabled&&(Ca=mxUtils.button(mxResources.get("preview"),function(){u.hideDialog();W(!1)}),Ca.className="geBtn",I.appendChild(Ca));Ca=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){u.hideDialog();W(!0)});Ca.className="geBtn gePrimaryBtn";I.appendChild(Ca);u.editor.cancelFirst||
I.appendChild(Z);Q.appendChild(I);this.container=Q};var ia=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);if(this.page!=this.ui.currentPage){if(null!=this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.color);if(!this.ignoreImage){var u=this.image;null!=u&&null!=u.src&&Graph.isPageLink(u.src)&&(u={originalSrc:u.src});this.page.viewState.backgroundImage=u}null!=this.format&&(this.page.viewState.pageFormat=
this.format);null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled);null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)}}else ia.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=
!this.shadowVisible)};Editor.prototype.useCanvasForExport=!1;try{var la=document.createElement("canvas"),ta=new Image;ta.onload=function(){try{la.getContext("2d").drawImage(ta,0,0);var u=la.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=u&&6<u.length}catch(I){}};ta.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(u){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};b.afterDecode=function(e,k,n){n.previousColor=n.color;n.previousImage=n.image;n.previousFormat=n.format;null!=n.foldingEnabled&&(n.foldingEnabled=!n.foldingEnabled);null!=n.mathEnabled&&(n.mathEnabled=!n.mathEnabled);null!=n.shadowVisible&&(n.shadowVisible=!n.shadowVisible);return n};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,
mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(d,f,g,m,q,y,F){y=null!=y?y:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -3723,58 +3723,58 @@ EditorUi.prototype.doImportCsv=function(d,f){try{var g=d.split("\n"),m=[],q=[],y
g.length&&"#"==g[sa].charAt(0);){d=g[sa].replace(/\r$/,"");for(sa++;sa<g.length&&"\\"==d.charAt(d.length-1)&&"#"==g[sa].charAt(0);)d=d.substring(0,d.length-1)+mxUtils.trim(g[sa].substring(1)),sa++;if("#"!=d.charAt(1)){var Da=d.indexOf(":");if(0<Da){var Aa=mxUtils.trim(d.substring(1,Da)),za=mxUtils.trim(d.substring(Da+1));"label"==Aa?Q=H.sanitizeHtml(za):"labelname"==Aa&&0<za.length&&"-"!=za?Y=za:"labels"==Aa&&0<za.length&&"-"!=za?O=JSON.parse(za):"style"==Aa?aa=za:"parentstyle"==Aa?X=za:"unknownStyle"==
Aa&&"-"!=za?pa=za:"stylename"==Aa&&0<za.length&&"-"!=za?ba=za:"styles"==Aa&&0<za.length&&"-"!=za?da=JSON.parse(za):"vars"==Aa&&0<za.length&&"-"!=za?G=JSON.parse(za):"identity"==Aa&&0<za.length&&"-"!=za?ea=za:"parent"==Aa&&0<za.length&&"-"!=za?ka=za:"namespace"==Aa&&0<za.length&&"-"!=za?ja=za:"width"==Aa?U=za:"height"==Aa?J=za:"collapsed"==Aa&&"-"!=za?V="true"==za:"left"==Aa&&0<za.length?P=za:"top"==Aa&&0<za.length?R=za:"ignore"==Aa?Ba=za.split(","):"connect"==Aa?na.push(JSON.parse(za)):"link"==Aa?
va=za:"padding"==Aa?u=parseFloat(za):"edgespacing"==Aa?ia=parseFloat(za):"nodespacing"==Aa?la=parseFloat(za):"levelspacing"==Aa?ta=parseFloat(za):"layout"==Aa&&(Z=za)}}}if(null==g[sa])throw Error(mxResources.get("invalidOrMissingFile"));var Ca=this.editor.csvToArray(g[sa].replace(/\r$/,""));Da=d=null;Aa=[];for(za=0;za<Ca.length;za++)ea==Ca[za]&&(d=za),ka==Ca[za]&&(Da=za),Aa.push(mxUtils.trim(Ca[za]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==Q&&(Q="%"+Aa[0]+"%");if(null!=
-na)for(var Qa=0;Qa<na.length;Qa++)null==C[na[Qa].to]&&(C[na[Qa].to]={});ea=[];for(za=sa+1;za<g.length;za++){var Za=this.editor.csvToArray(g[za].replace(/\r$/,""));if(null==Za){var cb=40<g[za].length?g[za].substring(0,40)+"...":g[za];throw Error(cb+" ("+za+"):\n"+mxResources.get("containsValidationErrors"));}0<Za.length&&ea.push(Za)}H.model.beginUpdate();try{for(za=0;za<ea.length;za++){Za=ea[za];var Ka=null,Ua=null!=d?ja+Za[d]:null;null!=Ua&&(Ka=H.model.getCell(Ua));var $a=new mxCell(Q,new mxGeometry(W,
-N,0,0),aa||"whiteSpace=wrap;html=1;");$a.collapsed=V;$a.vertex=!0;$a.id=Ua;null!=Ka&&H.model.setCollapsed(Ka,V);for(var z=0;z<Za.length;z++)H.setAttributeForCell($a,Aa[z],Za[z]),null!=Ka&&H.setAttributeForCell(Ka,Aa[z],Za[z]);if(null!=Y&&null!=O){var L=O[$a.getAttribute(Y)];null!=L&&(H.labelChanged($a,L),null!=Ka&&H.cellLabelChanged(Ka,L))}if(null!=ba&&null!=da){var M=da[$a.getAttribute(ba)];null!=M&&($a.style=M)}H.setAttributeForCell($a,"placeholders","1");$a.style=H.replacePlaceholders($a,$a.style,
-G);null!=Ka?(H.model.setStyle(Ka,$a.style),0>mxUtils.indexOf(y,Ka)&&y.push(Ka),H.fireEvent(new mxEventObject("cellsInserted","cells",[Ka]))):H.fireEvent(new mxEventObject("cellsInserted","cells",[$a]));g=null!=Ka;Ka=$a;if(!g)for(Qa=0;Qa<na.length;Qa++)C[na[Qa].to][Ka.getAttribute(na[Qa].to)]=Ka;null!=va&&"link"!=va&&(H.setLinkForCell(Ka,Ka.getAttribute(va)),H.setAttributeForCell(Ka,va,null));var S=this.editor.graph.getPreferredSizeForCell(Ka);ka=null!=Da?H.model.getCell(ja+Za[Da]):null;if(Ka.vertex){cb=
-null!=ka?0:W;sa=null!=ka?0:T;null!=P&&null!=Ka.getAttribute(P)&&(Ka.geometry.x=cb+parseFloat(Ka.getAttribute(P)));null!=R&&null!=Ka.getAttribute(R)&&(Ka.geometry.y=sa+parseFloat(Ka.getAttribute(R)));var ca="@"==U.charAt(0)?Ka.getAttribute(U.substring(1)):null;Ka.geometry.width=null!=ca&&"auto"!=ca?parseFloat(Ka.getAttribute(U.substring(1))):"auto"==U||"auto"==ca?S.width+u:parseFloat(U);var ha="@"==J.charAt(0)?Ka.getAttribute(J.substring(1)):null;Ka.geometry.height=null!=ha&&"auto"!=ha?parseFloat(ha):
-"auto"==J||"auto"==ha?S.height+u:parseFloat(J);N+=Ka.geometry.height+la}g?(null==F[Ua]&&(F[Ua]=[]),F[Ua].push(Ka)):(m.push(Ka),null!=ka?(ka.style=H.replacePlaceholders(ka,X,G),H.addCell(Ka,ka),q.push(ka)):y.push(H.addCell(Ka)))}for(za=0;za<q.length;za++)ca="@"==U.charAt(0)?q[za].getAttribute(U.substring(1)):null,ha="@"==J.charAt(0)?q[za].getAttribute(J.substring(1)):null,"auto"!=U&&"auto"!=ca||"auto"!=J&&"auto"!=ha||H.updateGroupBounds([q[za]],u,!0);var oa=y.slice(),ra=y.slice();for(Qa=0;Qa<na.length;Qa++){var qa=
-na[Qa];for(za=0;za<m.length;za++){Ka=m[za];var xa=mxUtils.bind(this,function(db,Va,fb){var kb=Va.getAttribute(fb.from);if(null!=kb&&""!=kb){kb=kb.split(",");for(var ub=0;ub<kb.length;ub++){var nb=C[fb.to][kb[ub]];if(null==nb&&null!=pa){nb=new mxCell(kb[ub],new mxGeometry(W,T,0,0),pa);nb.style=H.replacePlaceholders(Va,nb.style,G);var Ya=this.editor.graph.getPreferredSizeForCell(nb);nb.geometry.width=Ya.width+u;nb.geometry.height=Ya.height+u;C[fb.to][kb[ub]]=nb;nb.vertex=!0;nb.id=kb[ub];y.push(H.addCell(nb))}if(null!=
-nb){Ya=fb.label;null!=fb.fromlabel&&(Ya=(Va.getAttribute(fb.fromlabel)||"")+(Ya||""));null!=fb.sourcelabel&&(Ya=H.replacePlaceholders(Va,fb.sourcelabel,G)+(Ya||""));null!=fb.tolabel&&(Ya=(Ya||"")+(nb.getAttribute(fb.tolabel)||""));null!=fb.targetlabel&&(Ya=(Ya||"")+H.replacePlaceholders(nb,fb.targetlabel,G));var gb="target"==fb.placeholders==!fb.invert?nb:db;gb=null!=fb.style?H.replacePlaceholders(gb,fb.style,G):H.createCurrentEdgeStyle();Ya=H.insertEdge(null,null,Ya||"",fb.invert?nb:db,fb.invert?
-db:nb,gb);if(null!=fb.labels)for(gb=0;gb<fb.labels.length;gb++){var hb=fb.labels[gb],ob=new mxCell(hb.label||gb,new mxGeometry(null!=hb.x?hb.x:0,null!=hb.y?hb.y:0,0,0),"resizable=0;html=1;");ob.vertex=!0;ob.connectable=!1;ob.geometry.relative=!0;null!=hb.placeholders&&(ob.value=H.replacePlaceholders("target"==hb.placeholders==!fb.invert?nb:db,ob.value,G));if(null!=hb.dx||null!=hb.dy)ob.geometry.offset=new mxPoint(null!=hb.dx?hb.dx:0,null!=hb.dy?hb.dy:0);Ya.insert(ob)}ra.push(Ya);mxUtils.remove(fb.invert?
-db:nb,oa)}}}});xa(Ka,Ka,qa);if(null!=F[Ka.id])for(z=0;z<F[Ka.id].length;z++)xa(Ka,F[Ka.id][z],qa)}}if(null!=Ba)for(za=0;za<m.length;za++)for(Ka=m[za],z=0;z<Ba.length;z++)H.setAttributeForCell(Ka,mxUtils.trim(Ba[z]),null);if(0<y.length){var Ga=new mxParallelEdgeLayout(H);Ga.spacing=ia;Ga.checkOverlap=!0;var La=function(){0<Ga.spacing&&Ga.execute(H.getDefaultParent());for(var db=0;db<y.length;db++){var Va=H.getCellGeometry(y[db]);Va.x=Math.round(H.snap(Va.x));Va.y=Math.round(H.snap(Va.y));"auto"==U&&
-(Va.width=Math.round(H.snap(Va.width)));"auto"==J&&(Va.height=Math.round(H.snap(Va.height)))}};if("["==Z.charAt(0)){var Pa=I;H.view.validate();this.executeLayouts(H.createLayouts(JSON.parse(Z)),function(){La();Pa()});I=null}else if("circle"==Z){var Oa=new mxCircleLayout(H);Oa.disableEdgeStyle=!1;Oa.resetEdges=!1;var Ta=Oa.isVertexIgnored;Oa.isVertexIgnored=function(db){return Ta.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Oa.execute(H.getDefaultParent());La()},!0,
-I);I=null}else if("horizontaltree"==Z||"verticaltree"==Z||"auto"==Z&&ra.length==2*y.length-1&&1==oa.length){H.view.validate();var Ma=new mxCompactTreeLayout(H,"horizontaltree"==Z);Ma.levelDistance=la;Ma.edgeRouting=!1;Ma.resetEdges=!1;this.executeLayout(function(){Ma.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,I);I=null}else if("horizontalflow"==Z||"verticalflow"==Z||"auto"==Z&&1==oa.length){H.view.validate();var ua=new mxHierarchicalLayout(H,"horizontalflow"==Z?mxConstants.DIRECTION_WEST:
-mxConstants.DIRECTION_NORTH);ua.intraCellSpacing=la;ua.parallelEdgeSpacing=ia;ua.interRankCellSpacing=ta;ua.disableEdgeStyle=!1;this.executeLayout(function(){ua.execute(H.getDefaultParent(),ra);H.moveCells(ra,W,T)},!0,I);I=null}else if("orgchart"==Z){H.view.validate();var ya=new mxOrgChartLayout(H,2,ta,la),Na=ya.isVertexIgnored;ya.isVertexIgnored=function(db){return Na.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){ya.execute(H.getDefaultParent());La()},!0,I);I=null}else if("organic"==
-Z||"auto"==Z&&ra.length>y.length){H.view.validate();var Fa=new mxFastOrganicLayout(H);Fa.forceConstant=3*la;Fa.disableEdgeStyle=!1;Fa.resetEdges=!1;var Ra=Fa.isVertexIgnored;Fa.isVertexIgnored=function(db){return Ra.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Fa.execute(H.getDefaultParent());La()},!0,I);I=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=I&&I()}}catch(db){this.handleError(db)}};EditorUi.prototype.getSearch=function(d){var f="";if("1"!=urlParams.offline&&
-"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var g="?",m;for(m in urlParams)0>mxUtils.indexOf(d,m)&&null!=urlParams[m]&&(f+=g+m+"="+urlParams[m],g="&")}else f=window.location.search;return f};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var f=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var g="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),m;for(m in urlParams)0>mxUtils.indexOf(g,
-m)&&(d=0==f?d+"?":d+"&",null!=urlParams[m]&&(d+=m+"="+urlParams[m],f++))}return d};EditorUi.prototype.showLinkDialog=function(d,f,g,m,q){d=new LinkDialog(this,d,f,g,!0,m,q);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var f=1;null==this.drive&&"function"!==typeof window.DriveClient||f++;null==this.dropbox&&"function"!==typeof window.DropboxClient||f++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||f++;null!=this.gitHub&&f++;null!=
-this.gitLab&&f++;d&&isLocalStorage&&"1"==urlParams.browser&&f++;return f};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),f=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(f);this.menus.get("viewZoom").setEnabled(f);var g=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!g);this.actions.get("print").setEnabled(!g);
-this.menus.get("exportAs").setEnabled(!g);this.menus.get("embed").setEnabled(!g);g="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(g);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(g),this.menus.get("newLibrary").setEnabled(g));d="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=d&&d.isEditable();this.actions.get("image").setEnabled(f);this.actions.get("zoomIn").setEnabled(f);this.actions.get("zoomOut").setEnabled(f);this.actions.get("resetView").setEnabled(f);
-this.actions.get("undo").setEnabled(this.canUndo()&&d);this.actions.get("redo").setEnabled(this.canRedo()&&d);this.menus.get("edit").setEnabled(f);this.menus.get("view").setEnabled(f);this.menus.get("importFrom").setEnabled(d);this.menus.get("arrange").setEnabled(d);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(d),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(d));this.updateUserElement()};EditorUi.prototype.updateButtonContainer=
-function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var d=this.getCurrentFile();return null!=d&&d.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var t=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){t.apply(this,arguments);var d=this.editor.graph,f=this.getCurrentFile(),g=this.getSelectionState(),
-m=this.isDiagramActive();this.actions.get("pageSetup").setEnabled(m);this.actions.get("autosave").setEnabled(null!=f&&f.isEditable()&&f.isAutosaveOptional());this.actions.get("guides").setEnabled(m);this.actions.get("editData").setEnabled(d.isEnabled());this.actions.get("shadowVisible").setEnabled(m);this.actions.get("connectionArrows").setEnabled(m);this.actions.get("connectionPoints").setEnabled(m);this.actions.get("copyStyle").setEnabled(m&&!d.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(m&&
-0<g.cells.length);this.actions.get("editGeometry").setEnabled(0<g.vertices.length);this.actions.get("createShape").setEnabled(m);this.actions.get("createRevision").setEnabled(m);this.actions.get("moveToFolder").setEnabled(null!=f);this.actions.get("makeCopy").setEnabled(null!=f&&!f.isRestricted());this.actions.get("editDiagram").setEnabled(m&&(null==f||!f.isRestricted()));this.actions.get("publishLink").setEnabled(null!=f&&!f.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);
-this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=f&&f.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=f);this.menus.get("publish").setEnabled(null!=f&&!f.isRestricted());f=this.actions.get("findReplace");f.setEnabled("hidden"!=this.diagramContainer.style.visibility);f.label=mxResources.get("find")+
-(d.isEnabled()?"/"+mxResources.get("replace"):"")+"...";d=d.view.getState(d.getSelectionCell());this.actions.get("editShape").setEnabled(m&&null!=d&&null!=d.shape&&null!=d.shape.stencil)};var E=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);E.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=
-function(d,f,g,m,q,y,F,C){var H=d.editor.graph;if("xml"==g)d.hideDialog(),d.saveData(f,"xml",mxUtils.getXml(d.editor.getGraphXml()),"text/xml");else if("svg"==g)d.hideDialog(),d.saveData(f,"svg",mxUtils.getXml(H.getSvg(m,q,y)),"image/svg+xml");else{var G=d.getFileData(!0,null,null,null,null,!0),aa=H.getGraphBounds(),da=Math.floor(aa.width*q/H.view.scale),ba=Math.floor(aa.height*q/H.view.scale);if(G.length<=MAX_REQUEST_SIZE&&da*ba<MAX_AREA)if(d.hideDialog(),"png"!=g&&"jpg"!=g&&"jpeg"!=g||!d.isExportToCanvas()){var Y=
-{globalVars:H.getExportVariables()};C&&(Y.grid={size:H.gridSize,steps:H.view.gridSteps,color:H.view.gridColor});d.saveRequest(f,g,function(pa,O){return new mxXmlRequest(EXPORT_URL,"format="+g+"&base64="+(O||"0")+(null!=pa?"&filename="+encodeURIComponent(pa):"")+"&extras="+encodeURIComponent(JSON.stringify(Y))+(0<F?"&dpi="+F:"")+"&bg="+(null!=m?m:"none")+"&w="+da+"&h="+ba+"&border="+y+"&xml="+encodeURIComponent(G))})}else"png"==g?d.exportImage(q,null==m||"none"==m,!0,!1,!1,y,!0,!1,null,C,F):d.exportImage(q,
-!1,!0,!1,!1,y,!0,!1,"jpeg",C);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var d=this.editor.graph,f="";if(null!=this.pages)for(var g=0;g<this.pages.length;g++){var m=d;this.currentPage!=this.pages[g]&&(m=this.createTemporaryGraph(d.getStylesheet()),this.updatePageRoot(this.pages[g]),m.model.setRoot(this.pages[g].root));f+=this.pages[g].getName()+" "+m.getIndexableText()+" "}else f=d.getIndexableText();
-this.editor.graph.setEnabled(!0);return f};EditorUi.prototype.showRemotelyStoredLibrary=function(d){var f={},g=document.createElement("div");g.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxUtils.htmlEntities(d));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(m);var q=document.createElement("div");q.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";q.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+
-IMAGE_PATH+'/spin.gif"></div>';var y={};try{var F=mxSettings.getCustomLibraries();for(d=0;d<F.length;d++){var C=F[d];if("R"==C.substring(0,1)){var H=JSON.parse(decodeURIComponent(C.substring(1)));y[H[0]]={id:H[0],title:H[1],downloadUrl:H[2]}}}}catch(G){}this.remoteInvoke("getCustomLibraries",null,null,function(G){q.innerHTML="";if(0==G.length)q.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var aa=0;aa<
-G.length;aa++){var da=G[aa];y[da.id]&&(f[da.id]=da);var ba=this.addCheckbox(q,da.title,y[da.id]);(function(Y,pa){mxEvent.addListener(pa,"change",function(){this.checked?f[Y.id]=Y:delete f[Y.id]})})(da,ba)}},mxUtils.bind(this,function(G){q.innerHTML="";var aa=document.createElement("div");aa.style.padding="8px";aa.style.textAlign="center";mxUtils.write(aa,mxResources.get("error")+": ");mxUtils.write(aa,null!=G&&null!=G.message?G.message:mxResources.get("unknownError"));q.appendChild(aa)}));g.appendChild(q);
-g=new CustomDialog(this,g,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var G=0,aa;for(aa in f)null==y[aa]&&(G++,mxUtils.bind(this,function(da){this.remoteInvoke("getFileContent",[da.downloadUrl],null,mxUtils.bind(this,function(ba){G--;0==G&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,ba,da))}catch(Y){this.handleError(Y,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){G--;0==G&&this.spinner.stop();this.handleError(null,
-mxResources.get("errorLoadingFile"))}))})(f[aa]));for(aa in y)f[aa]||this.closeLibrary(new RemoteLibrary(this,null,y[aa]));0==G&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(g.container,340,390,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,allowedDomains:["app.diagrams.net"]},
-setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(d){this.remoteWin=d;for(var f=0;f<this.remoteInvokeQueue.length;f++)d.postMessage(this.remoteInvokeQueue[f],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(d){var f=d.msgMarkers,g=this.remoteInvokeCallbacks[f.callbackId];if(null==g)throw Error("No callback for "+
-(null!=f?f.callbackId:"null"));d.error?g.error&&g.error(d.error.errResp):g.callback&&g.callback.apply(this,d.resp);this.remoteInvokeCallbacks[f.callbackId]=null};EditorUi.prototype.remoteInvoke=function(d,f,g,m,q){var y=!0,F=window.setTimeout(mxUtils.bind(this,function(){y=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),C=mxUtils.bind(this,function(){window.clearTimeout(F);y&&m.apply(this,arguments)}),H=mxUtils.bind(this,function(){window.clearTimeout(F);y&&q.apply(this,
-arguments)});g=g||{};g.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:C,error:H});d=JSON.stringify({event:"remoteInvoke",funtionName:d,functionArgs:f,msgMarkers:g});null!=this.remoteWin?this.remoteWin.postMessage(d,"*"):this.remoteInvokeQueue.push(d)};EditorUi.prototype.handleRemoteInvoke=function(d,f){var g=mxUtils.bind(this,function(G,aa){var da={event:"remoteInvokeResponse",msgMarkers:d.msgMarkers};null!=aa?da.error={errResp:aa}:null!=G&&(da.resp=G);this.remoteWin.postMessage(JSON.stringify(da),
-"*")});try{var m=d.funtionName,q=this.remoteInvokableFns[m];if(null!=q&&"function"===typeof this[m]){if(q.allowedDomains){for(var y=!1,F=0;F<q.allowedDomains.length;F++)if(f=="https://"+q.allowedDomains[F]){y=!0;break}if(!y){g(null,"Invalid Call: "+m+" is not allowed.");return}}var C=d.functionArgs;Array.isArray(C)||(C=[]);if(q.isAsync)C.push(function(){g(Array.prototype.slice.apply(arguments))}),C.push(function(G){g(null,G||"Unkown Error")}),this[m].apply(this,C);else{var H=this[m].apply(this,C);
-g([H])}}else g(null,"Invalid Call: "+m+" is not found.")}catch(G){g(null,"Invalid Call: An error occurred, "+G.message)}};EditorUi.prototype.openDatabase=function(d,f){if(null==this.database){var g=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=g)try{var m=g.open("database",2);m.onupgradeneeded=function(q){try{var y=m.result;1>q.oldVersion&&y.createObjectStore("objects",{keyPath:"key"});2>q.oldVersion&&(y.createObjectStore("files",{keyPath:"title"}),y.createObjectStore("filesInfo",
-{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(F){null!=f&&f(F)}};m.onsuccess=mxUtils.bind(this,function(q){var y=m.result;this.database=y;EditorUi.migrateStorageFiles&&(StorageFile.migrate(y),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(F){if(!F||"1"==urlParams.forceMigration){var C=document.createElement("iframe");C.style.display=
-"none";C.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(C);var H=!0,G=!1,aa,da=0,ba=mxUtils.bind(this,function(){G=!0;this.setDatabaseItem(".drawioMigrated3",!0);C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),Y=mxUtils.bind(this,function(){da++;pa()}),pa=mxUtils.bind(this,function(){try{if(da>=aa.length)ba();else{var X=aa[da];StorageFile.getFileContent(this,X,
-mxUtils.bind(this,function(ea){null==ea||".scratchpad"==X&&ea==this.emptyLibraryXml?C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[X]}),"*"):Y()}),Y)}}catch(ea){console.log(ea)}}),O=mxUtils.bind(this,function(X){try{this.setDatabaseItem(null,[{title:X.title,size:X.data.length,lastModified:Date.now(),type:X.isLib?"L":"F"},{title:X.title,data:X.data}],Y,Y,["filesInfo","files"])}catch(ea){console.log(ea)}});F=mxUtils.bind(this,function(X){try{if(X.source==
-C.contentWindow){var ea={};try{ea=JSON.parse(X.data)}catch(ka){}"init"==ea.event?(C.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=ea.event||G||(H?null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?(aa=ea.resp[0],H=!1,pa()):ba():null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?O(ea.resp[0]):Y())}}catch(ka){console.log(ka)}});window.addEventListener("message",
-F)}})));d(y);y.onversionchange=function(){y.close()}});m.onerror=f;m.onblocked=function(){}}catch(q){null!=f&&f(q)}else null!=f&&f()}else d(this.database)};EditorUi.prototype.setDatabaseItem=function(d,f,g,m,q){this.openDatabase(mxUtils.bind(this,function(y){try{q=q||"objects";Array.isArray(q)||(q=[q],d=[d],f=[f]);var F=y.transaction(q,"readwrite");F.oncomplete=g;F.onerror=m;for(y=0;y<q.length;y++)F.objectStore(q[y]).put(null!=d&&null!=d[y]?{key:d[y],data:f[y]}:f[y])}catch(C){null!=m&&m(C)}}),m)};
-EditorUi.prototype.removeDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){m=m||"objects";Array.isArray(m)||(m=[m],d=[d]);q=q.transaction(m,"readwrite");q.oncomplete=f;q.onerror=g;for(var y=0;y<m.length;y++)q.objectStore(m[y]).delete(d[y])}),g)};EditorUi.prototype.getDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){try{m=m||"objects";var y=q.transaction([m],"readonly").objectStore(m).get(d);y.onsuccess=function(){f(y.result)};y.onerror=g}catch(F){null!=
-g&&g(F)}}),g)};EditorUi.prototype.getDatabaseItems=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).openCursor(IDBKeyRange.lowerBound(0)),y=[];q.onsuccess=function(F){null==F.target.result?d(y):(y.push(F.target.result.value),F.target.result.continue())};q.onerror=f}catch(F){null!=f&&f(F)}}),f)};EditorUi.prototype.getDatabaseItemKeys=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";
-var q=m.transaction([g],"readonly").objectStore(g).getAllKeys();q.onsuccess=function(){d(q.result)};q.onerror=f}catch(y){null!=f&&f(y)}}),f)};EditorUi.prototype.commentsSupported=function(){var d=this.getCurrentFile();return null!=d?d.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsSaveNeeded():!1};
-EditorUi.prototype.getComments=function(d,f){var g=this.getCurrentFile();null!=g?g.getComments(d,f):d([])};EditorUi.prototype.addComment=function(d,f,g){var m=this.getCurrentFile();null!=m?m.addComment(d,f,g):f(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var d=this.getCurrentFile();return null!=d?d.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var d=this.getCurrentFile();return null!=d?d.canComment():!0};EditorUi.prototype.newComment=function(d,f){var g=this.getCurrentFile();
-return null!=g?g.newComment(d,f):new DrawioComment(this,null,d,Date.now(),Date.now(),!1,f)};EditorUi.prototype.isRevisionHistorySupported=function(){var d=this.getCurrentFile();return null!=d&&d.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(d,f){var g=this.getCurrentFile();null!=g&&g.getRevisions?g.getRevisions(d,f):f({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var d=this.getCurrentFile();return null!=d&&(d.constructor==
-DriveFile&&d.isEditable()||d.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,g,m,q,y,F,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,g,m,q,y,F,C)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};
-EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,
-O){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,g,m)};EditorUi.prototype.convertImageToDataUri=function(d,
-f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,g,m)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};EditorUi.prototype.writeGraphModelToPng=
-function(d,f,g,m,q){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(d,f,g,m,q)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var d=[],f=0;f<localStorage.length;f++){var g=localStorage.key(f),m=localStorage.getItem(g);if(0<g.length&&(".scratchpad"==g||"."!=g.charAt(0))&&0<m.length){var q="<mxfile "===m.substring(0,8)||"<?xml"===m.substring(0,
-5)||"\x3c!--[if IE]>"===m.substring(0,12);m="<mxlibrary>"===m.substring(0,11);(q||m)&&d.push(g)}}return d};EditorUi.prototype.getLocalStorageFile=function(d){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var f=localStorage.getItem(d);return{title:d,data:f,isLib:"<mxlibrary>"===f.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
+na)for(var Qa=0;Qa<na.length;Qa++)null==C[na[Qa].to]&&(C[na[Qa].to]={});ea=[];for(za=sa+1;za<g.length;za++){var Za=this.editor.csvToArray(g[za].replace(/\r$/,""));if(null==Za){var cb=40<g[za].length?g[za].substring(0,40)+"...":g[za];throw Error(cb+" ("+za+"):\n"+mxResources.get("containsValidationErrors"));}0<Za.length&&ea.push(Za)}H.model.beginUpdate();try{for(za=0;za<ea.length;za++){Za=ea[za];var Ja=null,Ua=null!=d?ja+Za[d]:null;g=!1;null!=Ua&&(Ja=H.model.getCell(Ua),g=null==Ja||0<=mxUtils.indexOf(m,
+Ja));var $a=new mxCell(Q,new mxGeometry(W,N,0,0),aa||"whiteSpace=wrap;html=1;");$a.collapsed=V;$a.vertex=!0;$a.id=Ua;null==Ja||g||H.model.setCollapsed(Ja,V);for(var z=0;z<Za.length;z++)H.setAttributeForCell($a,Aa[z],Za[z]),null==Ja||g||H.setAttributeForCell(Ja,Aa[z],Za[z]);if(null!=Y&&null!=O){var L=O[$a.getAttribute(Y)];null!=L&&(H.labelChanged($a,L),null==Ja||g||H.cellLabelChanged(Ja,L))}if(null!=ba&&null!=da){var M=da[$a.getAttribute(ba)];null!=M&&($a.style=M)}H.setAttributeForCell($a,"placeholders",
+"1");$a.style=H.replacePlaceholders($a,$a.style,G);null!=Ja?(H.model.setStyle(Ja,$a.style),0>mxUtils.indexOf(y,Ja)&&y.push(Ja),H.fireEvent(new mxEventObject("cellsInserted","cells",[Ja]))):H.fireEvent(new mxEventObject("cellsInserted","cells",[$a]));g=null!=Ja;Ja=$a;if(!g)for(Qa=0;Qa<na.length;Qa++)C[na[Qa].to][Ja.getAttribute(na[Qa].to)]=Ja;null!=va&&"link"!=va&&(H.setLinkForCell(Ja,Ja.getAttribute(va)),H.setAttributeForCell(Ja,va,null));var S=this.editor.graph.getPreferredSizeForCell(Ja);ka=null!=
+Da?H.model.getCell(ja+Za[Da]):null;if(Ja.vertex){cb=null!=ka?0:W;sa=null!=ka?0:T;null!=P&&null!=Ja.getAttribute(P)&&(Ja.geometry.x=cb+parseFloat(Ja.getAttribute(P)));null!=R&&null!=Ja.getAttribute(R)&&(Ja.geometry.y=sa+parseFloat(Ja.getAttribute(R)));var ca="@"==U.charAt(0)?Ja.getAttribute(U.substring(1)):null;Ja.geometry.width=null!=ca&&"auto"!=ca?parseFloat(Ja.getAttribute(U.substring(1))):"auto"==U||"auto"==ca?S.width+u:parseFloat(U);var ha="@"==J.charAt(0)?Ja.getAttribute(J.substring(1)):null;
+Ja.geometry.height=null!=ha&&"auto"!=ha?parseFloat(ha):"auto"==J||"auto"==ha?S.height+u:parseFloat(J);N+=Ja.geometry.height+la}g?(null==F[Ua]&&(F[Ua]=[]),F[Ua].push(Ja)):(m.push(Ja),null!=ka?(ka.style=H.replacePlaceholders(ka,X,G),H.addCell(Ja,ka),q.push(ka)):y.push(H.addCell(Ja)))}for(za=0;za<q.length;za++)ca="@"==U.charAt(0)?q[za].getAttribute(U.substring(1)):null,ha="@"==J.charAt(0)?q[za].getAttribute(J.substring(1)):null,"auto"!=U&&"auto"!=ca||"auto"!=J&&"auto"!=ha||H.updateGroupBounds([q[za]],
+u,!0);var oa=y.slice(),ra=y.slice();for(Qa=0;Qa<na.length;Qa++){var qa=na[Qa];for(za=0;za<m.length;za++){Ja=m[za];var xa=mxUtils.bind(this,function(db,Va,fb){var kb=Va.getAttribute(fb.from);if(null!=kb&&""!=kb){kb=kb.split(",");for(var ub=0;ub<kb.length;ub++){var nb=C[fb.to][kb[ub]];if(null==nb&&null!=pa){nb=new mxCell(kb[ub],new mxGeometry(W,T,0,0),pa);nb.style=H.replacePlaceholders(Va,nb.style,G);var Ya=this.editor.graph.getPreferredSizeForCell(nb);nb.geometry.width=Ya.width+u;nb.geometry.height=
+Ya.height+u;C[fb.to][kb[ub]]=nb;nb.vertex=!0;nb.id=kb[ub];y.push(H.addCell(nb))}if(null!=nb){Ya=fb.label;null!=fb.fromlabel&&(Ya=(Va.getAttribute(fb.fromlabel)||"")+(Ya||""));null!=fb.sourcelabel&&(Ya=H.replacePlaceholders(Va,fb.sourcelabel,G)+(Ya||""));null!=fb.tolabel&&(Ya=(Ya||"")+(nb.getAttribute(fb.tolabel)||""));null!=fb.targetlabel&&(Ya=(Ya||"")+H.replacePlaceholders(nb,fb.targetlabel,G));var gb="target"==fb.placeholders==!fb.invert?nb:db;gb=null!=fb.style?H.replacePlaceholders(gb,fb.style,
+G):H.createCurrentEdgeStyle();Ya=H.insertEdge(null,null,Ya||"",fb.invert?nb:db,fb.invert?db:nb,gb);if(null!=fb.labels)for(gb=0;gb<fb.labels.length;gb++){var hb=fb.labels[gb],ob=new mxCell(hb.label||gb,new mxGeometry(null!=hb.x?hb.x:0,null!=hb.y?hb.y:0,0,0),"resizable=0;html=1;");ob.vertex=!0;ob.connectable=!1;ob.geometry.relative=!0;null!=hb.placeholders&&(ob.value=H.replacePlaceholders("target"==hb.placeholders==!fb.invert?nb:db,ob.value,G));if(null!=hb.dx||null!=hb.dy)ob.geometry.offset=new mxPoint(null!=
+hb.dx?hb.dx:0,null!=hb.dy?hb.dy:0);Ya.insert(ob)}ra.push(Ya);mxUtils.remove(fb.invert?db:nb,oa)}}}});xa(Ja,Ja,qa);if(null!=F[Ja.id])for(z=0;z<F[Ja.id].length;z++)xa(Ja,F[Ja.id][z],qa)}}if(null!=Ba)for(za=0;za<m.length;za++)for(Ja=m[za],z=0;z<Ba.length;z++)H.setAttributeForCell(Ja,mxUtils.trim(Ba[z]),null);if(0<y.length){var Ga=new mxParallelEdgeLayout(H);Ga.spacing=ia;Ga.checkOverlap=!0;var La=function(){0<Ga.spacing&&Ga.execute(H.getDefaultParent());for(var db=0;db<y.length;db++){var Va=H.getCellGeometry(y[db]);
+Va.x=Math.round(H.snap(Va.x));Va.y=Math.round(H.snap(Va.y));"auto"==U&&(Va.width=Math.round(H.snap(Va.width)));"auto"==J&&(Va.height=Math.round(H.snap(Va.height)))}};if("["==Z.charAt(0)){var Pa=I;H.view.validate();this.executeLayouts(H.createLayouts(JSON.parse(Z)),function(){La();Pa()});I=null}else if("circle"==Z){var Oa=new mxCircleLayout(H);Oa.disableEdgeStyle=!1;Oa.resetEdges=!1;var Ta=Oa.isVertexIgnored;Oa.isVertexIgnored=function(db){return Ta.apply(this,arguments)||0>mxUtils.indexOf(y,db)};
+this.executeLayout(function(){Oa.execute(H.getDefaultParent());La()},!0,I);I=null}else if("horizontaltree"==Z||"verticaltree"==Z||"auto"==Z&&ra.length==2*y.length-1&&1==oa.length){H.view.validate();var Ma=new mxCompactTreeLayout(H,"horizontaltree"==Z);Ma.levelDistance=la;Ma.edgeRouting=!1;Ma.resetEdges=!1;this.executeLayout(function(){Ma.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,I);I=null}else if("horizontalflow"==Z||"verticalflow"==Z||"auto"==Z&&1==oa.length){H.view.validate();var ua=
+new mxHierarchicalLayout(H,"horizontalflow"==Z?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ua.intraCellSpacing=la;ua.parallelEdgeSpacing=ia;ua.interRankCellSpacing=ta;ua.disableEdgeStyle=!1;this.executeLayout(function(){ua.execute(H.getDefaultParent(),ra);H.moveCells(ra,W,T)},!0,I);I=null}else if("orgchart"==Z){H.view.validate();var ya=new mxOrgChartLayout(H,2,ta,la),Na=ya.isVertexIgnored;ya.isVertexIgnored=function(db){return Na.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){ya.execute(H.getDefaultParent());
+La()},!0,I);I=null}else if("organic"==Z||"auto"==Z&&ra.length>y.length){H.view.validate();var Fa=new mxFastOrganicLayout(H);Fa.forceConstant=3*la;Fa.disableEdgeStyle=!1;Fa.resetEdges=!1;var Ra=Fa.isVertexIgnored;Fa.isVertexIgnored=function(db){return Ra.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Fa.execute(H.getDefaultParent());La()},!0,I);I=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=I&&I()}}catch(db){this.handleError(db)}};EditorUi.prototype.getSearch=
+function(d){var f="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var g="?",m;for(m in urlParams)0>mxUtils.indexOf(d,m)&&null!=urlParams[m]&&(f+=g+m+"="+urlParams[m],g="&")}else f=window.location.search;return f};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var f=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var g="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
+m;for(m in urlParams)0>mxUtils.indexOf(g,m)&&(d=0==f?d+"?":d+"&",null!=urlParams[m]&&(d+=m+"="+urlParams[m],f++))}return d};EditorUi.prototype.showLinkDialog=function(d,f,g,m,q){d=new LinkDialog(this,d,f,g,!0,m,q);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var f=1;null==this.drive&&"function"!==typeof window.DriveClient||f++;null==this.dropbox&&"function"!==typeof window.DropboxClient||f++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||
+f++;null!=this.gitHub&&f++;null!=this.gitLab&&f++;d&&isLocalStorage&&"1"==urlParams.browser&&f++;return f};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),f=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(f);this.menus.get("viewZoom").setEnabled(f);var g=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!g);
+this.actions.get("print").setEnabled(!g);this.menus.get("exportAs").setEnabled(!g);this.menus.get("embed").setEnabled(!g);g="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(g);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(g),this.menus.get("newLibrary").setEnabled(g));d="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=d&&d.isEditable();this.actions.get("image").setEnabled(f);this.actions.get("zoomIn").setEnabled(f);this.actions.get("zoomOut").setEnabled(f);
+this.actions.get("resetView").setEnabled(f);this.actions.get("undo").setEnabled(this.canUndo()&&d);this.actions.get("redo").setEnabled(this.canRedo()&&d);this.menus.get("edit").setEnabled(f);this.menus.get("view").setEnabled(f);this.menus.get("importFrom").setEnabled(d);this.menus.get("arrange").setEnabled(d);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(d),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(d));this.updateUserElement()};
+EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var d=this.getCurrentFile();return null!=d&&d.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var t=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){t.apply(this,arguments);var d=this.editor.graph,
+f=this.getCurrentFile(),g=this.getSelectionState(),m=this.isDiagramActive();this.actions.get("pageSetup").setEnabled(m);this.actions.get("autosave").setEnabled(null!=f&&f.isEditable()&&f.isAutosaveOptional());this.actions.get("guides").setEnabled(m);this.actions.get("editData").setEnabled(d.isEnabled());this.actions.get("shadowVisible").setEnabled(m);this.actions.get("connectionArrows").setEnabled(m);this.actions.get("connectionPoints").setEnabled(m);this.actions.get("copyStyle").setEnabled(m&&!d.isSelectionEmpty());
+this.actions.get("pasteStyle").setEnabled(m&&0<g.cells.length);this.actions.get("editGeometry").setEnabled(0<g.vertices.length);this.actions.get("createShape").setEnabled(m);this.actions.get("createRevision").setEnabled(m);this.actions.get("moveToFolder").setEnabled(null!=f);this.actions.get("makeCopy").setEnabled(null!=f&&!f.isRestricted());this.actions.get("editDiagram").setEnabled(m&&(null==f||!f.isRestricted()));this.actions.get("publishLink").setEnabled(null!=f&&!f.isRestricted());this.actions.get("tags").setEnabled("hidden"!=
+this.diagramContainer.style.visibility);this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=f&&f.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=f);this.menus.get("publish").setEnabled(null!=f&&!f.isRestricted());f=this.actions.get("findReplace");f.setEnabled("hidden"!=this.diagramContainer.style.visibility);
+f.label=mxResources.get("find")+(d.isEnabled()?"/"+mxResources.get("replace"):"")+"...";d=d.view.getState(d.getSelectionCell());this.actions.get("editShape").setEnabled(m&&null!=d&&null!=d.shape&&null!=d.shape.stencil)};var E=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);E.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=
+!1,ExportDialog.exportFile=function(d,f,g,m,q,y,F,C){var H=d.editor.graph;if("xml"==g)d.hideDialog(),d.saveData(f,"xml",mxUtils.getXml(d.editor.getGraphXml()),"text/xml");else if("svg"==g)d.hideDialog(),d.saveData(f,"svg",mxUtils.getXml(H.getSvg(m,q,y)),"image/svg+xml");else{var G=d.getFileData(!0,null,null,null,null,!0),aa=H.getGraphBounds(),da=Math.floor(aa.width*q/H.view.scale),ba=Math.floor(aa.height*q/H.view.scale);if(G.length<=MAX_REQUEST_SIZE&&da*ba<MAX_AREA)if(d.hideDialog(),"png"!=g&&"jpg"!=
+g&&"jpeg"!=g||!d.isExportToCanvas()){var Y={globalVars:H.getExportVariables()};C&&(Y.grid={size:H.gridSize,steps:H.view.gridSteps,color:H.view.gridColor});d.saveRequest(f,g,function(pa,O){return new mxXmlRequest(EXPORT_URL,"format="+g+"&base64="+(O||"0")+(null!=pa?"&filename="+encodeURIComponent(pa):"")+"&extras="+encodeURIComponent(JSON.stringify(Y))+(0<F?"&dpi="+F:"")+"&bg="+(null!=m?m:"none")+"&w="+da+"&h="+ba+"&border="+y+"&xml="+encodeURIComponent(G))})}else"png"==g?d.exportImage(q,null==m||
+"none"==m,!0,!1,!1,y,!0,!1,null,C,F):d.exportImage(q,!1,!0,!1,!1,y,!0,!1,"jpeg",C);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var d=this.editor.graph,f="";if(null!=this.pages)for(var g=0;g<this.pages.length;g++){var m=d;this.currentPage!=this.pages[g]&&(m=this.createTemporaryGraph(d.getStylesheet()),this.updatePageRoot(this.pages[g]),m.model.setRoot(this.pages[g].root));f+=this.pages[g].getName()+" "+
+m.getIndexableText()+" "}else f=d.getIndexableText();this.editor.graph.setEnabled(!0);return f};EditorUi.prototype.showRemotelyStoredLibrary=function(d){var f={},g=document.createElement("div");g.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxUtils.htmlEntities(d));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(m);var q=document.createElement("div");q.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";
+q.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+IMAGE_PATH+'/spin.gif"></div>';var y={};try{var F=mxSettings.getCustomLibraries();for(d=0;d<F.length;d++){var C=F[d];if("R"==C.substring(0,1)){var H=JSON.parse(decodeURIComponent(C.substring(1)));y[H[0]]={id:H[0],title:H[1],downloadUrl:H[2]}}}}catch(G){}this.remoteInvoke("getCustomLibraries",null,null,function(G){q.innerHTML="";if(0==G.length)q.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+
+"</div>";else for(var aa=0;aa<G.length;aa++){var da=G[aa];y[da.id]&&(f[da.id]=da);var ba=this.addCheckbox(q,da.title,y[da.id]);(function(Y,pa){mxEvent.addListener(pa,"change",function(){this.checked?f[Y.id]=Y:delete f[Y.id]})})(da,ba)}},mxUtils.bind(this,function(G){q.innerHTML="";var aa=document.createElement("div");aa.style.padding="8px";aa.style.textAlign="center";mxUtils.write(aa,mxResources.get("error")+": ");mxUtils.write(aa,null!=G&&null!=G.message?G.message:mxResources.get("unknownError"));
+q.appendChild(aa)}));g.appendChild(q);g=new CustomDialog(this,g,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var G=0,aa;for(aa in f)null==y[aa]&&(G++,mxUtils.bind(this,function(da){this.remoteInvoke("getFileContent",[da.downloadUrl],null,mxUtils.bind(this,function(ba){G--;0==G&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,ba,da))}catch(Y){this.handleError(Y,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){G--;0==G&&
+this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(f[aa]));for(aa in y)f[aa]||this.closeLibrary(new RemoteLibrary(this,null,y[aa]));0==G&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(g.container,340,390,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,
+allowedDomains:["app.diagrams.net"]},setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(d){this.remoteWin=d;for(var f=0;f<this.remoteInvokeQueue.length;f++)d.postMessage(this.remoteInvokeQueue[f],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(d){var f=d.msgMarkers,g=this.remoteInvokeCallbacks[f.callbackId];if(null==
+g)throw Error("No callback for "+(null!=f?f.callbackId:"null"));d.error?g.error&&g.error(d.error.errResp):g.callback&&g.callback.apply(this,d.resp);this.remoteInvokeCallbacks[f.callbackId]=null};EditorUi.prototype.remoteInvoke=function(d,f,g,m,q){var y=!0,F=window.setTimeout(mxUtils.bind(this,function(){y=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),C=mxUtils.bind(this,function(){window.clearTimeout(F);y&&m.apply(this,arguments)}),H=mxUtils.bind(this,function(){window.clearTimeout(F);
+y&&q.apply(this,arguments)});g=g||{};g.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:C,error:H});d=JSON.stringify({event:"remoteInvoke",funtionName:d,functionArgs:f,msgMarkers:g});null!=this.remoteWin?this.remoteWin.postMessage(d,"*"):this.remoteInvokeQueue.push(d)};EditorUi.prototype.handleRemoteInvoke=function(d,f){var g=mxUtils.bind(this,function(G,aa){var da={event:"remoteInvokeResponse",msgMarkers:d.msgMarkers};null!=aa?da.error={errResp:aa}:null!=G&&
+(da.resp=G);this.remoteWin.postMessage(JSON.stringify(da),"*")});try{var m=d.funtionName,q=this.remoteInvokableFns[m];if(null!=q&&"function"===typeof this[m]){if(q.allowedDomains){for(var y=!1,F=0;F<q.allowedDomains.length;F++)if(f=="https://"+q.allowedDomains[F]){y=!0;break}if(!y){g(null,"Invalid Call: "+m+" is not allowed.");return}}var C=d.functionArgs;Array.isArray(C)||(C=[]);if(q.isAsync)C.push(function(){g(Array.prototype.slice.apply(arguments))}),C.push(function(G){g(null,G||"Unkown Error")}),
+this[m].apply(this,C);else{var H=this[m].apply(this,C);g([H])}}else g(null,"Invalid Call: "+m+" is not found.")}catch(G){g(null,"Invalid Call: An error occurred, "+G.message)}};EditorUi.prototype.openDatabase=function(d,f){if(null==this.database){var g=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=g)try{var m=g.open("database",2);m.onupgradeneeded=function(q){try{var y=m.result;1>q.oldVersion&&y.createObjectStore("objects",{keyPath:"key"});2>q.oldVersion&&(y.createObjectStore("files",
+{keyPath:"title"}),y.createObjectStore("filesInfo",{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(F){null!=f&&f(F)}};m.onsuccess=mxUtils.bind(this,function(q){var y=m.result;this.database=y;EditorUi.migrateStorageFiles&&(StorageFile.migrate(y),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(F){if(!F||"1"==urlParams.forceMigration){var C=
+document.createElement("iframe");C.style.display="none";C.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(C);var H=!0,G=!1,aa,da=0,ba=mxUtils.bind(this,function(){G=!0;this.setDatabaseItem(".drawioMigrated3",!0);C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),Y=mxUtils.bind(this,function(){da++;pa()}),pa=mxUtils.bind(this,function(){try{if(da>=aa.length)ba();else{var X=
+aa[da];StorageFile.getFileContent(this,X,mxUtils.bind(this,function(ea){null==ea||".scratchpad"==X&&ea==this.emptyLibraryXml?C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[X]}),"*"):Y()}),Y)}}catch(ea){console.log(ea)}}),O=mxUtils.bind(this,function(X){try{this.setDatabaseItem(null,[{title:X.title,size:X.data.length,lastModified:Date.now(),type:X.isLib?"L":"F"},{title:X.title,data:X.data}],Y,Y,["filesInfo","files"])}catch(ea){console.log(ea)}});
+F=mxUtils.bind(this,function(X){try{if(X.source==C.contentWindow){var ea={};try{ea=JSON.parse(X.data)}catch(ka){}"init"==ea.event?(C.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=ea.event||G||(H?null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?(aa=ea.resp[0],H=!1,pa()):ba():null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?O(ea.resp[0]):
+Y())}}catch(ka){console.log(ka)}});window.addEventListener("message",F)}})));d(y);y.onversionchange=function(){y.close()}});m.onerror=f;m.onblocked=function(){}}catch(q){null!=f&&f(q)}else null!=f&&f()}else d(this.database)};EditorUi.prototype.setDatabaseItem=function(d,f,g,m,q){this.openDatabase(mxUtils.bind(this,function(y){try{q=q||"objects";Array.isArray(q)||(q=[q],d=[d],f=[f]);var F=y.transaction(q,"readwrite");F.oncomplete=g;F.onerror=m;for(y=0;y<q.length;y++)F.objectStore(q[y]).put(null!=d&&
+null!=d[y]?{key:d[y],data:f[y]}:f[y])}catch(C){null!=m&&m(C)}}),m)};EditorUi.prototype.removeDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){m=m||"objects";Array.isArray(m)||(m=[m],d=[d]);q=q.transaction(m,"readwrite");q.oncomplete=f;q.onerror=g;for(var y=0;y<m.length;y++)q.objectStore(m[y]).delete(d[y])}),g)};EditorUi.prototype.getDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){try{m=m||"objects";var y=q.transaction([m],"readonly").objectStore(m).get(d);
+y.onsuccess=function(){f(y.result)};y.onerror=g}catch(F){null!=g&&g(F)}}),g)};EditorUi.prototype.getDatabaseItems=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).openCursor(IDBKeyRange.lowerBound(0)),y=[];q.onsuccess=function(F){null==F.target.result?d(y):(y.push(F.target.result.value),F.target.result.continue())};q.onerror=f}catch(F){null!=f&&f(F)}}),f)};EditorUi.prototype.getDatabaseItemKeys=function(d,f,g){this.openDatabase(mxUtils.bind(this,
+function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).getAllKeys();q.onsuccess=function(){d(q.result)};q.onerror=f}catch(y){null!=f&&f(y)}}),f)};EditorUi.prototype.commentsSupported=function(){var d=this.getCurrentFile();return null!=d?d.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var d=this.getCurrentFile();return null!=
+d?d.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(d,f){var g=this.getCurrentFile();null!=g?g.getComments(d,f):d([])};EditorUi.prototype.addComment=function(d,f,g){var m=this.getCurrentFile();null!=m?m.addComment(d,f,g):f(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var d=this.getCurrentFile();return null!=d?d.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var d=this.getCurrentFile();return null!=d?d.canComment():!0};EditorUi.prototype.newComment=
+function(d,f){var g=this.getCurrentFile();return null!=g?g.newComment(d,f):new DrawioComment(this,null,d,Date.now(),Date.now(),!1,f)};EditorUi.prototype.isRevisionHistorySupported=function(){var d=this.getCurrentFile();return null!=d&&d.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(d,f){var g=this.getCurrentFile();null!=g&&g.getRevisions?g.getRevisions(d,f):f({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var d=this.getCurrentFile();
+return null!=d&&(d.constructor==DriveFile&&d.isEditable()||d.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,g,m,q,y,F,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,g,m,q,y,F,C)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");
+return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,
+f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,g,m)};EditorUi.prototype.convertImageToDataUri=
+function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,g,m)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};
+EditorUi.prototype.writeGraphModelToPng=function(d,f,g,m,q){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(d,f,g,m,q)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var d=[],f=0;f<localStorage.length;f++){var g=localStorage.key(f),m=localStorage.getItem(g);if(0<g.length&&(".scratchpad"==g||"."!=g.charAt(0))&&0<m.length){var q="<mxfile "===
+m.substring(0,8)||"<?xml"===m.substring(0,5)||"\x3c!--[if IE]>"===m.substring(0,12);m="<mxlibrary>"===m.substring(0,11);(q||m)&&d.push(g)}}return d};EditorUi.prototype.getLocalStorageFile=function(d){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var f=localStorage.getItem(d);return{title:d,data:f,isLib:"<mxlibrary>"===f.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
var CommentsWindow=function(b,e,k,n,D,t){function E(){for(var ja=da.getElementsByTagName("div"),U=0,J=0;J<ja.length;J++)"none"!=ja[J].style.display&&ja[J].parentNode==da&&U++;ba.style.display=0==U?"block":"none"}function d(ja,U,J,V){function P(){U.removeChild(la);U.removeChild(ta);ia.style.display="block";R.style.display="block"}H={div:U,comment:ja,saveCallback:J,deleteOnCancel:V};var R=U.querySelector(".geCommentTxt"),ia=U.querySelector(".geCommentActionsList"),la=document.createElement("textarea");
la.className="geCommentEditTxtArea";la.style.minHeight=R.offsetHeight+"px";la.value=ja.content;U.insertBefore(la,R);var ta=document.createElement("div");ta.className="geCommentEditBtns";var u=mxUtils.button(mxResources.get("cancel"),function(){V?(U.parentNode.removeChild(U),E()):P();H=null});u.className="geCommentEditBtn";ta.appendChild(u);var I=mxUtils.button(mxResources.get("save"),function(){R.innerHTML="";ja.content=la.value;mxUtils.write(R,ja.content);P();J(ja);H=null});mxEvent.addListener(la,
"keydown",mxUtils.bind(this,function(N){mxEvent.isConsumed(N)||((mxEvent.isControlDown(N)||mxClient.IS_MAC&&mxEvent.isMetaDown(N))&&13==N.keyCode?(I.click(),mxEvent.consume(N)):27==N.keyCode&&(u.click(),mxEvent.consume(N)))}));I.focus();I.className="geCommentEditBtn gePrimaryBtn";ta.appendChild(I);U.insertBefore(ta,R);ia.style.display="none";R.style.display="none";la.focus()}function f(ja,U){U.innerHTML="";ja=new Date(ja.modifiedDate);var J=b.timeSince(ja);null==J&&(J=mxResources.get("lessThanAMinute"));
@@ -4027,15 +4027,15 @@ Fa.geometry.setTerminalPoint(new mxPoint(0,0),!0);Fa.geometry.setTerminalPoint(n
" ("+Na.shortcut+")",I);qa=O("table",null,Editor.calendarImage);qa.style.boxShadow="none";qa.style.opacity="0.7";qa.style.padding="6px";qa.style.margin="0px";qa.style.width="37px";ya(qa,null,"pointer");qa=O("insert",null,Editor.plusImage);qa.style.boxShadow="none";qa.style.opacity="0.7";qa.style.padding="6px";qa.style.margin="0px";qa.style.width="37px";ya(qa,null,"pointer")}"1"!=urlParams.embedInline&&W.appendChild(Aa)});mxEvent.addListener(Aa,"click",mxUtils.bind(this,function(){za?(mxUtils.setPrefixedStyle(W.style,
"transform","translate(0, -50%)"),W.style.padding="8px 6px 4px",W.style.top="50%",W.style.bottom="",W.style.height="",Aa.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",Aa.style.width="40px",Aa.style.height="12px",Aa.setAttribute("title","Minimize"),za=!1,Ca()):(W.innerHTML="",W.appendChild(Aa),mxUtils.setPrefixedStyle(W.style,"transform","translate(0, 0)"),W.style.top="",W.style.bottom="12px",W.style.padding="0px",W.style.height="24px",Aa.style.height="24px",Aa.style.backgroundImage=
"url("+Editor.plusImage+")",Aa.setAttribute("title",mxResources.get("insert")),Aa.style.width="24px",za=!0)}));Ca();U.addListener("darkModeChanged",Ca);U.addListener("sketchModeChanged",Ca)}else U.editor.addListener("statusChanged",mxUtils.bind(this,function(){U.setStatusText(U.editor.getStatus())}));if(null!=u){var Qa=function(ua){mxEvent.isShiftDown(ua)?(U.hideCurrentMenu(),U.actions.get("smartFit").funct(),mxEvent.consume(ua)):mxEvent.isAltDown(ua)&&(U.hideCurrentMenu(),U.actions.get("customZoom").funct(),
-mxEvent.consume(ua))},Za=U.actions.get("zoomIn"),cb=U.actions.get("zoomOut"),Ka=U.actions.get("resetView");Q=U.actions.get("fullscreen");var Ua=U.actions.get("undo"),$a=U.actions.get("redo"),z=X("",Ua.funct,null,mxResources.get("undo")+" ("+Ua.shortcut+")",Ua,Editor.undoImage),L=X("",$a.funct,null,mxResources.get("redo")+" ("+$a.shortcut+")",$a,Editor.redoImage),M=X("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=N){Ka=function(){ra.style.display=null!=U.pages&&("0"!=
+mxEvent.consume(ua))},Za=U.actions.get("zoomIn"),cb=U.actions.get("zoomOut"),Ja=U.actions.get("resetView");Q=U.actions.get("fullscreen");var Ua=U.actions.get("undo"),$a=U.actions.get("redo"),z=X("",Ua.funct,null,mxResources.get("undo")+" ("+Ua.shortcut+")",Ua,Editor.undoImage),L=X("",$a.funct,null,mxResources.get("redo")+" ("+$a.shortcut+")",$a,Editor.redoImage),M=X("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=N){Ja=function(){ra.style.display=null!=U.pages&&("0"!=
urlParams.pages||1<U.pages.length||Editor.pagesVisible)?"inline-block":"none"};var S=function(){ra.innerHTML="";if(null!=U.currentPage){mxUtils.write(ra,U.currentPage.getName());var ua=null!=U.pages?U.pages.length:1,ya=U.getPageIndex(U.currentPage);ya=null!=ya?ya+1:1;var Na=U.currentPage.getId();ra.setAttribute("title",U.currentPage.getName()+" ("+ya+"/"+ua+")"+(null!=Na?" ["+Na+"]":""))}};M.parentNode.removeChild(M);var ca=U.actions.get("delete"),ha=X("",ca.funct,null,mxResources.get("delete"),ca,
Editor.trashImage);ha.style.opacity="0.1";T.appendChild(ha);ca.addListener("stateChanged",function(){ha.style.opacity=ca.enabled?"":"0.1"});var oa=function(){z.style.display=0<U.editor.undoManager.history.length||J.isEditing()?"inline-block":"none";L.style.display=z.style.display;z.style.opacity=Ua.enabled?"":"0.1";L.style.opacity=$a.enabled?"":"0.1"};T.appendChild(z);T.appendChild(L);Ua.addListener("stateChanged",oa);$a.addListener("stateChanged",oa);oa();var ra=this.createPageMenuTab(!1,!0);ra.style.display=
"none";ra.style.position="";ra.style.marginLeft="";ra.style.top="";ra.style.left="";ra.style.height="100%";ra.style.lineHeight="";ra.style.borderStyle="none";ra.style.padding="3px 0";ra.style.margin="0px";ra.style.background="";ra.style.border="";ra.style.boxShadow="none";ra.style.verticalAlign="top";ra.style.width="auto";ra.style.maxWidth="160px";ra.style.position="relative";ra.style.padding="6px";ra.style.textOverflow="ellipsis";ra.style.opacity="0.8";N.appendChild(ra);U.editor.addListener("pagesPatched",
-S);U.editor.addListener("pageSelected",S);U.editor.addListener("pageRenamed",S);U.editor.addListener("fileLoaded",S);S();U.addListener("fileDescriptorChanged",Ka);U.addListener("pagesVisibleChanged",Ka);U.editor.addListener("pagesPatched",Ka);Ka();Ka=X("",cb.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",cb,Editor.zoomOutImage);N.appendChild(Ka);var qa=R.addMenu("100%",u.funct);qa.setAttribute("title",mxResources.get("zoom"));qa.innerHTML="100%";qa.style.display="inline-block";
+S);U.editor.addListener("pageSelected",S);U.editor.addListener("pageRenamed",S);U.editor.addListener("fileLoaded",S);S();U.addListener("fileDescriptorChanged",Ja);U.addListener("pagesVisibleChanged",Ja);U.editor.addListener("pagesPatched",Ja);Ja();Ja=X("",cb.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",cb,Editor.zoomOutImage);N.appendChild(Ja);var qa=R.addMenu("100%",u.funct);qa.setAttribute("title",mxResources.get("zoom"));qa.innerHTML="100%";qa.style.display="inline-block";
qa.style.color="inherit";qa.style.cursor="pointer";qa.style.textAlign="center";qa.style.whiteSpace="nowrap";qa.style.paddingRight="10px";qa.style.textDecoration="none";qa.style.verticalAlign="top";qa.style.padding="6px 0";qa.style.fontSize="14px";qa.style.width="40px";qa.style.opacity="0.4";N.appendChild(qa);u=X("",Za.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +/Alt+Mousewheel)",Za,Editor.zoomInImage);N.appendChild(u);Q.visible&&(N.appendChild(M),mxEvent.addListener(document,"fullscreenchange",
function(){M.style.backgroundImage="url("+(null!=document.fullscreenElement?Editor.fullscreenExitImage:Editor.fullscreenImage)+")"}));"1"==urlParams.embedInline&&(u=U.actions.get("exit"),N.appendChild(X("",u.funct,null,mxResources.get("exit"),u,Editor.closeImage)));U.tabContainer.style.visibility="hidden";V.style.cssText="position:absolute;right:14px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px 0px 6px 6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";
T.style.cssText="position:absolute;left:10px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";N.style.cssText="position:absolute;right:14px;bottom:14px;height:28px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px;white-space:nowrap;user-select:none;";ta.appendChild(T);ta.appendChild(N);W.style.cssText="position:absolute;left:10px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px 6px 4px 6px;white-space:nowrap;transform:translate(0, -50%);top:50%;user-select:none;";
-mxClient.IS_POINTER&&(W.style.touchAction="none");ta.appendChild(W);window.setTimeout(function(){mxUtils.setPrefixedStyle(W.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(ta)}else{var xa=X("",Qa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",Ka,Editor.zoomFitImage);V.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";qa=R.addMenu("100%",
+mxClient.IS_POINTER&&(W.style.touchAction="none");ta.appendChild(W);window.setTimeout(function(){mxUtils.setPrefixedStyle(W.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(ta)}else{var xa=X("",Qa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",Ja,Editor.zoomFitImage);V.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";qa=R.addMenu("100%",
u.funct);qa.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");qa.style.whiteSpace="nowrap";qa.style.paddingRight="10px";qa.style.textDecoration="none";qa.style.textDecoration="none";qa.style.overflow="hidden";qa.style.visibility="hidden";qa.style.textAlign="center";qa.style.cursor="pointer";qa.style.height=parseInt(U.tabContainerHeight)-1+"px";qa.style.lineHeight=parseInt(U.tabContainerHeight)+1+"px";qa.style.position="absolute";qa.style.display="block";qa.style.fontSize="12px";qa.style.width=
"59px";qa.style.right="0px";qa.style.bottom="0px";qa.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";qa.style.backgroundPosition="right 6px center";qa.style.backgroundRepeat="no-repeat";ta.appendChild(qa)}(function(ua){mxEvent.addListener(ua,"click",Qa);var ya=mxUtils.bind(this,function(){ua.innerHTML="";mxUtils.write(ua,Math.round(100*U.editor.graph.view.scale)+"%")});U.editor.graph.view.addListener(mxEvent.EVENT_SCALE,ya);U.editor.addListener("resetGraphView",ya);U.editor.addListener("pageSelected",
ya)})(qa);var Ga=U.setGraphEnabled;U.setGraphEnabled=function(){Ga.apply(this,arguments);null!=this.tabContainer&&(qa.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility&&null==N?this.tabContainerHeight+"px":"0px")}}ta.appendChild(V);ta.appendChild(U.diagramContainer);ja.appendChild(ta);U.updateTabContainer();!EditorUi.windowed&&("1"==urlParams.sketch||1E3<=n)&&"1"!=urlParams.embedInline&&b(this,!0);null==N&&ta.appendChild(U.tabContainer);